Displaying 1 to 3 from 3 results

BareMetal-OS-legacy - BareMetal is a 64-bit OS for x86-64 based computers

BareMetal is a 64-bit protected mode operating system for x86-64 compatible PCs, written entirely in assembly language, which boots from a hard drive or via the network. It features a command-line interface, support for BMFS-formatted hard drives and sound via the PC speaker. It can load external programs and has over 60 system calls. BareMetal can also utilize all available CPU's in the computer it is run on. At the moment there is no plan to build BareMetal into a general-purpose operating system like Windows, Mac OS X, or Linux; it is designed to be as lean as possible while still offering useful features.

BareMetal-kernel - A very minimal, resource efficient exo-kernel

Official repo of the BareMetal exokernel. It's written from scratch in Assembly, designed for x86-64 hardware, with no dependencies except for the virtual/physical hardware. A 64-bit ARMv8 version is also planned. BareMetal is a very lean kernel. The name is a play on the phrase "bare metal" which means to run directly on physical or virtualized hardware. BareMetal also only offers the "bare essentials" required for a working operating system.

baresifter - A bare-metal x86 instruction set fuzzer a la Sandsifter

Baresifter is a 64-bit x86 instruction set fuzzer modeled after Sandsifter. In contrast to Sandsifter, Baresifter is intended to run bare-metal without any operating system. When loaded, the main fuzzing logic runs in ring0 as a tiny kernel. To safely execute arbitrary instructions, baresifter creates a single executable page in ring3 user space. For every instruction candidate, baresifter writes the instruction bytes to this user space page and attempts to execute it by exiting to user space. It follows the same algorithm as outlined in the original Sandsifter paper to find interesting instructions and guess instruction length.