Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/sys/arch/evbarm
Module Name: src
Committed By: mrg
Date: Sun Feb 5 22:42:39 UTC 2023
Modified Files:
src/sys/arch/evbarm/evbarm: autoconf.c
src/sys/arch/evbarm/fdt: fdt_machdep.c
src/sys/arch/evbarm/include: types.h
Log Message:
fix root detection on evbarm when raid is involved
there are several problems solved in this change:
- lots of work was re-done when we already have determined the
device booted from, so several new early returns introduced
if booted_device has been set
- due to the lack of cpu_bootconf(), raidframe softroot would
override "root=xxx" on the boot command line (note that
platforms that use eg, device_register() to detect the boot
device are not affected by this issue as they find the
boot device much earlier.)
- in the new cpu_bootconf(), switch the order of the platform
boot-config with the set_root_device() call. this avoids a
problem where "root=xxx" is checked after automated methods,
and is thus ignored.
- in fdt_detect_root_device(), remove the code to add "root=xxx""
string to the boot_args[] that would be later parsed by the
set_root_device() call, and simply set booted_device and, for
mbr installs, booted_partition directly. also, for any
successful call, perform an early return.
- define __HAVE_CPU_BOOTCONF so early boot calls cpu_bootconf().
tested on:
- rockpro64 booting from emmc, sata (big, and little endian)
- rockpro64 loading kernel from msdos partition
- rockpro64 booting from network (fails to auto-detect, with or
without this change)
- quartz64 booting from nvme
- lx2k booting from nvme
XXX: pullup-10
To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/sys/arch/evbarm/evbarm/autoconf.c
cvs rdiff -u -r1.99 -r1.100 src/sys/arch/evbarm/fdt/fdt_machdep.c
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/evbarm/include/types.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index