aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Turner <andrew@FreeBSD.org>2025-02-04 11:56:49 +0000
committerAndrew Turner <andrew@FreeBSD.org>2025-02-04 12:02:00 +0000
commit6a7a01ec8b7495497d3d0cd28234cc68c36b6d61 (patch)
tree138ae780bf186fe0c028f7eb52456e2c00df9620
parentcc67ca7207e7d220c5761106cb0e0843d1e886e0 (diff)
physmem: Move the ram0 device earlier in the boot
If the ram driver is unable to reserve a memory range it will panic with no real information why. Move this driver earlier in the boot so any devices that cause the conflict will fail to attach. This should make it easier to debug why the conflict exists. Reviewed by: mhorne, kevans, imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D48766
-rw-r--r--sys/kern/subr_physmem.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/subr_physmem.c b/sys/kern/subr_physmem.c
index 059566f0eccb..6b97b36a6c51 100644
--- a/sys/kern/subr_physmem.c
+++ b/sys/kern/subr_physmem.c
@@ -622,5 +622,6 @@ static device_method_t ram_methods[] = {
};
DEFINE_CLASS_0(ram, ram_driver, ram_methods, /* no softc */ 1);
-DRIVER_MODULE(ram, nexus, ram_driver, 0, 0);
+EARLY_DRIVER_MODULE(ram, nexus, ram_driver, 0, 0,
+ BUS_PASS_ROOT + BUS_PASS_ORDER_MIDDLE);
#endif /* _KERNEL */