freebsd-skq/sys
Landon J. Fuller 664a749708 Implement a generic bhnd(4) device enumeration table API.
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
2016-09-03 23:57:17 +00:00
..
amd64 Remove support for idle page zeroing. 2016-09-03 20:38:13 +00:00
arm Remove support for idle page zeroing. 2016-09-03 20:38:13 +00:00
arm64 Remove support for idle page zeroing. 2016-09-03 20:38:13 +00:00
boot Don't use -N to set the OMAGIC with data and text writeable and data 2016-09-03 15:26:28 +00:00
bsm
cam Decode some new ATA commands found in ACS-3. 2016-08-27 19:51:37 +00:00
cddl Missed FreeBSD-specific piece of r305338. 2016-09-03 11:17:33 +00:00
compat Add missing header dependency. 2016-08-24 09:57:19 +00:00
conf Implement a generic bhnd(4) device enumeration table API. 2016-09-03 23:57:17 +00:00
contrib Update VCHIQ driver to upstream version 4eda74f2 2016-08-31 01:04:57 +00:00
crypto
ddb Expand error messages: print symbol names, parentheses and shift tokens, 2016-08-28 19:33:09 +00:00
dev Implement a generic bhnd(4) device enumeration table API. 2016-09-03 23:57:17 +00:00
fs Implement VOP_FDATASYNC() for msdosfs. 2016-08-15 19:17:00 +00:00
gdb
geom Do not invoke resize event if initial disk size is zero. Some disks 2016-08-01 20:54:54 +00:00
gnu
i386 Remove support for idle page zeroing. 2016-09-03 20:38:13 +00:00
isa
kern Merge from CheriBSD: 2016-09-02 18:22:56 +00:00
kgssapi
libkern
mips Implement a generic bhnd(4) device enumeration table API. 2016-09-03 23:57:17 +00:00
modules Implement a generic bhnd(4) device enumeration table API. 2016-09-03 23:57:17 +00:00
net net/rndis: Define common message header for RNDIS messages. 2016-09-02 05:57:13 +00:00
net80211 [net80211] correctly lock the ifp before accessing the lladdr. 2016-08-18 01:25:12 +00:00
netgraph Avoid panic from ng_uncallout when unpluggin ethernet cable with active 2016-08-08 19:31:01 +00:00
netinet Adjust TCP module fastpath after r304803's cc_ack_received() changes. 2016-08-26 19:23:17 +00:00
netinet6 Fix L2 caching for UDP over IPv6 2016-08-24 00:52:30 +00:00
netipsec Remove redundant sanity checks from ipsec[46]_common_input_cb(). 2016-08-31 11:51:52 +00:00
netnatm
netpfil Try to fix gcc compilation errors (which are right). 2016-08-18 10:26:15 +00:00
netsmb
nfs Hide the boottime and bootimebin globals, provide the getboottime(9) 2016-07-27 11:08:59 +00:00
nfsclient
nfsserver
nlm
ofed Do not free an uninitialized pointer on soaccept failure in the iWARP 2016-08-26 08:25:28 +00:00
opencrypto opencrypto AES-ICM: Fix heap corruption typo 2016-08-01 22:57:03 +00:00
pc98 Remove the ie(4) driver for Intel 82586 ISA Ethernet adapters. 2016-08-20 00:49:29 +00:00
powerpc Remove support for idle page zeroing. 2016-09-03 20:38:13 +00:00
riscv Remove support for idle page zeroing. 2016-09-03 20:38:13 +00:00
rpc Hide the boottime and bootimebin globals, provide the getboottime(9) 2016-07-27 11:08:59 +00:00
security Audit the accepted (or rejected) username argument to setlogin(2). 2016-08-20 20:28:08 +00:00
sparc64 Remove support for idle page zeroing. 2016-09-03 20:38:13 +00:00
sys Bump __FreeBSD_version for crunchgen META_MODE fix in r305254. 2016-09-01 23:22:31 +00:00
teken
tests
tools Consider CROSS_BINUTILS_PREFIX environment variable so we use correct 2016-08-10 13:49:17 +00:00
ufs Bug 211013 reports that a write error to a UFS filesystem running 2016-08-16 21:02:30 +00:00
vm Remove support for idle page zeroing. 2016-09-03 20:38:13 +00:00
x86 Fix build for !SMP kernels after the Xen MSIX workaround. 2016-08-22 21:23:17 +00:00
xdr
xen
Makefile