DuetPkg BootSector:
Update start.asm(S)/start16.asm(S)/start32.asm(S)/efi32.asm(S) under DuetPkg\BootSector to follow the IA32 recommendations on switching to protected mode: Immediately following the MOV CR0 instruction, execute a far JMP or far CALL instruction. (This operation is typically a far jump or call to the next instruction in the instruction stream.) Signed-off-by: rsun3 Reviewed-by: niruiyu git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12723 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#------------------------------------------------------------------------------
|
||||
#*
|
||||
#* Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.<BR>
|
||||
#* Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
#* This program and the accompanying materials
|
||||
#* are licensed and made available under the terms and conditions of the BSD License
|
||||
#* which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -404,6 +404,7 @@ Timeout8042:
|
||||
|
||||
|
||||
A20GateEnabled:
|
||||
movw $0x0008, %bx # Flat data descriptor
|
||||
|
||||
#
|
||||
# DISABLE INTERRUPTS - Entering Protected Mode
|
||||
@@ -425,11 +426,6 @@ A20GateEnabled:
|
||||
movl %cr0, %eax
|
||||
orb $1, %al
|
||||
movl %eax, %cr0
|
||||
|
||||
movl $0x008, %eax # Flat data descriptor
|
||||
movl $0x00400000, %ebp # Destination of EFILDR32
|
||||
movl $0x00070000, %ebx # Length of copy
|
||||
|
||||
JUMP:
|
||||
# jmp far 0010:00020000
|
||||
.byte 0x66
|
||||
|
Reference in New Issue
Block a user