Commit Graph

326 Commits

Author SHA1 Message Date
cgd d97900c6f4 boot device autodetection, using PROM's boot device environment variable.
This is a bit of a hack, as-is, since there's a lot of code that's
outright duplicated between the various files and because it doesn't
support detection of a network device as the root device.  The
latter's not a problem yet, because NetBSD/Alpha can't load the kernel
from the network to begin with.
1996-06-13 04:53:47 +00:00
cgd 3a7c6bd270 note that the DEC 21000 isn't supported in the same way as for the 2000/300 1996-06-13 00:28:59 +00:00
cgd b26a6f1d3d We'd like to differentiate case for kernel boot flags, but the Alpha AXP
Architecture Reference Manual says that we shouldn't.  'a' is now back
to ~RB_SINGLE, and 'n' and 'N' now get RB_ASKNAME.
1996-06-13 00:24:52 +00:00
cgd a59ba05045 don't pass "argc," "argv," and "envp" from boot blocks to kernel;
they're unnecessary and there's no reason to use them.  Have the
kernel get necessary values from the PROM directly.
1996-06-12 22:11:28 +00:00
cgd 3b3f71fb25 don't pass the firmware's console environment variable to the various console
initialization functions any more.  None of them used it, and they can
get the same data more easily via the RPB.
1996-06-12 22:06:40 +00:00
cgd f6d4b1367d null-terminate strings returned by prom_getenv() 1996-06-12 21:59:52 +00:00
cgd 5006cfa9ac remove old, unused, framework for boot device detection. It's going
to be replaced by something new and working.
1996-06-12 19:00:17 +00:00
cgd eef7b263f1 remove GENERIC_NFS, because:
(1) right now GENERIC can boot via NFS, and
	(2) in the long run, GENERIC should autodetect network booting
	    and pick the correct root device.
