ba5e010bb7
P21: Replace 67 panic-grade calls across 9 boot daemon files with graceful error handling. Affected: ps2d, inputd, fbcond, fbbootlogd. P22: Add x2APIC MADT fallback for processors with LocalApic entries instead of LocalX2Apic entries. QEMU KVM boots now correctly detect all vCPUs via zero-extended APIC ID fallback. P23: Change 50_rootfs.service from requires_weak to requires on 40_drivers.target, ensuring redoxfs waits for disk drivers before attempting filesystem mount. This fixes the boot race where rootfs mount failed before drivers were ready, causing init to have no userland services after switchroot.
55 lines
2.9 KiB
TOML
55 lines
2.9 KiB
TOML
[source]
|
|
git = "https://gitlab.redox-os.org/redox-os/kernel.git"
|
|
rev = "866dfad0"
|
|
patches = [
|
|
"../../../local/patches/kernel/redbear-consolidated.patch",
|
|
"../../../local/patches/kernel/P8-msi.patch",
|
|
"../../../local/patches/kernel/P8-msi-foundation-v2.patch",
|
|
"../../../local/patches/kernel/P2-rebrand-start-message.patch",
|
|
"../../../local/patches/kernel/P0-eventfd-kernel.patch",
|
|
"../../../local/patches/kernel/P0-rsdp-checksum.patch",
|
|
"../../../local/patches/kernel/P1-mkfifo-fifo-support-v2.patch",
|
|
"../../../local/patches/kernel/P1-ioapic-hpet-nmi-v2.patch",
|
|
"../../../local/patches/kernel/P9-numa-topology.patch",
|
|
"../../../local/patches/kernel/P9-proc-lock-ordering.patch",
|
|
"../../../local/patches/kernel/P9-percpu-context-switch.patch",
|
|
"../../../local/patches/kernel/P9-broadcast-tlb-shootdown.patch",
|
|
"../../../local/patches/kernel/P9-ioapic-irq-affinity.patch",
|
|
"../../../local/patches/kernel/P10-irq-affinity-wiring.patch",
|
|
"../../../local/patches/kernel/P11-mcs-lock.patch",
|
|
"../../../local/patches/kernel/P12-range-tlb-flush.patch",
|
|
"../../../local/patches/kernel/P13-priority-inheritance.patch",
|
|
"../../../local/patches/kernel/P14-numa-topology.patch",
|
|
"../../../local/patches/kernel/P15-1-ap-cpu-id-race.patch",
|
|
"../../../local/patches/kernel/P15-4-mcs-pi-ordering.patch",
|
|
"../../../local/patches/kernel/P15-10-tlb-range-ordering.patch",
|
|
"../../../local/patches/kernel/P16-3-max-cpu-256.patch",
|
|
"../../../local/patches/kernel/P16-1-sipi-timing.patch",
|
|
"../../../local/patches/kernel/P16-4a-sdt-checksum.patch",
|
|
"../../../local/patches/kernel/P16-4b-madt-validation.patch",
|
|
"../../../local/patches/kernel/P17-2a-percpu-waiting.patch",
|
|
"../../../local/patches/kernel/P17-2b-transitive-pi.patch",
|
|
"../../../local/patches/kernel/P17-4-configurable-preempt.patch",
|
|
"../../../local/patches/kernel/P17-1-numa-selection.patch",
|
|
"../../../local/patches/kernel/P17-3-sched-affinity.patch",
|
|
"../../../local/patches/kernel/P17-3-syscall-dispatch.patch",
|
|
"../../../local/patches/kernel/P19-2-irq-debug.patch",
|
|
# P20: x2APIC ICR mode fix (32-bit dest field for x2APIC, 8-bit for xAPIC)
|
|
"../../../local/patches/kernel/P20-x2apic-icr-mode-fix.patch",
|
|
# P21: x2APIC SMP bring-up fix — skip 8-bit LocalApic entries when x2APIC
|
|
# is active (BSP ID mismatch causes all APs to be skipped on bare metal Intel)
|
|
"../../../local/patches/kernel/P21-x2apic-smp-fix.patch",
|
|
# P22: x2APIC MADT fallback — when x2APIC is active but MADT has no
|
|
# LocalX2Apic entries (QEMU, some BIOS), fall back to processing LocalApic
|
|
# entries with zero-extended IDs using x2APIC 64-bit ICR format
|
|
"../../../local/patches/kernel/P22-x2apic-madt-fallback.patch",
|
|
]
|
|
|
|
[build]
|
|
template = "custom"
|
|
script = """
|
|
make -f ${COOKBOOK_SOURCE}/Makefile
|
|
mkdir -pv "${COOKBOOK_STAGE}/usr/lib/boot"
|
|
cp -v kernel "${COOKBOOK_STAGE}/usr/lib/boot"
|
|
"""
|