KolibriOS kernel
sys32.inc File Reference

Macros

#define save_ring3_context
 
#define restore_ring3_context
 
#define exc_wo_code(num)
 
#define exc_w_code(num)
 

Functions

void protect_from_terminate ()
 Enter critical area. Called by thread which wants to be protected. More...
 
void unprotect_from_terminate ()
 Leave critical area. Called by thread which wants to be protected. More...
 
void request_terminate ()
 Request termination of thread identified by edx = SLOT_BASE + slot*sizeof.APPDATA. Called by anyone. More...
 

Variables

label build_interrupt_table
 3A08 More...
 
label sys_int
 
label idtreg
 data for LIDT instruction (!!! must be immediately below sys_int data) More...
 
dd msg_fault_sel
 
db msg_exc_8
 
db msg_exc_u
 
db msg_exc_a
 
db msg_exc_b
 
db msg_exc_c
 
db msg_exc_d
 
db msg_exc_e
 
db msg_exc_11
 
db msg_sel_ker
 
db msg_sel_app
 
dd pf_err_code
 
label page_fault_exc
 foolproof: selectors are clobbered ... More...
 
label exc_c
 exceptions (all but 7th - #NM) More...
 
label IRetToUserHook
 
label unknown_interrupt
 simply return control to interrupted process More...
 
label show_error_parameters
 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= bl - error vector More...
 
reg_ss restore
 
label lock_application_table
 
label unlock_application_table
 
label sys_resize_app_memory
 sysfn 64 implementation More...
 
db msg_obj_destroy
 process_terminating db 'K : Process - terminating',13,10,0 process_terminated db 'K : Process - done',13,10,0 More...
 
label terminate
 terminate application More...
 
label destroy_thread
 

Macro Definition Documentation

◆ exc_w_code

#define exc_w_code (   num)

◆ exc_wo_code

#define exc_wo_code (   num)

◆ restore_ring3_context

#define restore_ring3_context

◆ save_ring3_context

#define save_ring3_context

Function Documentation

◆ protect_from_terminate()

void protect_from_terminate ( )

Enter critical area. Called by thread which wants to be protected.

Source
core/sys32.inc:790

◆ request_terminate()

void request_terminate ( )

Request termination of thread identified by edx = SLOT_BASE + slot*sizeof.APPDATA. Called by anyone.

Source
core/sys32.inc:821

◆ unprotect_from_terminate()

void unprotect_from_terminate ( )

Leave critical area. Called by thread which wants to be protected.

Source
core/sys32.inc:808

Variable Documentation

◆ build_interrupt_table

label build_interrupt_table

3A08

Source
core/sys32.inc:11

◆ destroy_thread

label destroy_thread

◆ exc_c

label exc_c

exceptions (all but 7th - #NM)

Source
core/sys32.inc:112

◆ idtreg

label idtreg

data for LIDT instruction (!!! must be immediately below sys_int data)

Source
core/sys32.inc:54

◆ IRetToUserHook

label IRetToUserHook

◆ lock_application_table

label lock_application_table

◆ msg_exc_11

db msg_exc_11
Initial value
"Alignment Check", 0
Source
core/sys32.inc:70

◆ msg_exc_8

db msg_exc_8
Initial value
"Double fault", 0
Source
core/sys32.inc:63

◆ msg_exc_a

db msg_exc_a
Initial value
"Invalid TSS", 0
Source
core/sys32.inc:65

◆ msg_exc_b

db msg_exc_b
Initial value
"Segment not present", 0
Source
core/sys32.inc:66

◆ msg_exc_c

db msg_exc_c
Initial value
"Stack fault", 0
Source
core/sys32.inc:67

◆ msg_exc_d

db msg_exc_d
Initial value
"General protection fault", 0
Source
core/sys32.inc:68

◆ msg_exc_e

db msg_exc_e
Initial value
"Page fault", 0
Source
core/sys32.inc:69

◆ msg_exc_u

db msg_exc_u
Initial value
"Undefined Exception", 0
Source
core/sys32.inc:64

◆ msg_fault_sel

dd msg_fault_sel
Initial value
msg_exc_8,msg_exc_u,msg_exc_a,msg_exc_b
Source
core/sys32.inc:59

◆ msg_obj_destroy

db msg_obj_destroy

process_terminating db 'K : Process - terminating',13,10,0 process_terminated db 'K : Process - done',13,10,0

Initial value
'K : destroy app object',13,10,0
Source
core/sys32.inc:398

◆ msg_sel_app

db msg_sel_app
Initial value
"application", 0
Source
core/sys32.inc:76

◆ msg_sel_ker

db msg_sel_ker
Initial value
"kernel", 0
Source
core/sys32.inc:75

◆ page_fault_exc

label page_fault_exc

foolproof: selectors are clobbered ...

Source
core/sys32.inc:107

◆ pf_err_code

dd pf_err_code
Initial value
?
Source
core/sys32.inc:104

◆ restore

_process restore
Initial value
Source
core/sys32.inc:324
Initial value
Source
core/sys32.inc:325
Initial value
Source
core/sys32.inc:326
Initial value
Source
core/sys32.inc:327
Initial value
Source
core/sys32.inc:328
Initial value
Source
core/sys32.inc:329
Initial value
Source
core/sys32.inc:330
Initial value
Source
core/sys32.inc:331
Initial value
Source
core/sys32.inc:332
Initial value
Source
core/sys32.inc:333
Initial value
Source
core/sys32.inc:334
Initial value
Source
core/sys32.inc:335
Initial value
Source
core/sys32.inc:336
Initial value
Source
core/sys32.inc:762
Initial value
Source
core/sys32.inc:763

◆ show_error_parameters

label show_error_parameters

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= bl - error vector

Source
core/sys32.inc:208

◆ sys_int

label sys_int

◆ sys_resize_app_memory

label sys_resize_app_memory

sysfn 64 implementation

Source
core/sys32.inc:368

◆ terminate

label terminate

terminate application

Source
core/sys32.inc:405

◆ unknown_interrupt

label unknown_interrupt

simply return control to interrupted process

Source
core/sys32.inc:203

◆ unlock_application_table

label unlock_application_table