stos: bpal: Put RSDP base in BPAL handle
Signed-off-by: Chloe M. <chloe@mensia.org>
This commit is contained in:
@@ -73,6 +73,7 @@ typedef struct {
|
||||
*
|
||||
* @KernelBase: Kernel load base
|
||||
* @Framebuffer: Framebuffer info
|
||||
* @RsdpBase: ACPI RSDP base
|
||||
* @MemEntryIdx: Callback to get memory map entry by index
|
||||
* @ModuleLookup: Lookup a module
|
||||
* @CommandLine: Kernel command line
|
||||
@@ -80,6 +81,7 @@ typedef struct {
|
||||
typedef struct {
|
||||
UPTR KernelBase;
|
||||
BPAL_FRAMEBUFFER Framebuffer;
|
||||
VOID *RsdpBase;
|
||||
ST_STATUS(*MemEntryIdx)(USIZE Idx, MEMMAP_ENTRY *Result);
|
||||
ST_STATUS(*ModuleLookup)(CHAR *Path, BPAL_MODULE *Result);
|
||||
const CHAR *CommandLine;
|
||||
|
||||
@@ -65,6 +65,13 @@ static struct limine_executable_cmdline_request CmdLineReq = {
|
||||
.revision = 0
|
||||
};
|
||||
|
||||
/* RSDP request */
|
||||
static struct limine_rsdp_response *RsdpResp = NULL;
|
||||
static volatile struct limine_rsdp_request RsdpReq = {
|
||||
.id = LIMINE_RSDP_REQUEST_ID,
|
||||
.revision = 0
|
||||
};
|
||||
|
||||
static ST_STATUS
|
||||
LimineModuleLookup(CHAR *Path, BPAL_MODULE *Result)
|
||||
{
|
||||
@@ -144,6 +151,7 @@ KeBpalLimineInit(BPAL_HANDLE *Handle)
|
||||
FbResp = FbReq.response;
|
||||
MapResp = MapReq.response;
|
||||
CmdLineResp = CmdLineReq.response;
|
||||
RsdpResp = RsdpReq.response;
|
||||
|
||||
DTRACE(
|
||||
"slut handed control by %s %s\n",
|
||||
@@ -171,4 +179,5 @@ KeBpalLimineInit(BPAL_HANDLE *Handle)
|
||||
Handle->KernelBase = HHDMResp->offset;
|
||||
Handle->MemEntryIdx = LimineMemEntryIdx;
|
||||
Handle->ModuleLookup = LimineModuleLookup;
|
||||
Handle->RsdpBase = RsdpResp->address;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user