#
0fc03ff9 |
| 22-Oct-2024 |
jsg <jsg@openbsd.org> |
remove redundant include guard in BUS_SPACE_DEBUG path incorrectly renamed in rev 1.26
discussed with claudio@
|
#
0793d0d1 |
| 24-Dec-2023 |
jsg <jsg@openbsd.org> |
rename bus_type enum to sparc_bus_type to not conflict with bus_type in drm build error reported by deraadt@ ok kettenis@
|
#
47c47fea |
| 16-Oct-2022 |
jsg <jsg@openbsd.org> |
Change function definitions using the identifier-list form used in the 1st edition of Kernighan and Ritchie's The C Programming Language, to that of the parameter-type-list form described in the ANSI
Change function definitions using the identifier-list form used in the 1st edition of Kernighan and Ritchie's The C Programming Language, to that of the parameter-type-list form described in the ANSI X3.159-1989 standard.
In ISO/IEC 9899:2023 drafts, there is only one form of function definition. "N2432 Remove support for function definitions with identifier lists".
ok kettenis@
show more ...
|
#
f56b290d |
| 04-Jan-2022 |
deraadt <deraadt@openbsd.org> |
hide more things behind _KERNEL, in case userland manages to include this file
|
#
1d9e937e |
| 23-Jun-2020 |
jmatthew <jmatthew@openbsd.org> |
Implement pci_intr_establish_cpu() for pyro(4) and vpci(4) based sparc64 systems. MSIs on these systems are delivered to event queues, which trigger interrupts when non-empty. The interrupt handler
Implement pci_intr_establish_cpu() for pyro(4) and vpci(4) based sparc64 systems. MSIs on these systems are delivered to event queues, which trigger interrupts when non-empty. The interrupt handler dequeues the MSIs and converts them into soft interrupts, which run on the same cpu as the event queue interrupt.
To target pci device interrupts to different cpus, we set up an event queue per cpu in the system, or as many as we can, if there are fewer event queues available. For now, we don't have a way to feed this information back to intrmap, so instead we just map interrupts for cpus that don't have an event queue to another cpu that does have one.
Tested on V215 (pyro), T5120, T4-1, S7-2 (vpci). dlg@ got the pyro side of it working for me. ok dlg@ kettenis@
show more ...
|
#
27d3e2e5 |
| 25-May-2017 |
dlg <dlg@openbsd.org> |
tweak sparc64 membars as a step toward making them usable in userland.
specifically, dont rely on magic in ctlreg to implement membars. moving that to atomic.h would add a lot of pollution to the na
tweak sparc64 membars as a step toward making them usable in userland.
specifically, dont rely on magic in ctlreg to implement membars. moving that to atomic.h would add a lot of pollution to the namespace, so move to passing the membar options to a single __membar macro.
this tweaks everything that was using the ctlreg backend to either use an appropriate membar_foo(), or to use __membar() in the MD code.
ok kettenis@
show more ...
|
#
b0002153 |
| 08-May-2017 |
dlg <dlg@openbsd.org> |
add a BUS_DMA_64BIT flag to bus_dma on all our archs.
this is so drivers can advertise that they can handle 64 dma addresses to the platform. it may choose to handle dmamaps differently based on thi
add a BUS_DMA_64BIT flag to bus_dma on all our archs.
this is so drivers can advertise that they can handle 64 dma addresses to the platform. it may choose to handle dmamaps differently based on this flag.
tweaks and ok tom@ ok kettenis@
show more ...
|
#
a6dd7494 |
| 13-Feb-2017 |
dlg <dlg@openbsd.org> |
whitespace tweak. no functional change.
|
#
bdd819b7 |
| 04-May-2016 |
kettenis <kettenis@openbsd.org> |
Some hardware (such as the onboard dc(4) of the Netra X1) has a broken DMA engine that might attempt to read beyond the end of the buffer that was programmed. The IOMMU catches this "DMA overrun" an
Some hardware (such as the onboard dc(4) of the Netra X1) has a broken DMA engine that might attempt to read beyond the end of the buffer that was programmed. The IOMMU catches this "DMA overrun" and throws an unrecoverable error at us, at which point we have no choice but to panic. To avoid this implement a BUS_DMA_OVERRUN flag that maps an additional scratch page at the end of the vdma address range. DMA requests will spill over into this page, which just returns zeroes.
Thanks to matthieu@ for giving me access to a machine with the problem.
ok deraadt@, beck@
show more ...
|
#
f8e9be80 |
| 13-May-2013 |
kettenis <kettenis@openbsd.org> |
Implement support for running interrupt handlers without taking the kernel lock, by adding a new BUS_INTR_ESTABLISH_MPSAFE flag for use with the (sparc64-specific) bus_intr_establish(9) interface. A
Implement support for running interrupt handlers without taking the kernel lock, by adding a new BUS_INTR_ESTABLISH_MPSAFE flag for use with the (sparc64-specific) bus_intr_establish(9) interface. Add support for this flag to schizo(4); other bus drivers will ignore it for now. While there, remove the BUS_INTR_ESTABLISH_FASTTRAP flag which serves no purpose.
show more ...
|
#
87881ff4 |
| 22-Jan-2013 |
dlg <dlg@openbsd.org> |
pull the guts of bus_space_barrier into the inline function in the header. there's only one implementation of it on sparc64, so we shouldnt need to iterate up a chain of bus_space_tags to get to it.
pull the guts of bus_space_barrier into the inline function in the header. there's only one implementation of it on sparc64, so we shouldnt need to iterate up a chain of bus_space_tags to get to it.
because the only argument that is used inside the function is the flags, this can generally be inlined to a single membar opcode. this leaves that op as membar(Sync) for now while kettenis@ thinks about what changing it might mean.
ok miod@
show more ...
|
#
7142cce9 |
| 27-Sep-2011 |
miod <miod@openbsd.org> |
Make bus_addr_t and bus_size_t u_long types, instead of either uint32_t or uint64_t, depending upon the platform; this makes the declaration of these types consistent accross all our supported platfo
Make bus_addr_t and bus_size_t u_long types, instead of either uint32_t or uint64_t, depending upon the platform; this makes the declaration of these types consistent accross all our supported platform, and we do not intend to support a platform where bus_addr_t could be larger than the size of the cpu register. Requested by deraadt@ during s2k11
show more ...
|
#
2fa72412 |
| 23-Mar-2011 |
pirofti <pirofti@openbsd.org> |
Normalize sentinel. Use _MACHINE_*_H_ and _<ARCH>_*_H_ properly and consitently.
Discussed and okay drahn@. Okay deraadt@.
|
#
471ccd18 |
| 20-Apr-2009 |
oga <oga@openbsd.org> |
Add a BUS_DMA_ZERO flag for bus_dmamem_alloc() to return zeroed memory.
Saves every damned driver calling bzero(), and continues the M_ZERO, PR_ZERO symmetry.
|
#
d874cce4 |
| 26-Jun-2008 |
ray <ray@openbsd.org> |
First pass at removing clauses 3 and 4 from NetBSD licenses.
Not sure what's more surprising: how long it took for NetBSD to catch up to the rest of the BSDs (including UCB), or the amount of code t
First pass at removing clauses 3 and 4 from NetBSD licenses.
Not sure what's more surprising: how long it took for NetBSD to catch up to the rest of the BSDs (including UCB), or the amount of code that NetBSD has claimed for itself without attributing to the actual authors.
OK deraadt@
show more ...
|
#
59c45879 |
| 04-Aug-2007 |
kettenis <kettenis@openbsd.org> |
Add sparc_bus_addr member to struct sparc_bus_space_tag. This function maps a bus_space_handle_t back to a bus_addr_t. Needed for rbus. Only implemented for mainbus(4) and psycho(4) for now; schizo
Add sparc_bus_addr member to struct sparc_bus_space_tag. This function maps a bus_space_handle_t back to a bus_addr_t. Needed for rbus. Only implemented for mainbus(4) and psycho(4) for now; schizo(4) and pyro(4) will follow soon.
ok deraadt@
show more ...
|
#
d277156a |
| 29-May-2007 |
sobrado <sobrado@openbsd.org> |
use the right capitalization for `SBus'
ok jmc@
|
#
5e039a2f |
| 10-Apr-2007 |
miod <miod@openbsd.org> |
Remove unused BUS_SPACE_ALIGNED_POINTER, __BUS_SPACE_ADDRESS_SANITY and __BUS_SPACE_ALIGNED_ADDRESS.
|
#
db8a8c78 |
| 30-Dec-2006 |
claudio <claudio@openbsd.org> |
Remove __BUS_SPACE_HAS_STREAM_METHODS, the stream methods are a netbsd-ism. discussed with miod@ who has the same changes hiding in one of his trees.
|
#
c16eba94 |
| 07-Jun-2006 |
miod <miod@openbsd.org> |
Remove unused bus_space_probe().
|
#
c916d948 |
| 06-Jan-2006 |
millert <millert@openbsd.org> |
Adapt things to use __type_t instead of _BSD_TYPE_T_ Add new sys/_types.h header Include machine/_types.h or sys/_types.h where applicable
|
#
aae05663 |
| 10-Jul-2005 |
brad <brad@openbsd.org> |
remove two unused flags
|
#
85729938 |
| 24-Jun-2003 |
henric <henric@openbsd.org> |
Add a "where" argument to the sparc64 interrupt code. This lets us associate a name with each interrupt handler. This is not visible outside the kernel (yet).
ok jason@
|
#
745b6152 |
| 06-Mar-2003 |
henric <henric@openbsd.org> |
The existing IOMMU code had a rounding problem that was most noticeable on faster systems under heavy network load. This replaces some of the unreadable iommu functions with something a little less
The existing IOMMU code had a rounding problem that was most noticeable on faster systems under heavy network load. This replaces some of the unreadable iommu functions with something a little less dense and a lot less crash prone.
The bus_dma function pointer/cookie handling was broken. Change them to work like the stacked bus_space drivers (where "work" is the key word).
Tested my many (thanks).
ok jason@ deraadt@
show more ...
|
#
eb79e960 |
| 17-Feb-2003 |
henric <henric@openbsd.org> |
Add support for the Sun Enterprise 450 Reduce the size of a GENERIC kernel by ~190k Remove the nasty pointer/bus_space_handle_t casts Adds debug bus_space code including the ability to trace bus
Add support for the Sun Enterprise 450 Reduce the size of a GENERIC kernel by ~190k Remove the nasty pointer/bus_space_handle_t casts Adds debug bus_space code including the ability to trace bus operations (it actually works now).
The following rules are now followed (and verfified by the debug code):
1. A "bus_space_handle_t" may only be used with the "bus_space_tag_t" that created it. 2. Only "bus_space_map()" may create "bus_space_handle_t"s. 3. A "bus_space_handle_t" may not be modified after it has been created (other than being destroyed by "bus_space_unmap()").
Thanks to help from mcbride, marc, jason, drahn, to anyone that might have slipped my mind at the moment.
ok jason@, deraadt@
show more ...
|