Skip to content

Split kernel/OS packages out to home-os #6

Description

@glennmichael123

Context

The language repo currently contains substantial OS-level code that doesn't belong here:

Package LOC
packages/kernel 43,741
packages/bootloader 2,087
packages/iommu 1,814
packages/syslog 1,553
packages/coredump 1,396
packages/dtb 1,384
packages/usb 1,356
packages/modsign 1,240
packages/tpm 1,198
packages/syscall 634
Total ~56k LOC

That's roughly 40% of the repo by package count and a huge chunk by LOC. Consequences:

  • Clone time and disk usage are inflated for everyone working on the language
  • Scope is muddled — contributors can't tell whether they should be reading kernel code to understand the compiler
  • Two audiences (language users, OS users) collide in one issue tracker / docs site / CI

Proposal

  • Move kernel/bootloader/iommu/syslog/coredump/dtb/usb/modsign/tpm/syscall to home-lang/home-os
  • home-os depends on home-lang/home as a language toolchain (the way the linux kernel depends on gcc/clang)
  • Keep small, language-relevant low-level packages in this repo (e.g. memory, volatile, intrinsics)
  • Update docs: language repo docs cover the language only; OS docs live in home-os

Risks / open questions

  • Do any compiler packages currently @import the OS packages? If so we need to invert the dependency cleanly
  • CI for OS code is heavier (qemu, kernel boot tests) — splitting it out should actually speed up language CI

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions