NetBSD/sys/arch/cesfic
jdolecek 089abdad44 Rearrange process exit path to avoid need to free resources from different
process context ('reaper').

From within the exiting process context:
* deactivate pmap and free vmspace while we can still block
* introduce MD cpu_lwp_free() - this cleans all MD-specific context (such
  as FPU state), and is the last potentially blocking operation;
  all of cpu_wait(), and most of cpu_exit(), is now folded into cpu_lwp_free()
* process is now immediatelly marked as zombie and made available for pickup
  by parent; the remaining last lwp continues the exit as fully detached
* MI (rather than MD) code bumps uvmexp.swtch, cpu_exit() is now same
  for both 'process' and 'lwp' exit

uvm_lwp_exit() is modified to never block; the u-area memory is now
always just linked to the list of available u-areas. Introduce (blocking)
uvm_uarea_drain(), which is called to release the excessive u-area memory;
this is called by parent within wait4(), or by pagedaemon on memory shortage.
uvm_uarea_free() is now private function within uvm_glue.c.

MD process/lwp exit code now always calls lwp_exit2() immediatelly after
switching away from the exiting lwp.

g/c now unneeded routines and variables, including the reaper kernel thread
2004-01-04 11:33:29 +00:00
..
cesfic Replace the traditional buffer memory management -- based on fixed per buffer 2003-12-30 12:33:13 +00:00
compile Rework how KERNOBJDIR functions; now it's always determined with 2003-01-06 17:40:18 +00:00
conf Change reference at bottom from sys/dev/majors to sys/conf/majors to match 2003-12-10 02:04:00 +00:00
dev Cast to (void *) to appease gcc3. 2003-09-28 22:00:26 +00:00
include Rearrange process exit path to avoid need to free resources from different 2004-01-04 11:33:29 +00:00
Makefile Rework how KERNOBJDIR functions; now it's always determined with 2003-01-06 17:40:18 +00:00
README netbsd.org -> NetBSD.org 2003-12-04 13:05:15 +00:00

$NetBSD: README,v 1.2 2003/12/04 13:05:16 keihan Exp $

This is a port of NetBSD to the FIC8234 VME processor board, made by the
swiss company CES (Geneve). These boards are (or have been) popular in
high energy physics data acquisition (think of CERN!). See
http://www.ces.ch/Products/CPUs/FIC8234/FIC8234.html
for some technical data.

The highlights:
- MC68040 processor at 25 MHz (optional dual-processor)
- 8 or 32 MByte RAM
- 2 serial ports on Z85c30
- 79c900 (ILACC) ethernet
- 53c710 SCSI

The port is quite rudimentary at the moment. The kernel is started out of
a running OS-9 system. SCSI support is not present yet, so it only works
diskless with NFS (or ramdisk - not tested) root.
It is good enough for multiuser, self-hosting etc. however.

To start it:
- make OS image by "objcopy --output-target=binary netbsd <imagename>"
- load image to physical address 0x20100000 (RAM start + 1M)
- jump to 0x20100400

For questions and contributions, contact Matthias Drochner
(drochner@NetBSD.org).