include: one folder per subsystem, and includes that name it
Sixty-five headers sat side by side in include/, so `#include "irq.h"` said nothing about where irq.h was or what it belonged to, and errno.h, stat.h and fcntl.h at the top shadowed the system's for any host tool built with -I./include. They are in folders now -- arch/ core/ fs/ dev/ gfx/ net/ uapi/ (and ldls/ for the Linux driver layer) -- and every include names the folder, as Linux's do: "core/proc.h". Done mechanically and checked the hard way: the kernel built from this tree disassembles identically to the one built from the tree before it. The full image boots, and userland is the same set of programs. Paths in docs and comments follow; docs/guides/layout.md has a table of what is where, and tools/fix-includes.py rewrites old-style includes from the folders in the tree, for code written before this. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S1giNvrHTrPMPw7V6x1kQ4
This commit is contained in:
parent
0e39e711f1
commit
a1c965da1e
267 changed files with 1560 additions and 1440 deletions
|
|
@ -12,12 +12,12 @@
|
|||
// use -- and leaves the result in low memory. stage2main.c already parses it to
|
||||
// print detected RAM on the splash. The kernel simply never read it.
|
||||
|
||||
#include "types.h"
|
||||
#include "defs.h"
|
||||
#include "memlayout.h"
|
||||
#include "mmu.h"
|
||||
#include "dma.h" // DMA_ARENA_BYTES: the top of PHYSTOP must be able to hold it
|
||||
#include "hwinfo.h"
|
||||
#include "core/types.h"
|
||||
#include "core/defs.h"
|
||||
#include "arch/memlayout.h"
|
||||
#include "arch/mmu.h"
|
||||
#include "core/dma.h" // DMA_ARENA_BYTES: the top of PHYSTOP must be able to hold it
|
||||
#include "core/hwinfo.h"
|
||||
|
||||
// Set before kinit1() and never again. Starts at the old constant so that a
|
||||
// crash between entry and e820_init() behaves the way it always did rather
|
||||
|
|
@ -29,13 +29,13 @@ uint64 phystop = PHYSTOP_FALLBACK;
|
|||
// map and all a 32-bit device can reach.
|
||||
uint64 lowtop = PHYSTOP_FALLBACK;
|
||||
|
||||
#include "schboot.h" /* the hand-off block */
|
||||
#include "arch/schboot.h" /* the hand-off block */
|
||||
|
||||
#define E820_USABLE 1
|
||||
#define E820_MAXENTRIES SCHBOOT_E820_MAX
|
||||
|
||||
// Every usable region, page aligned inwards and clipped to PHYSTOP_MAX.
|
||||
// kinit1() frees these; see include/memlayout.h for why a list and not just a
|
||||
// kinit1() frees these; see include/arch/memlayout.h for why a list and not just a
|
||||
// top address.
|
||||
struct memregion mem_usable[MEMREGION_MAX];
|
||||
int nmem_usable;
|
||||
|
|
|
|||
Loading…
Reference in a new issue