summaryrefslogtreecommitdiffhomepage
path: root/dev/ZKA
diff options
context:
space:
mode:
Diffstat (limited to 'dev/ZKA')
-rw-r--r--dev/ZKA/FirmwareKit/Handover.hxx12
-rw-r--r--dev/ZKA/HALKit/AMD64/HalKernelMain.cxx2
-rw-r--r--dev/ZKA/NewKit/Macros.hxx2
-rw-r--r--dev/ZKA/Sources/FS/NewFS.cxx5
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;