Go to the documentation of this file.
18 #include <FreeNOS/User.h>
19 #include <FreeNOS/API.h>
41 ERROR(
"failed to register IPI vector: "
42 "ProcessCtl(WatchIRQ) returned: " << (
uint)r);
69 NOTICE(
"using ACPI as CoreManager");
74 NOTICE(
"using MPTable as CoreManager");
79 ERROR(
"no CoreManager found (ACPI or MPTable)");
Result
Enumeration of generic kernel API result codes.
Represents a single Core in a Central Processing Unit (CPU).
virtual void waitIPI() const
Wait for Inter-Processor-Interrupt.
#define NOTICE(msg)
Output a notice message.
virtual Result discover()
Discover processors.
virtual Result initialize()
Initialize the server.
IntController::Result sendIPI(uint coreId, uint vector)
Send Intercore-Processor-Interrupt.
virtual Result boot(CoreInfo *info)
Boot a processor.
API::Result ProcessCtl(const ProcessID proc, const ProcessOperation op, const Address addr=0, const Address output=0)
Prototype for user applications.
virtual Result initialize()
Initialize the ACPI.
virtual Result discover()
Discover processors.
unsigned int uint
Unsigned integer number.
Represents a single Core in a Central Processing Unit (CPU).
virtual Core::Result discoverCores()
Discover processor cores.
virtual Result initialize()
Perform initialization.
static T * create()
Abstract function to create an instance of T.
virtual Core::Result sendIPI(uint coreId)
Send Inter-Processor-Interrupt.
Per-Core information structure.
Result
Result code for Actions.
#define ERROR(msg)
Output an error message.
virtual Result initialize()
Initialize the server.
static const uint IPIVector
Inter-Processor-Interrupt vector number.
IntelCoreServer()
Class constructor function.
virtual Core::Result bootCore(uint coreId, CoreInfo *info)
Boot a processor core.