31 lines
657 B
C
31 lines
657 B
C
/// lcrash entry point
|
|
/// super awesome...
|
|
|
|
#include <lcrash/gdb/gdb.h>
|
|
|
|
#include "types.h"
|
|
#include "lnxboot.h"
|
|
|
|
#include "efi/efi.h"
|
|
|
|
[[noreturn]]
|
|
void entry64(struct boot_params* BootParams) {
|
|
BootBootParams = BootParams;
|
|
BootSetupInfo = (void*)BootParams + 0x1f1;
|
|
|
|
// Notify the debugger that we're ready
|
|
struct GdbDataBlock* GdbDataBlock = (struct GdbDataBlock*)0x100000;
|
|
GdbDataBlock->KernelLoaded = true;
|
|
GdbDataBlock->KernelBase = (void*)BootSetupInfo->code32_start;
|
|
GdbDataBlock->Update++;
|
|
|
|
// Initialize EFI code if we had EFI
|
|
EfiInitialize();
|
|
|
|
// Initialize ACPI code if we have ACPI
|
|
AcpiInitialize();
|
|
|
|
// Hang :)
|
|
while (1) {}
|
|
}
|