History log of /src/sys/rump/dev/lib/libpci/pci_at_mainbus.c |
Revision | | Date | Author | Comments |
1.11 |
| 31-Mar-2022 |
pgoyette | For device modules that provide both auto-config and /dev/xxx interfaces, make sure that initialization and destruction follow the proper sequence. This is triggered by the recent changes to the devsw stuff; per riastradh@ the required call sequence is:
devsw_attach() config_init_component() or config_cf*_attach() ... config_fini_component() or config_cf*_detach() devsw_detach()
While here, add a few missing calls to some of the detach routines.
Testing of these changes has been limited to: 1. compile without build break 2. no related test failures from atf 3. modload/modunload work as well as before.
No functional device testing done, since I don't have any of these devices. Let me know of any damage I might cause here!
XXX Some of the modules affected by this commit are already XXX broken; see kern/56772. This commit does not break any additional modules (as far as I know).
|
1.10 |
| 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.9 |
| 24-Apr-2021 |
thorpej | branches: 1.9.8; Merge thorpej-cfargs branch:
Simplify and make extensible the config_search() / config_found() / config_attach() interfaces: rather than having different variants for which arguments you want pass along, just have a single call that takes a variadic list of tag-value arguments.
Adjust all call sites: - Simplify wherever possible; don't pass along arguments that aren't actually needed. - Don't be explicit about what interface attribute is attaching if the device only has one. (More simplification.) - Add a config_probe() function to be used in indirect configuiration situations, making is visibly easier to see when indirect config is in play, and allowing for future change in semantics. (As of now, this is just a wrapper around config_match(), but that is an implementation detail.)
Remove unnecessary or redundant interface attributes where they're not needed.
There are currently 5 "cfargs" defined: - CFARG_SUBMATCH (submatch function for direct config) - CFARG_SEARCH (search function for indirect config) - CFARG_IATTR (interface attribte) - CFARG_LOCATORS (locators array) - CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark ports to associate those device handles with device_t instance. This will trickle trough to more places over time (need back-end for pre-OFW Sun OBP; any others?).
|
1.8 |
| 06-Jun-2018 |
maya | branches: 1.8.16; Remove duplicate ;
|
1.7 |
| 26-Jan-2016 |
pooka | branches: 1.7.16; Put the kernelside rump kernel headers into <rump-sys> instead of sprinkling them around the faction directories. Avoids having to add a CPPFLAGS (or several) to pretty much every component Makefile.
Leave compat headers around in the old locations.
The commit changes some autogenerated files, but I'll fix the generators shortly and regen.
|
1.6 |
| 15-Jun-2015 |
pooka | Add a "userfeature" definition for iospace. I/O space is supported if that flag is given and calling the init routine succeeds (and we're on x86, which we probably need to be on anyway for this PCI component to currently be supported).
Also, some adjustments to make things between flags consistent, namely deprecate the Makefile variable RUMP_PCI_IOSPACE and don't require userfeature.h to map 1:1 to the interfaces.
Includes contributions from Robert Millan.
|
1.5 |
| 22-Aug-2014 |
pooka | branches: 1.5.2; Add a compile-time selector for I/O space operations. Needs more work some day, but allows virtio drivers to work today.
|
1.4 |
| 31-Jul-2014 |
pooka | branches: 1.4.4; add missing \n
from Robert Millan <rmh@freebsd.org> via rumpkernel-users
|
1.3 |
| 14-Apr-2014 |
pooka | branches: 1.3.2; 1.3.4; be even more explicit about handling only bus 0
|
1.2 |
| 13-Apr-2014 |
pooka | create /dev/pci device nodes
|
1.1 |
| 04-Apr-2014 |
pooka | branches: 1.1.2; Add a rump kernel component for the PCI bus. It works both in Xen DomU (via Xen's PCI passthrough) and Linux userspace (via uio_pci_generic).
|
1.1.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.3.4.2 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.3.4.1 |
| 14-Apr-2014 |
yamt | file pci_at_mainbus.c was added on branch yamt-pagecache on 2014-05-22 11:41:12 +0000
|
1.3.2.2 |
| 18-May-2014 |
rmind | sync with head
|
1.3.2.1 |
| 14-Apr-2014 |
rmind | file pci_at_mainbus.c was added on branch rmind-smpnet on 2014-05-18 17:46:15 +0000
|
1.4.4.3 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.4.4.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.4.4.1 |
| 31-Jul-2014 |
tls | file pci_at_mainbus.c was added on branch tls-maxphys on 2014-08-20 00:04:38 +0000
|
1.5.2.2 |
| 19-Mar-2016 |
skrll | Sync with HEAD
|
1.5.2.1 |
| 22-Sep-2015 |
skrll | Sync with HEAD
|
1.7.16.1 |
| 25-Jun-2018 |
pgoyette | Sync with HEAD
|
1.8.16.1 |
| 02-Apr-2021 |
thorpej | config_found_ia() -> config_found() w/ CFARG_IATTR.
|
1.9.8.1 |
| 05-Aug-2021 |
thorpej | Adapt to CFARGS().
|