Commit Graph

10760 Commits

Author SHA1 Message Date
ragge 2a79087848 Put in some #ifdef's to compile only for MV2000. 1997-03-15 16:14:23 +00:00
ragge 285002ead6 Cleanup. Prepare for getting memory size from boot (VMB). 1997-03-15 16:11:25 +00:00
ragge 0044b4ccf0 Add a forgotten #ifdef. Remove debug printout. 1997-03-15 16:07:17 +00:00
ragge 1d90a0a507 Add definitions for DEC HW device numbers. 1997-03-15 15:09:40 +00:00
ragge b5b674f227 Do not use inline functions in boot blocks. Some CPUs doesn't have
all instructions.
1997-03-15 15:08:23 +00:00
ragge 8fa1cdb04b Add routines for network handling and standalone le driver.
To make this work nice, big changes to the boot unit handling
was also required. From now only DEC HW unit numbering are used
in boot, to easy match boot device in kernel.
1997-03-15 13:04:22 +00:00
briggs 3d16e320d6 Move physaccess/physunaccess prototypes. 1997-03-15 05:39:45 +00:00
jeremy 54bec78722 Update the 'status' paragraph to reflect the current working programs. 1997-03-15 03:41:01 +00:00
cgd 4f210d58be patch from Matt Jacob to enable secondary PCI bus support 1997-03-15 03:15:20 +00:00
mhitch 0918e34d85 After opening the disk device to force a disklabel read, it should really
be closed rather than opened again.
1997-03-15 02:59:43 +00:00
christos 4b697aa304 add emul.c 1997-03-15 02:36:00 +00:00
thorpej 92796a6d43 Add a mountroothook that prompts the operator to insert a file system
floppy, a'la the SPARC port.
1997-03-15 01:34:10 +00:00
christos 358f6940ee - fix return value in case we failed to write to the destination register.
- pretty-print registers.
1997-03-15 00:39:51 +00:00
christos 2c62945461 - move instruction emulation and alignment fixing to emul.c
- add sparc-v8 {s,u}{mul,div}{cc,} instruction emulation
1997-03-14 23:57:58 +00:00
christos d9d8878ed1 Asi instruction struct was missing the immediate bit! 1997-03-14 23:54:07 +00:00
mycroft f868dff8d3 Define the `cleankernel' target consistently with other ports. 1997-03-14 23:27:29 +00:00
mycroft cbbcf185ae Put the genassym.sh output in a temp file, and mv -f it, in case
it fails spectacularly and doesn't clean up.
1997-03-14 23:23:45 +00:00
mycroft 44149b42c2 Put the genassym.sh output in a temp file, and mv -f it, in case
it fails spectacularly and doesn't clean up.
1997-03-14 23:21:36 +00:00
mycroft d0c586a17f Put the genassym.sh output in a temp file, and mv -f it, in case
it fails spectacularly and doesn't clean up.  Also, remove dependencies for
genassym.o (since it no longer exists).
1997-03-14 23:16:08 +00:00
mycroft f7ad6fff40 Put the genassym.sh output in a temp file, and mv -f it, in case
it fails spectacularly and doesn't clean up.  Also, don't depend genassym.c
(since it no longer exists), and remove dependencies for genassym.o (since it
no longer exists).
1997-03-14 23:14:39 +00:00
gwr 40b1a6f68b No longer need to define SUN_BOOTPARAMS 1997-03-14 21:28:38 +00:00
cjs ca5f101ba7 Remove code that stops transfers of >63K. The Sun 4 doesn't have this
limitation, and minphys() is supposed to catch this on other architectures.
1997-03-14 19:57:20 +00:00
thorpej 76c1d7a5b5 We don't even need to clear the BSS here; it's been done by the boot
program for a Long Time, and doing it (correctly :-) here means that
we wipe out, among other things, boothowto.  (oops!)
1997-03-14 19:50:06 +00:00
pk 8a5abffaf5 Add some instrumentation to keep track of PMEG allocation.
Enabled #if DIAGNOSTIC.
1997-03-14 14:28:45 +00:00
thorpej a276c4ee15 - Some cosmetic changes to whitespace
- make the command parser table-driven
1997-03-14 06:56:27 +00:00
thorpej 6ed34bacd9 Purely cosmetic whitespace changes. 1997-03-14 06:55:07 +00:00
mycroft e96f48563b Add netboot.bin to CLEANFILES. 1997-03-14 05:07:27 +00:00
thorpej 63a75dcdcf Make this work with obj* dirs. 1997-03-14 04:59:34 +00:00
mycroft 3a99046fbb Update this to new config. 1997-03-14 04:21:13 +00:00
perry 627952867a Ressurect (not quite, since this is in fact the new boot code Makefile
now).
1997-03-14 02:54:14 +00:00
perry 816bb96145 Initial import of new boot code, created by Matthias Drochner with a
little hacking by me. This isn't strictly identical to his 920312
release -- I've hacked it a bit -- but since we are taking over change
control it doesn't matter much.
1997-03-14 02:40:32 +00:00
perry 2eb5a59f71 Initial import of new boot code, created by Matthias Drochner with a
little hacking by me. This isn't strictly identical to his 920312
release -- I've hacked it a bit -- but since we are taking over change
control it doesn't matter much.
1997-03-14 02:40:29 +00:00
cgd 80bf6049dd fix from Matt Jacob: configuration accesses need PCI Byte enables just
like sparse memory accesses do.
1997-03-13 23:59:36 +00:00
gwr 2f598d011a Sync with sun3 (Trap 1,2,15 handlers) 1997-03-13 20:46:37 +00:00
gwr 0fefd47a64 Use arch/m68k/m68k/sig_machdep.c 1997-03-13 20:30:19 +00:00
gwr 5c553cfd2f Factor out sendsig() and sys_sigreturn() from $arch/machdep.c 1997-03-13 19:14:35 +00:00
gwr de65671490 Ported to the sun3x by Jeremy 1997-03-13 17:52:44 +00:00
gwr ee531cb3c9 s/sun3x_/_/ in sun3x_(round|trunc)_(page|seg) macros 1997-03-13 17:40:33 +00:00
thorpej 711486fd1b Fix a typo (oops). 1997-03-13 17:14:45 +00:00
gwr 24120736d8 Import the sun3 version of this on the "vendor branch". 1997-03-13 16:27:27 +00:00
gwr f3952a7326 No longer need to override DEFS 1997-03-13 16:19:01 +00:00
gwr 032d13fc7d s/sun3_/_/ in sun3_(round|trunc)_(page|seg) macros 1997-03-13 15:58:49 +00:00
leo e4a48696a6 Add member to bitmap struct that gives the size of mappable memory. 1997-03-13 12:37:08 +00:00
matthias d8319f5c75 remove leftover from switch to the mi kgdb interface. 1997-03-13 10:25:25 +00:00
matthias c6d2740564 Integrate Phil Budne's latest changes to the scn driver. From his README:
* Uses Counter/Timer dynamicly for rate generation; You can
	  have both 19200 and 38400 on one duart, and 57600 on another!
	* Improved scninfo program to dump driver internal information.
	  implemented counters for parity err, framing err, break
	* Delays changes until transmitter idle to avoid "glitches"
	* Cleaned up scn_softc member names
	* Untested support for sc26c92 (I don't yet have any to test with);
	  + Will use alternate rate tables (include 115.2kbps and 230.4kbps)
	  + Will raise FIFO rx interrupt threshold and watchdog timer
	    at higher rates.
	  + Unknown (to me) how fast pc532 MC145406 driver chips can go

	NOTE: It seems like it may be a BAD idea to use a sc26c92 as
	a console port for now; the PROM doesn't know to reset the
	chip back to scn2692 mode!!
1997-03-13 10:24:14 +00:00
thorpej 8229701876 oops, don't need trap.h here anymore 1997-03-13 09:29:03 +00:00
thorpej 72ba35e689 Don't genassym the trap type values; just include <machine/trap.h> 1997-03-13 09:27:21 +00:00
thorpej deeac396e7 Use genassym.sh to facilitate cross compiling. 1997-03-13 09:24:21 +00:00
thorpej f6d3f6c93b Use the script version to facilitate cross compiling. 1997-03-13 09:22:19 +00:00
mycroft 4913ba5369 V_SWTCH is no longer needed. 1997-03-13 04:37:20 +00:00
mycroft 2f18f33d16 Use genassym.cf, to support cross-compiling. 1997-03-13 04:22:05 +00:00
cgd a15ede807a add entries for isp, as isp* at pci? dev ? function ?, for Qlogic ISP 10x0
PCI SCSI controllers.  Also, add the attached SCSI busses.
1997-03-13 04:15:24 +00:00
cgd e36a5ca4de change microcode array definitions from "unsigned short" to the more
correct u_int16_t, and remove bogus casts that the old definition
required.
1997-03-13 04:07:44 +00:00
mycroft 919efaeb60 Make the microcode table const. 1997-03-13 03:33:03 +00:00
mycroft ac3b8b13b7 Don't share the silence block between devices. Make silence filling work for
more encodings, and make it device-independent.  From Lennart Augustsson, in
PR kern/3305.
1997-03-13 02:19:32 +00:00
cgd 85068c2512 add ahc and bha at EISA 1997-03-13 01:15:52 +00:00
cgd 96153388c0 add in the 'isp' device, for Qlogic ISP 1020-based Sbus SCSI board support 1997-03-13 00:46:13 +00:00
cgd 13a313fd8d add entries for ahc and bha PCI devices. clean up some 1997-03-13 00:43:37 +00:00
pk 9ceaaf3e7b Turn off "cache pagetables bit" on non-MXCC modules. 1997-03-12 22:52:19 +00:00
mycroft b8d7e3deab No longer needed. 1997-03-12 22:40:07 +00:00
cgd 2330e40bc9 enable Matt Jacob's ISP 10x0 driver, now that it's in the source tree. 1997-03-12 21:50:15 +00:00
cgd 8c689e6477 Copyright notice consistency, per Matthew Jacob. 1997-03-12 21:09:43 +00:00
cgd cf26d31ad2 NetBSD RCS ID tweaks, a few comment block tweaks. Also, make copyright
notices consistent (per Matt Jacob).
1997-03-12 21:06:41 +00:00
cgd 099e30a322 ISP 10x0 driver from Matthew Jacob of NASA Ames Research Center.
(March 12, 1997 version).
1997-03-12 20:44:50 +00:00
fvdl 7fb73fe0b2 Fix error in computation of BSS size when clearing it. 1997-03-12 19:49:11 +00:00
ragge 2bbaeef8cc Fast and dirty fix to avoid panics during autoconf of KFQSA DSSI disks.
Controller errors showing up can't be handled anyway.
1997-03-12 19:42:30 +00:00
cgd 0daaaa0fc2 add kn8ae CPU support to GENERIC kernels. Also, add kn8ae devices.
Add "isp", "ahc", and "bha" config lines, but comment them out until
their sources are in the tree and/or their alpha patches are in the tree.
1997-03-12 19:29:14 +00:00
cgd ffba332bb5 AlphaServer 8200 & 8400 support, including CPU specific details, TurboLaser
system bus support, and KFTxx support.  From Matthew Jacob, NASA Ames
Research Center.
1997-03-12 19:19:54 +00:00
cgd 265be6d839 enabled SQWE as well as PIE in reg B. 1997-03-12 19:13:20 +00:00
thorpej a92ec8002e Enable COMPAT_M68K4K. 1997-03-12 18:33:09 +00:00
pk 8e4a126035 Use `mcxx' from cpuinfo instead of re-consulting the MMU registers 1997-03-12 15:44:28 +00:00
christos 0d71b22d50 Use genassym.cf 1997-03-12 15:17:13 +00:00
christos 3e35754576 Added genassym.cf 1997-03-12 15:16:35 +00:00
pk 6e3c9f3b59 Make sure to disable interrupts in the Interrupt Enable register as soon
as we've mapped it.
1997-03-12 11:04:35 +00:00
pk b197276005 Correct output from cpumatch_unknown() and add missing viking variant
to cpu table (noticed by Andrew Gillham).
1997-03-12 09:08:29 +00:00
cgd a0d3809966 specs for ISP 10x0 (isp) driver Sbus attachment. From Matt Jacob. 1997-03-12 06:43:25 +00:00
cgd 28152db63a don't assume that CPU ID is same as device unit number (DUH!), add some
comments about future work to be done.  make a mostly-extraneous set of
printfs (cpu capabilities) become #ifdef DEBUG.
1997-03-12 05:50:00 +00:00
cgd 245b65b853 pass CPU ID info down to cpu when attaching (duh!) 1997-03-12 05:47:37 +00:00
cgd 0a500fffa0 update to allow PCI bus interfaces that wish to allocate static
extent storage per interface unit (e.g. dwlpx, where there can be multiple
units per machine) to do so.  Inspired by discussion with and changes from
Matt Jacob.
1997-03-12 05:24:23 +00:00
cgd 55f902601c Set the halt flags in the right per-cpu-slot structure. From Matt Jacob. 1997-03-12 04:45:41 +00:00
cgd adad00a33a sanity check rpb_primary_cpu_id 1997-03-12 04:42:22 +00:00
cgd e4307285ba from Matt Jacob: deal with type 5 (passive release?) interrupts. (ignore them
but print out their vector(?) to see if we can ever discern anything useful
from it.)  Also, some slight general cleanup.
1997-03-12 04:22:30 +00:00
thorpej 1777807068 Add 9660 file system, and set DDB_ONPANIC to 0. 1997-03-12 02:08:02 +00:00
cgd 9a36b46f7a tlsb bus and device file specs, s/21000/kn8ae. From Matt Jacob. 1997-03-12 01:54:23 +00:00
cgd 7e33512f13 fix up kn8ae/DEC_21000 entry 1997-03-12 01:47:46 +00:00
gwr a9bc70551a Clarify duties of traps 1, 2, 12, 15 for emulations
Include <m68k/m68k/sigreturn.s> code.
Add/fix some comments...
1997-03-11 22:58:57 +00:00
gwr 4756c63625 Call isr_soft_request() at most once per zshard interrupt.
In the softintr, raise to spltty before calling tty code.
1997-03-11 21:54:35 +00:00
gwr 05a47d22ea Correct handling for Trap #2 in SunOS executables,
now that we know it is supposed to flush the cache.
(Was thought to be "some obscure FPU operation".)
1997-03-11 21:30:51 +00:00
gwr f64034e8f6 Sync up with changes in GENERIC 1997-03-11 21:21:49 +00:00
gwr b4de41ef34 Update the description of the flags for "si" devices.
Remove wired-down scsi disk targets (no longer needed).
Add ch, ss, uk (scsi devcies) at mycroft's requst.
1997-03-11 20:59:10 +00:00
gwr 3aa49c4b33 Remove unnecessary differences (T_BRKPT, T_WATCHPOINT gone). 1997-03-11 20:31:20 +00:00
gwr ec6bb1d018 s/-T/-Ttext/ 1997-03-11 20:13:20 +00:00
gwr 4ad7ed0b97 Moved dev_net.[ch] to sys/lib/libsa 1997-03-11 18:29:30 +00:00
sommerfe 9460da5eb9 Implement trace/t ("thread" trace) allowing traceback by process-id
rather than by frame pointer (which it a bit harder to find).
1997-03-11 16:38:23 +00:00
pk 92d853e309 4m memory fault traps: simplify fault address logic, since per-CPU
fault-status reading stubs pre-cook the arguments.

