Go to file
mrg 2102e18c4b SMP cleanup. provide support for multiple CPUs in DDB. (SMP itself
is still not working.)

cpu.h:
- add a pointer for DDB regs in SMP environment to struct cpu_info
- remove the #defines for mp_pause_cpus() and mp_resume_cpus()
cpuset.h:
- remove CPUSET_ALL() and rename CPUSET_ALL_BUT() to CPUSET_EXCEPT()
  from petrov.
db_machdep.h:
- rename the members of db_regs_t to be the same as sparc
- change "db_regs_t ddb_regs" to "db_regs_t *ddb_regp" and change
  all references to suit
- redo DDB_REGS to no longer be a pointer to a fixed data structure
  but to one allocated per-cpu when ddb is entered
- move a bunch of prototypes in here
intr.h:
- remove SPARC64_IPI_* macros, no longer used
db_interface.c:
- change "db_regs_t ddb_regs" to "db_regs_t *ddb_regp" and change
  all references to suit
- make "nil" a 64 bit entity
- change the ddb register access methods to work in multiprocessor
  environment, it is now very much like sparc does it
- in kdb_trap() avoid accessing ddb_regp when it is NULL
- update several messages to include the cpu number
- unpause other cpus much later when resuming from ddb
- rename db_lock() to db_lock_cmd(), as the sparc-like code has
  db_lock as a simple lock
- remove "mach cpus" command, and replace it with "mach cpu" (which
  does the same) and also implement "mach cpu N" to switch to
  another cpus saved trapframe
db_trace.c:
- update for the ddb_regs -> ddb_regp change
genassym.cf:
- add TF_KSTACK as offsetof(struct trapframe64, tf_kstack)
ipifuncs.c:
- overhaul extensively
- remove all normal interrupt handlers as IPI's, we now handle
  them all specially in locore.s:interrupt_vector
- add a simplelock around all ipi functions - it's not safe for
  multiple cpus to be sending IPI's to each other right now
- rename sparc64_ipi_pause() to sparc64_ipi_pause_thiscpu() and,
  if DDB is configured, enable it to save the passed-in trapframe
  to a db_regs_t for this cpu's saved DDB registers.
- remove the "ipimask" system (SPARC64_IPI_* macros) and instead
  pass functions directly
- in sparc64_send_ipi() always set the interrupt arguments to 0,
  the address and argument of the to be called function.  (the
  argument right now is the address of ipi_tlb_args variable, and
  part of the reason why only one CPU can send IPI's at a time.)
  don't wait forever for an IPI to complete.  some of this is
  from petrov.
- rename sparc64_ipi_{halt,pause,resume}_cpus() to
  mp_{halt,pause,resume}_cpus()
- new function mp_cpu_is_paused() used to avoid access missing
  saved DDB registers
- actually broadcast the flush in smp_tlb_flush_pte(),
  smp_tlb_flush_ctx() and smp_tlb_flush_all().  the other end may
  not do anything yet in the pte/ctx cases yet...
kgdb_machdep.c:
- rework for changed member names in db_regs_t.
locore.s:
- shave an instruction from syscall_setup() (set + ld -> sethi + ld)
- remove some old dead debug code
- add new sparc64_ipi_halt IPI entry point, it just calls the C
  vector to shutdown.
- add new sparc64_ipi_pause IPI entry point, which just traps into
  the debugger using the normal breakpoint trap.  these cpus usually
  lose the race in db_interface.c:db_suspend_others() and end up
  calling the C vector sparc64_ipi_pause_thiscpu().
- add #if 0'ed code to sparc64_ipi_flush_{pte,ctx}() IPI entry
  points to call the sp_ version of these functions.
- in rft_kernel (return from trap, kernel), check to see if the
  %tpc is at the sparc64_ipi_pause_trap_point and if so, call
  "done" not "retry"
- rework cpu_switch slightly:  save the passed-in lwp instead of
  using the one in curlwp
- in cpu_loadproc(), save the new lwp not the old lwp, to curlwp
- in cpu_initialize(), set %tl to zero as well.  from petrov.
- in cpu_exit(), fix a load register confusion.  from petrov.
- change some "set" in delay branch to "mov".
machdep.c:
- deal with function renames
pmap.c:
- remove a spurious space
trap.c:
- remove unused "trapstats" variable
- add cpu number to a couple of messages
2006-09-13 11:35:53 +00:00
bin fixes for installing into a case insensitive $DESTDIR 2006-09-11 22:24:09 +00:00
common Take the node indices out of the same namespace that <sys/tree.h> uses. 2006-09-09 15:19:18 +00:00
crypto Migration of ipsec-tools to NetBSD CVS part 2: resolving the import conflicts. 2006-09-09 16:22:08 +00:00
dist Fixes for CVE-2006-4095 and CVE-2006-4096 from bind-9.3.2-P1 2006-09-05 19:31:47 +00:00
distrib obsolete trsp.debug 2006-09-12 05:29:50 +00:00
doc Note that shark is now timecountered. 2006-09-13 07:20:16 +00:00
etc update to bluetooth device attachment: 2006-09-10 15:45:55 +00:00
games PR/34175: Zafer Aydogan: touch the window to cause a refresh after help 2006-08-09 14:29:40 +00:00
gnu Remove gprof from the "native only" list so that it can be cross-built. 2006-09-13 02:42:57 +00:00
include Add efun(3) 2006-08-26 18:11:12 +00:00
lib fixes for installing into a case insensitive $DESTDIR 2006-09-11 22:24:09 +00:00
libexec Handle .br - this makes processing of the netbsd-4 2006-09-12 21:56:43 +00:00
regress correct usage() handling 2006-09-10 13:28:29 +00:00
rescue Add mount_tmpfs(8) to /rescue. Ok with christos. 2006-08-16 16:50:59 +00:00
sbin Sort options in usage and SYNOPSIS. 2006-09-10 20:28:52 +00:00
share Note that Netgear WG311 v3 does *not* use an Atheros chip. 2006-09-12 15:00:29 +00:00
sys SMP cleanup. provide support for multiple CPUs in DDB. (SMP itself 2006-09-13 11:35:53 +00:00
tools Allow for building a crosstools version of gprof. 2006-08-27 07:04:00 +00:00
usr.bin fixes for installing into a case insensitive $DESTDIR 2006-09-11 22:24:09 +00:00
usr.sbin add a period after a sentence. 2006-09-12 20:48:47 +00:00
x11 rename 2 installed files in xsrc which may have case conflicts in $DESTDIR 2006-09-11 22:28:33 +00:00
BUILDING mkisofs is in pkgsrc/sysutils/cdrtools now, not pkgsrc/sysutils/cdrecord. 2006-01-29 14:03:59 +00:00
Makefile don't filter out .WAIT when converting from _SUBDIR to SUBDIR 2006-09-07 03:51:44 +00:00
Makefile.inc
UPDATING Mention acorn32 console changes, since they'll break builds with custom 2006-08-15 20:48:01 +00:00
build.sh Recognize MACHINE=landisk (sh3el). 2006-09-01 21:52:55 +00:00