|
AquilaOS documentation
How it works, and its code
|
Directories | |
| include | |
Files | |
| devices.c | |
| The virt machine's devices that no bus finds (see dev/platform.h): where QEMU puts them (hw/arm/virt.c), as its devicetree also says. | |
| fdt.c | |
| Reading the devicetree that the boot loader passes (a flattened one, an FDT) into the kernel's struct boot: the RAM (/memory's reg property), the initrd (/chosen's linux,initrd-start and linux,initrd-end), and the command line (/chosen's bootargs). | |
| gic.c | |
| The virt machine's interrupt controller: ARM's GICv2. | |
| init.c | |
| QEMU's virt machine: setting up its interrupt controller and its PCI Express host bridge. | |
| irq.c | |
| The interrupts' handlers on the virt machine, installed by their drivers (see dev/irq.h). | |
| psci.c | |
| Restarting and powering off the machine, by PSCI calls to the firmware (QEMU's), made with hvc, as the virt machine's devicetree says (/psci: method "hvc"). | |
| rtc.c | |
| The date and time: the virt machine's PL031 real time clock, which counts seconds since the epoch. | |
| timer.c | |
| The tick: the virtual timer of ARM's generic timer, which is each CPU's own (PPI 27). | |