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