#
c7fb772b |
| 07-Aug-2021 |
thorpej <thorpej@NetBSD.org> |
Merge thorpej-cfargs2.
|
#
b7b2b8a3 |
| 07-May-2021 |
thorpej <thorpej@NetBSD.org> |
Liberally sprinkle static around to get more symbols out of the global namespace. A small bit of const poisoning in the TC code.
|
#
2685996b |
| 24-Apr-2021 |
thorpej <thorpej@NetBSD.org> |
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 a
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?).
show more ...
|
#
6f97a7c1 |
| 18-Nov-2020 |
thorpej <thorpej@NetBSD.org> |
malloc(9) -> kmem(9)
|
#
1099504e |
| 22-Sep-2020 |
thorpej <thorpej@NetBSD.org> |
Changes to make MPSAFE interrupts work on Alpha:
- Remove the ipl argument to scb_set() and the associated array of "mpsafe" booleans initialized based on the ipl. It was bogus anyway; all IPL_
Changes to make MPSAFE interrupts work on Alpha:
- Remove the ipl argument to scb_set() and the associated array of "mpsafe" booleans initialized based on the ipl. It was bogus anyway; all IPL_{BIO,NET,TTY}, etc. values are aliases of IPL_VM, and for all practical purposes, there is really only one device interrrupt level on Alpha anyway. Intead, we now treat all dispatches from the SCB vector table as MP-safe, and it is now the handler for that vector who is responsible for acquiring the KERNEL_LOCK if needed.
- Update the direct interrupt vector handlers in jensenio and TURBOchannel to acquire the KERNEL_LOCK.
- Introduce a new ALPHA_INTR_MPSAFE flag, and add a flags argument to alpha_shared_intr_establish(). When it is set, indicate that the handler is MP-safe. Update alpha_shared_intr_dispatch() to pay attention and acquire the KERNEL_LOCK (or not) as indicated.
- Re-factor all of the PCI interrupt handling, providing "generic PCI" "PCI interrupts through ISA IRQs" implementations to significantly reduce code duplication. Supplement the PCI chipset tag with more info to facilitate this, and make the PCI interrupt-related routines take a pci_chipset_tag_t argument rather than a void * argument.
- Because PCI interrupts on KN8AE are dispatched directly from the SCB, provide a wrapper for non-MPSAFE interrupt handlers that acquires the KERNEL_LOCK.
- Change the pci_intr_handle_t type to be a struct rather than an integer type in order to catch any direct use of it as a value. Add a set of functions to interact with pci_intr_handle_t, including setting interrupt flags.
- Implement pci_intr_setattr() so that the PCI_INTR_MPSAFE attribute can be set on a pci_intr_handle_t.
- While I'm here, make all of the MI PCI back-end operations call through real functions rather than hopping directly through function pointers in the chipset tag.
This change looks a lot bigger than it really is because of the re-factor in the plethora of model-specific PCI interrupt back-ends. The KN8AE, KN300, and T2/T3/T4 (Sable) are largely un-changed.
show more ...
|
#
eacc5f97 |
| 06-Feb-2012 |
matt <matt@NetBSD.org> |
Do a minor cleanup of alpha (this will make applying pullups post branching easier). u_int{8,16,32,64}_t -> uint{*}_t Change all old-style definitions to C89 prototypes. Whitespace cleanup. Constific
Do a minor cleanup of alpha (this will make applying pullups post branching easier). u_int{8,16,32,64}_t -> uint{*}_t Change all old-style definitions to C89 prototypes. Whitespace cleanup. Constification in db_disasm.c
show more ...
|
#
cf10107d |
| 01-Jul-2011 |
dyoung <dyoung@NetBSD.org> |
#include <sys/bus.h> instead of <machine/bus.h>.
|
#
c87d1b51 |
| 14-Jun-2011 |
matt <matt@NetBSD.org> |
Major cleanup of alpha device drivers. Switch to CFATTACH_DECL_NEW. struct device * -> device_t struct cfdata * -> cfdata_t Use of device_xname. No direct access to struct device members. Use aprint
Major cleanup of alpha device drivers. Switch to CFATTACH_DECL_NEW. struct device * -> device_t struct cfdata * -> cfdata_t Use of device_xname. No direct access to struct device members. Use aprint* (not complete).
show more ...
|
#
a9a95e13 |
| 12-Jan-2010 |
mhitch <mhitch@NetBSD.org> |
Fix incorrect Acer Labs ID. PCI_PRODUCT_ALI_M1543 had been incorrectly identified as product code 0x1533, which is what is actually in the CS20. PCI_PRODUCT_ALI_M1543 was corrected recently and sio
Fix incorrect Acer Labs ID. PCI_PRODUCT_ALI_M1543 had been incorrectly identified as product code 0x1533, which is what is actually in the CS20. PCI_PRODUCT_ALI_M1543 was corrected recently and sio.c would fail to match the bridge.
show more ...
|
#
72047fbc |
| 19-Aug-2009 |
dyoung <dyoung@NetBSD.org> |
isa_detach_hook() needs two arguments, the first an isa_chipset_tag_t.
|
#
e178a961 |
| 19-Aug-2009 |
dyoung <dyoung@NetBSD.org> |
Define isa_dmadestroy and isa_detach_hook. Hook up a couple of isa_detach_hook implementations.
|
#
82357f6d |
| 14-Mar-2009 |
dsl <dsl@NetBSD.org> |
ANSIfy another 1261 function definitions. The only ones left in sys are beyond by sed script! (or in sys/dist or sys/external) Mostly they have function pointer parameters.
|
#
454af1c0 |
| 14-Mar-2009 |
dsl <dsl@NetBSD.org> |
Change about 4500 of the K&R function definitions to ANSI ones. There are still about 1600 left, but they have ',' or /* ... */ in the actual variable definitions - which my awk script doesn't handle
Change about 4500 of the K&R function definitions to ANSI ones. There are still about 1600 left, but they have ',' or /* ... */ in the actual variable definitions - which my awk script doesn't handle. There are also many that need () -> (void). (The script does handle misordered arguments.)
show more ...
|
#
02cdf4d2 |
| 14-Mar-2009 |
dsl <dsl@NetBSD.org> |
Remove all the __P() from sys (excluding sys/dist) Diff checked with grep and MK1 eyeball. i386 and amd64 GENERIC and sys still build.
|
#
ce099b40 |
| 28-Apr-2008 |
martin <martin@NetBSD.org> |
Remove clause 3 and 4 from TNF licenses
|
#
d974db0a |
| 17-Oct-2007 |
garbled <garbled@NetBSD.org> |
Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the v
Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
show more ...
|
#
d99606f7 |
| 22-Jul-2007 |
tsutsui <tsutsui@NetBSD.org> |
More fixes for Jensen, reported and tested by Christoph Franzen in PR port-alpha/36628: - make jensenio_eisa_maxslots() return 8 (instead of 16) since EISA config for slot 8-15 on jensen could retu
More fixes for Jensen, reported and tested by Christoph Franzen in PR port-alpha/36628: - make jensenio_eisa_maxslots() return 8 (instead of 16) since EISA config for slot 8-15 on jensen could return invalid values - pass eisa_chipset_tag_t to eisa_init() and check eisa_maxslots() on probing EISA config space - pass M_ZERO to malloc(9) and make sure malloc(9) doesn't fail - fix typo in a debug printf, add more debug printfs, and use #ifdef EISA_DEBUG to enable them - cast uint8_t value to uint32_t before shift more than 8 bits - check buffer region on reading compressed data from EISA config space
show more ...
|
#
95e1ffb1 |
| 11-Dec-2005 |
christos <christos@NetBSD.org> |
merge ktrace-lwp.
|
#
df80bed9 |
| 13-Sep-2004 |
drochner <drochner@NetBSD.org> |
put EISA attachment specific code inside "#if NPCEB > 0", to avoid references to EISA variables if "pceb" is not defined in kernel configurations, and save some bytes tested by Havard Eidnes (or his
put EISA attachment specific code inside "#if NPCEB > 0", to avoid references to EISA variables if "pceb" is not defined in kernel configurations, and save some bytes tested by Havard Eidnes (or his colleague:-)
show more ...
|
#
46289e1f |
| 30-Aug-2004 |
drochner <drochner@NetBSD.org> |
Phase out the use of a string as first "attach args" member to control which bustype should be attached with a specific call to config_found() (from a "mainbus" or a bus bridge). Do it for isa/eisa/m
Phase out the use of a string as first "attach args" member to control which bustype should be attached with a specific call to config_found() (from a "mainbus" or a bus bridge). Do it for isa/eisa/mca and pci/agp for now. These buses all attach to an mi interface attribute "isabus", "eisabus" etc., and the autoconf framework now allows to specify an interface attribute on config_found() and config_search(), which limits the search of matching config data to these which attach to that specific attribute. So we basically have to call config_found_ia(..., "foobus", ...) where such a bus is attached. As a consequence, where a "mainbus" or alike also attaches other devices (eg CPUs) which do not attach to a specific attribute yet, we need at least pass an attribute name (different from "foobus") so that the foo bus is not found at these places. This made some minor changes necessary which are not obviously related to the mentioned buses.
show more ...
|
#
61230437 |
| 23-Apr-2004 |
itojun <itojun@NetBSD.org> |
pass string length (= boundary info) to pci_devinfo so that we do not run over the end of memory region
|
#
7ca7bdb3 |
| 01-Jan-2003 |
thorpej <thorpej@NetBSD.org> |
Use aprint_normal() for cfprint routines.
|
#
b96bc0d7 |
| 02-Oct-2002 |
thorpej <thorpej@NetBSD.org> |
Use CFATTACH_DECL().
|
#
9a711d69 |
| 27-Sep-2002 |
thorpej <thorpej@NetBSD.org> |
Declare all cfattach structures const.
|
#
d760e0b4 |
| 29-Jul-2000 |
thorpej <thorpej@NetBSD.org> |
Add code to read the EISA configuration NVRAM as set up by an EISA Configuration Utility. Code to access this data is forthcoming.
XXX This could probably be made MI at some point.
|