XenevaOS
Loading...
Searching...
No Matches
Pal.h
Go to the documentation of this file.
1
15#ifndef __PAL_API_H__
16#define __PAL_API_H__
17
18#define PAL_SUCCESS 0x0
19
23#define PAL_CACHE_FLUSH_INSTRUCTION_ALL 1
24#define PAL_CACHE_FLUSH_DATA_ALL 2
25#define PAL_CACHE_FLUSH_ALL 3
26#define PAL_CACHE_FLUSH_SYNC_TO_DATA 4
27
28
32#define PAL_CACHE_FLUSH_INVALIDATE_LINES BIT0
33#define PAL_CACHE_FLUSH_NO_INVALIDATE_LINES 0
34#define PAL_CACHE_FLUSH_POLL_INTERRUPT BIT1
35#define PAL_CACHE_FLUSH_NO_INTERRUPT 0
36
72#define PAL_CACHE_FLUSH 1
73
74
78#define PAL_CACHE_ATTR_WT 0
79#define PAL_CACHE_ATTR_WB 1
80
84#define PAL_CACHE_STORE_TEMPORAL 0
85#define PAL_CACHE_STORE_NONE_TEMPORAL 3
86
90#define PAL_CACHE_STORE_TEMPORAL_LVL_1 0
91#define PAL_CACHE_STORE_NONE_TEMPORAL_LVL_ALL 3
92
96#define PAL_CACHE_LOAD_TEMPORAL_LVL_1 0
97#define PAL_CACHE_LOAD_NONE_TEMPORAL_LVL_1 1
98#define PAL_CACHE_LOAD_NONE_TEMPORAL_LVL_ALL 3
99
114
125
161#define PAL_CACHE_INFO 2
162
163
164
168#define PAL_CACHE_INIT_ALL 0xffffffffffffffffULL
169
173#define PAL_CACHE_INIT_TYPE_INSTRUCTION 0x1
174#define PAL_CACHE_INIT_TYPE_DATA 0x2
175#define PAL_CACHE_INIT_TYPE_INSTRUCTION_AND_DATA 0x3
176
180#define PAL_CACHE_INIT_NO_RESTRICT 0
181#define PAL_CACHE_INIT_RESTRICTED 1
182
218#define PAL_CACHE_INIT 3
219
220
224#define PAL_CACHE_PROTECTION_NONE_PROTECT 0
225#define PAL_CACHE_PROTECTION_ODD_PROTECT 1
226#define PAL_CACHE_PROTECTION_EVEN_PROTECT 2
227#define PAL_CACHE_PROTECTION_ECC_PROTECT 3
228
229
230
234#define PAL_CACHE_PROTECTION_PROTECT_DATA 0
235#define PAL_CACHE_PROTECTION_PROTECT_TAG 1
236#define PAL_CACHE_PROTECTION_PROTECT_TAG_ANDTHEN_DATA 2
237#define PAL_CACHE_PROTECTION_PROTECT_DATA_ANDTHEN_TAG 3
238
250
287#define PAL_CACHE_PROT_INFO 38
288
300
301
312
355#define PAL_CACHE_SHARED_INFO 43
356
357
391#define PAL_CACHE_SUMMARY 4
392
393
394//
395// Virtual Memory Attributes implemented by processor.
396//
397#define PAL_MEMORY_ATTR_WB 0
398#define PAL_MEMORY_ATTR_WC 6
399#define PAL_MEMORY_ATTR_UC 4
400#define PAL_MEMORY_ATTR_UCE 5
401#define PAL_MEMORY_ATTR_NATPAGE 7
402
424#define PAL_MEM_ATTRIB 5
425
449#define PAL_PREFETCH_VISIBILITY 41
450
481#define PAL_PTCE_INFO 6
482
505
538#define PAL_VM_INFO 7
539
540
564#define PAL_VM_PAGE_SIZE 34
565
593
611
633#define PAL_VM_SUMMARY 8
634
635
636//
637// Bit mask of TR_valid flag.
638//
639#define PAL_TR_ACCESS_RIGHT_IS_VALID BIT0
640#define PAL_TR_PRIVILEGE_LEVEL_IS_VALID BIT1
641#define PAL_TR_DIRTY_IS_VALID BIT2
642#define PAL_TR_MEMORY_ATTR_IS_VALID BIT3
643
644
670#define PAL_VM_TR_READ 261
671
672
673
674
675//
676// Bit Mask of Processor Bus Fesatures .
677//
678
685#define PAL_BUS_DISABLE_DATA_ERROR_SIGNALLING BIT63
686
687
695#define PAL_BUS_DISABLE_ADDRESS_ERROR_SIGNALLING BIT62
696
697
698
699
708#define PAL_BUS_DISABLE_ADDRESS_ERROR_CHECK BIT61
709
710
719#define PAL_BUS_DISABLE_INITIALIZATION_EVENT_SIGNALLING BIT60
720
721
730#define PAL_BUS_DISABLE_INITIALIZATION_EVENT_CHECK BIT59
731
732
733
740#define PAL_BUS_DISABLE_ERROR_SIGNALLING BIT58
741
742
743
744
752#define PAL_BUS_DISABLE__INTERNAL_ERROR_SIGNALLING BIT57
753
754
761#define PAL_BUS_DISABLE_ERROR_CHECK BIT56
762
763
772#define PAL_BUS_DISABLE_RSP_ERROR_CHECK BIT55
773
774
782#define PAL_BUS_DISABLE_TRANSACTION_QUEUE BIT54
783
795#define PAL_BUS_ENABLE_EXCLUSIVE_CACHE_LINE_REPLACEMENT BIT53
796
797
809#define PAL_BUS_ENABLE_SHARED_CACHE_LINE_REPLACEMENT BIT52
810
811
812
823#define PAL_BUS_ENABLE_HALF_TRANSFER BIT30
824
834#define PAL_BUS_REQUEST_BUS_PARKING BIT29
835
836
859#define PAL_BUS_GET_FEATURES 9
860
879#define PAL_BUS_SET_FEATURES 10
880
881
906#define PAL_DEBUG_INFO 11
907
926#define PAL_FIXED_ADDR 12
927
949#define PAL_FREQ_BASE 13
950
951
985#define PAL_FREQ_RATIOS 14
986
1008
1021
1030
1063#define PAL_LOGICAL_TO_PHYSICAL 42
1064
1079
1101#define PAL_PERF_MON_INFO 15
1102
1103#define PAL_PLATFORM_ADDR_INTERRUPT_BLOCK_TOKEN 0x0
1104#define PAL_PLATFORM_ADDR_IO_BLOCK_TOKEN 0x1
1105
1133#define PAL_PLATFORM_ADDR 16
1134
1446
1478#define PAL_PROC_GET_FEATURES 17
1479
1480
1507#define PAL_PROC_SET_FEATURES 18
1508
1509
1510//
1511// Value of PAL_REGISTER_INFO.InfoRequest.
1512//
1513#define PAL_APPLICATION_REGISTER_IMPLEMENTED 0
1514#define PAL_APPLICATION_REGISTER_READABLE 1
1515#define PAL_CONTROL_REGISTER_IMPLEMENTED 2
1516#define PAL_CONTROL_REGISTER_READABLE 3
1517
1518
1544#define PAL_REGISTER_INFO 39
1545
1567#define PAL_RSE_INFO 19
1568
1586
1612#define PAL_VERSION 20
1613
1614
1615
1616//
1617// Vectors of PAL_MC_CLEAR_LOG.pending
1618//
1619#define PAL_MC_PENDING BIT0
1620#define PAL_INIT_PENDING BIT1
1621
1641#define PAL_MC_CLEAR_LOG 21
1642
1659#define PAL_MC_DRAIN 22
1660
1661
1684#define PAL_MC_DYNAMIC_STATE 24
1685
1686
1687
1688//
1689// Values of PAL_MC_ERROR_INFO.InfoIndex.
1690//
1691#define PAL_PROCESSOR_ERROR_MAP 0
1692#define PAL_PROCESSOR_STATE_PARAM 1
1693#define PAL_STRUCTURE_SPECIFIC_ERROR 2
1694
1730
1731//
1732// Value of PAL_MC_ERROR_INFO.ErrorTypeIndex
1733//
1734#define PAL_ERR_INFO_BY_LEVEL_INDEX 0
1735#define PAL_ERR_INFO_TARGET_ADDRESS 1
1736#define PAL_ERR_INFO_REQUESTER_IDENTIFIER 2
1737#define PAL_ERR_INFO_REPONSER_INDENTIFIER 3
1738#define PAL_ERR_INFO_PRECISE_INSTRUCTION_POINTER 4
1739
1830
1831
1914
1952#define PAL_MC_ERROR_INFO 25
1953
1976#define PAL_MC_EXPECTED 23
1977
1996#define PAL_MC_REGISTER_MEM 27
1997
2026#define PAL_MC_RESUME 26
2027
2053#define PAL_HALT 28
2054
2055
2074#define PAL_HALT_INFO 257
2075
2076
2092#define PAL_HALT_LIGHT 29
2093
2117#define PAL_CACHE_LINE_INIT 31
2118
2152#define PAL_CACHE_READ 259
2153
2154
2180#define PAL_CACHE_WRITE 260
2181
2217#define PAL_TEST_INFO 37
2218
2247
2311
2346
2379#define PAL_TEST_PROC 258
2380
2389
2422#define PAL_COPY_INFO 30
2423
2452#define PAL_COPY_PAL 256
2453
2521#define PAL_ENTER_IA_32_ENV 33
2522
2540#define PAL_PMI_ENTRYPOINT 32
2541
2542
2555#define PAL_BRAND_INFO_ID_REQUEST 0
2556
2583#define PAL_BRAND_INFO 274
2584
2623#define PAL_GET_HW_POLICY 48
2624
2625
2626//
2627// Value of PAL_SET_HW_POLICY.Policy
2628//
2629#define PAL_SET_HW_POLICY_PERFORMANCE 0
2630#define PAL_SET_HW_POLICY_FAIRNESS 1
2631#define PAL_SET_HW_POLICY_HIGH_PRIORITY 2
2632#define PAL_SET_HW_POLICY_EXCLUSIVE_HIGH_PRIORITY 3
2633
2659#define PAL_SET_HW_POLICY 49
2660
2716
2810
2823
2869#define PAL_MC_ERROR_INJECT 276
2870
2871
2872//
2873// Types of PAL_GET_PSTATE.Type
2874//
2875#define PAL_GET_PSTATE_RECENT 0
2876#define PAL_GET_PSTATE_AVERAGE_NEW_START 1
2877#define PAL_GET_PSTATE_AVERAGE 2
2878#define PAL_GET_PSTATE_NOW 3
2879
2911#define PAL_GET_PSTATE 262
2912
2926
2927
2952#define PAL_PSTATE_INFO 44
2953
2954
2980#define PAL_SET_PSTATE 263
2981
3004#define PAL_SHUTDOWN 45
3005
3016
3048#define PAL_MEMORY_BUFFER 277
3049
3050
3076#define PAL_VP_CREATE 265
3077
3088
3121#define PAL_VP_ENV_INFO 266
3122
3143#define PAL_VP_EXIT_ENV 267
3144
3145
3146
3191#define PAL_VP_INIT_ENV 268
3192
3193
3220#define PAL_VP_REGISTER 269
3221
3222
3248#define PAL_VP_RESTORE 270
3249
3275#define PAL_VP_SAVE 271
3276
3277
3300#define PAL_VP_TERMINATE 272
3301
3302#endif
unsigned int UINT32
Definition ProcessorBind.h:102
COMPILER_DEPENDENT_UINT64 UINT64
Definition actypes.h:239
Definition Pal.h:1740
UINT64 MultipleBitsError
Definition Pal.h:1776
UINT64 FailedInDataPart
Bit8, Failure located in the data part of the cache line.
Definition Pal.h:1754
UINT64 FailedCacheLevel
Definition Pal.h:1750
UINT64 RequesterIdentifier
Definition Pal.h:1814
UINT64 Operation
Definition Pal.h:1741
UINT64 FailedWay
Definition Pal.h:1769
UINT64 FailedInInsCache
Definition Pal.h:1758
UINT64 PrivilegeLevel
Definition Pal.h:1796
UINT64 ResponserIdentifier
Definition Pal.h:1819
UINT64 InstructionSet
Definition Pal.h:1785
UINT64 Reserved4
Definition Pal.h:1783
UINT64 Reserved2
Definition Pal.h:1775
UINT64 IndexOfCacheLineError
Definition Pal.h:1781
UINT64 TargetAddressIsValid
Definition Pal.h:1809
UINT64 Reserved1
Definition Pal.h:1753
UINT64 WayIndexIsValid
Definition Pal.h:1772
UINT64 FailedInTagPart
Bit9, Failure located in the tag part of the cache line.
Definition Pal.h:1755
UINT64 PrivilegeLevelIsValide
Definition Pal.h:1801
UINT64 McCorrected
Definition Pal.h:1805
UINT64 PreciseInsPointer
Definition Pal.h:1824
UINT64 InstructionSetIsValid
Definition Pal.h:1793
UINT64 Reserved3
Definition Pal.h:1780
UINT64 FailedInDataCache
Bit10, Failure located in the data cache.
Definition Pal.h:1756
UINT64 Mesi
Definition Pal.h:1761
UINT64 MesiIsValid
Definition Pal.h:1766
Definition Pal.h:104
UINT64 Associativity
Definition Pal.h:107
UINT64 LineSize
Definition Pal.h:108
UINT64 Attributes
Definition Pal.h:106
UINT64 StoreHint
Definition Pal.h:111
UINT64 LoadHint
Definition Pal.h:112
UINT64 StoreLatency
Definition Pal.h:110
UINT64 IsUnified
Definition Pal.h:105
UINT64 Stride
Definition Pal.h:109
Definition Pal.h:119
UINT64 TagLsBits
Definition Pal.h:122
UINT64 TagMsBits
Definition Pal.h:123
UINT64 CacheSize
Definition Pal.h:120
UINT64 AliasBoundary
Definition Pal.h:121
Definition Pal.h:242
UINT32 TagOrData
Definition Pal.h:248
UINT32 DataBits
Definition Pal.h:243
UINT32 ProtBits
Definition Pal.h:246
UINT32 Method
Definition Pal.h:247
UINT32 TagProtLsb
Definition Pal.h:244
UINT32 TagProtMsb
Definition Pal.h:245
Definition Pal.h:1009
UINT64 CoreId
Definition Pal.h:1015
UINT64 Reserved2
Definition Pal.h:1019
UINT64 ThreadId
Definition Pal.h:1010
UINT64 Reserved1
Definition Pal.h:1014
Definition Pal.h:1022
UINT64 Reserved
Definition Pal.h:1028
UINT64 LogicalAddress
Definition Pal.h:1023
Definition Pal.h:987
UINT64 Reserved2
Definition Pal.h:996
UINT64 ThreadsPerCore
Number of threads per core.
Definition Pal.h:992
UINT64 Reserved3
Definition Pal.h:1006
UINT64 Reserved1
Definition Pal.h:993
UINT64 CoresPerProcessor
Definition Pal.h:994
UINT64 NumberOfLogicalProcessors
Definition Pal.h:988
UINT64 PhysicalProcessorPackageId
Definition Pal.h:997
Definition Pal.h:2816
UINT64 Reserved2
Definition Pal.h:2821
UINT64 Reserved1
Definition Pal.h:2819
UINT64 TrigerAddress
Definition Pal.h:2817
UINT64 RegionId
Definition Pal.h:2820
UINT64 VirtualPageNumber
Definition Pal.h:2818
Definition Pal.h:1695
UINT64 InfoOfInsCache
Definition Pal.h:1702
UINT64 ThreadId
Definition Pal.h:1699
UINT64 InfoOfMicroArch
Definition Pal.h:1725
UINT64 InfoOfProcessorBus
Definition Pal.h:1718
UINT64 InfoOfDataCache
Definition Pal.h:1706
UINT64 InfoOfInsTlb
Definition Pal.h:1710
UINT64 InfoOfDataTlb
Definition Pal.h:1714
UINT64 InfoOfRegisterFile
Definition Pal.h:1722
UINT64 CoreId
Definition Pal.h:1696
UINT64 Reserved
Definition Pal.h:1728
Definition Pal.h:2717
UINT64 DataPoisonOfCacheLine
Definition Pal.h:2754
UINT64 Reserved2
Definition Pal.h:2808
UINT64 Reserved1
Definition Pal.h:2771
UINT64 CacheType
Definition Pal.h:2728
UINT64 Triger
Definition Pal.h:2781
UINT64 PrivilegeOfTriger
Definition Pal.h:2794
UINT64 StructInfoIsValid
Definition Pal.h:2718
UINT64 PortionOfCacheLine
Definition Pal.h:2733
UINT64 TrigerInfoIsValid
Definition Pal.h:2773
UINT64 Mechanism
Definition Pal.h:2739
Definition Pal.h:2661
UINT64 Reserved
Reserved 47:16 Reserved.
Definition Pal.h:2712
UINT64 ImplSpec
Bit63:48, Processor specific error injection capabilities.
Definition Pal.h:2714
UINT64 StructureHierarchy
Definition Pal.h:2698
UINT64 ErrorInjection
Definition Pal.h:2671
UINT64 Mode
Definition Pal.h:2662
UINT64 ErrorStructure
Definition Pal.h:2683
UINT64 ErrorSeverity
Definition Pal.h:2677
Definition Pal.h:3011
UINT64 Registration
Definition Pal.h:3012
UINT64 ProbeInterrupt
Definition Pal.h:3013
UINT64 Reserved
Definition Pal.h:3014
Definition Pal.h:289
UINT64 ThreadId
Definition Pal.h:290
UINT64 Reserved2
Definition Pal.h:298
UINT64 Reserved1
Definition Pal.h:293
UINT64 CoreId
Definition Pal.h:294
Definition Pal.h:302
UINT64 Reserved1
Definition Pal.h:309
UINT64 Reserved2
Definition Pal.h:310
UINT64 LogicalAddress
Definition Pal.h:303
Definition Pal.h:1065
UINT64 TypeOfRetiredInstructionBundle
Definition Pal.h:1073
UINT64 TypeOfCycleCounting
Definition Pal.h:1071
UINT64 WidthOfCounter
Definition Pal.h:1068
UINT64 NumberOfPmcPairs
Definition Pal.h:1066
UINT64 Reserved
Definition Pal.h:1077
Definition Pal.h:2381
UINT32 NumberOfInterruptControllers
Definition Pal.h:2382
UINT32 NumberOfProcessors
Definition Pal.h:2386
Definition Pal.h:1135
UINT64 DisableSpontaneousDeferral
Definition Pal.h:1246
UINT64 DisablePState
Definition Pal.h:1301
UINT64 NoXipXpsrXfs
Definition Pal.h:1216
UINT64 EnableMcaPromotion
Definition Pal.h:1427
UINT64 DisableBranchPrediction
Definition Pal.h:1292
UINT64 EnableBerrPromotion
Definition Pal.h:1436
UINT64 DisableBinitWithTimeout
Definition Pal.h:1364
UINT64 EnableEnvNotification
Definition Pal.h:1336
UINT64 EnableCmciPromotion
Definition Pal.h:1402
UINT64 NoPresentPmi
Definition Pal.h:1156
UINT64 DisableDPM
Definition Pal.h:1374
UINT64 DisableDynamicPrediction
Definition Pal.h:1234
UINT64 DisableCache
Definition Pal.h:1387
UINT64 NoXr1ThroughXr3
Definition Pal.h:1225
UINT64 DisableCoherency
Definition Pal.h:1381
UINT64 EnableVmsw
Definition Pal.h:1329
UINT64 EnableMcaOnDataPoisoning
Definition Pal.h:1307
UINT64 EnableMcaToBinitPromotion
Definition Pal.h:1415
UINT64 NoVariablePState
Definition Pal.h:1190
UINT64 Reserved1
Definition Pal.h:1136
UINT64 DisableDynamicDataCachePrefetch
Definition Pal.h:1258
UINT64 FaultInUndefinedIns
Definition Pal.h:1137
UINT64 DisableDynamicInsCachePrefetch
Definition Pal.h:1274
UINT64 NoSimpleImpInUndefinedIns
Definition Pal.h:1167
UINT64 NoVM
Definition Pal.h:1209
UINT64 Reserved2
Definition Pal.h:1300
Definition Pal.h:2918
UINT32 Reserved2
Definition Pal.h:2924
UINT32 Reserved1
Definition Pal.h:2920
UINT32 TransitionLatency1
Definition Pal.h:2922
UINT32 PerformanceIndex
Definition Pal.h:2919
UINT32 TypicalPowerDissipation
Definition Pal.h:2921
UINT32 TransitionLatency2
Definition Pal.h:2923
Definition Pal.h:2248
UINT64 TestControl
Definition Pal.h:2249
UINT64 ControlSupport
Definition Pal.h:2292
UINT64 Reserved
Definition Pal.h:2309
Definition Pal.h:483
UINT64 TcIsUnified
Definition Pal.h:498
UINT64 NumberEntries
Definition Pal.h:490
UINT64 NumberWays
Definition Pal.h:487
UINT64 PageSizeIsOptimized
Definition Pal.h:492
UINT64 NumberSets
Definition Pal.h:484
UINT64 EntriesReduction
Definition Pal.h:500
Definition Pal.h:2312
UINT64 Reserved
Definition Pal.h:2323
UINT64 Attributes
Definition Pal.h:2313
UINT64 TestControl
Definition Pal.h:2324
Definition Pal.h:2219
UINT64 BufferSize
Definition Pal.h:2220
UINT64 TestPhase
Definition Pal.h:2228
Definition Pal.h:1832
UINT64 ResponserIdentifier
Definition Pal.h:1904
UINT64 InstructionSet
Definition Pal.h:1871
UINT64 FailedInInsTr
Definition Pal.h:1846
UINT64 PrivelegeLevel
Definition Pal.h:1882
UINT64 Reserved3
Definition Pal.h:1870
UINT64 InstructionSetIsValid
Definition Pal.h:1879
UINT64 Reserved1
Definition Pal.h:1837
UINT64 FailedOperation
Definition Pal.h:1855
UINT64 PrivelegeLevelIsValid
Definition Pal.h:1887
UINT64 FailedInInsTc
Definition Pal.h:1852
UINT64 FailedInDataTc
Definition Pal.h:1849
UINT64 FailedSlotIsValid
Definition Pal.h:1835
UINT64 FailedSlot
Definition Pal.h:1833
UINT64 RequesterIdentifier
Definition Pal.h:1899
UINT64 TargetAddressIsValid
Definition Pal.h:1894
UINT64 FailedInDataTr
Definition Pal.h:1843
UINT64 McCorrected
Definition Pal.h:1890
UINT64 Reserved2
Definition Pal.h:1841
UINT64 PreciseInsPointer
Definition Pal.h:1909
UINT64 TlbLevel
Definition Pal.h:1838
Definition Pal.h:1569
UINT64 Reserved1
Definition Pal.h:1573
UINT64 VersionOfPalA
Definition Pal.h:1576
UINT64 PalVendor
Definition Pal.h:1574
UINT64 Reserved2
Definition Pal.h:1584
UINT64 VersionOfPalB
Definition Pal.h:1570
Definition Pal.h:566
UINT64 NumberOfUniqueTc
Definition Pal.h:586
UINT64 WidthOfKey
Definition Pal.h:573
UINT64 HashTagId
Definition Pal.h:577
UINT64 WalkerPresent
Definition Pal.h:567
UINT64 WidthOfPhysicalAddress
Definition Pal.h:570
UINT64 MaxItrIndex
Definition Pal.h:583
UINT64 MaxDtrIndex
Definition Pal.h:580
UINT64 MaxPkrIndex
Definition Pal.h:575
UINT64 NumberOfTcLevels
Definition Pal.h:590
Definition Pal.h:594
UINT64 Reserved
Definition Pal.h:609
UINT64 WidthOfVirtualAddress
Definition Pal.h:595
UINT64 MaxPurgedTlbs
Definition Pal.h:600
UINT64 WidthOfRid
Definition Pal.h:598
Definition Pal.h:3083
UINT64 Reserved
Definition Pal.h:3086
UINT64 Opcode
Definition Pal.h:3085
UINT64 Reserved1
Definition Pal.h:3084