Skip to content

bootstrapping an OS #37

@orangecms

Description

@orangecms

When an OS kernel is loaded, it needs to know

  • where it is loaded and its size; the load address is the initial PC and the size is known at build time
  • the data that firmware passes; commonly EFI System Table or DTB from a register by convention
  • the reserved memory regions, obtained from ACPI tables (via EFI tables) or DTB (/reserved-memory)

related: #29

To get the initial PC, store it in the first assembly instruction.
E.g., for RISC-V: auipc x3, 0 (add 0 to the PC)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions