The Pedigree Project
0.1
src
system
kernel
machine
mach_virt
mach_virt/Acpi.h
1
/* Copyright (c) 2026, Pedigree Developers. SPDX-License-Identifier: ISC */
2
#ifndef KERNEL_MACHINE_VIRT_ACPI_H
3
#define KERNEL_MACHINE_VIRT_ACPI_H
4
5
#include "DeviceTree.h"
6
7
struct
VirtAcpiInfo
{
8
VirtPciHost
pciHost;
9
VirtPciWindow
pciWindows[8];
10
size_t
pciWindowCount;
11
uint32_t pciIrq[32][4];
12
VirtMsiController
msiController;
13
uintptr_t uart;
14
uintptr_t rtc;
15
uintptr_t gicDistributor;
16
uintptr_t gicCpu;
17
uintptr_t gicRedistributor;
18
uint32_t gicVersion;
19
uint32_t msiItsId;
20
uint32_t uartIrq;
21
uint32_t physicalTimerIrq;
22
uint32_t virtualTimerIrq;
23
bool
pciMsiIdentity;
24
bool
psciAvailable;
25
bool
psciHvc;
26
};
27
28
bool
virtParseAcpi(uint64_t rsdpPhysical,
const
BootstrapStruct_t::MemoryMapEntry
* memoryMap,
29
size_t
memoryMapCount,
VirtAcpiInfo
& info);
30
31
#endif
BootstrapStruct_t::MemoryMapEntry
Definition
BootstrapInfo.h:92
VirtAcpiInfo
Definition
mach_virt/Acpi.h:7
VirtMsiController
Definition
DeviceTree.h:42
VirtPciHost
Definition
DeviceTree.h:27
VirtPciWindow
Definition
DeviceTree.h:34
Generated on Tue Sep 29 2026 04:30:13 for The Pedigree Project by
1.9.8