entry.asm File Reference

Go to the source code of this file.

Functions

when irq is not run this code
for exit and switch to curent
process mov cmp 
if (OsTaskSwitch==1) do task switch jne L_IrqExitNoSwitchTask

Variables

define PIC_MASTER_PORT
master define PIC_MASTER_PORT2
master define PIC_SLAVE_PORT
slave define PIC_SLAVE_PORT2
slave define PIC_EOI
end of interrupt define INT_VECTOR_IRQ0
 irq0
irq8 ~f
_Main _PicInit _InterruptIdtTableFill
_OsTaskSwitch _OsTaskCurrent
_OsTaskNext _OsIntNesting
_OsRunning 
_OsHasIntNesting
global _OsRootTaskStart global
_OsTaskSwitchOut global
_OutByte global 
_InByte
global _IdtTable global
_GdtTable global
_IrqHandlersTable global
_IrqExecutorTable global
_CpuIntHandlersTable global
_CpuIntExecutorTable global
_SoftwareIntHandlersTable
global
_SoftwareIntExecutorTable 
bits [SECTION.bss]
bss section for uninitialized data KernelStackSpace
stack size KernelStackTop
these byte is important [section.data]
data section for initialized data _IdtTable
bytes for interrupt descriptors _IdtLoader
idt size base _IdtBase
idt table address align
align this to bytes boundary
address 
_GdtTable
global description table NullGdt
The gdt content limit GdtBase
The gdt base linear address
divide by CpuInt1Handler
single step CpuInt2Handler
nmi CpuInt3Handler
breakpoint CpuInt4Handler
overflow CpuInt5Handler
bound CpuInt6Handler
invalid opcode CpuInt7Handler
no fpu CpuInt8Handler
double fault CpuInt9Handler
fpu segment overflow CpuInt10Handler
invalid tss CpuInt11Handler
invalid segment CpuInt12Handler
stack overflow CpuInt13Handler
general protect CpuInt14Handler
page fault CpuInt15Handler
undefine just undefine
undefine just not cpu fault CpuInt16Handler
fpu error CpuInt17Handler
correction error CpuInt18Handler
machine error CpuInt19Handler
simd error
IntelReserveInt20Handler __pad2__
intel reserved
IntelReserveInt21Handler __pad3__
IntelReserveInt22Handler __pad4__
IntelReserveInt23Handler __pad5__
IntelReserveInt24Handler __pad6__
IntelReserveInt25Handler __pad7__
IntelReserveInt26Handler __pad8__
IntelReserveInt27Handler __pad9__
IntelReserveInt28Handler __pad10__
IntelReserveInt29Handler __pad11__
IntelReserveInt30Handler __pad12__
IntelReserveInt31Handler __pad13__
intel reserved _CpuIntExecutorTable
handlers in total Irq0Handler
timer Irq1Handler
keyboard Irq2Handler
slave pic Irq3Handler
com2 Irq4Handler
com1 Irq5Handler
lpt2 Irq6Handler
fdc Irq7Handler
lpt1 Irq8Handler
rtc Irq9Handler
redir irq2 Irq10Handler
user Irq11Handler
user Irq12Handler
user Irq13Handler
fpu Irq14Handler
hdc Irq15Handler
reserve _IrqExecutorTable
executor for irqs dd
Irq0Executor dd Irq1Executor
dd Irq2Executor dd
Irq3Executor dd Irq4Executor
dd Irq5Executor dd
Irq6Executor dd Irq7Executor
dd Irq8Executor dd
Irq9Executor dd Irq10Executor
dd Irq11Executor dd
Irq12Executor dd Irq13Executor
dd Irq14Executor dd
Irq15Executor 
_SoftwareIntHandlersTable
executor for irqs dd SoftwareInt48Executor
software int for OsContextSwitch use [section.text]
code section for instructions _EntryStart
clear i flag in cpu disable
all maskable interrupt 
lgdt [_GdtLoader]
setup global description table mov ax
setup global description table
mov mov 
ds
data segment gdt entry is at
of _GdtTable mov ss gdt offset
mov 
ss
stack segment gdt entry is at
of _GdtTable mov 
esp
re iniital esp mov ss and mov
esp must set together mov es
gdt offset mov 
es
extra segment gdt entry is at
of GdtTable mov 
fs
flag segment is not used
flag segment is not set it to
extra segment gdt entry is at
of GdtTable mov gs gdt offset
mov 
gs
graphics segment is not set it
to extra segment gdt entry is
at of GdtTable jmp 
SELECTOR_KERNEL_CS
use jump to enter new
protection mode 
L_SetupIdt
setup interrupt description table lidt [_IdtLoader]
setup interrupt description
table call 
_PicInit
programable interrupt
controler initialization mov 
eax
programable interrupt
controler initialization mov 
_Main
_OutByte __pad14__
_OutByte esp push eax push edx mov edx
_OutByte esp push eax push edx
mov port mov 
al
_OutByte esp push eax push edx
mov port mov value out 
dx
_OutByte esp push eax push edx
mov port mov value out al pop
edx pop eax pop ebp 
ret
_InByte __pad15__
_OsRootTaskStart __pad16__
only executes at main for task
running mov 
mov [_OsRunning]
only executes at main for task
running mov eax mov get
current process address mov
get value of pCurrentProcess
Esp 
popad
popad is of popa pop out edi
popad is of popa pop out esi
popad is of popa pop out ebp
popad is of popa pop out ebx
popad is of popa pop out ecx
popad is of popa pop out eax iretd
_OsTaskSwitchOut __pad17__
IrqExit __pad18__
when irq is not reenter
when irq is not run this code
for exit 
irq
else no do task switch L_IrqExitSwitchTask
 _OsTaskSwitch = 0
