61 lines
1.7 KiB
C++
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
|
|
|