summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/FirmwareKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-04-24 07:30:49 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-04-24 07:30:49 +0200
commit0e5217d1a7af44a88341c5551fe79b8983bb7433 (patch)
tree4a6beb52fc3a463261b67b9f5bddd09b3a1ffa87 /dev/kernel/FirmwareKit
parentb55d3ac738b40677c579221b4f0dbf294dc3b017 (diff)
dev, BootNet: improved the protocol headers and implementation.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/FirmwareKit')
-rw-r--r--dev/kernel/FirmwareKit/CoreBoot/BootNet.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/dev/kernel/FirmwareKit/CoreBoot/BootNet.h b/dev/kernel/FirmwareKit/CoreBoot/BootNet.h
index c2bfe161..b692c774 100644
--- a/dev/kernel/FirmwareKit/CoreBoot/BootNet.h
+++ b/dev/kernel/FirmwareKit/CoreBoot/BootNet.h
@@ -13,7 +13,9 @@
#define kBootNetNameLen (256U)
-/// @brief the internet header is used to download updates OTA.
+/// @brief Netboot Internet Header
+/// Consists of 4 magic characters, and a set of fields describing the current patch that's being sent (if m_preflight = 0)
+/// @note Can be used to patch ROMs too (if ImpliesProgram = 1)
typedef struct BOOTNET_INTERNET_HEADER
{
Kernel::Char NB1; /// magic char 1 'N'
@@ -24,7 +26,7 @@ typedef struct BOOTNET_INTERNET_HEADER
Kernel::Char Name[kBootNetNameLen]; /// example: Modjo
Kernel::Int32 Length; /// the patch length.
Kernel::Char Target[kBootNetNameLen]; /// the target file.
- Kernel::Boolean ImpliesProgram : 1; /// does it imply an EEPROM program?
+ Kernel::Boolean ImpliesProgram : 1; /// does it imply reprogramming?
Kernel::Boolean Preflight : 1; /// is it a preflight packet.
Kernel::Char Data[1]; /// non preflight packet has a patch blob for a **PatchTarget**
-} ATTRIBUTE(packed) BOOTNET_INTERNET_HEADER;
+} BOOTNET_INTERNET_HEADER;