Go to the documentation of this file.
18 #ifndef __LIBARCH_INTEL_MP_H
19 #define __LIBARCH_INTEL_MP_H
33 #define MPINFOADDR 0x10000
struct IntelMP::MPFloat MPFloat
Multiprocessor Floating Structure.
IntelMP(IntelAPIC &apic)
Constructor.
Intel 8254 Programmable Interrupt Timer (PIT).
struct IntelMP::MPEntry MPEntry
Multiprocessor Configuration Entry.
Virtual memory abstract interface.
static const Address MPEntryAddr
Physical memory address at which cores start (bootEntry16).
static const Size MPAreaSize
BIOS memory area size to search for MP tables.
virtual Result discover()
Discover processors.
unsigned char apicRevision
IntelAPIC & m_apic
APIC instance.
Multiprocessor Floating Structure.
unsigned long Address
A memory address.
virtual Result boot(CoreInfo *info)
Boot a processor.
unsigned int uint
Unsigned integer number.
static const uint MPEntryProc
Multiprocessor Configuration Type ID for processors.
static const uint MPFloatSignature
Multiprocessor Floating Structure Signature.
MPConfig * scanMemory(Address addr)
Scan memory for a Multiprocessor Config structure.
unsigned int u32
Unsigned 32-bit number.
virtual Result initialize()
Perform initialization.
unsigned int Size
Any sane size indicator cannot go negative.
Intel Multi-Processor Specification.
Multiprocessor Configuration Entry.
Per-Core information structure.
static const Address MPInfoAddr
Physical memory address for the CoreInfo structure.
#define MPINFOADDR
Physical memory address for the CoreInfo structure.
Intel Advanced Programmable Interrupt Controller (APIC)
static const Address MPAreaAddr
BIOS memory area to search for MP tables.
struct IntelMP::MPConfig MPConfig
Multiprocessor Configuration Structure.
IntelIO m_bios
I/O instance for BIOS memory.
Multiprocessor Configuration Structure.
MPEntry * parseEntry(MPEntry *entry)
Parse Multiprocessor Config entry.
IntelIO m_lastMemory
I/O instance for the last 1MB of physical memory.