update to current task pointer
mov get value of
pCurrentProcess Esp dec 
dword [_OsIntNesting]
leave this interrupt
popad is of popa pop out eax iretd L_IrqExitNoSwitchTask
popad is of popa pop out eax iretd IrqExitForIrqReenter
when irq is reentered
when irq is no need to run
code above mov 
byte [_OsHasIntNesting]
Irq0Executor __pad19__
OsIntNesting cmp check if _OsIntNesting
switch to kernel stack
switch to kernel s t irqs use
kernel no use task s stack
push 
IrqExit
return address for interrupt
handler jmp 
L_Irq0Execution
jump to execution irq code L_Irq0Reenter
write end of interrupt to pic
master 
sti
irq handler execution cli
reti ans
return address for interrupt
handler jmp 
L_Irq1Execution
jump to execution irq code L_Irq1Reenter
return address for interrupt
handler jmp 
L_Irq2Execution
jump to execution irq code L_Irq2Reenter
return address for interrupt
handler jmp 
L_Irq3Execution
jump to execution irq code L_Irq3Reenter
return address for interrupt
handler jmp 
L_Irq4Execution
jump to execution irq code L_Irq4Reenter
check if not jne L_Irq5Reenter
return address for interrupt
handler jmp 
L_Irq5Execution
return address for interrupt
handler jmp 
L_Irq6Execution
jump to execution irq code L_Irq6Reenter
return address for interrupt
handler jmp 
L_Irq7Execution
jump to execution irq code L_Irq7Reenter
return address for interrupt
handler jmp 
L_Irq8Execution
jump to execution irq code L_Irq8Reenter
return address for interrupt
handler jmp 
L_Irq9Execution
jump to execution irq code L_Irq9Reenter
return address for interrupt
handler jmp 
L_Irq10Execution
jump to execution irq code L_Irq10Reenter
return address for interrupt
handler jmp 
L_Irq11Execution
jump to execution irq code L_Irq11Reenter
return address for interrupt
handler jmp 
L_Irq12Execution
jump to execution irq code L_Irq12Reenter
return address for interrupt
handler jmp 
L_Irq13Execution
jump to execution irq code L_Irq13Reenter
return address for interrupt
handler jmp 
L_Irq14Execution
jump to execution irq code L_Irq14Reenter
return address for interrupt
handler jmp 
L_Irq15Execution
jump to execution irq code L_Irq15Reenter
return from interrupt bit
instruction 
eflags
return from interrupt bit
instruction 
ecs
return from interrupt bit
instruction eip 
L_CpuInt0Reenter
return from interrupt bit
instruction eip 
CpuInt1Executor
return from interrupt bit
instruction eip 
L_CpuInt1Reenter
return from interrupt bit
instruction eip 
CpuInt2Executor
return from interrupt bit
instruction eip 
L_CpuInt2Reenter
return from interrupt bit
instruction eip 
CpuInt3Executor
return from interrupt bit
instruction eip 
L_CpuInt3Reenter
return from interrupt bit
instruction eip 
CpuInt4Executor
return from interrupt bit
instruction eip 
L_CpuInt4Reenter
return from interrupt bit
instruction eip 
CpuInt5Executor
return from interrupt bit
instruction eip 
L_CpuInt5Reenter
return from interrupt bit
instruction eip 
CpuInt6Executor
return from interrupt bit
instruction eip 
L_CpuInt6Reenter
return from interrupt bit
instruction eip 
CpuInt7Executor
return from interrupt bit
instruction eip 
L_CpuInt7Reenter
return from interrupt bit
instruction eip 
CpuInt8Executor
return from interrupt bit
instruction eip 
L_CpuInt8Reenter
return from interrupt bit
instruction eip 
CpuInt9Executor
return from interrupt bit
instruction eip 
L_CpuInt9Reenter
return from interrupt bit
instruction eip 
CpuInt10Executor
return from interrupt bit
instruction eip 
L_CpuInt10Reenter
return from interrupt bit
instruction eip 
CpuInt11Executor
return from interrupt bit
instruction eip 
L_CpuInt11Reenter
return from interrupt bit
instruction eip 
CpuInt12Executor
return from interrupt bit
instruction eip 
L_CpuInt12Reenter
return from interrupt bit
instruction eip 
CpuInt13Executor
return from interrupt bit
instruction eip 
L_CpuInt13Reenter
return from interrupt bit
instruction eip 
CpuInt14Executor
popad is of popa pop out eax iretd L_CpuInt14Reenter
return from interrupt bit
instruction eip 
CpuInt15Executor
popad is of popa pop out eax iretd L_CpuInt15Reenter
return from interrupt bit
instruction eip 
CpuInt16Executor
popad is of popa pop out eax iretd L_CpuInt16Reenter
return from interrupt bit
instruction eip 
CpuInt17Executor
popad is of popa pop out eax iretd L_CpuInt17Reenter
return from interrupt bit
instruction eip 
CpuInt18Executor
popad is of popa pop out eax iretd L_CpuInt18Reenter
return from interrupt bit
instruction eip 
CpuInt19Executor
popad is of popa pop out eax iretd L_CpuInt19Reenter
return from interrupt bit
instruction 
eip
SoftwareInt48Executor __pad20__
return from interrupt bit
instruction 
L_SoftwareInt48Reenter


