mirror of https://github.com/acidanthera/audk.git
UefiCpuPkg/CpuMpPei: Remove un-used variables and functions
Cc: Feng Tian <feng.tian@intel.com> Cc: Michael Kinney <michael.d.kinney@intel.com> Cc: Giri Mudusuru <giri.p.mudusuru@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
This commit is contained in:
parent
9c3d2f9a29
commit
6d98a37159
|
@ -14,30 +14,6 @@
|
|||
|
||||
#include "CpuMpPei.h"
|
||||
|
||||
//
|
||||
// Global Descriptor Table (GDT)
|
||||
//
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED IA32_GDT mGdtEntries[] = {
|
||||
/* selector { Global Segment Descriptor } */
|
||||
/* 0x00 */ {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, //null descriptor
|
||||
/* 0x08 */ {{0xffff, 0, 0, 0x2, 1, 0, 1, 0xf, 0, 0, 1, 1, 0}}, //linear data segment descriptor
|
||||
/* 0x10 */ {{0xffff, 0, 0, 0xf, 1, 0, 1, 0xf, 0, 0, 1, 1, 0}}, //linear code segment descriptor
|
||||
/* 0x18 */ {{0xffff, 0, 0, 0x3, 1, 0, 1, 0xf, 0, 0, 1, 1, 0}}, //system data segment descriptor
|
||||
/* 0x20 */ {{0xffff, 0, 0, 0xa, 1, 0, 1, 0xf, 0, 0, 1, 1, 0}}, //system code segment descriptor
|
||||
/* 0x28 */ {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, //spare segment descriptor
|
||||
/* 0x30 */ {{0xffff, 0, 0, 0x2, 1, 0, 1, 0xf, 0, 0, 1, 1, 0}}, //system data segment descriptor
|
||||
/* 0x38 */ {{0xffff, 0, 0, 0xa, 1, 0, 1, 0xf, 0, 1, 0, 1, 0}}, //system code segment descriptor
|
||||
/* 0x40 */ {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, //spare segment descriptor
|
||||
};
|
||||
|
||||
//
|
||||
// IA32 Gdt register
|
||||
//
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED IA32_DESCRIPTOR mGdt = {
|
||||
sizeof (mGdtEntries) - 1,
|
||||
(UINTN) mGdtEntries
|
||||
};
|
||||
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED EFI_PEI_NOTIFY_DESCRIPTOR mNotifyList = {
|
||||
(EFI_PEI_PPI_DESCRIPTOR_NOTIFY_CALLBACK | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),
|
||||
&gEfiEndOfPeiSignalPpiGuid,
|
||||
|
|
|
@ -85,25 +85,6 @@ typedef struct _PEI_CPU_MP_DATA PEI_CPU_MP_DATA;
|
|||
|
||||
#pragma pack(1)
|
||||
|
||||
typedef union {
|
||||
struct {
|
||||
UINT32 LimitLow : 16;
|
||||
UINT32 BaseLow : 16;
|
||||
UINT32 BaseMid : 8;
|
||||
UINT32 Type : 4;
|
||||
UINT32 System : 1;
|
||||
UINT32 Dpl : 2;
|
||||
UINT32 Present : 1;
|
||||
UINT32 LimitHigh : 4;
|
||||
UINT32 Software : 1;
|
||||
UINT32 Reserved : 1;
|
||||
UINT32 DefaultSize : 1;
|
||||
UINT32 Granularity : 1;
|
||||
UINT32 BaseHigh : 8;
|
||||
} Bits;
|
||||
UINT64 Uint64;
|
||||
} IA32_GDT;
|
||||
|
||||
//
|
||||
// MP CPU exchange information for AP reset code
|
||||
// This structure is required to be packed because fixed field offsets
|
||||
|
|
|
@ -18,9 +18,6 @@
|
|||
;
|
||||
;-------------------------------------------------------------------------------
|
||||
|
||||
PROTECT_MODE_CS equ 10h
|
||||
PROTECT_MODE_DS equ 18h
|
||||
|
||||
VacantFlag equ 00h
|
||||
NotVacantFlag equ 0ffh
|
||||
|
||||
|
|
|
@ -248,31 +248,4 @@ OtherLoaded:
|
|||
ret
|
||||
AsmExchangeRole ENDP
|
||||
|
||||
AsmInitializeGdt PROC near C PUBLIC
|
||||
push ebp
|
||||
mov ebp, esp
|
||||
pushad
|
||||
mov edi, [ebp + 8] ; Load GDT register
|
||||
|
||||
mov ax,cs ; Get the selector data from our code image
|
||||
mov es,ax
|
||||
lgdt FWORD PTR es:[edi] ; and update the GDTR
|
||||
|
||||
push PROTECT_MODE_CS
|
||||
lea eax, SetCodeSelectorFarJump
|
||||
push eax
|
||||
retf
|
||||
SetCodeSelectorFarJump:
|
||||
mov ax, PROTECT_MODE_DS ; Update the Base for the new selectors, too
|
||||
mov ds, ax
|
||||
mov es, ax
|
||||
mov fs, ax
|
||||
mov gs, ax
|
||||
mov ss, ax
|
||||
|
||||
popad
|
||||
pop ebp
|
||||
ret
|
||||
AsmInitializeGdt ENDP
|
||||
|
||||
END
|
||||
|
|
|
@ -228,28 +228,3 @@ OtherLoaded:
|
|||
|
||||
popad
|
||||
ret
|
||||
|
||||
global ASM_PFX(AsmInitializeGdt)
|
||||
ASM_PFX(AsmInitializeGdt):
|
||||
push ebp
|
||||
mov ebp, esp
|
||||
pushad
|
||||
mov edi, [ebp + 8] ; Load GDT register
|
||||
|
||||
lgdt [edi] ; and update the GDTR
|
||||
|
||||
push PROTECT_MODE_CS
|
||||
mov eax, ASM_PFX(SetCodeSelectorFarJump)
|
||||
push eax
|
||||
retf
|
||||
ASM_PFX(SetCodeSelectorFarJump):
|
||||
mov ax, PROTECT_MODE_DS ; Update the Base for the new selectors, too
|
||||
mov ds, ax
|
||||
mov es, ax
|
||||
mov fs, ax
|
||||
mov gs, ax
|
||||
mov ss, ax
|
||||
|
||||
popad
|
||||
pop ebp
|
||||
ret
|
||||
|
|
|
@ -18,11 +18,6 @@
|
|||
;
|
||||
;-------------------------------------------------------------------------------
|
||||
|
||||
PROTECT_MODE_CS equ 10h
|
||||
PROTECT_MODE_DS equ 18h
|
||||
LONG_MODE_CS equ 38h
|
||||
LONG_MODE_DS equ 30h
|
||||
|
||||
VacantFlag equ 00h
|
||||
NotVacantFlag equ 0ffh
|
||||
|
||||
|
|
|
@ -288,30 +288,4 @@ OtherLoaded:
|
|||
ret
|
||||
AsmExchangeRole ENDP
|
||||
|
||||
AsmInitializeGdt PROC
|
||||
push rbp
|
||||
mov rbp, rsp
|
||||
|
||||
lgdt fword PTR [rcx] ; update the GDTR
|
||||
|
||||
sub rsp, 0x10
|
||||
lea rax, SetCodeSelectorFarJump
|
||||
mov [rsp], rax
|
||||
mov rdx, LONG_MODE_CS
|
||||
mov [rsp + 4], dx ; get new CS
|
||||
jmp fword ptr [rsp]
|
||||
SetCodeSelectorFarJump:
|
||||
add rsp, 0x10
|
||||
|
||||
mov rax, LONG_MODE_DS ; get new DS
|
||||
mov ds, ax
|
||||
mov es, ax
|
||||
mov fs, ax
|
||||
mov gs, ax
|
||||
mov ss, ax
|
||||
|
||||
pop rbp
|
||||
ret
|
||||
AsmInitializeGdt ENDP
|
||||
|
||||
END
|
||||
|
|
|
@ -280,30 +280,3 @@ OtherLoaded:
|
|||
pop rax
|
||||
|
||||
ret
|
||||
|
||||
global ASM_PFX(AsmInitializeGdt)
|
||||
ASM_PFX(AsmInitializeGdt):
|
||||
push rbp
|
||||
mov rbp, rsp
|
||||
|
||||
lgdt [rcx] ; update the GDTR
|
||||
|
||||
sub rsp, 0x10
|
||||
mov rax, ASM_PFX(SetCodeSelectorFarJump)
|
||||
mov [rsp], rax
|
||||
mov rdx, LONG_MODE_CS
|
||||
mov [rsp + 4], dx ; get new CS
|
||||
jmp far dword [rsp] ; far jump with new CS
|
||||
ASM_PFX(SetCodeSelectorFarJump):
|
||||
add rsp, 0x10
|
||||
|
||||
mov rax, LONG_MODE_DS ; get new DS
|
||||
mov ds, ax
|
||||
mov es, ax
|
||||
mov fs, ax
|
||||
mov gs, ax
|
||||
mov ss, ax
|
||||
|
||||
pop rbp
|
||||
|
||||
ret
|
||||
|
|
Loading…
Reference in New Issue