Skip to content

Bedrock

Bedrock is a 64-bit instruction set architecture and systems-software specification. It defines a variable-length architecture with restartable repeated execution and an optional scalable-vector extension. The project also provides ABI contracts, an executable Sail model, generated implementation inputs, an LLVM toolchain, and an emulator.

Warning

Bedrock is under active design. Instruction encodings, ABIs, and tool interfaces may change. Use the current reference documents and their owning sources when implementing against the project.

Read the reference | Browse the specification | Explore the LLVM toolchain

Specification layers

The published reference separates the contracts used by architecture, toolchain, and systems-software implementations.

Document Scope
Programmer's Reference Manual Programmer-visible state, instruction encoding, execution semantics, memory behavior, privilege, events, debug, and architectural extensions
ELF ABI Object files, relocations, linking, loading, dynamic linking, TLS, code models, and DWARF register numbering
C ABI LP64 data model, calling convention, stack and register use, runtime helpers, and C memory-order lowering
C target interface Compiler builtins, target headers, source signatures, lowering requirements, and compiler-visible effects

The spec repository owns these documents and the structured definitions and Sail sources used to produce the public reference and implementation artifacts.

Start here

Task Starting point
Study or implement the architecture Read the architecture reference, then inspect the isa sources and artifacts that apply to your implementation.
Add compiler, assembler, or linker support Use the ABI documents above with the Bedrock target in llvm-project.
Run and inspect Bedrock software Start with the emulator and its executable samples.

Repositories

  • spec owns the ISA, ABI, compiler interface, executable model, generated implementation artifacts, emulator, and samples.
  • llvm-project owns the Bedrock target implementations for LLVM, Clang, LLD, and related tools.

Roadmap

Bedrock is developed in dependency order rather than against a published schedule. The current specification covers the architecture, ABI, compiler interface, executable model, toolchain support, and emulator.

Planned work extends this foundation with:

  • a typed platform subsystem interface and discovery model;
  • standard profiles for timers, interrupts, IOMMU, power, reset, and PCIe;
  • a minimum general-purpose platform profile;
  • Bedrock architecture bindings for UEFI and ACPI;
  • versioned implementation snapshots and a stable 1.0 contract.

Read the project roadmap.

Feedback

Report architecture, ABI, compiler-interface, model, and emulator problems in the spec issue tracker. Report LLVM target problems in the llvm-project issue tracker.

Popular repositories Loading

  1. spec spec Public

    Python

  2. llvm-project llvm-project Public

    Forked from llvm/llvm-project

    The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.

    LLVM

  3. .github .github Public

  4. doomgeneric doomgeneric Public

    Forked from ozkl/doomgeneric

    Easily portable doom

    C

Repositories

Showing 4 of 4 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…