Commit Graph

12643 Commits

Author SHA1 Message Date
thorpej d1b4b49231 - Use PALcode ops names defined in <machine/pal.h>.
- Fix a few bugs in the software single-stepping support code, where
  VMS PALcode ops were being checked, rather than OSF/1 PALcode ops,
  causing erroneous results in the "exception return" and "unconditional
  branch" predicates.
- Add the BWX instructions ("ldbu", "ldwu", "stb", "stw") to the
  "load" and "store" predicates.
1997-09-16 19:07:19 +00:00
thorpej a14bab3438 Don't define another copy of the PALcode ops here; direct readers to
<machine/pal.h>.
1997-09-16 19:03:22 +00:00
thorpej e7c2d59885 Fix an oversight in the last commit. 1997-09-16 19:02:13 +00:00
scottr 83bd421ad4 Set up base address of ASC for IIfx, per GtMFH. 1997-09-16 16:28:07 +00:00
scottr eb72408374 Clean up comments. 1997-09-16 16:13:47 +00:00
scottr 8dbfee6073 Add a comment about the sccA address on the IIfx. 1997-09-16 15:51:09 +00:00
scottr 19e555febb Check booter flags for a bit that tells us whether we should construct
bootdev from the SCSI ID passed in via the Booter's environment.
(Does the right thing for older versions of the Booter.)
1997-09-16 14:35:32 +00:00
thorpej 0599db7897 - Define bits used in the "amask" instruction.
- Define processor family IDs returned by the "implver" instruction.
- Prototype alpha_amask().
1997-09-16 06:57:12 +00:00
thorpej 9faf00ea6a Implement alpha_amask(), a stub which reads the "architecture feature mask"
using the "amask" instruction.
1997-09-16 06:54:01 +00:00
thorpej 4fe999c6bf - Add the "amask" and "implver" operate subfunctions.
- Add the "ldbu", "ldwu", "stb", and "stw" major opcodes (BWX instructions).
1997-09-16 06:52:48 +00:00
thorpej fc80b40481 - Rewrite the functions that provide opcode subfunction names to make it
easier to add instructions that the disassembler doesn't know about
  (the opcode subfunction number is now printed).
- Add the "amask" and "implver" operate subfunctions.
- Add the "ldbu", "ldwu", "stb", and "stw" major opcodes (BWX instructions).
1997-09-16 06:52:16 +00:00
thorpej d1fbc82e28 From page 6-9 of "Alpha AXP Architecture Reference Manual, Second Edition":
An IMB intruction must be executed after software or I/O devices
	write into the instruction stream or modify the instruction
	stream virtual address mapping, and before the new value is
	fetched as an instruction.

