diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-09-01 15:38:05 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-09-01 15:38:05 +0200 |
| commit | 76835f023db03aef20c74541fb2a8a9485206cf7 (patch) | |
| tree | ab7b82e1860ac3d04353ade7ef74449ea4454488 /dev/ZKA | |
| parent | 46670e7ba97ec80bbcc88feb3d7db7ef3f5e2147 (diff) | |
Added new fields for the OS inside handover header.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/ZKA')
| -rw-r--r-- | dev/ZKA/FirmwareKit/Handover.hxx | 12 | ||||
| -rw-r--r-- | dev/ZKA/HALKit/AMD64/HalKernelMain.cxx | 2 | ||||
| -rw-r--r-- | dev/ZKA/NewKit/Macros.hxx | 2 | ||||
| -rw-r--r-- | dev/ZKA/Sources/FS/NewFS.cxx | 5 |
4 files changed, 12 insertions, 9 deletions
diff --git a/dev/ZKA/FirmwareKit/Handover.hxx b/dev/ZKA/FirmwareKit/Handover.hxx index 4cada822..46fca139 100644 --- a/dev/ZKA/FirmwareKit/Handover.hxx +++ b/dev/ZKA/FirmwareKit/Handover.hxx @@ -65,21 +65,26 @@ namespace Kernel::HEL VoidPtr f_VirtualStart; SizeT f_VirtualSize; VoidPtr f_PhysicalStart; - VoidPtr f_HeapStart; + VoidPtr f_KernelImage; + VoidPtr f_StartupChime; + VoidPtr f_StartupImage; + VoidPtr f_TTFallbackFont; + WideChar f_FirmwareVendorName[32]; SizeT f_FirmwareVendorLen; + VoidPtr f_FirmwareCustomTables[2]; // On EFI 0: BS 1: ST + struct { VoidPtr f_SmBios; VoidPtr f_VendorPtr; VoidPtr f_MpPtr; + Bool f_MultiProcessingEnabled; } f_HardwareTables; - Bool f_MultiProcessingEnabled; - struct { UIntPtr f_The; @@ -91,7 +96,6 @@ namespace Kernel::HEL } f_GOP; UInt64 f_FirmwareSpecific[8]; - Char f_CommandLine[255][kHandoverMaxCmdLine]; }; enum diff --git a/dev/ZKA/HALKit/AMD64/HalKernelMain.cxx b/dev/ZKA/HALKit/AMD64/HalKernelMain.cxx index 820dea97..2f79c173 100644 --- a/dev/ZKA/HALKit/AMD64/HalKernelMain.cxx +++ b/dev/ZKA/HALKit/AMD64/HalKernelMain.cxx @@ -243,7 +243,7 @@ Kernel::Void hal_real_init(Kernel::Void) noexcept kSyscalls[cRebootInterrupt].fHooked = true; kSyscalls[cCreateThreadInterrupt].fHooked = true; - if (kHandoverHeader->f_MultiProcessingEnabled) + if (kHandoverHeader->f_HardwareTables.f_MultiProcessingEnabled) Kernel::HAL::mp_get_cores(kHandoverHeader->f_HardwareTables.f_VendorPtr); Kernel::kcout << "newoskrnl.dll: Creating filesystem and such.\r"; diff --git a/dev/ZKA/NewKit/Macros.hxx b/dev/ZKA/NewKit/Macros.hxx index 2ecf2319..8c66995b 100644 --- a/dev/ZKA/NewKit/Macros.hxx +++ b/dev/ZKA/NewKit/Macros.hxx @@ -118,4 +118,4 @@ #define kSysPage "\\System\\syspage.sys" /// @brief The main system driver. -#define kSysDrv "\\System\\sysdrv.sys" +#define kSysDrv "\\System\\startup.sys" diff --git a/dev/ZKA/Sources/FS/NewFS.cxx b/dev/ZKA/Sources/FS/NewFS.cxx index edec6a6e..43cc22b5 100644 --- a/dev/ZKA/Sources/FS/NewFS.cxx +++ b/dev/ZKA/Sources/FS/NewFS.cxx @@ -62,8 +62,7 @@ STATIC MountpointInterface sMountpointInterface; _Output NFS_FORK_STRUCT* NewFSParser::CreateFork(_Input NFS_CATALOG_STRUCT* catalog, _Input NFS_FORK_STRUCT& theFork) { - if (catalog && theFork.ForkName[0] != 0 && - theFork.DataSize <= kNewFSForkSz) + if (catalog && theFork.ForkName[0] != 0) { Lba lba = (theFork.Kind == kNewFSDataForkKind) ? catalog->DataFork : catalog->ResourceFork; @@ -710,7 +709,7 @@ bool NewFSParser::WriteCatalog(_Input _Output NFS_CATALOG_STRUCT* catalog, Bool prevFork = *forkDataIn; - startFork = forkDataIn->NextSibling + forkDataIn->DataSize; + startFork = forkDataIn->NextSibling; } return false; |