Function Documentation

when irq is not run this code for exit and switch to curent process mov cmp if ( OsTaskSwitch  = =1  ) 

Type Constraints


Variable Documentation

IntelReserveInt28Handler __pad10__

Definition at line 129 of file entry.asm.

IntelReserveInt29Handler __pad11__

Definition at line 130 of file entry.asm.

IntelReserveInt30Handler __pad12__

Definition at line 131 of file entry.asm.

IntelReserveInt31Handler __pad13__

Definition at line 132 of file entry.asm.

_OutByte __pad14__

Definition at line 227 of file entry.asm.

Definition at line 245 of file entry.asm.

_OsRootTaskStart __pad16__

Definition at line 258 of file entry.asm.

_OsTaskSwitchOut __pad17__

Definition at line 272 of file entry.asm.

Definition at line 279 of file entry.asm.

Irq0Executor __pad19__

Definition at line 309 of file entry.asm.

Definition at line 1157 of file entry.asm.

IntelReserveInt20Handler __pad2__

Definition at line 121 of file entry.asm.

IntelReserveInt21Handler __pad3__

Definition at line 122 of file entry.asm.

IntelReserveInt22Handler __pad4__

Definition at line 123 of file entry.asm.

IntelReserveInt23Handler __pad5__

Definition at line 124 of file entry.asm.

IntelReserveInt24Handler __pad6__

Definition at line 125 of file entry.asm.

IntelReserveInt25Handler __pad7__

Definition at line 126 of file entry.asm.

IntelReserveInt26Handler __pad8__

Definition at line 127 of file entry.asm.

IntelReserveInt27Handler __pad9__

Definition at line 128 of file entry.asm.

Definition at line 156 of file entry.asm.

code section for instructions _EntryStart

