blob: d6612296c368b41f571b23bb14ae67f7714dd93f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
/** @file
Definition for EM64T processor.
Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php.
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
#ifndef _PROCESSOR_DEF_H
#define _PROCESSOR_DEF_H
#pragma pack(1)
/**
@todo @todo add structure description
**/
typedef struct {
UINT16 Offset15To0;
UINT16 SegmentSelector;
UINT16 Attributes;
UINT16 Offset31To16;
UINT32 Offset63To32;
UINT32 Reserved;
} INTERRUPT_GATE_DESCRIPTOR;
#pragma pack()
/**
@todo @todo add structure description
**/
typedef struct {
UINT8 *RendezvousFunnelAddress;
UINTN PModeEntryOffset;
UINTN FlatJumpOffset;
UINTN LModeEntryOffset;
UINTN LongJumpOffset;
UINTN Size;
} MP_ASSEMBLY_ADDRESS_MAP;
/**
Get address map of RendezvousFunnelProc.
@param[out] AddressMap - Output buffer for address map information
**/
VOID
AsmGetAddressMap (
OUT MP_ASSEMBLY_ADDRESS_MAP *AddressMap
);
#endif
|