summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/NewKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-04-02 08:10:08 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-04-02 08:10:08 +0200
commit6c7e5ebc003a0bc4f98c23a8f9754b273a6e3a28 (patch)
tree2fde230004e377f734983484f8e12fb0414a1668 /dev/kernel/NewKit
parente2b41947cde11c870d96970712dcfb3aa76eb0cf (diff)
boot/net: rename Boot.S files, clarify EEPROM implication, and prep UDP read
- Renamed Boot.S → BootNetStartup.S and SysChk/Boot.S → SysChkStartup.S for clarity - Replaced BOOTNET_INTERNET_HEADER.ImpliesEEPROM with ImpliesProgram to better reflect the generic reprogramming intent - Introduced `bootnet_read_udp_packet()` stub for future UDP packet parsing from bootnet.json - Minor alignment and comment fixes in various headers (CoreBoot, EPM, Json) - Updated HalPagingMgr to use PageStore instead of NE_PAGE_STORE - Boot time now prints cycles since start; triggered fs_init_nefs() earlier during HAL init - Prep for extended MBCI and master structure support in COREBOOT_LINEAR_EXEC - Numerous cleanups across DMA, NewKit, and Json parsing to prep for extended patching and block-level bootstrap This lays groundwork for richer NetBoot infrastructure in NeKernel and aligns naming and structure conventions across subsystems. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/NewKit')
-rw-r--r--dev/kernel/NewKit/Json.h30
-rw-r--r--dev/kernel/NewKit/Macros.h8
-rw-r--r--dev/kernel/NewKit/OwnPtr.h5
3 files changed, 29 insertions, 14 deletions
diff --git a/dev/kernel/NewKit/Json.h b/dev/kernel/NewKit/Json.h
index d159d915..5f979ceb 100644
--- a/dev/kernel/NewKit/Json.h
+++ b/dev/kernel/NewKit/Json.h
@@ -7,7 +7,7 @@
#pragma once
-// last-rev: 30/01/24
+// last-rev: 02/04/25
#include <CompilerKit/CompilerKit.h>
#include <NewKit/Defines.h>
@@ -15,9 +15,10 @@
#include <NewKit/KString.h>
#include <NewKit/Utils.h>
-#define kMaxJsonPath 8196
-#define kJSONLen 256
-#define kJSONNull "[]"
+#define kJSONMaxLen (8196)
+#define kJSONLen (256)
+#define kJSONNullArr "[]"
+#define kJSONNullObj "{}"
namespace Kernel
{
@@ -27,9 +28,9 @@ namespace Kernel
public:
explicit Json()
{
- auto len = kJSONLen;
+ auto len = kJSONMaxLen;
KString key = KString(len);
- key += kJSONNull;
+ key += kJSONNullObj;
this->AsKey() = key;
this->AsValue() = key;
@@ -97,7 +98,7 @@ namespace Kernel
SizeT key_len = 0;
SizeT value_len = 0;
- Json type(kMaxJsonPath, kMaxJsonPath);
+ Json type(kJSONMaxLen, kJSONMaxLen);
for (SizeT i = 1; i < len; ++i)
{
@@ -116,6 +117,12 @@ namespace Kernel
}
else
{
+ if (full_array[i] == '\'')
+ {
+ type.AsValue().Data()[value_len] = 0;
+ break;
+ }
+
type.AsValue().Data()[value_len] = full_array[i];
++value_len;
@@ -128,9 +135,16 @@ namespace Kernel
if (full_array[i] == ':')
{
- probe_value = true;
type.AsKey().Data()[key_len] = 0;
++key_len;
+
+ ++i;
+
+ while (full_array[i] == ' ' ||
+ full_array[i] == '\t')
+ ++i;
+
+ probe_value = true;
}
else
{
diff --git a/dev/kernel/NewKit/Macros.h b/dev/kernel/NewKit/Macros.h
index 264d74d7..eda454f9 100644
--- a/dev/kernel/NewKit/Macros.h
+++ b/dev/kernel/NewKit/Macros.h
@@ -147,8 +147,8 @@
#define BOOL Kernel::Boolean
-#ifdef RTL_INIT_OBJECT
-#undef RTL_INIT_OBJECT
-#endif // ifdef RTL_INIT_OBJECT
+#ifdef rtl_init_object
+#undef rtl_init_object
+#endif // ifdef rtl_init_object
-#define RTL_INIT_OBJECT(OBJ, TYPE, ...) TYPE OBJ = TYPE(__VA_ARGS__)
+#define rtl_init_object(OBJ, TYPE, ...) TYPE OBJ = TYPE(__VA_ARGS__)
diff --git a/dev/kernel/NewKit/OwnPtr.h b/dev/kernel/NewKit/OwnPtr.h
index b292aafc..f15bc339 100644
--- a/dev/kernel/NewKit/OwnPtr.h
+++ b/dev/kernel/NewKit/OwnPtr.h
@@ -58,7 +58,8 @@ namespace Kernel
T* operator->() const
{
return fCls;
- };
+ }
+
T* Raw()
{
return fCls;
@@ -83,7 +84,7 @@ namespace Kernel
};
template <typename T, typename... Args>
- OwnPtr<T> make_ptr(Args... args)
+ inline OwnPtr<T> mm_make_own_ptr(Args... args)
{
OwnPtr<T> ret;
ret.template New<Args...>(forward(args)...);