// === PROTOTYPES ===
int ACPICA_Initialise(void);
+void ACPI_int_InterruptProxy(int IRQ, void *data);
// === CODE ===
ACPI_STATUS rv;
rv = AcpiInitializeSubsystem();
+ if( ACPI_FAILURE(rv) )
+ {
+ Log_Error("ACPI", "AcpiInitializeSubsystem: %i", rv);
+ return -1;
+ }
+ rv = AcpiInitializeTables(NULL, 16, FALSE);
+ if( ACPI_FAILURE(rv) )
+ {
+ Log_Error("ACPI", "AcpiInitializeTables: %i", rv);
+ return -1;
+ }
+
// AcpiInitializeTables?
rv = AcpiLoadTables();
+ if( ACPI_FAILURE(rv) )
+ {
+ Log_Error("ACPI", "AcpiLoadTables: %i", rv);
+ return -1;
+ }
rv = AcpiEnableSubsystem(ACPI_FULL_INITIALIZATION);
+ if( ACPI_FAILURE(rv) )
+ {
+ Log_Error("ACPI", "AcpiEnableSubsystem: %i", rv);
+ return -1;
+ }
return 0;
}
ACPI_STATUS AcpiOsPredefinedOverride(const ACPI_PREDEFINED_NAMES *PredefinedObject, ACPI_STRING *NewValue)
{
+ UNIMPLEMENTED();
return AE_NOT_IMPLEMENTED;
}
ACPI_STATUS AcpiOsTableOverride(ACPI_TABLE_HEADER *ExisitingTable, ACPI_TABLE_HEADER **NewTable)
{
+ UNIMPLEMENTED();
return AE_NOT_IMPLEMENTED;
}
ACPI_STATUS AcpiOsPhysicalTableOverride(ACPI_TABLE_HEADER *ExisitingTable, ACPI_PHYSICAL_ADDRESS *NewAddress, UINT32 *NewTableLength)
{
+ UNIMPLEMENTED();
return AE_NOT_IMPLEMENTED;
}
// -- Memory Management ---
ACPI_STATUS AcpiOsCreateCache(char *CacheName, UINT16 ObjectSize, UINT16 MaxDepth, ACPI_CACHE_T **ReturnCache)
{
+ UNIMPLEMENTED();
return AE_NOT_IMPLEMENTED;
}
if( Cache == NULL )
return AE_BAD_PARAMETER;
+ UNIMPLEMENTED();
return AE_NOT_IMPLEMENTED;
}
if( Cache == NULL )
return AE_BAD_PARAMETER;
+ UNIMPLEMENTED();
return AE_NOT_IMPLEMENTED;
}
{
if( Cache == NULL || Object == NULL )
return AE_BAD_PARAMETER;
+ UNIMPLEMENTED();
return AE_NOT_IMPLEMENTED;
}
// --- PCI Configuration Space Access ---
ACPI_STATUS AcpiOsReadPciConfiguration(ACPI_PCI_ID *PciId, UINT32 Register, UINT64 *Value, UINT32 Width)
{
+ UNIMPLEMENTED();
return AE_NOT_IMPLEMENTED;
}
ACPI_STATUS AcpiOsWritePciConfiguration(ACPI_PCI_ID *PciId, UINT32 Register, UINT64 Value, UINT32 Width)
{
+ UNIMPLEMENTED();
return AE_NOT_IMPLEMENTED;
}
ACPI_STATUS AcpiOsGetLine(char *Buffer, UINT32 BufferLength, UINT32 *BytesRead)
{
+ UNIMPLEMENTED();
return AE_NOT_IMPLEMENTED;
}
extern void MM_Install(int NPMemRanges, tPMemMapEnt *PMemRanges);
extern void MM_InstallVirtual(void);
extern int Time_Setup(void);
+extern int ACPICA_Initialise(void);
// === PROTOTYPES ===
int kmain(Uint MbMagic, void *MbInfoPtr);
// Start Multitasking
Threads_Init();
-
+
+ // Poke ACPICA
+ ACPICA_Initialise();
+
Log_Log("Arch", "Starting VFS...");
// Load Virtual Filesystem
VFS_Init();