Definition at line 200 of file entry.asm.

align this to bytes boundary address _GdtTable

Definition at line 81 of file entry.asm.

idt size base _IdtBase

Definition at line 78 of file entry.asm.

bytes for interrupt descriptors _IdtLoader

Definition at line 77 of file entry.asm.

data section for initialized data _IdtTable

Definition at line 75 of file entry.asm.

global _OsRootTaskStart global _OsTaskSwitchOut global _OutByte global _InByte

Definition at line 55 of file entry.asm.

Definition at line 174 of file entry.asm.

jump to _Main

Definition at line 217 of file entry.asm.

_OsTaskSwitch _OsTaskCurrent _OsTaskNext _OsIntNesting _OsRunning _OsHasIntNesting

Initial value:

Definition at line 311 of file entry.asm.

Definition at line 284 of file entry.asm.

setup interrupt description table call _PicInit

Definition at line 216 of file entry.asm.

executor for irqs dd Irq0Executor dd Irq1Executor dd Irq2Executor dd Irq3Executor dd Irq4Executor dd Irq5Executor dd Irq6Executor dd Irq7Executor dd Irq8Executor dd Irq9Executor dd Irq10Executor dd Irq11Executor dd Irq12Executor dd Irq13Executor dd Irq14Executor dd Irq15Executor _SoftwareIntHandlersTable

Definition at line 195 of file entry.asm.

The gdt base linear address

Initial value:

cs(PM)+_GdtTable=_GdtTable

align 4
_CpuIntHandlersTable:
CpuInt0Handler:  dd 0x00

Definition at line 97 of file entry.asm.

unmask current interrupt enable irq15 and unmask current interrupt enable irq15 out al

Definition at line 227 of file entry.asm.

idt table address align

Definition at line 80 of file entry.asm.

reti ans

Definition at line 335 of file entry.asm.

flag segment is not set it to extra segment gdt entry is at of GdtTable mov gs gdt offset mov ax

Definition at line 202 of file entry.asm.

global _IdtTable global _GdtTable global _IrqHandlersTable global _IrqExecutorTable global _CpuIntHandlersTable global _CpuIntExecutorTable global _SoftwareIntHandlersTable global _SoftwareIntExecutorTable bits[SECTION.bss]

Definition at line 70 of file entry.asm.

when irq is no need to run code above mov byte[_OsHasIntNesting]

Definition at line 300 of file entry.asm.

push eflags of cpu cli

Definition at line 328 of file entry.asm.

return from interrupt bit instruction eip CpuInt10Executor

Definition at line 940 of file entry.asm.

fpu segment overflow CpuInt10Handler

Definition at line 111 of file entry.asm.

return from interrupt bit instruction eip CpuInt11Executor

Definition at line 961 of file entry.asm.

invalid tss CpuInt11Handler

Definition at line 112 of file entry.asm.

return from interrupt bit instruction eip CpuInt12Executor

Definition at line 982 of file entry.asm.

invalid segment CpuInt12Handler

Definition at line 113 of file entry.asm.

return from interrupt bit instruction eip CpuInt13Executor

Definition at line 1003 of file entry.asm.

Definition at line 114 of file entry.asm.

return from interrupt bit instruction eip CpuInt14Executor

Definition at line 1024 of file entry.asm.

general protect CpuInt14Handler

Definition at line 115 of file entry.asm.

return from interrupt bit instruction eip CpuInt15Executor

Definition at line 1045 of file entry.asm.

page fault CpuInt15Handler

Definition at line 116 of file entry.asm.

return from interrupt bit instruction eip CpuInt16Executor

Definition at line 1066 of file entry.asm.

undefine just not cpu fault CpuInt16Handler

Definition at line 116 of file entry.asm.

return from interrupt bit instruction eip CpuInt17Executor

Definition at line 1087 of file entry.asm.

Definition at line 118 of file entry.asm.

return from interrupt bit instruction eip CpuInt18Executor

Definition at line 1108 of file entry.asm.

correction error CpuInt18Handler

Definition at line 119 of file entry.asm.

return from interrupt bit instruction eip CpuInt19Executor

Definition at line 1129 of file entry.asm.

Definition at line 120 of file entry.asm.

return from interrupt bit instruction eip CpuInt1Executor

