]> git.proxmox.com Git - mirror_edk2.git/blob - UefiCpuPkg/CpuDxe/Ia32/CpuAsm.S
SourceLevelDebugPkg: Remove X86 ASM and S files
[mirror_edk2.git] / UefiCpuPkg / CpuDxe / Ia32 / CpuAsm.S
1 #------------------------------------------------------------------------------
2 #*
3 #* Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
4 #* This program and the accompanying materials
5 #* are licensed and made available under the terms and conditions of the BSD License
6 #* which accompanies this distribution. The full text of the license may be found at
7 #* http://opensource.org/licenses/bsd-license.php
8 #*
9 #* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 #* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11 #*
12 #* CpuAsm.S
13 #*
14 #* Abstract:
15 #*
16 #------------------------------------------------------------------------------
17
18
19 #.MMX
20 #.XMM
21
22 #------------------------------------------------------------------------------
23 # VOID
24 # SetCodeSelector (
25 # UINT16 Selector
26 # );
27 #------------------------------------------------------------------------------
28 ASM_GLOBAL ASM_PFX(SetCodeSelector)
29 ASM_PFX(SetCodeSelector):
30 movl 4(%esp), %ecx
31 subl $0x10, %esp
32 leal setCodeSelectorLongJump, %eax
33 movl %eax, (%esp)
34 movw %cx, 4(%esp)
35 .byte 0xFF, 0x2C, 0x24 # jmp *(%esp) note:(FWORD jmp)
36 setCodeSelectorLongJump:
37 addl $0x10, %esp
38 ret
39
40 #------------------------------------------------------------------------------
41 # VOID
42 # SetDataSelectors (
43 # UINT16 Selector
44 # );
45 #------------------------------------------------------------------------------
46 ASM_GLOBAL ASM_PFX(SetDataSelectors)
47 ASM_PFX(SetDataSelectors):
48 movl 4(%esp), %ecx
49 movw %cx, %ss
50 movw %cx, %ds
51 movw %cx, %es
52 movw %cx, %fs
53 movw %cx, %gs
54 ret
55
56 #END
57