freebsd-skq/sys/sparc64/include
Marius Strobl 4a35efc720 - For Cheetah- and Zeus-class CPUs don't flush all unlocked entries from
the TLBs in order to get rid of the user mappings but instead traverse
  them an flush only the latter like we also do for the Spitfire-class.
  Also flushing the unlocked kernel entries can cause instant faults which
  when called from within cpu_switch() are handled with the scheduler lock
  held which in turn can cause timeouts on the acquisition of the lock by
  other CPUs. This was easily seen with a 16-core V890 but occasionally
  also happened with 2-way machines.
  While at it, move the SPARC64-V support code entirely to zeus.c. This
  causes a little bit of duplication but is less confusing than partially
  using Cheetah-class bits for these.
- For SPARC64-V ensure that 4-Mbyte page entries are stored in the 1024-
  entry, 2-way set associative TLB.
- In {d,i}tlb_get_data_sun4u() turn off the interrupts in order to ensure
  that ASI_{D,I}TLB_DATA_ACCESS_REG actually are read twice back-to-back.

Tested by:      Peter Jeremy (16-core US-IV), Michael Moll (2-way SPARC64-V)
2011-07-02 11:14:54 +00:00
..
_align.h
_bus.h
_inttypes.h Sync licenses and the corresponding RCS IDs with NetBSD, mainly switching 2011-03-12 14:33:32 +00:00
_limits.h Fix types of some values in machine/_limits.h. 2011-01-08 11:13:34 +00:00
_stdint.h Sync licenses and the corresponding RCS IDs with NetBSD, mainly switching 2011-03-12 14:33:32 +00:00
_types.h Add sparc64 support. 2011-05-06 21:53:29 +00:00
asi.h Add support for SPARC64 V (and where it already makes sense for other 2010-05-02 19:38:17 +00:00
asm.h Add macros for alternate entry points. 2010-09-15 21:11:29 +00:00
asmacros.h Add an ATOMIC_CLEAR_LONG. 2011-05-10 21:18:45 +00:00
atomic.h
bus_common.h
bus_dma.h Sync licenses and the corresponding RCS IDs with NetBSD, mainly switching 2011-03-12 14:33:32 +00:00
bus_private.h
bus.h Sync licenses and the corresponding RCS IDs with NetBSD, mainly switching 2011-03-12 14:33:32 +00:00
cache.h - For Cheetah- and Zeus-class CPUs don't flush all unlocked entries from 2011-07-02 11:14:54 +00:00
ccr.h
clock.h
cmt.h - Assert that HEAPSZ is a multiple of PAGE_SIZE as at least the firmware 2010-02-13 14:13:39 +00:00
cpu.h - For Cheetah- and Zeus-class CPUs don't flush all unlocked entries from 2011-07-02 11:14:54 +00:00
cpufunc.h Correct spelling in comments. 2011-04-22 09:31:40 +00:00
db_machdep.h
dcr.h Correct the DCR_IPE macro to refer to the right bit. Also improve the 2010-04-10 11:13:51 +00:00
elf.h Add AT_STACKPROT elf aux vector. Will be used to inform rtld about the 2011-01-07 14:22:34 +00:00
endian.h In the replacement text of the __bswapN_const() macros cast the argument 2010-10-08 14:59:45 +00:00
exec.h
fireplane.h - Assert that HEAPSZ is a multiple of PAGE_SIZE as at least the firmware 2010-02-13 14:13:39 +00:00
float.h Fix the value for DECIMAL_DIG on UltraSparcs. The previous value of 2011-01-09 06:05:48 +00:00
floatingpoint.h
fp.h
frame.h
fsr.h
gdb_machdep.h
idprom.h
ieee.h
ieeefp.h
in_cksum.h
instr.h
intr_machdep.h Reserve INTR_MD[1-4] similarly to what BUS_DMA_BUS[1-4] are intended for 2011-01-04 16:11:32 +00:00
iommureg.h Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
iommuvar.h Sync licenses and the corresponding RCS IDs with NetBSD, mainly switching 2011-03-12 14:33:32 +00:00
jbus.h - Assert that HEAPSZ is a multiple of PAGE_SIZE as at least the firmware 2010-02-13 14:13:39 +00:00
kdb.h
kerneldump.h
ktr.h Adapt CATR() to r222813. This is somewhat tricky as we can't afford using 2011-06-07 17:33:39 +00:00
limits.h
lsu.h Update for UltraSPARC-IV{,+} and SPARC64 V, VI, VII and VIIIfx CPUs. 2010-04-11 15:35:17 +00:00
mcntl.h Add support for SPARC64 V (and where it already makes sense for other 2010-05-02 19:38:17 +00:00
md_var.h Add a VIS-based block copy function for SPARC64 V and later, which 2010-09-15 21:44:31 +00:00
memdev.h Add reader/writer lock around mem_range_attr_get() and mem_range_attr_set(). 2011-01-17 22:58:28 +00:00
metadata.h
nexusvar.h - Add the 'cmp' and 'core' pseudo-busses which are used to group CPU cores 2010-02-13 18:51:49 +00:00
ofw_machdep.h Add OF_getscsinitid(), a helper similar to OF_getetheraddr() but for 2010-04-26 19:13:10 +00:00
ofw_mem.h
ofw_nexus.h Sync licenses and the corresponding RCS IDs with NetBSD, mainly switching 2011-03-12 14:33:32 +00:00
param.h
pcb.h
pcpu.h Adapt sparc64 and sun4v timer code for the new event timers infrastructure. 2010-07-29 12:08:46 +00:00
pmap.h Add sparc64 support. 2011-05-06 21:53:29 +00:00
pmc_mdep.h
proc.h Reorganize syscall entry and leave handling. 2010-05-23 18:32:02 +00:00
profile.h
pstate.h
ptrace.h
reg.h
reloc.h
resource.h
runq.h
sc_machdep.h
setjmp.h
sf_buf.h
sigframe.h
signal.h
smp.h Don't include curcpu in the mask which is used as the IPI cookie as we 2011-06-15 22:41:55 +00:00
stack.h
stdarg.h
sysarch.h
tick.h - Wrap exchanging td_intr_frame and calling the event timer callback in 2010-10-19 19:44:05 +00:00
tlb.h - For Cheetah- and Zeus-class CPUs don't flush all unlocked entries from 2011-07-02 11:14:54 +00:00
trap.h
tsb.h On machines where we don't need to lock the kernel TSB into the dTLB and 2011-06-21 20:48:14 +00:00
tstate.h
tte.h - Add TTE and context register bits for the additional page sizes supported 2010-03-17 20:23:14 +00:00
ucontext.h
upa.h - Search the whole OFW device tree instead of only the children of the 2010-02-13 16:52:33 +00:00
utrap.h
varargs.h Remove the advertising clause from the UCB license according to the 2011-03-13 13:42:43 +00:00
ver.h Add macros for the VER.impl of SPARC64 II to VIIIfx. 2010-03-17 21:00:39 +00:00
vm.h
vmparam.h Fix whitespace 2011-06-21 20:50:55 +00:00
watch.h
wstate.h - The firmware of Sun Fire V1280 has a misfeature of setting %wstate to 2010-03-21 13:09:54 +00:00