Definition at line 751 of file entry.asm.

divide by CpuInt1Handler

Definition at line 102 of file entry.asm.

return from interrupt bit instruction eip CpuInt2Executor

Definition at line 772 of file entry.asm.

single step CpuInt2Handler

Definition at line 103 of file entry.asm.

return from interrupt bit instruction eip CpuInt3Executor

Definition at line 793 of file entry.asm.

Definition at line 104 of file entry.asm.

return from interrupt bit instruction eip CpuInt4Executor

Definition at line 814 of file entry.asm.

breakpoint CpuInt4Handler

Definition at line 105 of file entry.asm.

return from interrupt bit instruction eip CpuInt5Executor

Definition at line 835 of file entry.asm.

overflow CpuInt5Handler

Definition at line 106 of file entry.asm.

return from interrupt bit instruction eip CpuInt6Executor

Definition at line 856 of file entry.asm.

Definition at line 107 of file entry.asm.

return from interrupt bit instruction eip CpuInt7Executor

Definition at line 877 of file entry.asm.

invalid opcode CpuInt7Handler

Definition at line 108 of file entry.asm.

return from interrupt bit instruction eip CpuInt8Executor

Definition at line 898 of file entry.asm.

Definition at line 109 of file entry.asm.

return from interrupt bit instruction eip CpuInt9Executor

Definition at line 919 of file entry.asm.

double fault CpuInt9Handler

Definition at line 110 of file entry.asm.

setup global description table mov mov ds

Definition at line 202 of file entry.asm.

call handler dec dword

Definition at line 288 of file entry.asm.

_OutByte esp push eax push edx mov port mov value out dx

Definition at line 227 of file entry.asm.

call handler mov get next process address eax

Definition at line 217 of file entry.asm.

popad is of popa pop out ebp

Definition at line 263 of file entry.asm.

popad is of popa pop out ebx

Definition at line 263 of file entry.asm.

return from interrupt bit instruction ecs

Definition at line 746 of file entry.asm.

popad is of popa pop out ecx

Definition at line 263 of file entry.asm.

popad is of popa pop out edi

Definition at line 263 of file entry.asm.

popad is of popa pop out edx

Definition at line 227 of file entry.asm.

return from interrupt bit instruction eflags

Definition at line 746 of file entry.asm.

return from interrupt bit instruction eip

Definition at line 1150 of file entry.asm.

simd error

Definition at line 121 of file entry.asm.

re iniital esp mov ss and mov esp must set together mov es gdt offset mov es

Definition at line 207 of file entry.asm.

popad is of popa pop out esi

Definition at line 263 of file entry.asm.

popad is of popa pop out esp

Definition at line 206 of file entry.asm.

extra segment gdt entry is at of GdtTable mov fs

Definition at line 209 of file entry.asm.

The gdt content limit GdtBase

Definition at line 97 of file entry.asm.

flag segment is not set it to extra segment gdt entry is at of GdtTable mov gs gdt offset mov gs

Definition at line 209 of file entry.asm.

these byte is important[section.data]

Definition at line 74 of file entry.asm.

end of interrupt define INT_VECTOR_IRQ0

Definition at line 20 of file entry.asm.

leave this interrupt

Definition at line 289 of file entry.asm.

popad is of popa pop out eax iretd

Definition at line 263 of file entry.asm.

when irq is not run this code for exit irq

Definition at line 279 of file entry.asm.

Initial value:

x86 interrupt number 0x20~0x27
%define INT_VECTOR_IRQ8    0x28

Definition at line 20 of file entry.asm.

handlers in total Irq0Handler

Definition at line 157 of file entry.asm.

redir irq2 Irq10Handler

Definition at line 167 of file entry.asm.

Definition at line 168 of file entry.asm.

Definition at line 169 of file entry.asm.

Definition at line 170 of file entry.asm.

Definition at line 171 of file entry.asm.

Definition at line 172 of file entry.asm.

timer Irq1Handler

Definition at line 158 of file entry.asm.

keyboard Irq2Handler

Definition at line 159 of file entry.asm.

slave pic Irq3Handler

Definition at line 160 of file entry.asm.

Definition at line 161 of file entry.asm.

Definition at line 162 of file entry.asm.

Definition at line 163 of file entry.asm.

Definition at line 164 of file entry.asm.

