summaryrefslogtreecommitdiffhomepage
path: root/docs/md/SPECIFICATION_FIRMWARE.md
blob: bfb3134e5ba644aef310b688359c05b5789e29ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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.