VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/UefiCpuPkg/CpuDxe/X64/CpuAsm.S@ 58466

Last change on this file since 58466 was 58466, checked in by vboxsync, 9 years ago

EFI/Firmware: Merged in the svn:eol-style, svn:mime-type and trailing whitespace cleanup that was done after the initial UDK2014.SP1 import: svn merge /vendor/edk2/UDK2014.SP1 /vendor/edk2/current .

  • Property svn:eol-style set to native
File size: 1.7 KB
Line 
1# TITLE CpuAsm.S:
2
3#------------------------------------------------------------------------------
4#*
5#* Copyright (c) 2008 - 2013, Intel Corporation. All rights reserved.<BR>
6#* This program and the accompanying materials
7#* are licensed and made available under the terms and conditions of the BSD License
8#* which accompanies this distribution. The full text of the license may be found at
9#* http://opensource.org/licenses/bsd-license.php
10#*
11#* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12#* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13#*
14#* CpuAsm.S
15#*
16#* Abstract:
17#*
18#------------------------------------------------------------------------------
19
20
21#text SEGMENT
22
23
24#------------------------------------------------------------------------------
25# VOID
26# SetCodeSelector (
27# UINT16 Selector
28# );
29#------------------------------------------------------------------------------
30ASM_GLOBAL ASM_PFX(SetCodeSelector)
31ASM_PFX(SetCodeSelector):
32 subq $0x10, %rsp
33 leaq L_setCodeSelectorLongJump(%rip), %rax
34 movq %rax, (%rsp)
35 movw %cx, 4(%rsp)
36 .byte 0xFF, 0x2C, 0x24 # jmp (%rsp) note:fword jmp
37L_setCodeSelectorLongJump:
38 addq $0x10, %rsp
39 ret
40
41#------------------------------------------------------------------------------
42# VOID
43# SetDataSelectors (
44# UINT16 Selector
45# );
46#------------------------------------------------------------------------------
47ASM_GLOBAL ASM_PFX(SetDataSelectors)
48ASM_PFX(SetDataSelectors):
49 movw %cx, %ss
50 movw %cx, %ds
51 movw %cx, %es
52 movw %cx, %fs
53 movw %cx, %gs
54 ret
55
56#text ENDS
57
58#END
59
60
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette