KolibriOS kernel
sys32.inc File Reference

Classes

struct  EXCEPT_STACK
 

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:856

◆ request_terminate()

void request_terminate ( )

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

Source
core/sys32.inc:887

◆ unprotect_from_terminate()

void unprotect_from_terminate ( )

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

Source
core/sys32.inc:874

Variable Documentation

◆ build_interrupt_table

label build_interrupt_table

3A08

Source
core/sys32.inc:18

◆ destroy_thread

label destroy_thread

◆ exc_c

label exc_c

exceptions (all but 7th - #NM)

Source
core/sys32.inc:131

◆ idtreg

label idtreg

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

Source
core/sys32.inc:61

◆ 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:77

◆ msg_exc_8

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

◆ msg_exc_a

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

◆ msg_exc_b

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

◆ msg_exc_c

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

◆ msg_exc_d

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

◆ msg_exc_e

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

◆ msg_exc_u

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

◆ 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:66

◆ 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:464

◆ msg_sel_app

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

◆ msg_sel_ker

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

◆ page_fault_exc

label page_fault_exc

foolproof: selectors are clobbered ...

Source
core/sys32.inc:114

◆ pf_err_code

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

◆ restore

_process restore
Initial value
Source
core/sys32.inc:390
Initial value
Source
core/sys32.inc:391
Initial value
Source
core/sys32.inc:392
Initial value
Source
core/sys32.inc:393
Initial value
Source
core/sys32.inc:394
Initial value
Source
core/sys32.inc:395
Initial value
Source
core/sys32.inc:396
Initial value
Source
core/sys32.inc:397
Initial value
Source
core/sys32.inc:398
Initial value
Source
core/sys32.inc:399
Initial value
Source
core/sys32.inc:400
Initial value
Source
core/sys32.inc:401
Initial value
Source
core/sys32.inc:402
Initial value
Source
core/sys32.inc:828
Initial value
Source
core/sys32.inc:829

◆ show_error_parameters

label show_error_parameters

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

Source
core/sys32.inc:274

◆ sys_int

label sys_int

◆ sys_resize_app_memory

label sys_resize_app_memory

sysfn 64 implementation

Source
core/sys32.inc:434

◆ terminate

label terminate

terminate application

Source
core/sys32.inc:471

◆ unknown_interrupt

label unknown_interrupt

simply return control to interrupted process

Source
core/sys32.inc:269

◆ unlock_application_table

label unlock_application_table