illegal instruction trap: catch iflush instructions that cause this trap
on some CPU/MMU combinations.
1997-03-11 01:20:25 +00:00
pk 01e424f233 Insert RCS Id. 1997-03-11 01:03:07 +00:00
pk abc39039f1 Move some parts of CP detection to cpu_attach() in cpu.c.
Call get_cpuinfo() for the boot CPU to collect the minimum information
to get the bootstrap rolling.
sun4/sun4c: the Interrupt Enable register is now mapped here after pmap
is initialized (was in locore).
Replace `cpumod' and `mmumod' with `cpuinfo.*' equivalents.
Allow more than one CPU to be configured in mainbus_attach().
1997-03-11 01:01:59 +00:00
pk 476ef3b431 Per-CPU information which is collected in cpu_attach().
Many things in here were imported from an earlier version from Aaron
Brown and are not yet used. This version has all the attributes of a
snapshot; more to come as addtional CPU/MMU details get implemented.
1997-03-11 00:55:24 +00:00
pk eb71a02a7f Re-write of CPU/MMU detection code.
Use a table driven classification based on CPU and MMU implementation/version
fields. Each CPU class or module defines a collection of routines that
implement CPU or MMU specific operations that can collect detailed setup
information.

All information is collected in a `cpu_softc' structure provided by the
auto-configuration code. However, in the interest of SMP support this
structure is located at a fixed virtual address identified by the
symbol `cpuinfo'. The `boot' CPU currently uses the the physical page(s) at
address 0x2000 for its cpuinfo. Consequently, the fixed virtual address
will be `KERNBASE+0x2000'.

The cache flush routines for several systems (sun4/4c vs. sun4m;
virtual vs. physical tags) have been factored out. Function pointers
to an appropriate set are located in `cpuinfo'. The former global
`cacheinfo' structure is now also a part of `cpuinfo'. Because of the
fixed virtual address of `cpuinfo' no extra performance penalties
are incurred by this move. In multi-architecture kernels, there's
no longer the need for run-time `cputyp' tests in this part of the system.
1997-03-11 00:44:00 +00:00
pk 8d2c03c810 Replace `cputyp' run-time tests by inserting multiple branches and NOPing
some at startup depending on architecture.

Use `get_faultstatus' field in `cpuinfo' (initialized in cpu.c) to branch
to CPU/MMU specific fault status reading stubs on memory fault traps.

Remove code top map the Interrupt Enable register on sun4/sun4c. Its VA
has moved to a high location and is now mapped in autoconf.c after
pmap has initialized. Note: this renders NMIs during bootstrap() fatal
(maybe loading %tbr should be deferred).
1997-03-11 00:09:29 +00:00