[PATCH] rtems/rtems-kernel-nexus.c: LibBSD init now uses all pass levels.

Sebastian Huber sebastian.huber at embedded-brains.de
Mon Aug 12 05:48:17 UTC 2019


On 12/08/2019 00:23, Chris Johns wrote:
> On 10/8/19 4:33 am, Christian Mauderer wrote:
>> thanks for the patch. It sounds like we will get a behaviour that is
>> more similar to FreeBSD one with it.
> 
> Yes.
> 
>> But it has the potential to have a
>> big influence on existing BSPs so it would be good to have some more
>> feedback for it before merging it.
> 
> Do you have specific BSPs in mind? If we agree this behaviour is more like
> FreeBSD would that mean a BSP that breaks needs to be fixed?

The FreeBSD nexus bus use this:

freebsd-org/sys/arm/arm/nexus.c:EARLY_DRIVER_MODULE(nexus, root, 
nexus_driver, nexus_devclass, 0, 0,
freebsd-org/sys/arm/arm/nexus.c-    BUS_PASS_BUS + BUS_PASS_ORDER_EARLY);
freebsd-org/sys/arm/arm/nexus.c-
--
freebsd-org/sys/i386/acpica/acpi_machdep.c:DRIVER_MODULE(nexus_acpi, 
root, nexus_acpi_driver, nexus_devclass, 0, 0);
--
freebsd-org/sys/powerpc/powerpc/nexus.c:EARLY_DRIVER_MODULE(nexus, root, 
nexus_driver, nexus_devclass, 0, 0,
freebsd-org/sys/powerpc/powerpc/nexus.c-    BUS_PASS_BUS);
freebsd-org/sys/powerpc/powerpc/nexus.c-MODULE_VERSION(nexus, 1);
--
freebsd-org/sys/mips/mips/nexus.c:EARLY_DRIVER_MODULE(nexus, root, 
nexus_driver, nexus_devclass, 0, 0,
freebsd-org/sys/mips/mips/nexus.c-    BUS_PASS_BUS + BUS_PASS_ORDER_EARLY);
--
freebsd-org/sys/arm64/arm64/nexus.c:EARLY_DRIVER_MODULE(nexus_fdt, root, 
nexus_fdt_driver, nexus_fdt_devclass,
freebsd-org/sys/arm64/arm64/nexus.c-    0, 0, BUS_PASS_BUS + 
BUS_PASS_ORDER_FIRST);
freebsd-org/sys/arm64/arm64/nexus.c-
--
freebsd-org/sys/arm64/arm64/nexus.c:EARLY_DRIVER_MODULE(nexus_acpi, 
root, nexus_acpi_driver, nexus_acpi_devclass,
freebsd-org/sys/arm64/arm64/nexus.c-    0, 0, BUS_PASS_BUS + 
BUS_PASS_ORDER_FIRST);
freebsd-org/sys/arm64/arm64/nexus.c-
--
freebsd-org/sys/amd64/acpica/acpi_machdep.c:DRIVER_MODULE(nexus_acpi, 
root, nexus_acpi_driver, nexus_devclass, 0, 0);
--
freebsd-org/sys/sparc64/sparc64/nexus.c:EARLY_DRIVER_MODULE(nexus, root, 
nexus_driver, nexus_devclass, 0, 0,
freebsd-org/sys/sparc64/sparc64/nexus.c-    BUS_PASS_BUS);
freebsd-org/sys/sparc64/sparc64/nexus.c-MODULE_VERSION(nexus, 1);
--
freebsd-org/sys/riscv/riscv/nexus.c:EARLY_DRIVER_MODULE(nexus_fdt, root, 
nexus_fdt_driver, nexus_fdt_devclass,
freebsd-org/sys/riscv/riscv/nexus.c-    0, 0, BUS_PASS_BUS + 
BUS_PASS_ORDER_FIRST);
freebsd-org/sys/riscv/riscv/nexus.c-
--
freebsd-org/sys/x86/xen/xen_nexus.c:DRIVER_MODULE(nexus_xen, root, 
nexus_xen_driver, nexus_devclass, 0, 0);
--
freebsd-org/sys/x86/x86/nexus.c:DRIVER_MODULE(nexus, root, nexus_driver, 
nexus_devclass, 0, 0);
freebsd-org/sys/x86/x86/nexus.c-
freebsd-org/sys/x86/x86/nexus.c-static int

So, I think we should change it to:

EARLY_DRIVER_MODULE(nexus, root, nexus_driver, nexus_devclass, 0, 0,
     BUS_PASS_BUS + BUS_PASS_ORDER_EARLY);

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the devel mailing list