Because of (1), GENERIC_NFS is no longer _needed_ in the short term.
Because of (2), GENERIC_NFS is not _wanted_ in the long term.
1996-06-12 02:00:10 +00:00
cgd 811bbb5c72 rework setroot() and friends, largely by cloning from the sparc code
and whacking a bit here and there where appropriate.  Does not yet do
automatic root device detection, but that's much easier to add now.
RB_ASKNAME now supports specification of network devices, for diskless
booting.  Also, RB_ASKNAME is now supported on _all_ kernels.
1996-06-12 01:57:17 +00:00
cgd ba53a90965 add example 'config' specs for 'root on sd0...' and 'root nfs...' 1996-06-12 01:44:31 +00:00
cgd 698dd157cf remove "options GENERIC" since it's not needed with new setroot() code for
GENERIC kernels, and since it no longer has any other special meaning.
1996-06-12 01:42:46 +00:00
cgd 9d614a5f3f GENERIC no longer has any special meaning (don't set RB_ASKNAME #ifdef GENERIC) 1996-06-12 01:38:09 +00:00
cgd 5109def361 change the meanings of some boot flags:
a (was ~RB_SINGLE, redundant with 'A') -> askname
n (was RB_ASKNAME) -> no meaning
d (was RB_DFLTROOT) -> no meaning (unnecessary with new setroot() code)
m (was RB_MINIROOT) -> no meaning (miniroots currently unsupported;
    #ifdef'd out)
N (was ~RB_ASKNAME) -> no meaning (unnecessary; just don't specify RB_ASKNAME!)
1996-06-12 01:36:01 +00:00
cgd 4a4d4dfc26 copy from sparc port, trim bogus swdevt entries 1996-06-12 01:26:37 +00:00
thorpej 87a6b74c89 Sync up with my local tree:
- add union filesystem
	- add DEFTA device
1996-06-11 23:24:02 +00:00
cgd f4e69ce47d fix pasto in last commit. 1996-06-11 21:28:31 +00:00
cgd 2d9140fb20 add definitions and code to support use of multiple I/O and _dense_
memory regions.
1996-06-11 21:25:25 +00:00
cgd bbdf2df9b0 since bus_mem_subregion() can return failure, don't even bother to try
to handle the case where subregion offset isn't a multiple of 8.
1996-06-11 21:20:08 +00:00
cgd d714189d53 implement bus_mem_subregion() and bus_io_subregion(). 1996-06-11 21:16:21 +00:00
cgd 9aa03f4dd9 update for changed definitions in ciareg.h 1996-06-10 00:04:53 +00:00
cgd 2465bd00e5 store HAE_MEM and HAE_IO register contents in the cia configuration
structure, and add prototypes for the bus_{mem,io}_init() functions.
1996-06-10 00:03:59 +00:00
cgd 55cbf94f22 read value of HAE_MEM and HAE_IO, so that the bus_* functions can
do window recognition correctly.
1996-06-10 00:02:31 +00:00
cgd 9198817ce3 update for new memory window handling in pcs_bus_mem_common.c. 1996-06-10 00:01:09 +00:00
cgd c247b24843 add definitions used to figure out how PCI/EISA/ISA memory regions are
mapped.
1996-06-09 23:59:38 +00:00
cgd df2ba1e245 add support for mapping multiple memory windows. This is necessary
for mapping ISA/EISA 'hole' memory on the AlphaStation 600.
1996-06-09 23:57:45 +00:00
cgd 8df74fa62a wrap __STRING() in a #define so that its argument, which must be
expanded by the preprocessor, will be.  Problem pointed out by Matt
Thomas.
1996-06-09 23:49:24 +00:00
cgd ebe3a58f01 pull down changes from NetBSD 1.2 release branch:
>Update for present reality (function names), clean up a bit (printfs,
>"panic: foo XXX"), and fix a couple of printf format specified bugs
>(which were normally #if 0'd out).  Inspired by Multia/UDB support
>changes sent by Matt Thomas.
and:
>changes from Matt Thomas so that the Multia/UDB can attach its
>'com' interrupts, cleaned up some.  Basically: if sharing type of
>new interrupt is different than what the hardware is currently set up
>for (e.g. requesting edge-triggered and the hardware is set up by
>the PROM for level triggered) and there are no interrupt handlers on
>that line already, warn about it and use the hardware type that the
>line was already set for (to avoid making the console blow up on
>reboot).  If same circumstances but there is already a handler, panic
>as before.
1996-06-05 22:52:34 +00:00
cgd 37ec86f0cc avoid lots of upper-case letters in interrupt names. prettier that way. 1996-06-05 03:38:02 +00:00
cgd 56db5baced print slot number as decimal, not hex 1996-06-05 01:32:00 +00:00
cgd 666c7f6fd4 interrupt counters for TurboChannel systems. 1996-06-05 00:30:48 +00:00
cgd 2d03e599c7 don't depend on being able to read the IMR. Apparently, it doesn't
work (as documented in the DEC 3000/[3-9]00 System Programmer's Manual)
in some of the older 3000/500 systems.
1996-06-04 19:02:16 +00:00
cgd c6dd609e7f gross hack to get around the fact that there are currently devices with
common back-ends that live on multiple very-different busses (e.g. PCI and
TC), which need bus-specific DMA mapping support.  As a nice side effect,
this will allow the especially nasty (vtophys(va) | 0x40000000) expressions
to go away in favor of less nasty bus-specific function calls.
1996-06-03 20:18:48 +00:00
cgd e038a84b34 add "le* at pci?", because it compiles and may actually work. 1996-06-03 20:10:52 +00:00
cgd 729d7a8aa8 only do tty_attach() for first tty of each chip; that's the only real tty. 1996-06-03 19:43:31 +00:00
cgd afe080291e fix pasto: s/NETISR_CCITT/NETISR_PPP/ at the appropriate place in
netintr().  From Matt Thomas <matt@lkg.dec.com>.
1996-06-03 18:32:37 +00:00
cgd 99a50a5e0d now that the bug has been fixed, we can go back to using the
Alpha-optimized in_cksum().
1996-05-30 23:18:14 +00:00
cgd ea82d613ab Fix from Matt Thomas to fix problem where packets like
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01 would be checksummed
incorrectly: rather than adding two 32-bit quantities together to
sum a quadword (which was losing a carry bit), add as four 16-bit
quantities.
1996-05-30 23:08:36 +00:00
cgd 6e6fc14f32 add tty_attach() calls where appropriate 1996-05-30 18:44:30 +00:00
cgd f7dcef06d4 add missing splx(). From Jason Thorpe 1996-05-29 22:24:47 +00:00
cgd 48652c763f fix UMAPFS entry, add entry for UNION 1996-05-23 23:29:10 +00:00
cgd 82dd8bf609 disable alpha-specific in_cksum.c; it seems slightly buggy 1996-05-23 23:27:25 +00:00
cgd 5e29c383e2 add wbflush() calls in strategic places. These really shouldn't be
here, and there should be a generic 'bus' interface to do memory
read/write barriers.
1996-05-20 03:14:07 +00:00
cgd 397617080d add 'pseudo-device strip' for Metricom Ricochet packet radio driver
recently kicked in by Jonathan Stone.  It compiles on the alpha, and
may even work.
1996-05-20 02:58:53 +00:00
cgd daad29a36c add fta, fpa, and fea drivers, for DEC TC, PCI, and EISA FDDI controllers. 1996-05-20 01:37:18 +00:00
cgd 17bc20b5a4 minor cleanups, mostly KNF. 1996-05-19 21:41:00 +00:00
cgd 260dba439d Tuned in_cksum() from Matt Thomas <matt@3am-software.com>. According
to him, this implementation is approximately 50% faster than the
machine-independent portable version.
1996-05-19 21:24:14 +00:00
cgd 6f5bee3001 add -O2 to the optimization flags. A reason why optimization seemed
to fail on some systems was never found; hopefully it's gone away (or
was never really there).
1996-05-19 21:16:51 +00:00
cgd 4145f89f54 TurboChannel bus_mem_* functions. bus_mem_{read,write}_8, and
bus_mem_read_{1,2} are not yet supported for sparse space.
1996-05-18 00:00:51 +00:00
cgd 0307c36933 bus_io_* functions. These have no meaning on the TurboChannel, since
it's a memory-mapped bus and has no I/O space.  They all are
fancy wrappers around panic().
1996-05-17 23:59:31 +00:00
cgd 84b37ec80d set up a bus_chpiset_tag_t, and pass it to the TC code 1996-05-17 23:58:43 +00:00