Commit Graph

8468 Commits

Author SHA1 Message Date
is 397d9b2133 Add two manufacturer/product id combinations which I stumbled over analyzing
an unrelated bug report. This will make kernel startups a bit more readable
in the presence of unsupported hardware.
Information contributed by Andreas Bussjaeger.
1996-07-17 13:33:28 +00:00
oki 72dd2d1350 XXX grf has some routines call ite function directly.
XXX check whether grf has no associated ite.  fixed PR/2626.
1996-07-17 01:51:43 +00:00
thorpej cc1c24bbec RCS id police. 1996-07-16 23:23:55 +00:00
oki 4e7614daa6 call Debugger() with options DDB, added #ifdef. 1996-07-16 16:29:16 +00:00
oki de609f142b From Ignatios Souvatzis <is@NetBSD.ORG>:
properly distinguish between a bus error and an MMU fault
	on systems with 68030 MMU
1996-07-16 16:18:34 +00:00
cgd 2549add59e rework bootstrap/startup process to match the BSD pmap startup model.
start adding back in tracing printfs.  add support for the virtual page
table.  Now it gets to user-land code, but fails because i've not
added support to the context switch code to activate and deactivate pmaps.
1996-07-16 04:51:16 +00:00
cgd 6713334e56 if !OLD_PMAP set up proc0 pcb asn and ptbr before return to assembly. 1996-07-16 04:42:49 +00:00
cgd f385991329 do TBIA rather than TBIAP after initial context switch 1996-07-16 04:40:32 +00:00
ragge ce30ddd46b Obsoleted by now. 1996-07-15 11:50:40 +00:00
ragge 640bda0d46 Put in boot support for VAX 8200. 1996-07-15 11:11:01 +00:00
cgd 892dd0455b add FIX_UNALIGNED_VAX_FP. It wastes space, but hey, this kernel includes
netweird...
1996-07-15 08:32:30 +00:00
cgd c087540e8c actually implement code to handle unaligned VAX FP reg loads and stores.
Not tested yet, but also not compiled into the standard kernel.
1996-07-15 08:28:09 +00:00
leo 5a1a623e41 keymap -> keymaps 1996-07-15 06:35:43 +00:00
cgd 14c123b28d include all PCI drivers that actually compile, clean up list, alphabetize,
and add descriptions.
1996-07-14 21:14:46 +00:00
cgd 6be650149e include 'microcode' dependencies, in case the aic7xxx driver is ever made
to work on 64-bit systems or in case other drivers need it eventually.
1996-07-14 20:20:10 +00:00
cgd ce626bee48 rename translation buffer invalidation macros to start with ALPHA_,
like all other macros defined in alpha_cpu.h.
1996-07-14 20:00:15 +00:00
cgd c62727acea print the label for the opcode in unaligned access printf as "op" not "type" 1996-07-14 04:36:21 +00:00
cgd 0fb84b3c3f (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Add unaligned access fixup code to fix unaligned quad, long,
and IEEE S and T floating datum loads and stores.  VAX floating data
types not yet supported, and in the future will only be supported if
FIX_UNALIGNED_VAX_FP is defined.  (No point in wasting the space when
most of the time there will never be VAX FP loads and stores.)  Right
now, these features can be controlled only by sysctl.  The (boolean)
integer sysctls machdep.unaligned_print, machdep.unaligned_fix, and
machdep.unaligned_sigbus control printing about unaligned accesses
(defaults on), fixing up of unaligned accesses (defaults on), and
forcing a SIGBUS on unaligned accesses (defaults off).  If an access
is not fixed up (for lack of method or explicit decision), a SIGBUS is
always generated to keep programs from using bogus data.  At some point,
these three choices should be controlled by per-process flags, as well.
1996-07-14 04:22:12 +00:00
cgd 6cb84cdd13 (1) Removed unused (and not likely useful) PALcode assembly stubs.
(2)     Minor cleanup.
1996-07-14 04:21:53 +00:00
cgd b431daf1d1 (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Add a boot flag ('H' and 'h') to make sure the kernel never
reboots after panic.  Useful for debugging kernels which panic early
on after user processes have started, to fend off infinite reboot cycles.
Sort boot flag switch.
(3)     Add unaligned access fixup code to fix unaligned quad, long,
and IEEE S and T floating datum loads and stores.  VAX floating data
types not yet supported, and in the future will only be supported if
FIX_UNALIGNED_VAX_FP is defined.  (No point in wasting the space when
most of the time there will never be VAX FP loads and stores.)  Right
now, these features can be controlled only by sysctl.  The (boolean)
integer sysctls machdep.unaligned_print, machdep.unaligned_fix, and
machdep.unaligned_sigbus control printing about unaligned accesses
(defaults on), fixing up of unaligned accesses (defaults on), and
forcing a SIGBUS on unaligned accesses (defaults off).  If an access
is not fixed up (for lack of method or explicit decision), a SIGBUS is
always generated to keep programs from using bogus data.  At some point,
these three choices should be controlled by per-process flags, as well.
1996-07-14 04:21:33 +00:00
cgd 2db316d75f (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Clean up interrupt handling slightly.
(3)     Add machinery to make [fs]uswintr be a bit more careful when
determining if a fault was actually their fault.  (Unfortunately, they're
not actually implemented now, anyway.)
(4)     Minor cleanup.
1996-07-14 04:21:09 +00:00
cgd 775cca7853 (1) Restructure and improve machine check and correctable error
handling based on information in the 2nd Ed. of the Alpha Architecture
Reference Manual.
(2)     Clean up interrupt handling slightly.
(3)     Clean up badaddr().
1996-07-14 04:20:40 +00:00
cgd 43588a48d5 (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Add machinery to make [fs]uswintr be a bit more careful when
determining if a fault was actually their fault.  (Unfortunately, they're
not actually implemented now, anyway.)
1996-07-14 04:20:22 +00:00
cgd 3a2af0734c (1) Add machinery to make [fs]uswintr be a bit more careful when
determining if a fault was actually their fault.  (Unfortunately, they're
not actually implemented now, anyway.)
(2)     Minor cleanup.
1996-07-14 04:15:27 +00:00
cgd 5beb1a522c (1) Add unaligned access fixup code to fix unaligned quad, long,
and IEEE S and T floating datum loads and stores.  VAX floating data
types not yet supported, and in the future will only be supported if
FIX_UNALIGNED_VAX_FP is defined.  (No point in wasting the space when
most of the time there will never be VAX FP loads and stores.)  Right
now, these features can be controlled only by sysctl.  The (boolean)
integer sysctls machdep.unaligned_print, machdep.unaligned_fix, and
machdep.unaligned_sigbus control printing about unaligned accesses
(defaults on), fixing up of unaligned accesses (defaults on), and
forcing a SIGBUS on unaligned accesses (defaults off).  If an access
is not fixed up (for lack of method or explicit decision), a SIGBUS is
always generated to keep programs from using bogus data.  At some point,
these three choices should be controlled by per-process flags, as well.
1996-07-14 04:15:10 +00:00
cgd 5a367fefb1 (1) Clean up interrupt handling slightly.
(2)     Clean up badaddr() definition.
1996-07-14 04:12:59 +00:00
cgd deb9f8f4b6 (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Restructure and improve machine check and correctable error
handling based on information in the 2nd Ed. of the Alpha Architecture
Reference Manual.
(3)     Removed unused (and not likely useful) PALcode assembly stubs.
1996-07-14 04:12:46 +00:00
cgd 43dae279eb (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
1996-07-14 04:12:03 +00:00
cgd f72a611ccc (1) Clean up interrupt handling slightly.
(2)     Include more headers to bring necessary prototypes into scope.
1996-07-14 04:08:56 +00:00
cgd 644f74f9f2 (1) Clean up interrupt handling slightly. 1996-07-14 04:08:41 +00:00
cgd c915721a81 (1) Include more headers to bring necessary prototypes into scope. 1996-07-14 04:08:21 +00:00
cgd 9905bce8a5 (1) Clean up interrupt handling slightly. 1996-07-14 04:06:27 +00:00
cgd 38a0da40ee allow people to use the (slower) MI in_cksum.c vi 'options GENERIC_IN_CKSUM' 1996-07-14 03:46:05 +00:00
jtk a6c08ef5e8 fix PRs 219, 2295, 2612: speaker bugs on i386 port: remove overruns due to
faulty bounds checking; repair faulty octave limiting.
1996-07-14 01:03:13 +00:00
explorer 41239f1024 Suggestion from Noriyuki Soda <soda@sra.co.jp> to update the comments for
these files, since the driver was updated to deal with more devices.
1996-07-14 00:10:11 +00:00
fvdl 8e6a25cd1d Make this compile with PCVT_SCANSET == 2 (PR #2622) 1996-07-13 23:26:03 +00:00
thorpej eeaf8d15ef Remove the old-style disk instrumentation code. 1996-07-12 21:55:48 +00:00
scottr c92399979d Back out previous; actually, this is never a problem for us. (Duh.) 1996-07-12 17:09:26 +00:00
leo 50bb4b170b Sync with cleanup of atari_init.c 1996-07-12 13:27:37 +00:00
leo 5d0677fbdf Fix a prototype warning. 1996-07-12 13:17:45 +00:00
leo 38cbb4640f Sync with atari_init cleanup 1996-07-12 13:16:31 +00:00
leo a6a57e8631 - Cleanup a bit
- Remove mapping of page zero
- Remove hackery around the first 8 bytes that were mapped to ROM by hardware
1996-07-12 13:14:23 +00:00
leo f8f011861e - Cleanup a bit
- Remove the kernel-jump-to-zero code as page zero mapping is removed
- Weed out cpu040 usage, use mmutype instead
- Fix doboot code
- add fill for page zero
- use m68k/sigreturn.s
1996-07-12 13:12:40 +00:00
cgd 45ca1fa22f rename rei() to exception_return(). rename proc_trampoline() to
switch_trampoline().
1996-07-11 23:02:19 +00:00
cgd 15fbec10d4 rename rei() to exception_return(). rename proc_trampoline() to
switch_trampoline(). clean up trap/exception/syscall entries and
eliminate common code where appropriate.  clean up bootstrapping
code.
1996-07-11 23:01:09 +00:00
cgd 9310a8c8aa don't save and set the USP at every trap entry and exit. It's
unnecessary, and given that there's no reason to waste time and
add complexity in trap handlers.  This means that code which sets and
uses the USP has to be a bit more careful, but that doesn't happen much.
1996-07-11 20:14:17 +00:00
ragge a5b04afcd8 Automatic changing of root device after boot now works. 1996-07-11 19:33:50 +00:00
thorpej bf2c897818 COMPATOBJS -> COMPAT_OBJS (already done on release branch)
Also, sys/compat/common/kern_prot_43.c no longer exists on the trunk,
so don't attempt to compile it.
1996-07-11 16:52:10 +00:00
cgd 105697388d Instead of treating the trap/syscall/exception frame like a struct
containing a substruct (the hardware frame) and an array of registers,
treat it like one big array of registers, for easier and prettier
access.  Update everything to deal with that.
1996-07-11 05:31:16 +00:00
cgd 3e323f7a08 update for new alpha_cpu.h definitions, -Wall cleanups, and make
things compile with the new work-in-progress pmap code.
1996-07-11 03:53:23 +00:00
cgd 192e4b94c0 update for new alpha_cpu.h definitions. 1996-07-11 03:52:44 +00:00
cgd 9aa794a63d update for new alpha_cpu.h definitions 1996-07-11 03:52:16 +00:00
cgd f8f96d4b7d clean up for -Wall 1996-07-11 03:47:55 +00:00
cgd 742da2e049 compile with new pmap code 1996-07-11 03:47:46 +00:00
cgd 4d024971bf update to use new definitions in alpha_cpu.h 1996-07-11 03:46:00 +00:00
cgd 436a892738 Add definitions for:
Process Control Block
	Interrupt/Exception/Syscall Stack Frame
	Machine Check Error Summary Register
	Machine Check Logout Area
clean up some, and add prototypes for all of the CPU instruction and
PALcode function stubs.
1996-07-11 03:44:50 +00:00
cgd 3986cf9624 make this compile with pmap work in progress 1996-07-11 03:33:25 +00:00
cgd 7a83b5d468 some cleanup for -Wall 1996-07-11 03:30:11 +00:00
ragge e9d6f189c1 Add MSCP tape to this file. 1996-07-10 23:51:53 +00:00
ragge 02d0803c80 Add spl4 - spl7 macros, easy to use when playing with buses. 1996-07-10 23:51:08 +00:00
ragge 4d687fb39d Slow down DELAY for 11/785. 1996-07-10 23:48:42 +00:00
ragge 9c24877b23 Remove tmscp protocol definition file; which was actually the same
as the mscp protocol.
1996-07-10 23:44:17 +00:00
ragge 5d6b8719b2 Remove old (tape-only) tmscp driver. Add new uba/qba driver
for common MSCP routines.
1996-07-10 23:42:05 +00:00
ragge cb355cf8d5 Add support for tape drives. More extensive error checking. 1996-07-10 23:35:58 +00:00
scottr 73b545f8f1 Fix from Leo Weppelman: Change accesses to 'ssir' to inline asm macro's. 1996-07-10 18:31:49 +00:00
cgd b119b40c59 it compiles, but DEFINITELY does not run 1996-07-10 03:17:09 +00:00
cgd 77ba495772 temporarily move new pmap code into a seperate header, so changes to
one version won't spam people compiling with the option to get the other.
1996-07-09 22:22:25 +00:00
cgd db0b3ca200 kill a typo 1996-07-09 22:08:28 +00:00
mycroft 353cfc3523 Oops; remove something that shouldn't be here. 1996-07-09 09:23:03 +00:00
cgd c5d7ffec0d fix a few botched names 1996-07-09 04:18:13 +00:00
cgd 0cefc7ef74 clean and update for new defintions, prototypes, etc. 1996-07-09 00:53:48 +00:00
cgd b9659c52a5 add -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes as
CWARNFLAGS in the Makefile, but (for the time being, i.e. until that
works) override that with 'makeoptions' in std.alpha.
1996-07-09 00:46:01 +00:00
cgd 8c87bcbe93 definitions and constants which are part of the Alpha AXP
Architecture, and which relate to the OSF/1 PALcode.
1996-07-09 00:40:58 +00:00
cgd 2ba2d62b9b redefine lots of things in terms of definitions in alpha_cpu.h 1996-07-09 00:39:24 +00:00
cgd 48f29c8bc0 this file should not exist, for now 1996-07-09 00:38:37 +00:00
cgd c3a7b67f3d Everything which would be defined here is defined in
alpha_cpu.h, and this file is no longer necessary for the
Alpha.  However, some machine-independent code (e.g.
/sys/compat/common/kern_exit_43.c) still wants a file with
this name to be around.
1996-07-09 00:37:51 +00:00
cgd c2cd1ae6f5 profile_swpipl() -> _alpha_pal_swpipl() 1996-07-09 00:35:05 +00:00
cgd 04294813bd various cleanup, move setsoft* and spl* into intr.h. 1996-07-09 00:33:20 +00:00
cgd 29a40482db clean up comments, add OSF/1 rdmces and wrmces PALcode function calls. 1996-07-09 00:30:22 +00:00
cgd 2eab3353db delete cruft, clean up constants 1996-07-09 00:28:25 +00:00
oki 6b8ffeacd0 fixed format error 1996-07-08 16:36:28 +00:00
oki f8e8e90f15 move wait for insert system floppy to mountroot_hook stuff 1996-07-08 16:32:12 +00:00
is 7c66bb9bef Cleaned up copyright notice, fixed a typo, and sync the comment in the
GSP assembler file with reality.
1996-07-08 13:28:41 +00:00
abrown 0c6696de2d Take advantage of new am7990 sc_nocarrier() function in order to do auto-
matic media detection on Sun4m machines which support multiple media
(UTP and AUI). New function lenocarrier() switches media type when called
if no link? flags are set.

Redefine link flags for Lance ethernet (le):
	<none>:	switch between media as needed to find carrier (autodetect)
		Preference to whatever the PROM is using (AUI if not booted
		from the network)
	link0:	use UTP port only
	link1:	use AUI port only

This allows Sun4m machines with dual media Lance ethernet adapters to
boot from the network on the UTP port.
1996-07-06 00:01:34 +00:00
leo 4b5bff0d0f During a rather lengthy debug session with Markus Kilbinger (Thanks again!),
we managed to kill the following SCSI-driver bugs for the Falcon:
   - The Byte_Count_zero bit of the falcon DMA controller does not always
     tell the truth! This caused the SCSI-driver to choke on devices that
     disconnected in the middle of a DMA-transfer (mostly removables).
   - Printing debug info about the 5380 on the Falcon is *only* permitted
     when DMA is not active.
   - Some functions forgot to remove possibly pending sofware interrupts
   - Some debug options didn't allow debugging a single target while they
     could easily be made to do so. This is fixed.
1996-07-05 19:35:35 +00:00
leo f1af6a2252 Add missing spl0() call. 1996-07-05 19:22:21 +00:00
mark f5ee3d4ce6 Make sure all routes through vt_curadr() range check the x and y coordinates.
This fixes a nasty bug that could kill the kernel without ever reporting
a panic.
1996-07-05 19:07:55 +00:00
leo ec3f2031a8 Change accesses to 'ssir' to inline asm macro's. 1996-07-04 07:25:13 +00:00
chuck e13b96dbf2 add native mode atm soft interrupt 1996-07-04 03:18:39 +00:00
chuck 59896583e3 add softnet interrupt for native mode atm 1996-07-04 03:17:53 +00:00
pk a6adfa8db7 Fix label sector confusion, per der mouse (PR#2598). 1996-07-03 22:02:09 +00:00
mycroft de867628ce Migrate m->m_data and m->m_len into Q regs to enable 10% code size reduction. 1996-07-03 18:20:38 +00:00
mycroft 7217b32126 Eliminate an instruction. 1996-07-03 14:05:16 +00:00
mycroft b056ddef2a Add a few mbuf fields. 1996-07-03 13:10:46 +00:00
mycroft 8663d62627 Minor cleanup. 1996-07-03 13:07:17 +00:00
mycroft 5f51da7a03 Translate in_cksum() to assembler, and speed it up a bit. 1996-07-03 13:01:40 +00:00
cgd 808bbc3d50 minor cleanups to fit into the NetBSD source tree better (e.g. remove
RCS Log messages).  Haven't even tried to compile it yet.
1996-07-02 22:51:46 +00:00
cgd 255c6be565 pull in the Mach3 alpha pmap, as a base for the new pmap module. Modified
from the mach3 versions only as much as necessary to allow the old
NetBSD/Alpha pmap code to compile.  THESE WILL NOT WORK AS-IS, and at
minimum will require code to implement reference- and modified-bit
emulation.
1996-07-02 22:42:39 +00:00
cgd 6d3cc133ad define OLD_PMAP for all Alpha kernels. Eventually, when a new pmap module
works, this will be removed.
1996-07-02 22:34:02 +00:00
cgd 31f2acb42e if OLD_PMAP defined, don't usee alpha/pmap.c and use alpha/pmap.old.c instead. 1996-07-02 22:32:16 +00:00
cgd 9241c534de if OLD_PMAP defined, pull in <machine/pmap.old.h> and ignore the other
contents of this file.
1996-07-02 22:22:20 +00:00
ragge 1e3ab3cb1e uda -> ra and tms -> mt (mscp changes). 1996-07-01 21:50:29 +00:00
ragge d969a7e16e Changed data structures due to removal of old config system. 1996-07-01 21:31:36 +00:00
ragge f6fb3bf1ab Change to new config and to support new MSCP system. 1996-07-01 21:24:48 +00:00
ragge f85a693859 Update to match new MSCP device handling.
Remove support for old config system.
1996-07-01 21:07:25 +00:00
ragge dfdb4e6863 Remove old config support code. 1996-07-01 20:48:58 +00:00
ragge f19e0bacab Rewritten and moved to vax/mscp. 1996-07-01 20:47:27 +00:00
ragge 60af617a5d Totally new approach for MSCP devices; they are now handled more like SCSI.
All Unibus dependencies are removed.
Can support different controllers on different buses.
Allows cloning of devices.
TODO:
	Write support for MSCP tapes.
1996-07-01 20:41:30 +00:00
ragge 97756165b8 Remove code that took care of old config devices. Don't support
old config anymore, all devices should use new config by now.
Add structures to handle DMA devices using new config.
Fixed bug that caused unwanted ubareset's on 11/780.
1996-07-01 20:17:56 +00:00
abrown 410fea854a Implement asm macros to allow 64-bit load/store to alternate address space.
Use new ldda() and stda() to make MultiCache initialization work on
SuperSparc-II machines (these machines require 64-bit access, even
to a 32-bit register).
1996-07-01 18:01:26 +00:00
is 6e4842626b There are Blizzard boards without SCSI options - we need to probe for the
existence of the SCSI hardware in the boards adress region.
Thanks to Oster Nerhus for the detailed bug report and to Ralph Schmidt for
the recommended probing method.
1996-07-01 08:00:02 +00:00
pk d71930e6c9 Put native NetBSD disk label in a piece of wasteland within a SunOS label.
read_disk_label() uses the native label if present.
write_disk_label() constructs a SunOS label around the native one.
1996-06-29 22:38:11 +00:00
pk 80c64cc71d Put native NetBSD disk label in a piece of wasteland within a SunOS label. 1996-06-29 22:33:16 +00:00
leo 3fa481b30d Update to match NetBSD version. 1996-06-29 20:51:58 +00:00
leo 1ed5af88ee Define LIBCRT0. This tries to defeat the attempts of bsd.prog.mk to add
${DESTDIR}/....crt0 to the link rule when $DESTDIR is set.
1996-06-29 20:48:41 +00:00
leo 4b558a4b6a Remove references to kern_extern.h 1996-06-29 20:24:25 +00:00
pk e2ec1dab69 Avoid compiler warning on SUN4-only kernels. 1996-06-29 20:10:50 +00:00
pk 4ce982125b Need to add another `if defined(SUN4M)'; noticed by David Gilbert. 1996-06-29 20:09:40 +00:00
jtc 209801c89e Add memcpy.c to SRC_sa 1996-06-26 19:32:32 +00:00
thorpej 180c16eff6 Oops, forgot this required change in previous commit. 1996-06-26 18:11:24 +00:00
thorpej fc699e8440 Major revamp of the boot code.
- Good bye SYS_PBOOT and SYS_NBOOT, hello SYS_UBOOT (unified boot)
	  Currently supports booting from SCSI and HP-IB disk and network
	  from a single boot block.  Infrastructure for booting from
	  HP-IB tape is there, but it doesn't quite work yet.

	- Add a slightly modified version of Gordon Ross's "rawfs",
	  which provides a filesystem-like interface to tape devices.
	  Still needs debugging (see above).

	- Rename sys_inst.c to inst.c, so that the LIF directory entry
	  turns out right (used to look like SYS_SYS_I if loaded from
	  tape).

	- Add a "netio_ask" hint to netio.c, so that a special instnetio.o
	  doesn't have to be compiled for SYS_INST.  Defaults to using
	  bootparams, but if set, will prompt user for information
	  usually obtained from bootparams.

	- General cleanup.
1996-06-26 17:44:21 +00:00
is a63c9b84e2 - Add code to loadbsd.c to allow booting on DraCos. This could be done
in a more elegant way, but it works as is, and we need it now.
- Add a README and Makefile for the above. Note that this directory should
  NOT be added to ../Makefile's SUBDIRS.
1996-06-26 15:53:05 +00:00
jonathan 9f364d3a3b Rename unused macro ELF_HDR_SIZE -> MIPS_ELF_HDR_SIZE to avoid clash
with #define of ELF_HDR_SIZE in MI elf code.
1996-06-26 04:41:41 +00:00
phil 99db994eea Move to the MI ncr5380 driver. 1996-06-26 04:31:33 +00:00
thorpej 698844254e A few simple changes:
- Use an extent map to manage the ISA memory "hole", much like
	  how i/o port space is manged with an extent map.  Do the actual
	  accounting in bus_mem_{,un}map().

	- When creating the ioport and iomem extent maps, pass the
	  EX_NOBLOB flag, which tells the extent map code to disallow
	  fragmenting of regions.  This will make it easier to catch
	  simple i/o and memory mapping bugs (like the if_ed.c bug I just
	  fixed) in the future.

	- In bus_mem_map(), a chunk of code was indented using spaces.
	  Make the indentation use tabs.

	- In bus_io_unmap(), fix the format passed to printf().
1996-06-25 21:22:48 +00:00
jonathan 8445253ad3 Fix 4.4bsd/pmax memory-sizing bug:
physical memory is sized by a loop that writes data to the first
word in a page, (writes something else to settle the bus) and then reads
back the word it wrote. If the read succeeds, the amount of physical
memory is increased by one page.

This fails on a 5000/1xx with a memory subsystem filled with 8 low-density
(4Mbyte) SIMMs. The memory-decoding hardware  aliases the 32Mbytes of
physical memory  at physical addresses 0, and at 32M (and presumably
at 64 and 96Mbytes.)  The contiguous aliasing causes the memory-sizing
loop to continue  at 32 MBytes, testing the memory that's really
at address 0,  overwriting and crashing the kernel.

Fixed (for 1.2) by reading the SIMM-decoder stride size from the
motherboard, and reducing the loop bound to 32Mbytes on a 5000/1xx
with low-density SIMMs.  (Other models have a non-power-of-2 maximum
memory and so are not subject to _contigous_ aliasing of physical memory).
1996-06-25 05:47:31 +00:00
jonathan 7620af6671 Fix 4.4bsd/pmax bug in memory-sizing loop:
The physical memory-sizer claims to preserve memory contents
(specifically the contents of msgbuf).  The loop writes different
values into two adjacent locations and reads the contents of the
first, to ensure that whatever is read back from the first location is
from memory and isn't just the first write persisting on the bus.

The loop preserved the value of the first location, but not the second,
resulting in the second test value ('ZZZZ') over-writing a word in msgbuf.
1996-06-23 21:08:54 +00:00
thorpej 9b69016c08 Now that we have i/o port accounting, change the mainbus attach
order back to the (correct) pci -> eisa -> isa ordering.
1996-06-23 20:11:27 +00:00
thorpej 8c2f15c6fc New implementation of bus_io_{,un}map() for the i386. Details:
- A fixed extent map (statically allocated descriptor storage) is
	  created in init386(), just before the call to consinit().  The
	  fixed descriptor storage has enough room for 8 region entires,
	  which is plenty for early initialization, but doesn't chew up
	  that much memory.

	  This extent map (ioport_ex) manages the i386 i/o port
	  space (0x0 - 0xffff).

	- Just before the call to configure() in cpu_startup(), a
	  flag is set which notifies the bus_io functions that it is
	  safe to use malloc() to allocate descriptor storage, in the
	  event that more than 8 regions are needed.

	- bus_io_map() attempts to allocate the specified region from
	  ioport_ex.  If the allocation succeeds, the io handle is
	  filled in.  If the allocation fails, it is implied that
	  something else is already using that io space, and an
	  error condition is returned.

	- bus_io_unmap() frees a region previously allocated from
	  ioport_ex in bus_io_map().  If the free fails, a warning
	  is printed on the conole.

These changes implement "port accounting".  This is required for
proper autoconfiguration on the i386 port, and makes dealing with,
among other things, PCMCIA io mappings _much_ easier.
1996-06-23 19:59:06 +00:00
briggs 4043c93c6f Format the NetBSD Id string like it is elsewhere 1996-06-23 15:30:51 +00:00
briggs 9f01fc6ee4 Add a comment about the last change. 1996-06-23 15:02:58 +00:00
thorpej 5253727570 From Ignatios Souvatzis <is@NetBSD.ORG>:
- handle fpfault properly on the 68040
	- properly distinguish between a bus error and an MMU fault
	  on systems with 68030 or 68851 MMUs
1996-06-23 05:48:12 +00:00
leo 1cf023be2b s/keymaps/keymap/ 1996-06-22 21:01:29 +00:00
leo d7160491e3 Install loadkmap in the default distribution. The keymap files are moved
to ..../stand/keymaps and have their own Makefiles there.
1996-06-22 20:21:55 +00:00
leo 323c486e74 Add the subdirs: binpatch, keymaps and loadkmap. 1996-06-22 20:18:15 +00:00
leo 1a5ae2120a Atari keyboard maps 1996-06-22 20:14:09 +00:00
chuck 7544016a9d sbus specific stuff for eni155s sbus atm card.
XXX: only works on sun4c, needs something better than vtophys() for
	machines with IOMMUs(?).
1996-06-22 02:02:48 +00:00
is 24a0b3ecb0 Forgotten $(DESTDIR) in special install rule. 1996-06-21 21:55:53 +00:00
briggs 8d1606fcb9 Move splimp back to spl2 (from spl4). 1996-06-21 21:51:15 +00:00
scottr 231a66aa69 Minor style cleanup (avoid goto); no functional change. 1996-06-21 06:12:45 +00:00
scottr 08a2715e38 Test for serial console in adb_init() early, and abort if we're using it.
Initiialize ROM vectors regardless of this so that the PRAM RTC read and
write work regardless of whether a serial console is in use.
1996-06-21 06:10:56 +00:00
pk 43cca6772f `rd_root.c' => `md_root.c' 1996-06-20 20:17:57 +00:00
pk ba3ce100e0 memory disk driver hooks to pass on the root filesystem bits.
Note: this file is called `md_root.c' in anticipation of the forthcoming
`rd' => `md' rename.
1996-06-20 20:15:40 +00:00
pk b0b2a995cd When booting from a floppy drive and RAMDSK_HOOKS is defined, arrange for
a callback from memory disk driver to load the actual root image.
1996-06-20 20:12:31 +00:00
pk d802ca2b2a Declare a memory disk at block device #5. 1996-06-20 20:07:45 +00:00
pk 417fc9581d ramdisk stuff 1996-06-20 20:06:16 +00:00
pk 5b9021505a ramdisk stuff. 1996-06-20 20:05:46 +00:00
pk a0222c1293 Turn on disconnect/reselect by default on targets 4-7 on the premise that
tape devices normally are set to one of these targets. Tape devices should
be allowed to disconnect for the SCSI bus to operate acceptably.
1996-06-20 19:50:41 +00:00
leo e07a535f4e Some minor nits. 1996-06-20 19:41:01 +00:00
is 0569d3582c Use the right microsecond delay address. To achieve this, also map that
piece of hardware into kernel virtual memory (was only a guess 'til now).
XXX Unfortunately, the hardware vendor reserves the right to change this in
future DraCo revisions. We must rethink delay() and DELAY(), at least for the
DraCo, soon.
1996-06-20 09:31:58 +00:00
jonathan fc7c84da3a Explictly credit Per Fogelstrom for the mips shared library support in elf.c,
which was taken from OpenBSD/pica.

The previous revision of elf.c replaced Ted Lemon's elf exec machinery
with something closer to Christos' MI elf machinery. It turns out
that old NetBSD/pmax elf binaries have three segments, and the newer
elf exec machinery cannot exec them.

The old elf exec machinery is folded back into cpu_exec.c, which falls
back onto using the old machinery if the new machinery fails. The
old-style binaries will be deprecated at the 1.2 release.
1996-06-20 07:06:36 +00:00
scottr 02f1ebc3de SPOT is now an NFS server, too. 1996-06-20 04:11:55 +00:00
gwr e1cc05a94c Fix ZMAGIC (from Chuck Cranor) 1996-06-20 03:59:41 +00:00
gwr a1ec070f97 Take control over the kernel libraries so cross-build is easier. 1996-06-20 03:47:27 +00:00
gwr 4bb67f0a27 Take control over the kernel libraries so cross-build is easier. 1996-06-20 03:11:06 +00:00
pk dba83379bd Remove a "notyet" in last commit. 1996-06-19 13:30:49 +00:00
pk c7fc34ac08 add tcx device at major number 109 1996-06-19 13:28:14 +00:00
pk 3da87417d2 tcx declaration 1996-06-19 13:25:01 +00:00
pk 5f5407c39e add tcx 1996-06-19 13:23:25 +00:00
pk c6d4bf55e3 Add tcx definition. 1996-06-19 13:21:09 +00:00
pk f62f900f6c First go at a TCX framebuffer driver. This version does enough to
load and store colour lookup tables
	blank the screen / put monitor in power-saving mode
	make X11 run on it in `cgthree' emulation.
1996-06-19 13:17:35 +00:00
scottr 758ea43e99 Completely revamp setroot() and friends. Since Chris' version of this code
is close to how I reworked it, I pulled in the (essentially MI) NetBSD/alpha
and added the appropriate support around it.

- No need for the GENERIC kernel config option.
- NFS-mounted root and swap are supported.
- If we can't figure out where the root filesystem is from what the Booter
  tells us, ask the user.
- Split the mainbus autoconfig code to a separate file.

Also, update/add copyrights as appropriate.
1996-06-19 03:21:03 +00:00
briggs 37472fd212 Remove Alice copyright. 1996-06-19 02:20:54 +00:00
briggs 09eef8070d Remove Alice copyright and comment from '92. 1996-06-19 02:19:13 +00:00
scottr 6c3aabe226 Update some comments, and the copyright 1996-06-19 01:47:28 +00:00
is 40cd9f0062 During the data type cleanup, a bug crept in in the code handling mbufs with
odd length. This would lead to corrupt data sent.
1996-06-18 20:50:00 +00:00
gwr a2b74a415d Several minor changes to make cross-compilation easier.
(I do most compiles on a sparc these days...)
1996-06-18 16:18:34 +00:00
gwr d3b59f36ab Add the field "pcb_mmuctx" for future use by the pmap code.
(This will make later update of the pmap code much easier.)
1996-06-18 16:03:45 +00:00
is 59bbde87bc Don't use the inline assembler 64bit integer division if our kernel might
run on 68060. Some graphics boards need delay() in early initialization (that
is, before initcpu() was called.
1996-06-18 11:41:48 +00:00
leo 2c4c524e54 Use -S rather than -x for "normal" link flags. 1996-06-18 11:12:32 +00:00
leo 1301d25702 Pull down from release. Sorry, should have been the other way around.... 1996-06-18 11:10:04 +00:00
mycroft 60f46fb10b Increment the boot block version. 1996-06-18 07:51:26 +00:00
mycroft 584f242944 Don't advance to the next default name if the user typed something.
Make gets() return void.
1996-06-18 07:47:02 +00:00
mycroft 398b638fbb Add comments on #else and #endif. Move #ifndefs outside of comment blocks. 1996-06-18 07:17:47 +00:00
mycroft b360b90a92 Save %esi and %edi around BIOS calls. Also, reference arguments through
%esp rather than %ebp, to avoid needing to change %ebp on entry.
1996-06-18 07:03:44 +00:00
leo cf50b9a115 Add fpfault & bus error handling corrections from Ignatios Souvatzis. 1996-06-18 06:13:46 +00:00
mycroft f2d34a2c9a Compare device types with strcmp(). Remove special case for `wt'. 1996-06-18 06:10:33 +00:00
mycroft 8a706cd17f Add a ONEDISK option to elide the getc(). 1996-06-18 06:06:38 +00:00
mycroft 0ca0eeec5f Clean up the install target. 1996-06-18 06:05:44 +00:00
leo d84f4c4b18 Add tty_attach() calls. 1996-06-18 05:54:59 +00:00
mycroft 36720c448c Use the BIOS memory sizes passed in by the boot program, to preserve the BIOS
data area.
1996-06-18 01:53:07 +00:00
gwr bf7ab63c97 Move some of the DMA engine initialization from the "start" routine
to the "setup" routine.  Doing the initialization earlier prevents
nasty race conditions where the 5380 prefetch changes the counter.
1996-06-17 23:21:29 +00:00
gwr dc066b6a10 KGDB support 1996-06-17 15:40:36 +00:00
gwr af3f9266db Correct return type of boot() and reboot2(). 1996-06-17 15:27:16 +00:00
gwr 3274834c18 Use the PROM->input_source setting instead of EEPROM to determine
where the console is, because that is correct if, for example, you
boot with the diag/norm switch set for diagnostics and the EEPROM
is set for keyboard/display.
1996-06-17 15:17:06 +00:00
jonathan 9fedff95ce Update mipspmax elf exec support:
* Update arch/mips/mips/cpu_exec.c to include MI exec_elf.h header,
    and to use the MI interface exec_elf_makecmds().
  * Replace arch/mips/mips/elf.c (Ted Lemon's elf code) with
    a version of Christos's MI elf exec code, munged to support demand paging
    and mips shared libraries.
1996-06-17 10:51:28 +00:00
jonathan 2311fa5f31 Fix typo, colon instead of semicolon when DS_5000_25 is not defined. 1996-06-17 07:59:39 +00:00
jonathan b212f1b0c1 Move cpu_singlestep outside of #ifdef DEBUG/#endif; the process-tracing code
in  mips/mips/process_machdep.c (erroneously) calls cpu_singlestep().
1996-06-17 07:55:13 +00:00
oki ff21e075f0 added wait for insert system floppy 1996-06-17 07:28:58 +00:00
jonathan 26626be148 Before calling a signal handler, set $t9 to the user-level signal
handler address.  May be needed by sysv ABI for shared libs.
1996-06-17 06:36:34 +00:00
oki 8da30c1475 fd* is need to boot from floppy 1996-06-17 06:09:30 +00:00
pk 5d5e7cf75e bootpath detection: some (newer?) v2 prom versions use actual device address,
e.g. `/fd@1,72000000'.
1996-06-16 23:28:18 +00:00
mhitch cd2de87a62 Fix cpu configuration display - extraneous "\n" was printed. 1996-06-16 17:05:33 +00:00
mhitch d5cb319823 Fix to compile if DS3100 is not defined when building without DS3100 support. 1996-06-16 17:03:18 +00:00
mhitch dbd6d91a1f Fix to compile if DS3100 is not defined when building without DS3100 support.
Now that autoconf parameter passing is cleaned up, configure the cpu.
1996-06-16 17:01:46 +00:00
mhitch 2c4f6b4b82 Don't modify rz_softc[] entries beyond what was configured.
Show proper inquiry data when version >= 1, not <= 1 (SCSI-2 devices
now display their inquiry infor).
Correct transfer length passed to dk_unbusy (b_resid hasn't been
updated yet).
1996-06-16 16:57:31 +00:00
mhitch 40c440b66e Do tty_attach() for serial lines and MAXINE console. 1996-06-16 16:50:56 +00:00
mhitch 56a2e98b80 Do tty_attach() for serial lines. 1996-06-16 16:49:07 +00:00
oki 3b090d3e8f fixed to write disklabel correctly. 1996-06-16 09:07:59 +00:00
briggs b4c60fd801 port-m68k/2547: wrong bus error detection from is@beverly.rhein.de. 1996-06-15 21:25:21 +00:00