freebsd-dev/sys/mips
Landon J. Fuller 111d7cb2e3 Migrate bhndb(4) to the new bhnd_erom API.
Adds support for probing and initializing bhndb(4) bridge state using
the bhnd_erom API, ensuring that full bridge configuration is available
*prior* to actually attaching and enumerating the bhnd(4) child device,
allowing us to safely allocate bus-level agent/device resources during
bhnd(4) bus enumeration.

- Add a bhnd_erom_probe() method usable by bhndb(4). This is an analogue
  to the existing bhnd_erom_probe_static() method, and allows the bhndb
  bridge to discover the best available erom parser class prior to newbus
  probing of its children.
- Add support for supplying identification hints when probing erom
  devices. This is required on early EXTIF-only chipsets, where chip
  identification registers are not available.
- Migrate bhndb over to the new bhnd_erom API, using bhnd_core_info
  records rather than bridged bhnd(4) device_t references to determine
  the bridged chipsets' capability/bridge configuration.
- The bhndb parent (e.g. if_bwn) is now required to supply a hardware
  priority table to the bridge. The default table is currently sufficient
  for our supported devices.
- Drop the two-pass attach approach we used for compatibility with bhndb(4) in
  the bhnd(4) bus drivers, and instead perform bus enumeration immediately,
  and allocate bridged per-child bus-level resources during that enumeration.

Approved by:	adrian (mentor)
Differential Revision:	https://reviews.freebsd.org/D7768
2016-09-04 00:58:19 +00:00
..
adm5120 Remove NULL checks after M_WAITOK allocations from sys/mips/. 2016-05-11 09:42:24 +00:00
alchemy Remove NULL checks after M_WAITOK allocations from sys/mips/. 2016-05-11 09:42:24 +00:00
atheros [arge] add some extra MDIO debugging support 2016-08-05 17:16:35 +00:00
beri Fix the resource_list_print_type() calls to use uintmax_t. 2016-03-22 22:25:08 +00:00
broadcom Migrate bhndb(4) to the new bhnd_erom API. 2016-09-04 00:58:19 +00:00
cavium sys: use our roundup2/rounddown2() macros when param.h is available. 2016-04-21 19:57:40 +00:00
conf [mips] move AR91XX_BASE to std.AR91XX. 2016-08-28 04:10:23 +00:00
gxemul Add 32-bit support for Gxemul's oldtestmips machine emulation 2013-09-04 20:34:36 +00:00
idt Remove NULL checks after M_WAITOK allocations from sys/mips/. 2016-05-11 09:42:24 +00:00
include [mips] add support for using the MIPS user register for TLS data. 2016-08-07 01:29:55 +00:00
malta Fixed FreeBSD/mips MALTA support for QEMU 2016-06-29 23:33:44 +00:00
mediatek Build etherswitch support for appropriate Ralink/Mediatek SoCs 2016-05-25 06:47:28 +00:00
mips Remove support for idle page zeroing. 2016-09-03 20:38:13 +00:00
nlm Consistently use device_t 2016-08-09 19:32:06 +00:00
rmi Consistently use device_t 2016-08-09 19:32:06 +00:00
rt305x Remove NULL checks after M_WAITOK allocations from sys/mips/. 2016-05-11 09:42:24 +00:00
sibyte sys: use our roundup2/rounddown2() macros when param.h is available. 2016-04-21 19:57:40 +00:00