summaryrefslogtreecommitdiffhomepage
path: root/dev/boot
diff options
context:
space:
mode:
Diffstat (limited to 'dev/boot')
-rw-r--r--dev/boot/amd64-desktop.make4
-rw-r--r--dev/boot/modules/NetBoot/NetBoot.cc8
-rw-r--r--dev/boot/modules/NetBoot/NetBoot.h2
-rw-r--r--dev/boot/modules/NetBoot/build.json4
-rw-r--r--dev/boot/src/HEL/AMD64/BootEFI.cc2
5 files changed, 11 insertions, 9 deletions
diff --git a/dev/boot/amd64-desktop.make b/dev/boot/amd64-desktop.make
index 22023923..5a827643 100644
--- a/dev/boot/amd64-desktop.make
+++ b/dev/boot/amd64-desktop.make
@@ -75,7 +75,7 @@ BOOTLOADER=bootz.exe
KERNEL=neoskrnl.exe
SYSCHK=syschk.sys
STARTUP=startup.sys
-SCIKIT=libSCIKit.dylib
+SCIKIT=libuser.dylib
.PHONY: invalid-recipe
invalid-recipe:
@@ -90,7 +90,7 @@ all: compile-amd64
$(COPY) src/$(BOOTLOADER) src/Root/EFI/BOOT/BOOTZ.EFI
$(COPY) ../kernel/$(KERNEL) src/Root/$(KERNEL)
$(COPY) ./modules/SysChk/$(SYSCHK) src/Root/$(SYSCHK)
- $(COPY) ../SCIKit/$(SCIKIT) src/Root/$(SCIKIT)
+ $(COPY) ../user/$(SCIKIT) src/Root/$(SCIKIT)
$(COPY) src/$(BOOTLOADER) src/Root/$(BOOTLOADER)
.PHONY: disk
diff --git a/dev/boot/modules/NetBoot/NetBoot.cc b/dev/boot/modules/NetBoot/NetBoot.cc
index 16a9ae1e..1787045e 100644
--- a/dev/boot/modules/NetBoot/NetBoot.cc
+++ b/dev/boot/modules/NetBoot/NetBoot.cc
@@ -15,7 +15,7 @@ EXTERN_C Int32 ModuleMain(NeOS::HEL::BootInfoHeader* handover)
{
NETBOOT_INTERNET_HEADER inet{};
- /// TODO: Read Packet from localhost
+ /// TODO: Read packet from JSON file 'netboot.json'
if (inet.PatchLength < 0)
{
@@ -27,7 +27,7 @@ EXTERN_C Int32 ModuleMain(NeOS::HEL::BootInfoHeader* handover)
if (!inet.EEPROM)
{
- Boot::BootThread thread(inet.Data);
+ Boot::BootThread thread(inet.PatchData);
if (thread.IsValid())
return thread.Start(handover, YES);
@@ -35,7 +35,9 @@ EXTERN_C Int32 ModuleMain(NeOS::HEL::BootInfoHeader* handover)
else
{
Boot::BootTextWriter writer;
- writer.Write("NetBootLauncher: EEPROM flash not available for now.\r");
+ writer.Write("NetBootLauncher: EEPROM flash is not available as of right now.\r");
+
+ /// TODO: Program new firmware to EEPROM (if crc and size matches)
return kEfiFail; // TODO: Add support for EEPROM firmware update.
}
diff --git a/dev/boot/modules/NetBoot/NetBoot.h b/dev/boot/modules/NetBoot/NetBoot.h
index aeeaf18b..e250ef27 100644
--- a/dev/boot/modules/NetBoot/NetBoot.h
+++ b/dev/boot/modules/NetBoot/NetBoot.h
@@ -29,5 +29,5 @@ typedef struct NETBOOT_INTERNET_HEADER
NeOS::Char PatchTarget[kNetBootNameLen]; /// the target file.
NeOS::Boolean EEPROM : 1; /// does it imply an EEPROM reprogram?
NeOS::Boolean Preflight : 1; /// is it a preflight packet.
- NeOS::Char Data[]; /// non preflight packet has a patch blob for a **PatchTarget**
+ NeOS::Char PatchData[]; /// non preflight packet has a patch blob for a **PatchTarget**
} ATTRIBUTE(packed) NETBOOT_INTERNET_HEADER;
diff --git a/dev/boot/modules/NetBoot/build.json b/dev/boot/modules/NetBoot/build.json
index 2c92567d..db035094 100644
--- a/dev/boot/modules/NetBoot/build.json
+++ b/dev/boot/modules/NetBoot/build.json
@@ -2,10 +2,9 @@
"compiler_path": "x86_64-w64-mingw32-g++",
"compiler_std": "c++20",
"headers_path": ["../", "../../", "../../../kernel", "../../../", "./"],
- "sources_path": [".cc", "*.S"],
+ "sources_path": ["*.cc", "*.S", "../../src/HEL/AMD64/*.cc", "../../src/HEL/AMD64/*.S", "../../src/*.cc"],
"output_name": "netboot.sys",
"compiler_flags": [
- "-ffreestanding",
"-nostdlib",
"-std=c++20",
"-fPIC",
@@ -16,6 +15,7 @@
"cpp_macros": [
"__NEOSKRNL__",
"__BOOTZ__",
+ "__BOOTLDR_STANDALONE__",
"__NE_AMD64__",
"kNetBootVersionHighest=0x0100",
"kNetBootVersionLowest=0x0100",
diff --git a/dev/boot/src/HEL/AMD64/BootEFI.cc b/dev/boot/src/HEL/AMD64/BootEFI.cc
index 5af3643b..0840bc31 100644
--- a/dev/boot/src/HEL/AMD64/BootEFI.cc
+++ b/dev/boot/src/HEL/AMD64/BootEFI.cc
@@ -280,7 +280,7 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr image_handle,
}
UInt32 sz_ver = sizeof(UInt64);
- UInt64 ver = KERNEL_VERSION_BCD;
+ UInt64 ver = KERNEL_VERSION_BCD;
ST->RuntimeServices->GetVariable(L"/props/kern_ver", kEfiGlobalNamespaceVarGUID, nullptr, &sz_ver, &ver);