Definition at line 165 of file entry.asm.

Definition at line 166 of file entry.asm.

switch to kernel s t irqs use kernel no use task s stack push IrqExit

Definition at line 315 of file entry.asm.

popad is of popa pop out eax iretd IrqExitForIrqReenter

Definition at line 297 of file entry.asm.

bss section for uninitialized data KernelStackSpace

Definition at line 71 of file entry.asm.

get value of pCurrentProcess Esp mov KernelStackTop

Definition at line 72 of file entry.asm.

return from interrupt bit instruction eip L_CpuInt0Reenter

Definition at line 746 of file entry.asm.

return from interrupt bit instruction eip L_CpuInt10Reenter

Definition at line 956 of file entry.asm.

return from interrupt bit instruction eip L_CpuInt11Reenter

Definition at line 977 of file entry.asm.

return from interrupt bit instruction eip L_CpuInt12Reenter

Definition at line 998 of file entry.asm.

return from interrupt bit instruction eip L_CpuInt13Reenter

Definition at line 1019 of file entry.asm.

popad is of popa pop out eax iretd L_CpuInt14Reenter

Definition at line 1039 of file entry.asm.

popad is of popa pop out eax iretd L_CpuInt15Reenter

Definition at line 1060 of file entry.asm.

popad is of popa pop out eax iretd L_CpuInt16Reenter

Definition at line 1081 of file entry.asm.

popad is of popa pop out eax iretd L_CpuInt17Reenter

Definition at line 1102 of file entry.asm.

popad is of popa pop out eax iretd L_CpuInt18Reenter

Definition at line 1123 of file entry.asm.

popad is of popa pop out eax iretd L_CpuInt19Reenter

Definition at line 1144 of file entry.asm.

return from interrupt bit instruction eip L_CpuInt1Reenter

Definition at line 767 of file entry.asm.

return from interrupt bit instruction eip L_CpuInt2Reenter

Definition at line 788 of file entry.asm.

return from interrupt bit instruction eip L_CpuInt3Reenter

Definition at line 809 of file entry.asm.

return from interrupt bit instruction eip L_CpuInt4Reenter

Definition at line 830 of file entry.asm.

return from interrupt bit instruction eip L_CpuInt5Reenter

Definition at line 851 of file entry.asm.

return from interrupt bit instruction eip L_CpuInt6Reenter

Definition at line 872 of file entry.asm.

return from interrupt bit instruction eip L_CpuInt7Reenter

Definition at line 893 of file entry.asm.

return from interrupt bit instruction eip L_CpuInt8Reenter

Definition at line 914 of file entry.asm.

return from interrupt bit instruction eip L_CpuInt9Reenter

Definition at line 935 of file entry.asm.

it is already in kernel now nested interrupt L_Irq0Execution

Definition at line 317 of file entry.asm.

jump to execution irq code L_Irq0Reenter

Definition at line 319 of file entry.asm.

it is already in kernel now nested interrupt L_Irq10Execution

Definition at line 579 of file entry.asm.

jump to execution irq code L_Irq10Reenter

Definition at line 581 of file entry.asm.

it is already in kernel now nested interrupt L_Irq11Execution

Definition at line 606 of file entry.asm.

jump to execution irq code L_Irq11Reenter

Definition at line 608 of file entry.asm.

it is already in kernel now nested interrupt L_Irq12Execution

Definition at line 633 of file entry.asm.

jump to execution irq code L_Irq12Reenter

Definition at line 635 of file entry.asm.

it is already in kernel now nested interrupt L_Irq13Execution

Definition at line 660 of file entry.asm.

jump to execution irq code L_Irq13Reenter

Definition at line 662 of file entry.asm.

it is already in kernel now nested interrupt L_Irq14Execution

Definition at line 687 of file entry.asm.

jump to execution irq code L_Irq14Reenter

Definition at line 689 of file entry.asm.

it is already in kernel now nested interrupt L_Irq15Execution

Definition at line 714 of file entry.asm.

jump to execution irq code L_Irq15Reenter

Definition at line 716 of file entry.asm.

it is already in kernel now nested interrupt L_Irq1Execution

Definition at line 343 of file entry.asm.

jump to execution irq code L_Irq1Reenter

Definition at line 345 of file entry.asm.

