Add the usec to the secs before subtracting the usec offset - otherwise
I suspect the value can do horribly wrong!
Change all T_SVR4_GETHRESTIME to return sec + nanoseconds (I've not sure
this is correct, but I doubt the 32bit emulation in a 64bit kernel should
act differently to a 32bit kernel!)
Untested - I don't even have a sparc compile setup at the moment.
to select the maximum segment size for each bus_dmamap_load (up to the maxsegsz
supplied to bus_dmamap_create). dm_maxsegsz is reset to the value supplied to
bus_dmamap_create when the dmamap is unloaded.
It was only used by (the also buggy/not ready for prime time) PMAP_PAGE_SIZE,
which in turn only was used in one place.
Get rid of all this and hardcode the result at the single place of use.
the handler and disable them again right after the handler returns.
we don't want another hardware interrupt coming in while we're mucking
with the list pointers. also, clear the intrhand's ih_pending pointer
before calling the handler rather than after, so that if another interrupt
comes in while the handler is running, we can put the intrhand back on
the list so it will be called again.
in send_softint(), disable interrupts via %pstate instead of %pil, so that
hardware interrupts at higher levels are blocked while we manipulate the
intrpending list. also, if the intrhand already has ih_pending set,
don't bother poking the SET_SOFTINT register again, since being on the list
implies that there is already a softint pending in the hardware.
these appear to fix PR 21750 (the "sleep forever" problem).
while I'm here, remove more vestiges of the !INTRLIST softint stuff
(code and comments). and in sparc64_ipi_flush_all(), interrupts are
already disabled so we don't need to fiddle with %pstate.
- Ffs internal snapshots get compiled in unconditionally.
- File system snapshot device fss(4) added to all kernel configs that
have a disk. Device is commented out on all non-GENERIC kernels.
Reviewed by: Jason Thorpe <thorpej@netbsd.org>
doing a context switch. use this on sparc and sparc64 to avoid trying
to access user memory (writing the register windows back to the stack)
in this case (since it's both unnecessary and wrong).
All those kernels have a line for both tun and bridge, and if either is
commented out, tap is commented out also. With the exception of i386's
GENERIC_TINY.
XXX: we _need_ some way of making this more simple.
to four (adding size and direction).
In order for topdown uvm to be an option on ports using PMAP_PREFER,
they will need to "prefer" lower addresses if topdown is being used.
Additionally, at least one port also needs to know the size.
allocate a stack frame for blast_dcache() when profiling so it shows up.
in dcache_flush_page(), use a stride of 32 instead of 16 to match the
cache line size. correct various comments.
(ie. just before we skip the per-page cache invalidations while tearing down
each context) instead of just before we recycle all the contexts in ctx_alloc().
the latter is not good enough since a (physically tagged) L1 cache line is
valid for all contexts, not just the one that was used to instantiate it.
fixes PRs 24126, 25669 and 27730.
is ... slightly confusing. Instead calculate the total size of the dump
beforehand and show the number of MB we still need to dump instead - just
like 386 does it.
It looks like bit 3 control the on-board le's link test, clearing it breaks
the interface (no link detected on the remote end). bit 3 is defined as
AUXIO4M_LTE (link-test enable) for sun4m systems (maybe all the AUXIO4M_*
bits are valid on the Ultra/1 too ?).
Tested on Ultra/1 and Ultra/5, approved by Martin Husemann and Matthew Green.
Should fix port-sparc64/25039 by Lubomir Sedlacik.