summaryrefslogtreecommitdiffhomepage
path: root/docs/SPECIFICATION_FIRMWARE.md
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-03-28 09:09:27 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-03-28 09:09:27 +0100
commitf204ff88659e058d70213fc7224a2c95c6a48c9d (patch)
treeb4d62fa0dc6da921e25aa3fac400cab892a78e57 /docs/SPECIFICATION_FIRMWARE.md
parent08f96fce677d9cf4f8757cf064c07f80e30d378e (diff)
coreboot: rename from NeKernel firmware, refactor symbols to `cb_`, update docs
This patch completes a major renaming and cleanup of the firmware codebase: - Rename project from "NeKernel Firmware" to "CoreBoot" in README and comments. - Replace all `mp_`-prefixed symbols with `cb_` to reflect the new naming scheme. - Remove obsolete SPECIFICATION.TXT and replace with SPECIFICATION_FIRMWARE.md. - Update memory-mapped I/O helpers, TLB init, and platform-specific code to match `cb_*` naming. - Refactor low-level UART, panic, PCI-tree, partition map, and context setup to use unified `cb_` API. - Adjust linker scripts and boot vectors for ARM64, PPC64, and RV64 targets accordingly. - Add Doxygen documentation note to README. This change is part of an ongoing effort to rebrand and unify the firmware interface, improve naming clarity, and better align with platform-specific toolchains. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'docs/SPECIFICATION_FIRMWARE.md')
-rw-r--r--docs/SPECIFICATION_FIRMWARE.md39
1 files changed, 39 insertions, 0 deletions
diff --git a/docs/SPECIFICATION_FIRMWARE.md b/docs/SPECIFICATION_FIRMWARE.md
new file mode 100644
index 0000000..b0b40b4
--- /dev/null
+++ b/docs/SPECIFICATION_FIRMWARE.md
@@ -0,0 +1,39 @@
+==================================================================
+
+ Multi Platform Firmware
+
+==================================================================
+
+==================================================================
+0. What we want:
+==================================================================
+
+- Optimized for each target.
+- EPM/GPT compilant.
+- AMD64, PowerPC, RISC-V, 64x0, 32x0 support.
+- SMP support.
+
+==================================================================
+1. How we're going to do that:
+==================================================================
+
+- Abstract Memory and I/O. (pci-tree)
+- Platform Independent Device Tree. (pci-tree)
+- Common Starting point for each core (smp)
+
+==================================================================
+2. Executable Layout:
+==================================================================
+
+- 0x80000000/0x00FF/0x1000: Firmware Startup Code
+- 0x90000000/0x7c00: Executable Information Header or equivalent.
+
+==================================================================
+3. Error Codes:
+==================================================================
+
+- CB0001: Not bootable to Stage2 (or bootloader).
+- CB0003: Bad arch.
+- CB0002: Context returned early.
+
+