We were missing calls to IMB after mappings were changed, which caused
systems with large I-caches (e.g. my AlphaStation 500) to fail miserably
when mapping in new pages of program text, or when context switching
(I couldn't even get the shell from init!).
1997-09-16 01:52:00 +00:00
thorpej 37b8edbeac In addition to MAS_ABT, check TAR_ABT when doing configuration space
reads.  This is necessary because of newer AlphaStation firmware doing
the Wrong Thing with target aborts behind PCI-PCI bridges, much like they
do the Wrong Thing with master aborts.  Reported by Matthias Drochner.
1997-09-15 23:31:15 +00:00
thorpej 12f6c5aba1 Make sure to clear MAS_ABT if we received one. 1997-09-15 23:01:29 +00:00
thorpej 3c3c6a3b31 Use the symbolic name for "received master abort". 1997-09-15 22:35:54 +00:00
thorpej 8ff22715e8 Define bits in the CIA_ERR register. 1997-09-15 22:34:38 +00:00
is dc914f2ee7 Only create verbose delay loop calibration message for DIAGNOSTIC kernels. 1997-09-15 22:17:55 +00:00
is 33d1f0d190 A few more boards. This really should be split into a seperate file, only
active if the kernel has ZBUS_VERBOSE similar to PCI, EISA, (podulebus?),
but I don't have that stuff ready yet.
1997-09-15 21:37:35 +00:00
pk aa998af35c Hard-code a couple of sun4 cpu-clock speeds.
Fix a printf formatting glitch.
1997-09-15 20:52:36 +00:00
leo 00a1b6300f Add DCFA() definitions. 1997-09-15 11:12:13 +00:00
leo 571340263d Small readability update. 1997-09-15 11:08:38 +00:00
leo 409812c25c Define isabus by default on the Hades. 1997-09-15 10:51:20 +00:00
pk b5004e4ce1 Call the device close routine when we're done reading. 1997-09-14 19:28:17 +00:00
pk 5ba6b94ba6 Do not use KERNBASE to calculate the `end of symbols' location. Instead
use the `a_entry' field from the kernel's header as a base.

Pass on a new DDB magic number to the kernel, so kernels linked for a
different KERNBASE value can apply a correction when booted from old
bootblocks.
1997-09-14 19:27:21 +00:00
pk 4969489cb6 Define a new DDB magic number to pass to the kernel. 1997-09-14 19:22:55 +00:00
pk 383448522d Refer to KERNBASE instead of its current numerical value in comments
and some early debugging code.
1997-09-14 19:20:48 +00:00
pk dc4f93c2a1 Collect sbus status and configuration registers in `struct sbusreg'. 1997-09-14 19:17:25 +00:00
pk e4a198d193 Move sbus fields to sbusreg.h where they belong. 1997-09-14 19:16:04 +00:00
pk a3140bf9f2 NetBSD 1.2 and earlier sparc bootblocks have KERNBASE compiled in. This
prevents booting DDB kernels that are built with a different value of KERNBASE.

Apply a correction based on the magic number passed in by the bootblocks.

New bootblocks without the hard-coded KERNBASE reference will be assigned
a new magic number.
1997-09-13 20:36:48 +00:00
pk c635b25325 In kbdattach() (the pseudo-device attach routine) wait for the keyboard
reset sequence to complete.  Just sending the reset command and rushing
off -- like it used to do -- might cause the keyboard's response to get
lost in case the remaining kernel initialization decides to interact
with the console (RB_ASK!) by calling cngetc(), which goes off polling
within the PROM.
1997-09-13 19:12:18 +00:00
thorpej e97c5f6c50 Update the model string for current reality. 1997-09-13 10:09:39 +00:00
thorpej 9a5f8236b5 Don't panic if we receive a Processor Correctable Error or a System
Correctable Error; report them, instead.

XXX Need a platform-specific machine check handler so we can decode the
logout area on such errors.
1997-09-13 10:01:33 +00:00
thorpej 12b0c2a20a The Alpha console uses BOOTP for network booting, so the NetBSD kernel
should, too.  Enable the BOOTP support in nfs_boot().
1997-09-13 07:42:01 +00:00
thorpej f784e8dc15 Apparently, new AlphaStation 500/600 firmware has the same problem with
PCI master aborts as eb164 firmware, so use the same workaround mechanism
on all system types (clear error register's master abort bit, and check
it after accessing configuration space), not just eb164's.

This also fixes a bug on eb164's - when making the Alpha port compile
again, I made an error that caused this to not be used on eb164 systems,
either.  Thanks to Matt Jacob for pointing out this goof.
1997-09-13 05:58:07 +00:00
mycroft a9155c5057 Set the status word as well, and remove a bogus comment. 1997-09-12 10:29:20 +00:00
mycroft 701aa39854 Oops; didn't delete two retval[] usages in setregs(). 1997-09-12 09:59:53 +00:00
mycroft cba224ed23 FPCOPROC is no longer used here. 1997-09-12 09:29:13 +00:00
mycroft 4e5b47eba3 fputype is defined in locore.s now. 1997-09-12 09:27:49 +00:00
mycroft 11393fe5b9 Add and use fputype. Optimize floating point save/restore routines a bit more
if only one CPU type is defined.  Eliminate FPCOPROC.  Merge some of the
68060 floating point stuff from the x68k port.
1997-09-12 09:25:36 +00:00
mycroft 5933da103c Add and use fputype. Optimize floating point save/restore routines a bit more
if only one CPU type is defined.  Eliminate FPCOPROC.
1997-09-12 09:23:18 +00:00
pk 27f2065c2c Update syscall() and setregs() in the wake of the recent execve() changes. 1997-09-12 08:55:01 +00:00
mycroft cd9a968cb7 Fix a test that should be on fputype rather than cputype. 1997-09-12 08:41:55 +00:00
mycroft 8a42aeac7b GC old comment. 1997-09-12 08:35:15 +00:00
mycroft 8a8fa1ee59 Eliminate some uses of FPCOPROC. 1997-09-12 08:19:00 +00:00
mycroft 1192cdbe7e FPCOPROC is already in the Makefile; no need for it here. 1997-09-12 08:14:06 +00:00
mycroft 30073771b6 Move definition of FPCOPROC into the Makefile, since it's always required. 1997-09-12 08:13:26 +00:00
mycroft e9f392b0a9 Eliminate some uses of FPCOPROC. 1997-09-12 08:08:50 +00:00
mycroft 55582e5bc2 The FPCOPROC option no longer exists. 1997-09-12 08:04:12 +00:00
mycroft 49f0bbb105 Nuke Locore.c. It's way too out of date to be useful at this point. 1997-09-12 07:59:20 +00:00
mycroft 895a1eced4 Fix an error from when Locore.c was removed. 1997-09-12 07:56:37 +00:00