Skip to content

Commit 167c876

Browse files
authored
Revise README for clarity on assembly and memory usage
Updated README to clarify assembly language usage and memory footprint details.
1 parent b8799bc commit 167c876

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

README.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
99
[![CI](https://github.com/ReturnInfinity/BareMetal/actions/workflows/main.yml/badge.svg)](https://github.com/ReturnInfinity/BareMetal/actions/workflows/main.yml)
1010

11-
<sub>Exokernel • Pure Assembly • Virtual/Physical</sub>
11+
<sub>Exokernel • 100% Assembly • Virtual/Physical</sub>
1212
</div>
1313

1414
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.
@@ -26,13 +26,10 @@ BareMetal is a _very_ lean kernel. The name is a play on the phrase "bare metal"
2626

2727
BareMetal provides basic support for symmetric multiprocessing, network, and storage access via a low-level abstraction layer.
2828

29-
![BareMetal Model](./doc/BareMetal-Model.png)
30-
31-
3229
## Key features
33-
* **64-bit**: Make use of the extra-wide and additional registers available in 64-bit mode.
30+
* **64-bit only**: Make use of the extra-wide and additional registers available in 64-bit mode.
3431
* **Mono-processing, multi-core**: The system is able to execute a single program but can spread the work load amongst available CPU cores.
35-
* **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.
32+
* **Extremely tiny memory footprint**: The kernel binary is less than 32KiB. BareMetal uses 4 MiB of RAM while running. The majority of its RAM usage is for required memory structures while operating in 64-bit mode, drivers/system buffers, and CPU stacks. All other system memory is dedicated to the running program.
3633
* **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.
3734

3835
## Supported Hardware

0 commit comments

Comments
 (0)