X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Farch%2Fx86%2Fdesctab.asm;h=9d19300db1ad94a83c93e6aca7c47234f19eda4a;hb=8a7da9218db0705e08ddbcb18127dc2a650452eb;hp=43bd8e4c2eb31766db6470b20e3643fe4a748fbc;hpb=775bf8013abe9fe4ef3d4883ea2e43bba2a84da1;p=tpg%2Facess2.git diff --git a/Kernel/arch/x86/desctab.asm b/Kernel/arch/x86/desctab.asm index 43bd8e4c..9d19300d 100644 --- a/Kernel/arch/x86/desctab.asm +++ b/Kernel/arch/x86/desctab.asm @@ -21,8 +21,8 @@ gGDT: dd 0x0000FFFF, 0x00CF9200 ; 10 PL0 Data dd 0x0000FFFF, 0x00CFFA00 ; 18 PL3 Code dd 0x0000FFFF, 0x00CFF200 ; 20 PL3 Data - dd 26*4-1, 0x00408900 ; Double Fault TSS - times MAX_CPUS dd 26*4-1, 0x00408900 + dd 26*4-1, 0x00408900 ; 28 Double Fault TSS + times MAX_CPUS dd 26*4-1, 0x00408900 ; 30+ TSSes [global gGDTPtr] gGDTPtr: dw GDT_SIZE-1 @@ -190,6 +190,7 @@ DEF_SYSCALL 0xAC ; Acess System Call ; IRQs ; - Timer [global Isr240] +[extern SchedulerBase] Isr240: push 0 jmp SchedulerBase @@ -281,40 +282,3 @@ IRQCommon: popa add esp, 8 ; Error Code and ID iret - -; -------------- -; Task Scheduler -; -------------- -[extern Proc_Scheduler] -SchedulerBase: - pusha - push ds - push es - push fs - push gs - - mov ax, 0x10 - mov ds, ax - mov es, ax - mov fs, ax - mov gs, ax - - mov eax, [esp+12*4] ; CPU Number - push eax ; Pus as argument - - call Proc_Scheduler - - add esp, 4 ; Remove Argument - - pop gs - pop fs - pop es - pop ds - - mov dx, 0x20 - mov al, 0x20 - out dx, al ; ACK IRQ - popa - add esp, 4 ; CPU ID - ; No Error code / int num - iret