History log of /openbsd/sys/arch/sparc64/include/bus.h (Results 1 – 25 of 38)
Revision Date Author Comments
# 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 ...


12