Commit Graph

736 Commits

Author SHA1 Message Date
cgd
335926a2d0 add system type numbers up to 28, add the EV56 processor type number. 1996-11-11 20:59:02 +00:00
cgd
89e06b9449 build manual page and install it in the right place. 1996-11-06 23:09:13 +00:00
cgd
050d4ebd12 NetBSD/alpha installboot manual page. Copied from the sparc and lightly
tweaked by Curt Sampson <cjs@portal.ca>, then largely redone by me.
1996-11-06 23:07:55 +00:00
cgd
8a3333b2a9 Fix an inconsistency that came in with Lite: setrq() was renamed to
setrunqueue(), but remrq() was never renamed.  Rename remrq() to
remrunqueue().
1996-11-06 20:19:19 +00:00
cgd
ca80cc0ce0 add -Wcast-qual 1996-10-25 23:47:01 +00:00
cgd
a5649f782f first arg to alpha_XXX_dmamap is now a vm_offset_t 1996-10-25 20:58:11 +00:00
cgd
22b29b5058 prototype alpha_XXX_dmamap(), the alpha DMA mapping hack. 1996-10-25 20:48:59 +00:00
cgd
1b03f1bca7 update for new bus.h macros. bus_io_* and bus_mem_* integrated into
single bus_space_* framework.  Unfortunately, bus_space_{read,write}_*
operations still imply barriers.  That will change soon.
1996-10-23 04:12:13 +00:00
cgd
2f614ee518 update for new bus.h 1996-10-22 21:34:19 +00:00
cgd
8f5cf31b8a clean up the recent reimplementation, and kill several bogons in the new
definitions.
1996-10-22 21:23:49 +00:00
cgd
6d917387e4 there is no TC I/O space, so in the new bus.h world order there
is no tc_bus_io.c.
1996-10-22 21:15:45 +00:00
cgd
48dc9aaae4 update alpha bus.h for new bus space interfaces. chipsets haven't
been updated yet, and the hacked DMA vto(busphys) macro is gone and
hasn't yet been replaced.
1996-10-22 18:06:54 +00:00
cgd
a6d9feb7a5 clean up chrtoblktbl, adding comments naming the devices which actually do
have entries in both device switch tables.  Add 'st' entry to chrtoblktbl.
1996-10-18 21:26:57 +00:00
cgd
44365140cf Severely clean up netisr handling. Clean up includes for netisr handlers.
Fix PPP netisr handling, add NATM netisr handling.
1996-10-18 20:35:23 +00:00
thorpej
150c33e60b Use ${INSTALL}. 1996-10-18 05:55:26 +00:00
cgd
8f799be896 add a WEAK_ALIAS macro if building on an ELF-capable system, which creates
a weak alias for a symbol.
1996-10-17 18:33:53 +00:00
cgd
8cab2f173f update for changes in asm.h 1996-10-17 02:50:38 +00:00
cgd
905f7abae1 Add __CONCAT and ___CONCAT to concatenate identifiers. Add LLABEL to
create an assembly label, and SYSCALLNUM to convert a syscall name into
the macro that's defined to be its number.  Add a CALLSYS_NOERROR macro
which invokes the named system call.  (CALLSYS_NOERROR is here since
it's used in locore, for sigcode.)
1996-10-17 02:49:04 +00:00
jonathan
0d1085302d alpha_mb() -> tc_mb(), for alpha/pmax convergence, even tho the tc_mb()
interface in tc_machdep.h is obsolete.
Change "#if 0" around  pmax rcons mouse-redirection to "#ifdef HAVE_RCONS"
1996-10-16 05:07:57 +00:00
cgd
caa0b41652 spaces -> tabs where appropriate, some (minor) KNF (it needs much more),
kill spaces at EOL.
1996-10-16 04:07:16 +00:00
cgd
99ffca7953 more updates from jonathan. kill scc_tty array and needs-count 1996-10-16 03:53:31 +00:00
cgd
862e0d2653 various bits of cleanup, from jonathan stone, to make this and the pmax
driver slowly converge.
1996-10-16 00:03:02 +00:00
cgd
f31bd002d2 add a new function, hwrbp_restart_setup(), to be called after
autoconfiguration.  It clears the RPB's per-cpu-slot BIP flag and
sets up the RPB's restore_term and restart vectors, etc.  add a
console_restart() function, which causes a panic and system dump,
that is invoked (indirectly) via those vectors.
1996-10-16 00:00:40 +00:00
cgd
2f7e2d8853 add an XentRestart, pointed to by the retore_term HWRPB vector (and maybe,
eventually, the restart HWRPB vector), which calls console_restart.  This
is invoked when the console halt switch is used and the user enters 'c'
at the console prompt, and eventually causes a system crash dump to be
generated.
1996-10-15 23:56:56 +00:00
cgd
9da2b9743a define and call a new function, hwrbp_restart_setup(). It's called after
autoconfiguration to clear the RPB's per-cpu-slot BIP flag and to set up the
RPB's restart function pointers, etc.
1996-10-15 23:52:49 +00:00
cgd
e897979b3e don't set dumplo to -1 on error. deal with the case where dumplo is
still 0 after dumpconf().
1996-10-15 23:27:27 +00:00
mycroft
7f28c2392c Increase the maximum number of ECBs. 1996-10-15 21:31:37 +00:00
mycroft
d2f275101a Minor cosmetic change. 1996-10-15 21:30:19 +00:00
cgd
01565a3ced typedef, not typeded 1996-10-13 19:57:59 +00:00
cgd
77483f297b increment cnt.v_intr for I/O device and clock interrupts 1996-10-13 19:57:49 +00:00
christos
8d9699acda backout previous kprintf change 1996-10-13 02:59:55 +00:00
christos
7d1960f502 backout previous kprintf change 1996-10-13 02:59:38 +00:00
christos
55ff7d5106 backout previous kprintf changes 1996-10-13 02:59:37 +00:00
christos
0039d4aa0c backout previous kprintf change 1996-10-13 02:59:25 +00:00
christos
d7363b596f backout previous kprintf changes 1996-10-13 02:59:23 +00:00
christos
b078069824 in_addr_t and in_port_t changes 1996-10-13 02:55:48 +00:00
cgd
b2f63215fc don't forget to switch back to the .text after emitting warning
strings in their own sections.
1996-10-12 18:08:12 +00:00
christos
946833855f printf -> kprintf, sprintf -> ksprintf 1996-10-10 23:51:21 +00:00
christos
a60beecedb printf -> kprintf, sprintf -> ksprintf 1996-10-10 23:44:49 +00:00
cgd
c11d591cfe add support for ELF toolchain, including weak alias support (for upcoming
libc changes) and reference warnings.
1996-10-09 22:41:54 +00:00
cgd
6d0af59ad0 change __va_list's "offset" field to be a 'int' to match what gcc now
uses, plus add a compatibility hack so that code compiled with old
versions of gcc (e.g. libraries) can work with code compiled with
new versions.
1996-10-09 21:13:04 +00:00
cgd
472889f8e4 moved to aout_machdep.h (via repository copy) 1996-10-08 12:57:37 +00:00
cgd
d557a6a159 change md_coredump struct to actually reflect the machine-dependent stuff
that's dumped.  use it, rather than a hack, to export the info to user-land
(gdb).
1996-10-07 23:57:21 +00:00
cgd
7b01c01516 read user SP into core dump's trapframe 1996-10-07 19:09:17 +00:00
cgd
c11ba5f711 key on ELF_TOOLCHAIN being defined (presumably in /etc/mk.conf)
to signal that the build is happening on a machine with an ELF
toolchain.  This is temporary, until a better toolchain-recognition
scheme is worked out.
1996-10-06 18:32:22 +00:00
cgd
c488b75b83 kill misnamed __indr_references() macro, that would have broken things
if it _had_ been properly named.
1996-10-04 19:30:04 +00:00
cgd
1f81754e6d switch to 'swap generic' since that works now (minimal diffs from GENERIC) 1996-10-03 20:47:19 +00:00
cgd
ff5e6837e6 frob things so that RAMDISK_HOOKS in the 'right' way with 'swap generic'
and/or RB_ASKNAME.  (Basically, assume that if RAMDISK_HOOKS are included,
the default root device should be rd0a, etc.)
1996-10-03 19:57:58 +00:00
cgd
5e8dcd833f reword attachment printf 1996-10-03 19:54:45 +00:00
cgd
40f6aa4b69 add major info for 'rd' ramdisk devices. make parsedisk() static.
tolerate 'halt' at any of the boot-time prompts.
fix (fatal) bug in the 'swap device' prompt reprinting code.
1996-10-03 18:42:41 +00:00
cgd
f328b34c8d clean up 1996-10-03 05:32:49 +00:00
cgd
000f32225c bump the version 1996-10-02 21:26:17 +00:00
cgd
f0e79e47bf spaces/tabs cleanup 1996-10-02 21:18:45 +00:00
cgd
0783bd2801 clean and polish a bit 1996-10-02 21:06:56 +00:00
cgd
f3f6da3473 clean up a bit 1996-10-01 21:24:37 +00:00
cgd
c143646f2f Translate Lev1map to physical address for CPU core header. 1996-10-01 20:21:37 +00:00
cgd
4588414318 move kvtol1pte outside of _KERNEL 1996-10-01 20:21:05 +00:00
cgd
d928dbc14a support for new-style kernel core dumps for the alpha. Could probably
be cleaned up a bit, but it works.
1996-10-01 18:41:08 +00:00
cgd
0b1ff14ff3 first cut at alpha machdep kernel coredump header 1996-10-01 18:38:05 +00:00
cgd
acaf5ffad5 kill __BDEVSW_DUMP_OLD_TYPE 1996-10-01 14:26:18 +00:00
cgd
4f59e73235 implement a simple (mostly brain-dead; old-style) kernel core dump routine,
which dumps all "system"-cluster memory we know about.
1996-10-01 14:25:47 +00:00
mycroft
4cd799d5a9 Remove unused variable. 1996-09-28 03:37:36 +00:00
mycroft
3729419cc8 * Bitbucket extra status bytes rather than barfing.
* Add copyright.
1996-09-28 03:16:56 +00:00
mycroft
e097189e2b Restructure code more like aic6360 driver. Also:
* Check for some errors during reselect.
* Don't recognize MESSAGE PARITY ERROR.  A target is not allowed to
send it.
* Check the size of a SDTR.
1996-09-28 02:10:55 +00:00
thorpej
15516a9a89 - Add some missing prototypes and kill an unused label.
- Add some missing SPARC_DRIVER stuff.
- Make SPARC_DRIVER automatic.

This driver now compiles as-is and works on both the SPARC and Alpha.
1996-09-27 21:37:17 +00:00
mycroft
be1172e37b Fix dangling pointer in debugging message. 1996-09-27 20:21:38 +00:00
mycroft
00089386d6 If we get an unexpected disconnect while issuing a REQUEST SENSE, do a reset. 1996-09-27 19:55:41 +00:00
mycroft
3075e1443b Functional changes:
* Handle message retransmissions and partially sent messages correctly.
* Make sure we clear ATN after the last message is sent.
* Do the right thing if the target initiates negotiation for async mode
after having negotiated sync mode.
* Fix some cases where we set ATN with no message queued, or schedule a
message without setting ATN.
* Issue a REQUEST SENSE after an unexpected disconnect, per SCSI spec.
* Fix abort handling in a number of cases.
* Recognize selection timeouts better (to speed up probing).
1996-09-27 19:36:34 +00:00
cgd
d896ecd5f0 compile .S files with cpp | sed | as, to work around a bug with the
ELF-outputting version of the assembler.  (It was dying when it saw
some CPP line number markers.)  This is temporary.  (Workaround suggested
by Matt Thomas.)
1996-09-27 17:33:04 +00:00
cgd
a3ad409098 add EXEC_ELF64 and EXEC_SCRIPT as standard options 1996-09-27 17:18:02 +00:00
cgd
80f9ed76f6 update for changes to config. 1996-09-27 17:08:32 +00:00
cgd
db9418238e add support for the prom 'write' operation. 1996-09-26 22:51:53 +00:00
cgd
64f4e1937e rename <machine/ecoff.h> to <machine/ecoff_machdep.h> for clarity and
consistency with the way machdep headers for other things are done.
(the creation of the ecoff_machdep.h files was done on the CVS server, to
keep the RCS logs intact.)
1996-09-26 22:39:14 +00:00
cgd
0e097578a2 add and use a machine-dependent header, which currently defines some
macros to use to remove #ifdefs from the machine ID case check.
Eventually, these headers will contain other information, e.g.
machine-dependent relocation information, etc.
1996-09-26 21:50:55 +00:00
cgd
c54f6f32d9 update for ELF toolchain support 1996-09-23 04:32:59 +00:00
cgd
a47aa08a3e define ELFSIZE to 64, for exec_elf.h 1996-09-23 04:32:44 +00:00
cgd
3bd3e6250d checkpoint current development, add ELF toolchain build support 1996-09-23 04:30:56 +00:00
cgd
6048292ba8 add -DECOFF_COMPAT to CPPFLAGS if ELF_TOOLCHAIN not defined. 1996-09-23 04:28:46 +00:00
cgd
c225908c90 add netboot 1996-09-23 04:28:23 +00:00
cgd
8644dce05c start on some network boot blocks. they work, but:
(1) the if_prom code needs to be cleaned up quite a bit
	    (right now it hard-codes client's ethernet address), and
	(2) much of this code (esp: getsecs.c, netboot.c, newvers.sh,
	    rpcc.S) should be shared with other Alpha boot blocks,
	    and dev_net.[ch] should maybe go in libsa proper.
1996-09-18 20:03:04 +00:00
cgd
675e59d762 fix for elf loading, from Matt Thomas 1996-09-18 19:34:33 +00:00
cgd
886dba6dff (1) split load-file functionality out from the 'main program' of the
boot block, since it will be shared with the network boot block.
(2) Kill a.out support, since it never worked was never used, and will
    never be.
(3) Add support for booting of ELF kernels, from Matt Thomas.  (Currently
    untested, but it compiles.)
1996-09-17 22:00:24 +00:00
cgd
a68b586a74 add _rtt as an XLEAF into start which (like 'halt') just halts 1996-09-17 21:26:45 +00:00
cgd
abcbfbdd93 use assembler directives and labels that make both the ELF- and ECOFF-
targeted assemblers happy.
1996-09-17 21:17:11 +00:00
cgd
8110fe7ca7 Differentiate between disked ("SCSI") and network ("BOOTP", but not yet MOP)
booted_dev specs.  Add code to find the device, if booted from the network.
1996-09-17 21:04:25 +00:00
cgd
cab0e2aba3 hmm, fix an apparent typo (two letters got deleted!) 1996-09-17 20:58:58 +00:00
cgd
56386f3e35 Differentiate between disked ("SCSI") and network ("BOOTP", but not yet MOP)
booted_dev specs.  Add code to find the device, if booted from the network.
1996-09-17 19:46:37 +00:00
cgd
88a5419c15 print default device names slightly more nicely. (if not disk device,
don't print a blank before the close paren.)
1996-09-17 19:41:52 +00:00
cgd
66992c7399 sync with GENERIC: add pseudo-device 'rd' with one unit 1996-09-16 16:34:15 +00:00
cgd
0006f58df7 add EISAVERBOSE, TCVERBOSE as appropriate. Add UCONSOLE to all.
slight cleanup + sync.
1996-09-16 16:30:40 +00:00
cgd
5645b6ef46 simplify profiling entry. add 'label' argument tp PANIC, PRINTF, and MSG,
which is the label that the message string should be stored with.
1996-09-15 22:42:29 +00:00
cgd
e025186655 save and restore registers symmetrically. don't forget to restore PV (t12). 1996-09-15 22:33:28 +00:00
cgd
89986fec30 like GENERIC, but uses built-in ramdisk image for root 1996-09-15 17:23:12 +00:00
cgd
3732f4dad6 add one 'rd' pseudo-dev. 1996-09-15 17:22:28 +00:00
cgd
edf0333fe0 add ramdisk root hooks 1996-09-15 17:17:56 +00:00
cgd
17264a54f2 s/k0segtophys/ALPHA_K0SEG_TO_PHYS/ 1996-09-15 17:16:24 +00:00
cgd
3af6ed0256 pollin', pollin', pollin', make them drivers pollin'... (support poll()). 1996-09-15 17:15:26 +00:00
cgd
0b77b04b6e set a0 to be the initial sp, and set pv to be program entry point. 1996-09-10 19:13:42 +00:00
mycroft
b3ffba62a6 Move strip(1) flags into a separate variable, so that $STRIP can
be passed to subordinate make(1)s.  Remove $TOUCH.  Add HOSTED_CC,
HOSTED_CPPFLAGS, and HOSTED_CFLAGS, and use them when depending genassym.
1996-09-09 21:06:55 +00:00
cgd
7ba205c37e Sync the 53c94 SCSI driver with the sparc version. Update the DMA code to
match the interfaces required by the driver.
1996-09-09 18:10:35 +00:00
cgd
2b118fc59b add entries for rd (cdev + bdev), ss (cdev), and uk (cdev). 1996-09-09 16:38:52 +00:00
cgd
65538ec48d add specs for 'rd' 1996-09-09 16:31:36 +00:00
mycroft
e6dd44f034 Use SIGBUS iff we get a legitimate bus fault. Use SIGSEGV for page protection
violations (per Solaris, SVR4, AIX, Linux, Irix, and SunOS).
1996-09-07 22:26:41 +00:00
mycroft
2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
cgd
e6e14683fe note that the AlphaStation 500 works (with the same caveats as the
AlphaStation 600).
1996-09-06 04:01:37 +00:00
mycroft
fc3def4096 Remove duplicate declarations of LKM functions and macros. 1996-09-05 15:46:22 +00:00
mycroft
b3eac79b64 tty stop functions really should return void, not int, and certainly not both. 1996-09-02 06:43:16 +00:00
mycroft
30a617c634 Wrap the default definition of S' in .ifndef'. 1996-08-31 21:40:47 +00:00
cgd
71ad30d0e9 (1) set scsi_link channel to either the appropriate channel (if a
multi-channel driver), or to SCSI_CHANNEL_ONLY_ONE if a
    single-channel driver.
(2) use scsiprint() rather than a locally-defined autoconfig print
    function, and kill any locally-defined print function.
1996-08-28 18:59:15 +00:00
cgd
2a73ef60b7 change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +00:00
cgd
2c47809239 include <sys/systm.h> for printf prototype 1996-08-27 16:28:08 +00:00
cgd
b9a7acad48 define a new frame buffer type code for the TGA2 1996-08-23 00:50:25 +00:00
cgd
2d7e005418 add COMPAT_12 to all configs 1996-08-21 16:25:05 +00:00
cgd
78b0ddd68b wrap a debugging printf in NEW_PMAP 1996-08-21 15:54:18 +00:00
cgd
c8fbe2de87 PSL_IPL_HIGH -> ALPHA_PSL_IPL_HIGH 1996-08-21 15:53:26 +00:00
cgd
137c61ba70 OLD_PMAP -> NEW_PMAP 1996-08-20 23:18:44 +00:00
cgd
04bac6838f OLD_PMAP -> NEW_PMAP. also, fix bug where i wasn't disabling
all reporting of correctable errors on startup, but rather was
just clearing all outstanding correctable errors.
1996-08-20 23:16:27 +00:00
cgd
645fb5dd99 lots of debugging printf flags, serious clean, add pmap_{,de}activate() 1996-08-20 23:08:08 +00:00
cgd
00c4aefc1a add a bunch of printfs for NEW_PMAP 1996-08-20 23:05:10 +00:00
cgd
a6ff68785e add cached dirbase PFN, protos for pmap_{,de}activate() 1996-08-20 23:02:59 +00:00
cgd
0a50735abb OLD_PMAP -> NEW_PMAP 1996-08-20 23:02:30 +00:00
cgd
8bc62db31e K0SEG_END is inclusive 1996-08-20 23:02:17 +00:00
cgd
488b657b68 OLD_PMAP -> NEW_PMAP 1996-08-20 23:00:24 +00:00
cgd
e59fad87f5 OLD_PMAP -> NEW_PMAP 1996-08-20 22:38:26 +00:00
cgd
e4ff992e15 allow dots in names (but not at start of names), so that
GENERIC.PROF gets built.
1996-08-20 22:28:37 +00:00
cgd
33d6183e0f kill OLD_PMAP, since it now takes 'NEW_PMAP' to get the new pmap code. 1996-08-20 22:25:16 +00:00
cgd
68f23ebb4d kill 'microcode' Makefile.inc include, define CWARNFLAGS with ?=. 1996-08-20 22:23:01 +00:00
cgd
8bdeec7c79 switch 'old_pmap' option to 'new_pmap', since getting the new pmap code
is going to take a while...
1996-08-20 22:20:07 +00:00
cgd
eb9c65ce77 add a version of GENERIC which is always compiled with
profiling enabled.  (named the same as what GENERIC kernel
would be named if configured with config -p, which would end up
generating the same kernel as this.)
1996-08-19 04:53:24 +00:00
cgd
15f9c59baf check in the code used to build the kernel that Andrew Gallatin used to
figure out the correct IRQ for the ethernet on the AlphaStation 500.
That code is enabled via KN20AA_BOGUS_IRQ_FROB (but hopefully won't be
needed any time soon, and won't link w/o slight changes to other code).
Basically, when establishing an interrupt that we don't know what to
do with, prompt the user for what interrupt line to enable.  If you
get stray interrupts when you try to use the device (but not before),
then you've got the right line.
1996-08-19 04:28:25 +00:00
cgd
3c7eaa04e2 fix typo in comment 1996-08-19 04:19:01 +00:00
cgd
b4bfcf063f 21040 ethernet chip on AlphaStation 500 lives in slot 6 (a slot not
found on the AlphaStation 600), and interrupts on interrupt line 13.
Thanks to Andrew Gallatin for booting a test kernel 32 times (trying
each interrupt line, looking for the right one) to find this.
1996-08-19 04:14:58 +00:00
cgd
e295ad51df clean up stray interrupt handling a bit. 1996-08-15 22:17:44 +00:00
cgd
b3703a8fcd oops; fix bogon in last. 1996-08-14 05:47:39 +00:00
cgd
1f675e847d say 'stray kn20aa irq' rather than 'stray PCI irq'; former is more correct. 1996-08-14 05:45:52 +00:00
cgd
a96b24415d fix inadvertent reordering of switch which cases by slot number but
is ordered by interrupt number.
1996-08-14 05:44:31 +00:00
mycroft
558d72128e Put into . Remove hooks for `config-dependent' and
`device-driver' flags.
1996-08-12 00:51:24 +00:00
mycroft
cf67f29afe * Add a HOSTED_C_C variable, which strips -p', -pg', and
`-nostdinc', and use it when building genassym.
* Use `-nostdinc' just to be sure we're self-contained.
1996-08-10 06:07:57 +00:00
mycroft
f94052ed3a * Define CWARNFLAGS and MKDEP in some moderately consistent fashion.
* Make S expand to an absolute path at compile time.
* Use `-S' rather than `-x' to remove debugging symbols.
* Garbage collect unused variables.
* Reverse a handful of port-specific changes that do not correspond to
the common build model and are not needed.
1996-08-10 05:29:24 +00:00
mrg
5abbf990f3 Change reboot(2) to take two arguments: bootopt like normal and also
a boot string for firmware that can do this, such as the SPARC and
the sun3 models.  It is currently silently ignored on all other
hardware now, however.  The MD function "boot()" has been changed to
also take a char *.
1996-08-09 10:30:23 +00:00
cgd
440a942944 fix bogus returns from dec_kn20aa_intr_map(), and slightly simplify interrupt
mapping code.  (instead of using a "slot" and multiplying by 4 and adding the
pin number later to get the IRQ, just use base IRQ value and add the pin
number.)
1996-08-07 04:33:21 +00:00
cgd
efec732f4d fix a typo, add a function kn20aa_disable_intr() to disable a given
kn20aa interrupt line.
1996-08-07 04:22:40 +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
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
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
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
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
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
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
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
cgd
e8fab58348 allocate a flat 10% of memory to buffer pages. 1996-06-15 03:55:17 +00:00
cgd
55651c941b punt on the grep and do all the file selection in find. don't try
to build kernels from files with '.' anywhere in their names.
1996-06-15 03:45:02 +00:00
cgd
1beca2d96b add a new machine-dependent sysctl, machdep.root_device, which is the
(string) name of the root device.  It's a string so that it can
be used before dev_mkdb has been run.
1996-06-14 20:40:46 +00:00
cgd
5c5c2d1804 add a delay before serial console is initialized, to allow any
outstanding PROM output to drain.  Move the console-type printfs
so that they're only printed if console selection fails.
1996-06-14 20:38:11 +00:00
cgd
ef8b4f596a clean up entry printf 1996-06-14 20:04:45 +00:00
cgd
643339aa90 Don't pass arguments to the kernel, trim unnecessary environment
calls, kill 'ask' loop (i.e. if boot fails, halt), seperate
ECOFF and a.out support into seperate options.
1996-06-14 20:02:52 +00:00
cgd
1a6ddd64d7 cpu_model must be an array to make sysctl be happy. 1996-06-13 23:16:43 +00:00
cgd
0729742246 fix error in 'swap generic' nfs root picking code (a case that can never
currently happen) which forgot to set rood device correctly.
1996-06-13 23:10:37 +00:00
cgd
49c6ac313f update readme files for present reality. 1996-06-13 20:36:04 +00:00
cgd
53a97a8870 get rid of now-unnecessary kernel config files (now that swap generic
works) for my machines and now-nonexistent test machines.  Clean up
options in existing config files so that they're more consistent.  Add
more units of various pseudo-devices to several.
1996-06-13 19:18:16 +00:00
cgd
386aeb320f clean up copyright notices 1996-06-13 18:31:49 +00:00
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