REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3790 Replace Opcode with the corresponding instructions. The code changes have been verified with CompareBuild.py tool, which can be used to compare the results of two different EDK II builds to determine if they generate the same binaries. (tool link: https://github.com/mdkinney/edk2/tree/sandbox/CompareBuild) Signed-off-by: Jason Lou <yun.lou@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com> Cc: Eric Dong <eric.dong@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Rahul Kumar <rahul1.kumar@intel.com>
45 lines
1.2 KiB
NASM
45 lines
1.2 KiB
NASM
;------------------------------------------------------------------------------
|
|
;*
|
|
;* Copyright (c) 2016 - 2022, Intel Corporation. All rights reserved.<BR>
|
|
;* SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
;*
|
|
;* CpuAsm.nasm
|
|
;*
|
|
;* Abstract:
|
|
;*
|
|
;------------------------------------------------------------------------------
|
|
|
|
DEFAULT REL
|
|
SECTION .text
|
|
|
|
;------------------------------------------------------------------------------
|
|
; VOID
|
|
; SetCodeSelector (
|
|
; UINT16 Selector
|
|
; );
|
|
;------------------------------------------------------------------------------
|
|
global ASM_PFX(SetCodeSelector)
|
|
ASM_PFX(SetCodeSelector):
|
|
push rcx
|
|
lea rax, [setCodeSelectorLongJump]
|
|
push rax
|
|
retfq
|
|
setCodeSelectorLongJump:
|
|
ret
|
|
|
|
;------------------------------------------------------------------------------
|
|
; VOID
|
|
; SetDataSelectors (
|
|
; UINT16 Selector
|
|
; );
|
|
;------------------------------------------------------------------------------
|
|
global ASM_PFX(SetDataSelectors)
|
|
ASM_PFX(SetDataSelectors):
|
|
o16 mov ss, cx
|
|
o16 mov ds, cx
|
|
o16 mov es, cx
|
|
o16 mov fs, cx
|
|
o16 mov gs, cx
|
|
ret
|
|
|