Fast System Call

Currently it only for kernel developing
See : http://meos.sysbin.com/viewtopic.php?t=662

git-svn-id: svn://kolibrios.org@375 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Iliya Mihailov (Ghost)
2007-02-25 14:20:50 +00:00
parent 72fe949f6f
commit b07dfce332
7 changed files with 695 additions and 26 deletions

View File

@@ -39,9 +39,11 @@ gdts:
dd gdts
dw 0
; Attention! The order first four selectors not to change, is used in Fast System Call
; must be : os_code, os_data, app_code, app_data, ....
int_code_l:
os_code_l:
dw 0xffff
dw 0x0000
db 0x00
@@ -50,13 +52,26 @@ os_code_l:
int_data_l:
os_data_l:
dw 0xffff
dw 0x0000
db 0x00
dw 11011111b *256 +10010010b
db 0x00
app_code_l:
dw 0xFFFF;((0x80000000-std_application_base_address) shr 12) and 0xffff
dw 0
db 0x40
db cpl3
dw G32+D32+0x6000+0x7;
app_data_l:
dw 0xFFFF;(0x80000000-std_application_base_address) shr 12 and 0xffff
dw 0
db 0x40
db drw3
dw G32+D32+0x6000+0x7;
; --------------- APM ---------------------
apm_code_32:
dw 0x0f ; limit 64kb
@@ -75,20 +90,6 @@ apm_data_16:
db 0x00
; -----------------------------------------
app_code_l:
dw 0xFFFF;((0x80000000-std_application_base_address) shr 12) and 0xffff
dw 0
db 0x40
db cpl3
dw G32+D32+0x6000+0x7;
app_data_l:
dw 0xFFFF;(0x80000000-std_application_base_address) shr 12 and 0xffff
dw 0
db 0x40
db drw3
dw G32+D32+0x6000+0x7;
graph_data_l:
dw 0x7ff