Added efi64.S file for X64 and reviewed efi32.S file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7887 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -30,7 +30,7 @@
|
||||
# be done to maintain the consistency of the size
|
||||
# of entry points...
|
||||
.byte 0xe9 # jmp 16 bit relative
|
||||
.long commonIdtEntry - . - 4 # A problem
|
||||
.long commonIdtEntry - . - 4 # offset to jump to
|
||||
.endm
|
||||
|
||||
Start:
|
||||
@@ -53,7 +53,7 @@ Start:
|
||||
movl (Idtr + 2), %esi
|
||||
movl (%esi), %edi
|
||||
|
||||
LOOP_1: # loop through all IDT entries exception handlers and initialize to default handler
|
||||
LOOP_1: # loop through all IDT entries exception handlers and initialize to default handler
|
||||
movw %bx, (%edi) # write bits 15..0 of offset
|
||||
movw $0x20, 2(%edi) # SYS_CODE_SEL from GDT
|
||||
movw $(0x0e00 | 0x8000), 4(%edi) # type = 386 interrupt gate, present
|
||||
@@ -136,9 +136,9 @@ SectionLoop:
|
||||
cmpw $0, %bx
|
||||
jne SectionLoop
|
||||
|
||||
movzwl (Idtr), %eax # get size of IDT
|
||||
movzwl (Idtr), %eax # get size of IDT
|
||||
incl %eax
|
||||
addl (Idtr + 2), %eax # add to base of IDT to get location of memory map...
|
||||
addl (Idtr + 2), %eax # add to base of IDT to get location of memory map...
|
||||
pushl %eax # push memory map location on stack for call to EFILDR...
|
||||
|
||||
pushl %eax # push return address (useless, just for stack balance)
|
||||
|
Reference in New Issue
Block a user