diff options
Diffstat (limited to 'src/VBox/Devices/EFI/Firmware/UefiCpuPkg/CpuDxe/Ia32/CpuAsm.nasm')
-rw-r--r-- | src/VBox/Devices/EFI/Firmware/UefiCpuPkg/CpuDxe/Ia32/CpuAsm.nasm | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/VBox/Devices/EFI/Firmware/UefiCpuPkg/CpuDxe/Ia32/CpuAsm.nasm b/src/VBox/Devices/EFI/Firmware/UefiCpuPkg/CpuDxe/Ia32/CpuAsm.nasm new file mode 100644 index 00000000..b9d440a7 --- /dev/null +++ b/src/VBox/Devices/EFI/Firmware/UefiCpuPkg/CpuDxe/Ia32/CpuAsm.nasm @@ -0,0 +1,47 @@ +;------------------------------------------------------------------------------ +;* +;* Copyright (c) 2016, Intel Corporation. All rights reserved.<BR> +;* SPDX-License-Identifier: BSD-2-Clause-Patent +;* +;* CpuAsm.nasm +;* +;* Abstract: +;* +;------------------------------------------------------------------------------ + + SECTION .text + +;------------------------------------------------------------------------------ +; VOID +; SetCodeSelector ( +; UINT16 Selector +; ); +;------------------------------------------------------------------------------ +global ASM_PFX(SetCodeSelector) +ASM_PFX(SetCodeSelector): + mov ecx, [esp+4] + sub esp, 0x10 + lea eax, [setCodeSelectorLongJump] + mov [esp], eax + mov [esp+4], cx + jmp dword far [esp] +setCodeSelectorLongJump: + add esp, 0x10 + ret + +;------------------------------------------------------------------------------ +; VOID +; SetDataSelectors ( +; UINT16 Selector +; ); +;------------------------------------------------------------------------------ +global ASM_PFX(SetDataSelectors) +ASM_PFX(SetDataSelectors): + mov ecx, [esp+4] +o16 mov ss, cx +o16 mov ds, cx +o16 mov es, cx +o16 mov fs, cx +o16 mov gs, cx + ret + |