freebsd-dev/sys/sparc64/include
Jake Burkholder eb5b9c0be3 Add support for starting secondary cpus in kernel, as opposed to relying
on the loader to do it.  Improve smp startup code to be less racy and to
defer certain things until the right time.  This almost boots single user
on my dual ultra 60, it is still very fragile:

SMP: AP CPU #1 Launched!
Enter full pathname of shell or RETURN for /bin/sh:
# ls
Debugger("trapsig")
Stopped at      Debugger+0x1c:  ta              %xcc, 1
db> heh
No such command
db>
2002-03-04 07:12:36 +00:00
..
_inttypes.h o Add new header <sys/stdint.h>. 2001-11-02 18:05:43 +00:00
_limits.h o Add new header <sys/stdint.h>. 2001-11-02 18:05:43 +00:00
ansi.h Resurrect one of the easiest changes from my big include files roll-up 2002-02-15 22:15:39 +00:00
asi.h Add asis for the upa config reg, which contains the hardware cpu id, and 2002-01-08 04:29:50 +00:00
asm.h Define __ASM__ so that libc will know not to define C things. 2002-01-01 21:21:05 +00:00
asmacros.h Update comments and defines to reflect that normal and alternate g6 point 2002-01-08 04:34:20 +00:00
atomic.h Use ASI_P instead of ASI_N if _KERNEL isn't defined so that these 2001-12-29 06:48:43 +00:00
bus_common.h Add support for the counter-timer which is included in the Sun U2S and 2002-02-13 16:16:36 +00:00
bus_memio.h Add bus_space and busdma support for sparc64. 2001-11-09 20:05:53 +00:00
bus_pio.h Add bus_space and busdma support for sparc64. 2001-11-09 20:05:53 +00:00
bus.h Clean up bus space debugging support; change sparc64_bus_mem_map() to 2002-02-13 15:51:57 +00:00
cache.h Use stxa_sync() when accessing the diagnostic registers to invalidate 2002-02-13 16:20:38 +00:00
ccr.h Add definitions for the number of bits in the icc and xcc fields 2001-12-29 06:50:25 +00:00
clock.h The author isn't a [UC] Regents. Correct the copyright language. 2001-08-09 02:09:34 +00:00
cpu.h Define CKLF_PC in terms of TRAPF_PC. 2002-01-08 04:36:53 +00:00
cpufunc.h Add a few new functions/macros: intr_disable() and intr_restore() to 2002-02-13 15:40:05 +00:00
db_machdep.h 1. Remove kdbframe. Bad idea. 2001-11-18 03:41:12 +00:00
elf.h Implement elf_reloc. This makes klds work. 2001-10-27 07:09:40 +00:00
endian.h Add the following functions/macros to support byte order conversions and 2002-02-27 17:16:18 +00:00
exec.h The author isn't a [UC] Regents. Correct the copyright language. 2001-08-09 02:09:34 +00:00
float.h Add kernel headers needed to build libc. Some are bogus and/or just enough 2001-11-18 17:56:46 +00:00
floatingpoint.h Add this FreeBSD standard header. 2002-02-10 14:27:20 +00:00
fp.h Change fpblock to be an array of ints instead longs. 2001-12-29 06:53:19 +00:00
frame.h Add a macro for shift of an integer (1 << shift == sizeof). Move the pointer 2002-02-27 00:21:04 +00:00
fsr.h 1. Split fp.h into fp.h and fsr.h so that the latter can be included 2001-11-18 04:00:22 +00:00
idprom.h Add a structure defintion for the id prom contents. 2001-11-18 20:50:11 +00:00
ieee.h Add kernel headers needed to build libc. Some are bogus and/or just enough 2001-11-18 17:56:46 +00:00
ieeefp.h Standardize idempotentcy ifdefs. 2001-11-18 20:30:16 +00:00
in_cksum.h Add optimized implementations of in_cksum_skip() and related functions 2001-11-06 20:05:01 +00:00
instr.h Adapt for used by upcoming fp emulation code. 2001-12-29 08:55:56 +00:00
intr_machdep.h Avoid crashing in early boot when WITNESS is enabled by moving the 2002-02-13 16:36:44 +00:00
iommureg.h Add a delta missed in the last iommu.c commit. This unbreaks the sparc64 2002-02-15 14:48:54 +00:00
iommuvar.h Merge r1.42 of iommu.c and r1.9 of iommuvar.h from NetBSD (this adds 2002-02-13 15:59:17 +00:00
ktr.h Remove an unused macro arg. 2001-10-20 15:57:39 +00:00
limits.h o Add new header <sys/stdint.h>. 2001-11-02 18:05:43 +00:00
lsu.h Add definitions for bits in condition code register and the load store 2001-08-20 23:34:46 +00:00
md_var.h Make cpu_identify take the value of the ver register and cpuid as arguments 2002-02-27 06:05:50 +00:00
metadata.h Add metadata types for dtlb and itlb data, and number of slots used. 2002-02-23 17:43:44 +00:00
mutex.h Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
nexusvar.h Correct the defintion of struct ofw_upa_regs, and use it instead of 2002-01-02 18:27:13 +00:00
ofw_bus.h Add some OpenFirmware bus support code and definitions. 2001-11-09 20:10:55 +00:00
ofw_machdep.h Add some OpenFirmware bus support code and definitions. 2001-11-09 20:10:55 +00:00
ofw_nexus.h Correct the defintion of struct ofw_upa_regs, and use it instead of 2002-01-02 18:27:13 +00:00
ofw_upa.h Correct the defintion of struct ofw_upa_regs, and use it instead of 2002-01-02 18:27:13 +00:00
param.h Parameterize the number of pages to allocate for the per-cpu area on 2002-02-27 06:08:13 +00:00
pcb.h Remove pcb_y. It has moved to trapframe. 2001-12-29 07:00:30 +00:00
pcpu.h Add support for starting secondary cpus in kernel, as opposed to relying 2002-03-04 07:12:36 +00:00
pmap.h Allocate tlb contexts on the fly in cpu_switch, instead of statically 1 to 1 2002-03-04 05:20:29 +00:00
proc.h Implement user trap delivery as specified by the sparc abi. This provides 2002-01-01 20:56:28 +00:00
profile.h Add kernel headers needed to build libc. Some are bogus and/or just enough 2001-11-18 17:56:46 +00:00
pstate.h Define PSTATE_MM_MASK in terms of PSTATE_MM_SIZE. 2001-12-29 07:01:34 +00:00
ptrace.h Define basic macros required by GDB. 2002-02-26 21:49:46 +00:00
pv.h Implement pv entries as separate structures from the ttes, like other 2001-12-29 08:17:16 +00:00
reg.h Add fprs to struct fpreg. 2001-12-29 07:02:12 +00:00
reloc.h Add kernel headers needed to build libc. Some are bogus and/or just enough 2001-11-18 17:56:46 +00:00
resource.h
setjmp.h jmpbuf is no longer a ucontext_t since it does not need to be passed 2001-12-29 07:03:09 +00:00
sigframe.h Implement signals. 2001-09-03 22:41:40 +00:00
signal.h Don't use types that require other headers. 2001-09-30 18:52:17 +00:00
smp.h Add support for starting secondary cpus in kernel, as opposed to relying 2002-03-04 07:12:36 +00:00
stdarg.h
sysarch.h Implement sysarch(SPARC_UTRAP_INSTALL). 2002-01-01 20:57:51 +00:00
tick.h Add code to program the tick register and to setup its interrupt handler. 2001-08-10 04:49:33 +00:00
tlb.h Dig the information about which tlb slots were used to map the kernel out 2002-03-04 07:07:10 +00:00
trap.h Add a panic stack, which is used as a known good stack when there is 2002-01-01 20:26:46 +00:00
tsb.h Minimal testing has shown that a 4 page tsb is a nice sweet spot for current 2002-02-27 06:18:02 +00:00
tstate.h Add definitions for TSTATE_MM_* and TSTATE_{I,X}CC_*. 2001-12-29 07:11:00 +00:00
tte.h Modify the tte format to not include the tlb context number and to store the 2002-02-25 04:56:50 +00:00
types.h style(9) 2001-12-09 19:12:07 +00:00
ucontext.h 1. Remove bootinfo and just pass loader metadata to the kernel. 2001-11-18 03:02:53 +00:00
upa.h Add support for starting secondary cpus in kernel, as opposed to relying 2002-03-04 07:12:36 +00:00
utrap.h Add a define for the fp restore soft trap type. 2002-01-01 21:19:46 +00:00
varargs.h Standardize idempotentcy ifdefs. 2001-11-18 20:30:16 +00:00
ver.h Define constants for the CPU implementation id; export the dectected id 2002-02-13 15:47:12 +00:00
vmparam.h Add comments as to why VM_MAXUSER_ADDRESS is magic (abitrary). 2001-12-29 08:25:43 +00:00
watch.h Add code for supporting hardware watch points. 2001-08-20 23:50:08 +00:00
wstate.h Implement a nested window state. This avoids attempting to spill a user 2002-02-25 18:37:17 +00:00