From b038c3eff8c80be2e6e10bea16634523fff4a6b5 Mon Sep 17 00:00:00 2001 From: Amlal Date: Sun, 14 Jul 2024 00:37:06 +0200 Subject: [IMP] - IsUndefined returns const bool& now. - Replace kUndefined with kNull now. - Remove ML_ from macros in newstd.hxx. - Rename NSyscall to NSyscallInterface, which is a ref counted class now. - Rename MBCIType to PowerID - Update ToDos. - Update NewFS root catalog name. - Fix JSON 'null' initialization. - Add Json to variant object. - Replace kPointer with kBlob in variant kinds. - Add Leak() method to variant. Signed-off-by: Amlal --- Boot/Modules/.keep | 0 Boot/Modules/NetBoot/.hgkeep | 0 Boot/Modules/NetBoot/Module.cxx | 20 ++++++++++++++++++++ Boot/Modules/NetBoot/NetBoot.hxx | 26 ++++++++++++++++++++++++++ Boot/Modules/NetBoot/compile_flags.txt | 8 ++++++++ Boot/Modules/NetBoot/manifest.json | 4 ++++ Boot/NetBoot/.hgkeep | 0 Boot/NetBoot/Module.cxx | 20 -------------------- Boot/NetBoot/NetBoot.hxx | 26 -------------------------- Boot/NetBoot/compile_flags.txt | 8 -------- Boot/NetBoot/manifest.json | 4 ---- Boot/ReadMe.md | 4 ++-- Boot/download-ovmf.ps1 | 4 ---- Boot/ovmf.ps1 | 4 ++++ 14 files changed, 64 insertions(+), 64 deletions(-) create mode 100644 Boot/Modules/.keep create mode 100644 Boot/Modules/NetBoot/.hgkeep create mode 100644 Boot/Modules/NetBoot/Module.cxx create mode 100644 Boot/Modules/NetBoot/NetBoot.hxx create mode 100644 Boot/Modules/NetBoot/compile_flags.txt create mode 100644 Boot/Modules/NetBoot/manifest.json delete mode 100644 Boot/NetBoot/.hgkeep delete mode 100644 Boot/NetBoot/Module.cxx delete mode 100644 Boot/NetBoot/NetBoot.hxx delete mode 100644 Boot/NetBoot/compile_flags.txt delete mode 100644 Boot/NetBoot/manifest.json delete mode 100644 Boot/download-ovmf.ps1 create mode 100644 Boot/ovmf.ps1 (limited to 'Boot') diff --git a/Boot/Modules/.keep b/Boot/Modules/.keep new file mode 100644 index 00000000..e69de29b diff --git a/Boot/Modules/NetBoot/.hgkeep b/Boot/Modules/NetBoot/.hgkeep new file mode 100644 index 00000000..e69de29b diff --git a/Boot/Modules/NetBoot/Module.cxx b/Boot/Modules/NetBoot/Module.cxx new file mode 100644 index 00000000..3bc71d0e --- /dev/null +++ b/Boot/Modules/NetBoot/Module.cxx @@ -0,0 +1,20 @@ +/* + * ======================================================== + * + * NetBoot + * Copyright ZKA Technologies, all rights reserved. + * + * ======================================================== + */ + +#include +#include + +EXTERN_C Int32 ModuleMain(Void) +{ + /// - Find a network drive called "/Remote/newoskrnl" + /// - Download our image + /// - Boot from it. + + return kEfiOk; +} diff --git a/Boot/Modules/NetBoot/NetBoot.hxx b/Boot/Modules/NetBoot/NetBoot.hxx new file mode 100644 index 00000000..1a474501 --- /dev/null +++ b/Boot/Modules/NetBoot/NetBoot.hxx @@ -0,0 +1,26 @@ +/* + * ======================================================== + * + * NetBoot + * Copyright ZKA Technologies, all rights reserved. + * + * ======================================================== + */ + +#pragma once + +#include + +/// @brief the internet header is used to download updates OTA. +typedef struct NetBootInternetHeader +{ + Kernel::Char NB1; /// magic char 1 'N' + Kernel::Char NB2; /// magic char 2 'E' + Kernel::Char NB3; /// magic char 3 'T' + Kernel::Char NB4; /// magic char 4 'B' + + Kernel::Char PatchName[255]; /// example: ColdChoco + Kernel::Int32 PatchLength; /// the patch length. + Kernel::Char PatchTarget[255]; /// the target file. + Kernel::Boolean ImpliesROM; /// does it imply an EEPROM reprogram? +} NetBootInternetHeader; diff --git a/Boot/Modules/NetBoot/compile_flags.txt b/Boot/Modules/NetBoot/compile_flags.txt new file mode 100644 index 00000000..f9ca281f --- /dev/null +++ b/Boot/Modules/NetBoot/compile_flags.txt @@ -0,0 +1,8 @@ +-std=c++20 +-I../ +-I../../ +-I../../Kernel +-D__NEWOS_AMD64__ +-std=c++20 +-D__x86_64__ +-D__NEWOS_OTA__ diff --git a/Boot/Modules/NetBoot/manifest.json b/Boot/Modules/NetBoot/manifest.json new file mode 100644 index 00000000..5f94c677 --- /dev/null +++ b/Boot/Modules/NetBoot/manifest.json @@ -0,0 +1,4 @@ +{ + "pluginName": "iBoot", + "description": "OTA updates." +} diff --git a/Boot/NetBoot/.hgkeep b/Boot/NetBoot/.hgkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/Boot/NetBoot/Module.cxx b/Boot/NetBoot/Module.cxx deleted file mode 100644 index 3bc71d0e..00000000 --- a/Boot/NetBoot/Module.cxx +++ /dev/null @@ -1,20 +0,0 @@ -/* - * ======================================================== - * - * NetBoot - * Copyright ZKA Technologies, all rights reserved. - * - * ======================================================== - */ - -#include -#include - -EXTERN_C Int32 ModuleMain(Void) -{ - /// - Find a network drive called "/Remote/newoskrnl" - /// - Download our image - /// - Boot from it. - - return kEfiOk; -} diff --git a/Boot/NetBoot/NetBoot.hxx b/Boot/NetBoot/NetBoot.hxx deleted file mode 100644 index 1a474501..00000000 --- a/Boot/NetBoot/NetBoot.hxx +++ /dev/null @@ -1,26 +0,0 @@ -/* - * ======================================================== - * - * NetBoot - * Copyright ZKA Technologies, all rights reserved. - * - * ======================================================== - */ - -#pragma once - -#include - -/// @brief the internet header is used to download updates OTA. -typedef struct NetBootInternetHeader -{ - Kernel::Char NB1; /// magic char 1 'N' - Kernel::Char NB2; /// magic char 2 'E' - Kernel::Char NB3; /// magic char 3 'T' - Kernel::Char NB4; /// magic char 4 'B' - - Kernel::Char PatchName[255]; /// example: ColdChoco - Kernel::Int32 PatchLength; /// the patch length. - Kernel::Char PatchTarget[255]; /// the target file. - Kernel::Boolean ImpliesROM; /// does it imply an EEPROM reprogram? -} NetBootInternetHeader; diff --git a/Boot/NetBoot/compile_flags.txt b/Boot/NetBoot/compile_flags.txt deleted file mode 100644 index f9ca281f..00000000 --- a/Boot/NetBoot/compile_flags.txt +++ /dev/null @@ -1,8 +0,0 @@ --std=c++20 --I../ --I../../ --I../../Kernel --D__NEWOS_AMD64__ --std=c++20 --D__x86_64__ --D__NEWOS_OTA__ diff --git a/Boot/NetBoot/manifest.json b/Boot/NetBoot/manifest.json deleted file mode 100644 index 825677f7..00000000 --- a/Boot/NetBoot/manifest.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "pluginName": "iBoot", - "description": "Boot your device from your network infrastructure." -} diff --git a/Boot/ReadMe.md b/Boot/ReadMe.md index 47e76793..1c2b95af 100644 --- a/Boot/ReadMe.md +++ b/Boot/ReadMe.md @@ -1,4 +1,4 @@ -# newosldr +# newosldr (Zeta Bootloader Architecture) You need: @@ -11,7 +11,7 @@ Start by cloning the repo: git clone git@bitbucket.org:mahrouss/microkernel.git ``` -And execute: +And then execute: ``` make all diff --git a/Boot/download-ovmf.ps1 b/Boot/download-ovmf.ps1 deleted file mode 100644 index 5a2c5f0e..00000000 --- a/Boot/download-ovmf.ps1 +++ /dev/null @@ -1,4 +0,0 @@ -$client = new-object System.Net.WebClient -$output = "$PSScriptRoot\OVMF.fd" - -$client.DownloadFile("https://retrage.github.io/edk2-nightly/bin/DEBUGX64_OVMF.fd", $output) diff --git a/Boot/ovmf.ps1 b/Boot/ovmf.ps1 new file mode 100644 index 00000000..5a2c5f0e --- /dev/null +++ b/Boot/ovmf.ps1 @@ -0,0 +1,4 @@ +$client = new-object System.Net.WebClient +$output = "$PSScriptRoot\OVMF.fd" + +$client.DownloadFile("https://retrage.github.io/edk2-nightly/bin/DEBUGX64_OVMF.fd", $output) -- cgit v1.2.3