664a749708
This defines a new bhnd_erom_if API, providing a common interface to device enumeration on siba(4) and bcma(4) devices, for use both in the bhndb bridge and SoC early boot contexts, and migrates mips/broadcom over to the new API. This also replaces the previous adhoc device enumeration support implemented for mips/broadcom. Migration of bhndb to the new API will be implemented in a follow-up commit. - Defined new bhnd_erom_if interface for bhnd(4) device enumeration, along with bcma(4) and siba(4)-specific implementations. - Fixed a minor bug in bhndb that logged an error when we attempted to map the full siba(4) bus space (18000000-17FFFFFF) in the siba EROM parser. - Reverted use of the resource's start address as the ChipCommon enum_addr in bhnd_read_chipid(). When called from bhndb, this address is found within the host address space, resulting in an invalid bridged enum_addr. - Added support for falling back on standard bus_activate_resource() in bhnd_bus_generic_activate_resource(), enabling allocation of the bhnd_erom's bhnd_resource directly from a nexus-attached bhnd(4) device. - Removed BHND_BUS_GET_CORE_TABLE(); it has been replaced by the erom API. - Added support for statically initializing bhnd_erom instances, for use prior to malloc availability. The statically allocated buffer size is verified both at runtime, and via a compile-time assertion (see BHND_EROM_STATIC_BYTES). - bhnd_erom classes are registered within a module via a linker set, allowing mips/broadcom to probe available EROM parser instances without creating a strong reference to bcma/siba-specific symbols. - Migrated mips/broadcom to bhnd_erom_if, replacing the previous MIPS-specific device enumeration implementation. Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D7748
22 lines
667 B
Plaintext
22 lines
667 B
Plaintext
# $FreeBSD$
|
|
|
|
# TODO: Add attachment elsewhere in the tree
|
|
# for USB 1.1 OHCI, Ethernet and IPSEC cores
|
|
# which are believed to be devices we have drivers for
|
|
# which just need to be tweaked for attachment to an BHND system bus.
|
|
mips/broadcom/bcm_machdep.c standard
|
|
mips/broadcom/bcm_pmu.c standard
|
|
mips/mips/tick.c standard
|
|
mips/mips/mips_pic.c standard
|
|
kern/subr_intr.c standard
|
|
kern/pic_if.m standard
|
|
|
|
kern/msi_if.m optional intrng
|
|
|
|
mips/broadcom/uart_cpu_chipc.c optional uart
|
|
mips/broadcom/uart_bus_chipc.c optional uart
|
|
mips/broadcom/bcm_mipscore.c standard
|
|
|
|
# TODO: Replace with BCM47xx/57xx/etc-aware geom_map
|
|
geom/geom_flashmap.c standard
|