Go to the documentation of this file.
18 #include <FreeNOS/System.h>
42 DEBUG(
"found ACPI RootSys at " << (
void *) rsd1);
43 DEBUG(
"ACPI v" << (rsd1->revision + 1) <<
".0");
55 NOTICE(
"RootSystemTable found");
61 NOTICE(
"ExtendedSystemTable found");
73 while (j < madt_length)
89 DEBUG(
"IRQ source override");
108 DEBUG(
"found " << num <<
" SDT entries");
109 for (
uint i = 0; i < num; i++)
129 DEBUG(
"found " << num <<
" SDT entries");
130 for (
uint i = 0; i < num; i++)
Multiple APIC Description Table (MADT).
Root System Description Pointer (ACPI v1.0).
static const u32 RootSystemTableSignature
Signature for the Root System Descriptor Table (RSDT).
Result unmap()
Unmap I/O address space.
List< uint > m_cores
List of core ids found.
#define NOTICE(msg)
Output a notice message.
virtual void clear()
Clears the entire List.
IntelIO m_rootIO
Root/Extended SDT table I/O object.
static const uint RootSystemSignature2
Signature to detect a valid RootSystemDescriptor (part 2).
Result map(Address phys, Size size=4096, Memory::Access access=Memory::Readable|Memory::Writable|Memory::User)
Map I/O address space.
#define PAGESIZE
ARM uses 4K pages.
static const u32 MultipleAPICTableSignature
Signature for the Multiple APIC Descriptor Table (MADT).
unsigned long Address
A memory address.
Root System Descriptor Table (RSDT)
static const uint RSDSize
Size of the memory region for searching the RootSystemDescriptor.
virtual Result boot(CoreInfo *info)
Boot a processor.
virtual Result initialize()
Initialize the ACPI.
Result scanAPIC(MultipleAPICTable *madt)
Scan for cores in the APIC tables.
virtual Result discover()
Discover processors.
unsigned int uint
Unsigned integer number.
static const uint RootSystemSignature1
Signature to detect a valid RootSystemDescriptor (part 1).
unsigned long long u64
Unsigned 64-bit number.
SystemDescriptorHeader header
#define DEBUG(msg)
Output a debug message to standard output.
SystemDescriptorHeader header
Multiple APIC Description Table (MADT) processor entry.
void append(T t)
Insert an item at the end of the list.
SystemDescriptorHeader header
unsigned int u32
Unsigned 32-bit number.
unsigned int Size
Any sane size indicator cannot go negative.
Per-Core information structure.
static const u32 ExtendedSystemTableSignature
Signature for the Extended System Descriptor Table (XSDT).
static const uint RSDBase
Memory base address for searching the RootSystemDescriptor.
unsigned char u8
Unsigned 8-bit number.
Address getBase() const
Get memory I/O base offset.
Root System Description Pointer (ACPI v2.0)
MultipleAPICTableEntry entry[]
Extended System Descriptor Table (XSDT)
Multiple APIC Description Table (MADT) entry.
IntelIO m_bios
I/O object for searching the RootSystemDescriptor.