summaryrefslogtreecommitdiffhomepage
path: root/doc/md/SPECIFICATION_FIRMWARE.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/md/SPECIFICATION_FIRMWARE.md')
-rw-r--r--doc/md/SPECIFICATION_FIRMWARE.md39
1 files changed, 39 insertions, 0 deletions
diff --git a/doc/md/SPECIFICATION_FIRMWARE.md b/doc/md/SPECIFICATION_FIRMWARE.md
new file mode 100644
index 0000000..bfb3134
--- /dev/null
+++ b/doc/md/SPECIFICATION_FIRMWARE.md
@@ -0,0 +1,39 @@
+==================================================================
+
+ Multi Platform Firmware
+
+==================================================================
+
+==================================================================
+0. Objective:
+==================================================================
+
+- Optimized for each target.
+- EPM/GPT compilant.
+- AMD64, PowerPC, RISC-V, 64x0, 32x0 support.
+- SMP support.
+
+==================================================================
+1. Solutions:
+==================================================================
+
+- Abstract Memory and I/O. (pci-tree)
+- Platform Independent Device Tree. (pci-tree)
+- Common Starting point for each core (smp)
+
+==================================================================
+2. Memory Layout:
+==================================================================
+
+- 0x80000000/0x00FF/0x0000: Firmware Startup Code
+- 0x90000000/0x7c00: Linear Header or EPM partition.
+
+==================================================================
+3. Error Codes:
+==================================================================
+
+- CB0001: Not bootable to Stage2 (or bootloader).
+- CB0003: Bad arch.
+- CB0002: Context returned early.
+
+