30#ifndef __BASIC_ACPI_H__
31#define __BASIC_ACPI_H__
37#define ACPI_APICTYPE_LAPIC 0
38#define ACPI_APICTYPE_IOAPIC 1
39#define ACPI_MADTTYPE_GICC 11
40#define ACPI_MADTTYPE_GICD 12
41#define ACPI_MADTTYPE_GICMSI 13
42#define ACPI_MADTTYPE_GICR 14
43#define ACPI_MADTTYPE_GICITS 15
44#define ACPI_MADTTYPE_CIC 17
45#define ACPI_MADTTYPE_LPI 18
46#define ACPI_MADTTYPE_GICCPU_AFFIN 19
47#define ACPI_MADTTYPE_GICV4 20
50#define ACPI_SIG_RSDP "RSD PTR "
51#define ACPI_SIG_APIC "APIC"
52#define ACPI_SIG_DSDT "DSDT"
53#define ACPI_SIG_FADT "FACP"
54#define ACPI_SIG_FACS "FACS"
55#define ACPI_SIG_PSDT "PSDT"
56#define ACPI_SIG_RSDT "RSDT"
57#define ACPI_SIG_SSDT "SSDT"
58#define ACPI_SIG_SBST "SBST"
61#define ACPI_FACSFL_S4BIOS 0x00000001
64#define ACPI_PMCTRL_SCI_EN 0x0001
65#define ACPI_PMCTRL_BM_RLD 0x0002
66#define ACPI_PMCTRL_GBL_RLS 0x0004
67#define ACPI_PMCTRL_SLP_TYPX 0x1C00
68#define ACPI_PMCTRL_SLP_EN 0x2000
72#define ACPI_SIG_ECDT "ECDT"
73#define ACPI_SIG_OEMX "OEM"
74#define ACPI_SIG_XSDT "XSDT"
75#define ACPI_SIG_BOOT "BOOT"
76#define ACPI_SIG_CPEP "CPEP"
77#define ACPI_SIG_DBGP "DBGP"
78#define ACPI_SIG_ETDT "ETDT"
79#define ACPI_SIG_HPET "HPET"
80#define ACPI_SIG_SLIT "SLIT"
81#define ACPI_SIG_SPCR "SPCR"
82#define ACPI_SIG_SRAT "SRAT"
83#define ACPI_SIG_SPMI "SPMI"
84#define ACPI_SIG_TCPA "TCPA"
87#define ACPI_APICTYPE_ISOVER 2
88#define ACPI_APICTYPE_NMI 3
89#define ACPI_APICTYPE_LAPIC_NMI 4
90#define ACPI_APICTYPE_LAPIC_AOS 5
91#define ACPI_APICTYPE_IOSAPIC 6
92#define ACPI_APICTYPE_LSAPIC 7
93#define ACPI_APICTYPE_PLATIS 8
96#define ACPI_SIG_BERT "BERT"
97#define ACPI_SIG_DMAR "DMAR"
98#define ACPI_SIG_ERST "ERST"
99#define ACPI_SIG_HEST "HEST"
100#define ACPI_SIG_IBFT "IBFT"
101#define ACPI_SIG_MCFG "MCFG"
102#define ACPI_SIG_UEFI "UEFI"
103#define ACPI_SIG_WAET "WAET"
104#define ACPI_SIG_WDAT "WDAT"
105#define ACPI_SIG_WDRT "WDRT"
106#define ACPI_SIG_WSPT "WSPT"
109#define ACPI_SIG_EINJ "EINJ"
110#define ACPI_SIG_MSCT "MSCT"
111#define ACPI_SIG_PSDT "PSDT"
112#define ACPI_SIG_IVRS "IVRS"
113#define ACPI_SIG_MCHI "MCHI"
116#define ACPI_FACSFL_64BITWAKE 0x00000002
275 unsigned char res4[1];
280 unsigned char res5[3];
307 unsigned char res1[3];
310 unsigned char res2[24];
316 unsigned char data[];
339 unsigned char res[3];
418#define APIC_TYPE_INTERRUPT_OVERRIDE 2
unsigned int uint32_t
Definition acefiex.h:163
unsigned char uint8_t
Definition acefiex.h:161
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
unsigned short int uint16_t
Definition acefiex.h:162
void AuACPIInitialise(void *acpi_base)
Definition basicacpi.cpp:159
void AuACPIEnable()
Definition basicacpi.cpp:70
struct _aurora_acpi_ AuroraBasicACPI
Standard kernel ACPI header for kernel use only.
struct _acpiSysDesc acpiSysDescHeader
bool AuACPIPCIESupported()
Definition basicacpi.cpp:249
struct _acpi_table_srat_x_ acpi_table_srat_xe
void * AuACPIGetRSDP()
Definition basicacpi.cpp:257
void AuInitialiseACPISubsys(KERNEL_BOOT_INFO *info)
Definition basicacpi.cpp:266
struct _rsdp_ acpiRsdp
ACPI version 1.0 structures.
struct _acpi_sub_tab_ acpi_sub_table
struct _acpi_srat_mem_affinity_ AcpiSRATMemAffinity
uint8_t AuGetCPUCount()
Definition basicacpi.cpp:302
struct _apic_interrupt_override_ apic_interrupt_override
acpiMcfg * AuACPIGetMCFG()
Definition basicacpi.cpp:241
acpi_srat_type
Definition basicacpi.h:394
@ acpi_srat_type_cpu_affinity
Definition basicacpi.h:395
@ acpi_srat_type_reserved
ACPI 6.3.
Definition basicacpi.h:401
@ acpi_srat_type_gicc_affinity
Definition basicacpi.h:398
@ acpi_srat_type_gic_its_affinity
Definition basicacpi.h:399
@ acpi_srat_type_x2apic_cpu_affinity
Definition basicacpi.h:397
@ acpi_srat_type_memory_affinity
Definition basicacpi.h:396
@ acpi_srat_type_generic_affinity
ACPI 6.2.
Definition basicacpi.h:400
struct _acpi_apic_header_ acpiApicHeader
void AuACPIShutdown()
Definition basicacpi.cpp:63
void(* entry)(void *)
Definition process.h:91
Definition basicacpi.h:146
char oemTableId[8]
Definition basicacpi.h:152
unsigned char checksum
Definition basicacpi.h:150
char signature[4]
Definition basicacpi.h:147
unsigned creatorId
Definition basicacpi.h:154
char oemId[6]
Definition basicacpi.h:151
unsigned length
Definition basicacpi.h:148
unsigned oemRevision
Definition basicacpi.h:153
unsigned creatorRevision
Definition basicacpi.h:155
unsigned char revision
Definition basicacpi.h:149
Definition basicacpi.h:406
uint64_t reserved2
Definition basicacpi.h:414
uint64_t length
Definition basicacpi.h:411
uint16_t reserved
Definition basicacpi.h:409
uint32_t flags
Definition basicacpi.h:413
uint64_t base_address
Definition basicacpi.h:410
acpi_sub_table header
Definition basicacpi.h:407
uint32_t reserved1
Definition basicacpi.h:412
uint32_t proximity_domain
Definition basicacpi.h:408
Definition basicacpi.h:387
uint8_t type
Definition basicacpi.h:388
uint8_t length
Definition basicacpi.h:389
Definition basicacpi.h:379
uint64_t Reserved
Definition basicacpi.h:382
uint32_t TableRevision
Definition basicacpi.h:381
acpiSysDescHeader Header
Definition basicacpi.h:380
Definition basicacpi.h:370
uint32_t interrupt
Definition basicacpi.h:374
acpiApicHeader header
Definition basicacpi.h:371
uint16_t flags
Definition basicacpi.h:375
uint8_t bus
Definition basicacpi.h:372
uint8_t source
Definition basicacpi.h:373
Standard kernel ACPI header for kernel use only.
Definition basicacpi.h:357
acpiMadt * madt
Definition basicacpi.h:359
uint16_t slp_typa
Definition basicacpi.h:364
uint16_t slp_typb
Definition basicacpi.h:365
acpiMcfg * mcfg
Definition basicacpi.h:363
acpiFadt * fadt
Definition basicacpi.h:360
acpiDsdt * dsdt
Definition basicacpi.h:362
uint8_t num_cpu
Definition basicacpi.h:366
acpiFacs * facs
Definition basicacpi.h:361
unsigned char revision
Definition basicacpi.h:358
ACPI version 1.0 structures.
Definition basicacpi.h:132
uint64_t xsdtAddr
Definition basicacpi.h:140
unsigned char revision
Definition basicacpi.h:136
char oemId[6]
Definition basicacpi.h:135
unsigned char res[3]
Definition basicacpi.h:142
unsigned char checksum
Definition basicacpi.h:134
char signature[8]
Definition basicacpi.h:133
unsigned length
Definition basicacpi.h:139
unsigned rsdtAddr
Definition basicacpi.h:137
unsigned char xChecksum
Definition basicacpi.h:141
Definition basicacpi.h:336
acpiSysDescHeader header
Definition basicacpi.h:337
unsigned char cmosIndex
Definition basicacpi.h:338
Definition basicacpi.h:314
acpiSysDescHeader header
Definition basicacpi.h:315
Firmware ACPI Control structure.
Definition basicacpi.h:296
unsigned hardwareSig
Definition basicacpi.h:299
unsigned flags
Definition basicacpi.h:302
unsigned ospmFlags
Definition basicacpi.h:308
unsigned char version
Definition basicacpi.h:305
uint64_t xWakingVector
Definition basicacpi.h:304
unsigned wakingVector
Definition basicacpi.h:300
unsigned globalLock
Definition basicacpi.h:301
unsigned length
Definition basicacpi.h:298
Definition basicacpi.h:238
unsigned pm1bCtrlBlock
Definition basicacpi.h:253
unsigned char pm1EventBlockLen
Definition basicacpi.h:258
unsigned char resetValue
Definition basicacpi.h:279
unsigned char genEvent0BlockLen
Definition basicacpi.h:262
unsigned char dutyOffset
Definition basicacpi.h:270
acpiGenAddr xPmTimerBlock
Definition basicacpi.h:288
uint64_t xFacsAddr
Definition basicacpi.h:281
unsigned short flushStride
Definition basicacpi.h:269
unsigned facsAddr
Definition basicacpi.h:240
acpiGenAddr xPm1bCtrlBlock
Definition basicacpi.h:286
unsigned char intMode
Definition basicacpi.h:242
unsigned char dutyAlarm
Definition basicacpi.h:272
unsigned char pmTimerBlockLen
Definition basicacpi.h:261
unsigned char pm1CtrlBlockLen
Definition basicacpi.h:259
unsigned char dutyWidth
Definition basicacpi.h:271
unsigned dsdtAddr
Definition basicacpi.h:241
unsigned short flushSize
Definition basicacpi.h:268
unsigned genEvent1Block
Definition basicacpi.h:257
acpiGenAddr xPm1bEventBlock
Definition basicacpi.h:284
unsigned char century
Definition basicacpi.h:273
unsigned pm2CtrlBlock
Definition basicacpi.h:254
unsigned flags
Definition basicacpi.h:276
unsigned char acpiEnable
Definition basicacpi.h:246
acpiSysDescHeader header
Definition basicacpi.h:239
acpiGenAddr xPm2CtrlBlock
Definition basicacpi.h:287
unsigned char res3
Definition basicacpi.h:265
uint64_t xDsdtAddr
Definition basicacpi.h:282
unsigned char pm2CtrlBlockLen
Definition basicacpi.h:260
unsigned char genEvent1BlockLen
Definition basicacpi.h:263
unsigned pmTimerBlock
Definition basicacpi.h:255
acpiGenAddr resetReg
Definition basicacpi.h:278
acpiGenAddr xPm1aCtrlBlock
Definition basicacpi.h:285
unsigned genEvent0Block
Definition basicacpi.h:256
unsigned char acpiDisable
Definition basicacpi.h:247
unsigned char res1
Definition basicacpi.h:243
unsigned short c2Latency
Definition basicacpi.h:266
unsigned char genEvent1Bbase
Definition basicacpi.h:264
acpiGenAddr xPm1aEventBlock
Definition basicacpi.h:283
unsigned short sciInt
Definition basicacpi.h:244
unsigned short bootArch
Definition basicacpi.h:274
unsigned pm1aEventBlock
Definition basicacpi.h:250
acpiGenAddr xGenEvent0Block
Definition basicacpi.h:289
unsigned sciCmdPort
Definition basicacpi.h:245
unsigned pm1aCtrlBlock
Definition basicacpi.h:252
unsigned char s4BiosReq
Definition basicacpi.h:248
acpiGenAddr xGenEvent1Block
Definition basicacpi.h:290
unsigned short c3Latency
Definition basicacpi.h:267
unsigned char res2
Definition basicacpi.h:249
unsigned pm1bEventBlock
Definition basicacpi.h:251
Definition basicacpi.h:180
uint16_t SPEOverflowInterrupt
Definition basicacpi.h:197
uint16_t TRBEInterrupt
Definition basicacpi.h:198
uint32_t cpuInterfaceNumber
Definition basicacpi.h:183
uint64_t gicv
Definition basicacpi.h:190
uint32_t performanceGSI
Definition basicacpi.h:187
uint64_t gich
Definition basicacpi.h:191
uint64_t physicalBaseAddress
Definition basicacpi.h:189
uint32_t parkingProtocolVersion
Definition basicacpi.h:186
uint8_t reserved2
Definition basicacpi.h:196
uint32_t acpiProcessorUID
Definition basicacpi.h:184
uint64_t mpidr
Definition basicacpi.h:194
uint32_t vgicMaintenanceInterrupt
Definition basicacpi.h:192
uint64_t parkedAddress
Definition basicacpi.h:188
uint8_t processorPowerEfficiencyClass
Definition basicacpi.h:195
uint32_t flags
Definition basicacpi.h:185
uint16_t reserved1
Definition basicacpi.h:182
uint64_t gicrBaseAddress
Definition basicacpi.h:193
acpiApicHeader header
Definition basicacpi.h:181
Definition basicacpi.h:201
acpiApicHeader header
Definition basicacpi.h:202
uint32_t gicID
Definition basicacpi.h:204
uint32_t systemVectorBase
Definition basicacpi.h:206
uint8_t gicVersion
Definition basicacpi.h:207
uint16_t reserved01
Definition basicacpi.h:203
uint64_t physicalBaseAddress
Definition basicacpi.h:205
Definition basicacpi.h:210
uint64_t physicalBaseAddress
Definition basicacpi.h:214
uint16_t spiCount
Definition basicacpi.h:216
acpiApicHeader header
Definition basicacpi.h:211
uint32_t gicMSIFrameID
Definition basicacpi.h:213
uint16_t spiBase
Definition basicacpi.h:217
uint32_t flags
Definition basicacpi.h:215
uint16_t reserved
Definition basicacpi.h:212
source from Visopsys Operating System
Definition basicacpi.h:122
uint64_t address
Definition basicacpi.h:127
unsigned char addrSize
Definition basicacpi.h:126
unsigned char addrSpaceId
Definition basicacpi.h:123
unsigned char regBitWidth
Definition basicacpi.h:124
unsigned char regBitOffset
Definition basicacpi.h:125
Definition basicacpi.h:221
unsigned gsiBase
Definition basicacpi.h:226
unsigned char ioApicId
Definition basicacpi.h:223
unsigned int ioApicAddr
Definition basicacpi.h:225
acpiApicHeader header
Definition basicacpi.h:222
unsigned char res
Definition basicacpi.h:224
Definition basicacpi.h:321
acpiApicHeader header
Definition basicacpi.h:322
uint64_t address
Definition basicacpi.h:326
uint8_t reserved
Definition basicacpi.h:324
uint32_t global_irq_base
Definition basicacpi.h:325
uint8_t id
Definition basicacpi.h:323
Definition basicacpi.h:173
unsigned flags
Definition basicacpi.h:177
acpiApicHeader header
Definition basicacpi.h:174
unsigned char lapicId
Definition basicacpi.h:176
unsigned char procId
Definition basicacpi.h:175
Definition basicacpi.h:230
unsigned flags
Definition basicacpi.h:233
unsigned localApicAddr
Definition basicacpi.h:232
acpiSysDescHeader header
Definition basicacpi.h:231
Definition basicacpi.h:347
uint32_t reserved
Definition basicacpi.h:352
uint64_t baseAddress
Definition basicacpi.h:348
uint8_t endBusNum
Definition basicacpi.h:351
uint16_t pciSegment
Definition basicacpi.h:349
uint8_t startBusNum
Definition basicacpi.h:350
Definition basicacpi.h:342
acpiSysDescHeader header
Definition basicacpi.h:343
Root System Descriptor Table.
Definition basicacpi.h:161
acpiSysDescHeader header
Definition basicacpi.h:162
Definition basicacpi.h:330
acpiSysDescHeader header
Definition basicacpi.h:331