You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<sub>Exokernel • Pure Assembly • Virtual/Physical</sub>
11
+
</div>
6
12
7
13
Official repo of the BareMetal [exokernel](http://en.wikipedia.org/wiki/Exokernel). It's written from scratch in Assembly, designed for x86-64 hardware, with no dependencies except for the virtual/physical hardware. An ARM and/or RISC-V rewrite would be considered once hardware is standardized.
8
14
@@ -25,7 +31,7 @@ BareMetal provides basic support for symmetric multiprocessing, network, and sto
25
31
## Key features
26
32
***64-bit**: Make use of the extra-wide and additional registers available in 64-bit mode.
27
33
***Mono-processing, multi-core**: The system is able to execute a single program but can spread the work load amongst available CPU cores.
28
-
***Extremely tiny memory footprint**: The kernel binary is less than 32KiB. BareMetal uses 4 MiB of RAM while running. The majority of RAM usage is for required memory structures for operating in 64-bit mode, drivers, CPU stacks, and system buffers.
34
+
***Extremely tiny memory footprint**: The kernel binary is less than 32KiB. BareMetal uses 4 MiB of RAM while running. The majority of RAM usage is for required memory structures for operating in 64-bit mode, drivers/system buffers, and CPU stacks.
29
35
***Physical and virtual hardware support** with full virtualization, using [x86 hardware virtualization](https://en.wikipedia.org/wiki/X86_virtualization) whenever available (it is on most modern x86-64 CPU's). In principle BareMetal should run on any x86-64 hardware platform, even on a physical x86-64 computer, given appropriate drivers. Officially, we develop on [QEMU](http://www.qemu.org) and [VirtualBox](https://www.virtualbox.org), which means that you can run BareMetal on both Linux, Microsoft Windows, and Apple macOS.
30
36
31
37
## Supported Hardware
@@ -51,9 +57,15 @@ BareMetal provides basic support for symmetric multiprocessing, network, and sto
51
57
* IDE
52
58
* Virtio-Blk
53
59
* HID (Human Interface Devices)
54
-
* PS/2 Keyboard
55
-
* PS/2 Mouse
56
-
* USB Keyboard
60
+
* Input
61
+
* PS/2 Keyboard
62
+
* PS/2 Mouse
63
+
* USB Keyboard
64
+
* Serial
65
+
* Output
66
+
* LFB (linear frame buffer at native screen resolution with 1024x768x32bpp as fallback)
0 commit comments