misaka - Experimental x86_64 kernel project

  •        5

Misaka is an experimental x86_64 kernel. The primary goal for Misaka is to replace the kernel from ToaruOS while maintaining general compatibility with the userspace at a source level, porting to x86-64, and supporting SMP. Misaka is named after the main character of A Certain Scientific Railgun (とある科学の超電磁砲) in the same way that ToaruOS itself is named after the series and its predecessor, A Certain Magical Index (とある魔術の禁書目録).




Related Projects

zydis - Fast and lightweight x86/x86-64 disassembler library

  •    C

Fast and lightweight x86/x86-64 disassembler library. The following example program uses Zydis to disassemble a given memory buffer and prints the output to the console.

zyan-disassembler-engine - Fast and lightweight x86/x86-64 disassembler library.

  •    C++

Fast and lightweight x86/x86-64 disassembler library.

Udis86 Disassembler for x86 and x86-64

  •    C

Udis86 is an easy-to-use minimalistic disassembler library for the x86 and x86-64 instruction set architectures. The primary intent of the design and development of udis86 is to aid software development projects that entail binary code analysis.

udis86 - Disassembler Library for x86 and x86-64

  •    C

Disassembler Library for x86 and x86-64

xbyak - a JIT assembler for x86(IA-32)/x64(AMD64, x86-64) MMX/SSE/SSE2/SSE3/SSSE3/SSE4/FPU/AVX/AVX2/AVX-512 by C++ header

  •    C++

This is a header file which enables dynamically to assemble x86(IA32), x64(AMD64, x86-64) mnemonic. header file only you can use Xbyak's functions at once if xbyak.h is included.

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

  •    Assembly

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.

rust-crypto - A (mostly) pure-Rust implementation of various cryptographic algorithms.

  •    Rust

A (mostly) pure-Rust implementation of various common cryptographic algorithms. Rust-Crypto seeks to create practical, auditable, pure-Rust implementations of common cryptographic algorithms with a minimum amount of assembly code where appropriate. The x86-64, x86, and ARM architectures are supported, although the x86-64 architecture receives the most testing.

blog_os - Writing an OS in Rust

  •    Rust

This repository contains the source code for the Writing an OS in Rust series at os.phil-opp.com. Afterwards you can invoke bootimage build to produce a bootable disk image. Please file an issue if you run into any problems.

minilisp - A readable lisp in less than 1k lines of C

  •    C

All those in 1000 lines of C. I didn't sacrifice readability for size. The code is in my opinion heavily commented to help the reader understand how all these features work. MiniLisp has been tested on Linux x86/x86-64 and 64 bit Mac OS. The code is not very architecture dependent, so you should be able to compile and run on other Unix-like operating systems.

PeachPy - x86-64 assembler embedded in Python

  •    Python

PeachPy is a Python framework for writing high-performance assembly kernels. Now you can compile this code into a binary object file that you can link into a program...

cargo-fuzz - Command line helpers for fuzzing

  •    Rust

Note: libFuzzer needs LLVM sanitizer support, so this is only works on x86-64 Linux and x86-64 macOS for now. This also needs a nightly since it uses some unstable command-line flags. You'll also need a C++ compiler with C++11 support. This crate is currently under some churn -- in case stuff isn't working, please reinstall it (cargo install cargo-fuzz -f). Rerunning cargo fuzz init after moving your fuzz folder and updating this crate may get you a better generated fuzz/Cargo.toml. Expect this to settle down soon.

portable-pypy - Portable 64 bit x86 PyPy binaries for many Linux distributions.

  •    Python

This repository contains efforts to build 64 bit x86 PyPy binaries for various Linux distributions. The idea is that you just download an archive, uncompress it and run it instantly without installing any extra libraries or tweaking your OS. Currently they are known to work across various DEB and RPM based distributions including RHEL/Centos 6 and later, Fedora, SuSE Linux, Ubuntu and Debian stable. PyPy binaries should run on any distribution that includes glibc 2.17. In this case you don't have to add -p switch as it defaults to pypy binary located in the build.

stoke - STOKE: A stochastic superoptimizer and program synthesizer

  •    C++

STOKE is a stochastic optimizer and program synthesizer for the x86-64 instruction set. STOKE uses random search to explore the extremely high-dimensional space of all possible program transformations. Although any one random transformation is unlikely to produce a code sequence that is desirable, the repeated application of millions of transformations is sufficient to produce novel and non-obvious code sequences. STOKE can be used in many different scenarios, such as optimizing code for performance or size, synthesizing an implementation from scratch or to trade accuracy of floating point computations for performance. As a superoptimizer, STOKE has been shown to outperform the code produced by general-purpose and domain-specific compilers, and in some cases expert hand-written code. In addition to searching over programs, STOKE contains verification infrastructure to show the equivalence between x86-64 programs. STOKE can consider test-cases, perform bounded verification all the way to fully formal verification that shows the equivalence for all possible inputs.

capstone - Capstone disassembly/disassembler framework: Core (Arm, Arm64, EVM, M68K, M680X, Mips, PPC, Sparc, SystemZ, TMS320C64x, X86, X86_64, XCore) + bindings (Python, Java, Ocaml, PowerShell, Visual Basic)

  •    C

Capstone is a disassembly framework with the target of becoming the ultimate disasm engine for binary analysis and reversing in the security community. Support multiple hardware architectures: ARM, ARM64 (ARMv8), Ethereum VM, M68K, Mips, PPC, Sparc, SystemZ, TMS320C64X, M680X, XCore and X86 (including X86_64).

pi64 - A 64-bit OS for the Raspberry Pi 3

  •    Go

pi64 is an experimental 64-bit OS for the Raspberry Pi 3. It is based on Debian Stretch and backed by a 4.11 Linux kernel. The latest images are always available in the releases section.

LTC Linux Kernel Performance Project


Our mission is to make Linux better by improving Linux kernel performance, with special emphasis on SMP scalability. We measure, analyze, and improve kernel performance, focusing on platform-independent issues, by using open source workloads.

lk - LK embedded kernel

  •    C

The LK embedded kernel. An SMP-aware kernel designed for small systems. See https://github.com/littlekernel/lk for the latest version.

x86/x86-64 assembler/jitter written in C#


The project goal is to develop a library for generating machine code irrelatively to machine architecture. Assembler-like C# API is a bonus.

cemu - Cheap EMUlator: lightweight multi-architecture assembly playground

  •    Python

Writing assembly is fun. Assembly is the lowest language (humanly understandable) available to communicate with computers, and is crucial to understand the internal mechanisms of any machine. Unfortunately, setting up an environment to write, compile and run assembly for various architectures (x86, ARM, MIPS, SPARC) has always been painful. CEmu is an attempt to fix this by providing a bundled GUI application that empowers users to write assembly and test it by compiling it to bytecode and executing it in an QEMU-based emulator. CEmu combines all the advantages of a basic assembly IDE, compilation and execution environment, by relying on the great libraries Keystone, Unicorn and Capstone engines in a Qt powered GUI.