History log of /openbsd/sys/arch/sparc64/dev/psycho.c (Results 1 – 25 of 84)
Revision Date Author Comments
# 8a1e8cca 29-Mar-2024 miod <miod@openbsd.org>

Drop the first argument of intr_establish().

Instead, require all callers to put the right value in the ih_pil field, and
have intr_establish() trust them rather than assigning this field again from

Drop the first argument of intr_establish().

Instead, require all callers to put the right value in the ih_pil field, and
have intr_establish() trust them rather than assigning this field again from
its first argument.

ok claudio@ kettenis@

show more ...


# b3af768d 11-Apr-2023 jsg <jsg@openbsd.org>

fix double words in comments
feedback and ok jmc@ miod, ok millert@


# 24ee467d 04-Feb-2023 cheloha <cheloha@openbsd.org>

timecounting: remove incomplete PPS support

The timecounting code has had stubs for pulse-per-second (PPS) polling
since it was imported in 2004. At this point it seems unlikely that
anyone is goin

timecounting: remove incomplete PPS support

The timecounting code has had stubs for pulse-per-second (PPS) polling
since it was imported in 2004. At this point it seems unlikely that
anyone is going to finish adding PPS support, so let's remove the stubs:

- Delete the dead tc_poll_pps() call from tc_windup().
- Remove all tc_poll_pps symbols from the kernel.

Link: https://marc.info/?l=openbsd-tech&m=167519035723210&w=2

ok miod@

show more ...


# 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 ...


# 806956e3 21-Feb-2022 jsg <jsg@openbsd.org>

independednt -> independent, let's -> lets


# eb7eaf8d 24-Oct-2021 mpi <mpi@openbsd.org>

Constify struct cfattach.

ok visa@ a long time ago


# 8611d3cd 23-Feb-2021 cheloha <cheloha@openbsd.org>

timecounting: use C99-style initialization for all timecounter structs

The timecounter struct is large and I think it may change in the
future. Changing it later will be easier if we use C99-style

timecounting: use C99-style initialization for all timecounter structs

The timecounter struct is large and I think it may change in the
future. Changing it later will be easier if we use C99-style
initialization for all timecounter structs. It also makes reading the
code a bit easier.

For reasons I cannot explain, switching to C99-style initialization
sometimes changes the hash of the resulting object file, even though
the resulting struct should be the same. So there is a binary change
here, but only sometimes. No behavior should change in either case.

I can't compile-test this everywhere but I have been staring at the
diff for days now and I'm relatively confident this will not break
compilation. Fingers crossed.

ok gnezdo@

show more ...


# d82e6535 06-Jul-2020 pirofti <pirofti@openbsd.org>

Add support for timeconting in userland.

This diff exposes parts of clock_gettime(2) and gettimeofday(2) to
userland via libc eliberating processes from the need for a context
switch everytime they

Add support for timeconting in userland.

This diff exposes parts of clock_gettime(2) and gettimeofday(2) to
userland via libc eliberating processes from the need for a context
switch everytime they want to count the passage of time.

If a timecounter clock can be exposed to userland than it needs to set
its tc_user member to a non-zero value. Tested with one or multiple
counters per architecture.

The timing data is shared through a pointer found in the new ELF
auxiliary vector AUX_openbsd_timekeep containing timehands information
that is frequently updated by the kernel.

Timing differences between the last kernel update and the current time
are adjusted in userland by the tc_get_timecount() function inside the
MD usertc.c file.

This permits a much more responsive environment, quite visible in
browsers, office programs and gaming (apparently one is are able to fly
in Minecraft now).

Tested by robert@, sthen@, naddy@, kmos@, phessler@, and many others!

OK from at least kettenis@, cheloha@, naddy@, sthen@

show more ...


# 630edadf 25-Jun-2019 dlg <dlg@openbsd.org>

add support for bypassing iommu translation

managing the translation table entries (TTEs) on an iommu is not
free, and is in fact extremely expensive on some platforms. the
flip side of this is that

add support for bypassing iommu translation

managing the translation table entries (TTEs) on an iommu is not
free, and is in fact extremely expensive on some platforms. the
flip side of this is that forcing dma through TTEs does provide
some safety and can help during the development of drivers. however,
this has been less true in recent years than it used to be and is
less of a concern now, especially considering the performance
differences on some platforms.

devices have to create dmamaps with BUS_DMA_64BIT to bypass the
iommu because the memory window presented to hardware with direct
access to memory is at an extremely high address. there's no 32bit
bypass access to memory, it has to go through TTEs otherwise.

on an m4000 there are several orders of magnitude performance
difference between a driver with BUS_DMA_64BIT set and one without
it.

hilariously, sun used a pci bridge on a whole generation of machines
that had broken support for dma addresses over 40 bits (or around
there), so devices behind those pci bridges need to have their
dmamap_creates intercepted and any potential BUS_DMA_64BIT flags
cleared on the way to the iommu drivers. this affects at least v215,
v245, and v445, and probably u25s and u45s. it probably explains
why all their onboard nics and disk controllers feel super slow,
and why there was a meme at sun that bcopy was cheaper than dma
when moving packets on and off a nic.

