-
Notifications
You must be signed in to change notification settings - Fork 32
Xinu's Directory Structure
rememberthe8bit edited this page Mar 2, 2013
·
2 revisions
Getting familiar with a new codebase can be troublesome. To ease this, here is a list of the general purposes of some of the more relevant directories in the Xinu source code:
-
apps/
- programs that can be run with the shell? -
boot/
- contains files that are necessary for booting various platforms -
boot/raspberry-pi
- contains Raspberry Pi GPU firmware -
compile/
- the directory that we build from by issuing amake
command -
compile/platforms/*
- hold configuration information about how to build for various platforms (memory maps, compiler flags, what devices are present and their locations, etc) -
device/
- device drivers, each device gets a unique directory -
include/
- headers, mostly for user programs -
lib/
- not sure -
lib/libxc
- Xinu's standard C library (atoi()
,printf()
, etc) -
loader/
- bare-metal code that is the first to run, usually written in assembler -
mailbox/
- inter-process communication code? -
mem/
- code that deals with memory (malloc()
,free()
, etc) -
network/
- code that deals with newtorking -
shell/
- xsh, the Xinu shell -
system/
- system routines for things like initialization, timer events, process scheduling, system calls, etc -
system/platforms/*
- hardware platform-specific system routines like timer initializaiton, context switching, the Vectored Interrupt Controller emulator on the Pi, etc -
test/
- routines to test things