ReviewOS

home-lang/home

Split kernel/OS packages out to home-os

#6
Open glennmichael123 opened this 10 days ago ·
10 days ago

Context

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

PackageLOC
packages/kernel43,741
packages/bootloader2,087
packages/iommu1,814
packages/syslog1,553
packages/coredump1,396
packages/dtb1,384
packages/usb1,356
packages/modsign1,240
packages/tpm1,198
packages/syscall634
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
10 days ago

Cross-ref: paired with home-lang/home-os#9 (the receiving side of the kernel/iommu/tpm/usb package move). The two issues should land in the same window to avoid prolonged broken imports across both repos.

Sign in to comment on this issue.