Commit Graph

8308 Commits

Author SHA1 Message Date
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