it is already in kernel now nested interrupt L_Irq2Execution

Definition at line 369 of file entry.asm.

jump to execution irq code L_Irq2Reenter

Definition at line 371 of file entry.asm.

it is already in kernel now nested interrupt L_Irq3Execution

Definition at line 395 of file entry.asm.

jump to execution irq code L_Irq3Reenter

Definition at line 397 of file entry.asm.

it is already in kernel now nested interrupt L_Irq4Execution

Definition at line 421 of file entry.asm.

jump to execution irq code L_Irq4Reenter

Definition at line 423 of file entry.asm.

it is already in kernel now nested interrupt L_Irq5Execution

Definition at line 447 of file entry.asm.

jump to execution irq code L_Irq5Reenter

Definition at line 441 of file entry.asm.

it is already in kernel now nested interrupt L_Irq6Execution

Definition at line 473 of file entry.asm.

jump to execution irq code L_Irq6Reenter

Definition at line 475 of file entry.asm.

it is already in kernel now nested interrupt L_Irq7Execution

Definition at line 499 of file entry.asm.

jump to execution irq code L_Irq7Reenter

Definition at line 501 of file entry.asm.

it is already in kernel now nested interrupt L_Irq8Execution

Definition at line 525 of file entry.asm.

jump to execution irq code L_Irq8Reenter

Definition at line 527 of file entry.asm.

it is already in kernel now nested interrupt L_Irq9Execution

Definition at line 552 of file entry.asm.

jump to execution irq code L_Irq9Reenter

Definition at line 554 of file entry.asm.

popad is of popa pop out eax iretd L_IrqExitNoSwitchTask

Definition at line 290 of file entry.asm.

else no do task switch L_IrqExitSwitchTask

Definition at line 284 of file entry.asm.

use jump to enter new protection mode L_SetupIdt

Definition at line 214 of file entry.asm.

return from interrupt bit instruction L_SoftwareInt48Reenter

Definition at line 1172 of file entry.asm.

clear i flag in cpu disable all maskable interrupt lgdt[_GdtLoader]

Definition at line 201 of file entry.asm.

setup interrupt description table lidt[_IdtLoader]

Definition at line 215 of file entry.asm.

call handler mov get next process address mov[_OsTaskCurrent] (  ) 

Definition at line 259 of file entry.asm.

global description table NullGdt

Definition at line 96 of file entry.asm.

mask current interrupt disable irq15 mov PIC_EOI

Definition at line 19 of file entry.asm.

write end of interrupt to pic out PIC_MASTER_PORT

Definition at line 1 of file entry.asm.

unmask int bit in master out PIC_MASTER_PORT2

Definition at line 16 of file entry.asm.

write end of interrupt to pic master out PIC_SLAVE_PORT

Definition at line 17 of file entry.asm.

unmask int bit in slave out PIC_SLAVE_PORT2

Definition at line 18 of file entry.asm.

leave this decrease Reenter counter popad

Definition at line 259 of file entry.asm.

when irq is not reenter

Definition at line 279 of file entry.asm.

when irq is reentered

Definition at line 300 of file entry.asm.

intel reserved

Definition at line 122 of file entry.asm.

unmask current interrupt enable irq15 ret

Definition at line 227 of file entry.asm.

graphics segment is not set it to extra segment gdt entry is at of GdtTable jmp SELECTOR_KERNEL_CS

Definition at line 211 of file entry.asm.

executor for irqs dd SoftwareInt48Executor

Definition at line 196 of file entry.asm.

data segment gdt entry is at of _GdtTable mov ss gdt offset mov ss

Definition at line 204 of file entry.asm.

it is already in kernel stack

Definition at line 315 of file entry.asm.

write end of interrupt to pic slave sti

Definition at line 326 of file entry.asm.

Definition at line 116 of file entry.asm.

software int for OsContextSwitch use[section.text]

Definition at line 198 of file entry.asm.

graphics segment is not used

Definition at line 209 of file entry.asm.

irq8 ~f

Initial value:

x86 interrupt number 0x28~0x2f
%define SELECTOR_KERNEL_CS 0x08

Definition at line 21 of file entry.asm.


Generated on Sat Apr 10 23:28:06 2010 for 80X86 MULTI-TASKING OPERATION SYSTEM by  doxygen 1.5.9