ok kettenis@ deraadt@

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 ...


# aaed5986 23-Aug-2016 guenther <guenther@openbsd.org>

Convert %q to %ll in format strings

ok natano@ krw@


# 8bfc2cde 12-Jul-2014 uebayasi <uebayasi@openbsd.org>

reboot(9), panic(9): Call panic(9) for unrecoverable MD H/W errors (NMIs)

Some architectures have ability to detect hardware sanity and notify system
(NMI, firmware callback, etc.). Handle these ha

reboot(9), panic(9): Call panic(9) for unrecoverable MD H/W errors (NMIs)

Some architectures have ability to detect hardware sanity and notify system
(NMI, firmware callback, etc.). Handle these hardware severe errors, same
as software errors, with panic(9).

According to miod@, SGI IP27 NMI is triggered by pushing some "hidden" button,
which "usual" users/admins don't know. Pushing such a button is "RB_USERREQ"
(human-triggered) in that the button is pushed by a human, but not "RB_USERREQ"
in that no user intervention in system (== no command input) is done. miod@
agreed that changing these from RB_USERREQ to !RB_USERREQ (== panic(9)) is
not a big problem.

OK miod@ kettenis@

show more ...


# f8e6c425 12-Jul-2014 tedu <tedu@openbsd.org>

add a size argument to free. will be used soon, but for now default to 0.
after discussions with beck deraadt kettenis.


# 818c7e6d 12-Jul-2014 uebayasi <uebayasi@openbsd.org>

boot(9), reboot(9): Migrate MD callers of boot(9) to reboot(9)

I have found that some ports call boot(9) from machine-dependent code to
reboot system. These should be changed to either:

- Sending

boot(9), reboot(9): Migrate MD callers of boot(9) to reboot(9)

I have found that some ports call boot(9) from machine-dependent code to
reboot system. These should be changed to either:

- Sending signal to init(8) to trigger it to shutdown system cleanly, like
acpi(4) does, in cases where found problems don't prevent system from working
immediately, or

- Just doing panic(9) if the situation is severely broken.

For now, just rewrite boot() to reboot(). Actual fixes follow.

Discussed with & OK from kettenis@

show more ...


# fa1bd43d 24-Jan-2014 kettenis <kettenis@openbsd.org>

Add support for BUS_INTR_ESTABLISH_MPSAFE.


# 0ca66180 06-Jul-2011 kettenis <kettenis@openbsd.org>

Handle pci_conf_read() faults on reading non-existent registers that result
in master aborts. Return 0xffffffff to emulate what happens on non-perfect
architectures in that case.

ok deraadt@


# 0d93a06b 26-Jun-2011 kettenis <kettenis@openbsd.org>

Fix some inconsistencies in how we build 64-bit addresses from OF properties.


# b1926db3 04-Dec-2010 miod <miod@openbsd.org>

Introduce a new pci routine, pci_conf_size(), which returns the size of a
given pcitag_t configuration address space. Currently, all pci controllers
will return the usual 0x100 bytes of PCI configura

Introduce a new pci routine, pci_conf_size(), which returns the size of a
given pcitag_t configuration address space. Currently, all pci controllers
will return the usual 0x100 bytes of PCI configuration space, but this will
eventually change on PCIe-capable controlers.
ok kettenis@

show more ...


# 118aaddb 29-Mar-2009 kettenis <kettenis@openbsd.org>

bzero pci attach args

ok deraadt@, miod@


# e10c952f 29-Mar-2009 sthen <sthen@openbsd.org>

make various strings ("can't map mem space" and similar) more consistent
between instances, saving space in the kernel. feedback from many (some
incorporated, some left for future work).

ok deraadt,

make various strings ("can't map mem space" and similar) more consistent
between instances, saving space in the kernel. feedback from many (some
incorporated, some left for future work).

ok deraadt, kettenis, "why not" miod.

show more ...


# af956b4d 02-Jan-2009 kettenis <kettenis@openbsd.org>

Make IOMMU code use the generic _bus_dmamem_map() and _bus_dmamem_unmap().


# d5156216 25-Nov-2008 kettenis <kettenis@openbsd.org>

Fix dmesg ugliness caused by not printing iotdb stuff.


# 45d6f03d 23-Jul-2008 kettenis <kettenis@openbsd.org>

Clear correctable errors after handling them. From Bjorn Andersson.


# d9c89e4c 20-Jul-2008 kettenis <kettenis@openbsd.org>

Provide a timecounter based on the UltraSPARC IIe STICK logic.


# ddb8df12 12-Jul-2008 kettenis <kettenis@openbsd.org>

Don't install interrupt handlers for non-exitsing interrupts on CMU-CH.


1234