alder_lake_bios/Insyde/InsydeModulePkg/Library/Thunk64To32Lib/Ia32/Thunk.inc

61 lines
1.7 KiB
C++

;;******************************************************************************
;;* Copyright (c) 2015, Insyde Software Corporation. All Rights Reserved.
;;*
;;* You may not reproduce, distribute, publish, display, perform, modify, adapt,
;;* transmit, broadcast, present, recite, release, license or otherwise exploit
;;* any part of this publication in any form, by any means, without the prior
;;* written permission of Insyde Software Corporation.
;;*
;;******************************************************************************
;
; Data Types
;
UINT64 TYPEDEF QWORD
UINT32 TYPEDEF DWORD
UINT16 TYPEDEF WORD
UINT8 TYPEDEF BYTE
CHAR8 TYPEDEF BYTE
;
; Define what a processor GDT looks like
; Keep in sync with Thunk.c
;
GDT_ENTRY STRUCT 4
LimitLow UINT16 ?
BaseLow UINT16 ?
BaseMid UINT8 ?
Attribute UINT8 ?
LimitHi UINT8 ?
BaseHi UINT8 ?
GDT_ENTRY ENDS
;
; Define what a processor descriptor looks like
; Keep in sync with Thunk.c definition
;
DESCRIPTOR64 STRUCT 1
Limit UINT16 ?
Base UINT64 ?
DESCRIPTOR64 ENDS
DESCRIPTOR32 STRUCT 1
Limit UINT16 ?
Base UINT32 ?
DESCRIPTOR32 ENDS
;
; LOW_MEMORY_THUNK - Keep in sync with Thunc.c definition
;
MEMORY_THUNK STRUCT 2
x64GdtDesc DESCRIPTOR64 <>
x64IdtDesc DESCRIPTOR64 <>
x64Ss UINT64 ?
x64Esp UINT64 ?
ia32Stack UINT64 ?
ia32IdtDesc DESCRIPTOR32 <>
ia32GdtDesc DESCRIPTOR32 <>
CodeSeg32offset UINT16 ?
MEMORY_THUNK ENDS