Commit Graph

12895 Commits

Author SHA1 Message Date
mjacob
185cbcebd0 An oops- MSS3 referred to a device not yet integrated. 1997-09-19 22:03:59 +00:00
mjacob
4de790f125 Add in a clause ifdef'd for LIMITMEM- limit usage of memory to a certain
amount. Temporary until more drivers use busdma stuff.

Also correct to unsigned the printing out of memory sizes.
1997-09-19 22:00:34 +00:00
mjacob
206b183a48 Add a config file for large memory 8200s- this is temporary until a
more gracious self correcting (for large memory, e.g., > 1GB) startup happens.
1997-09-19 21:58:47 +00:00
mjacob
0fb787aedb Add missing reference. 1997-09-19 14:48:59 +00:00
mjacob
f3d890d1c9 missing cast. 1997-09-19 14:47:33 +00:00
leo
d4713d24c2 Implement the kernel part of pr-1891. This allows for a more flexible sized
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
1997-09-19 13:52:37 +00:00
mhitch
24cbd68d21 Enable the 800x600 Super72 display mode in the generic kernel. 1997-09-19 03:30:41 +00:00
mhitch
a07bb333b1 Add an 800x600 Super72 mode; started by Neil Clark and finished by me.
NOTE: due to hardware requirement of the AGA chipset, the framebuffer width
has to be a multiple of 64 bits.  An 800x600 display will use a memory width
of 832 bits, which the current X server can't handle.  To get a usable
display, the width needs to be 832 or 768.
1997-09-19 03:27:10 +00:00
thorpej
618f6b9541 Make IDE work again, from Ross Harvey <ross@teraflop.com>. 1997-09-19 00:59:38 +00:00
jeremy
f5c0dfebd6 Use ${CC} instead of cc and don't explicitly set AR and LD unless they are
unset.
1997-09-18 22:55:56 +00:00
pk
bb3e7cdb98 Fix viking/MXCC botch similar to pmap.c. 1997-09-18 20:44:43 +00:00
pk
ef73834bdc Check for the `VIKING_PCR_TC' being set, just in case. If it isn't set,
delay the use of the `CPUFLG_CACHEPAGETABLES' flag.
1997-09-18 20:29:15 +00:00
pk
eac8e745a7 Add a function to stop sun4m counters and call it early during
auto-configuration.
1997-09-18 20:25:34 +00:00
pk
9d1afc6f01 Fix a botch in reservemon4m() causing the `Alternate cacheability' not being
set on viking MXCC machines while using transparent memory access mode. This
becomes apparent when booting on multi-processor viking machines.

While I'm here, arrange to tempt fate a little less by using `AC' mode
for the shortest possible periods of time.

Special thanks to Matt Ragan for running my test kernels.
1997-09-18 20:16:45 +00:00
mhitch
c95e55b9ec Read the received data register before clearing the RBF interrupt. Clearing
RBF appears to also clear the OVRUN bit in the receive data, resulting in
the loss of of overflow status.
1997-09-18 03:53:12 +00:00
mhitch
0d05b5c280 Use the buffer length passed as a parameter to vmapbuf() and vunmapbuf()
instead of bp->b_bcount.  The I/O operation may have changed bp->b_bcount,
and not all of the kernel virtual memory will be freed.  This will result
in the VM system putting pages back on the free list which are still
mapped.   This may cause a deadlock later trying to enter pages into
the kernel pmap.  [See PR#4120 for more details.]
1997-09-18 03:38:31 +00:00
gwr
8b680f206c Need to flush the I-cache before jumping into just-loaded code.
Without this, boot programs fail with some PROM versions...
1997-09-18 01:47:08 +00:00
mjacob
9ce899230a After decommisioning a mapping, an IMB kinda needs to happen. 1997-09-18 01:08:56 +00:00
thorpej
cd69e27594 Prototype alpha_implver(), and fix a think-o in a previous commit. 1997-09-17 23:33:28 +00:00
thorpej
b806d39316 Implement a stub for the "implver" instruction, which returns the
implementation version of the processor.
1997-09-17 23:32:14 +00:00
drochner
8b0c39d09e The additional linefeed appeared again... kill it. 1997-09-17 19:39:37 +00:00
drochner
a577f67769 Use common menu / parse functions.
Adapt to new console / exec_netbsd arguments.
1997-09-17 18:52:41 +00:00
drochner
a1fc367b4b Cleanup for new libsa/bootp.c (unused global variables).
Do the vararg stuff right.
Remove the useless "no_bootp" variable.
1997-09-17 18:50:24 +00:00
drochner
5a1b04beab Put bootfile name into "bootfile" before network initialization, for
use by BOOTP.
Put name of bootfile into "bootinfo" structure.
1997-09-17 18:47:13 +00:00
drochner
d9641ea06f Use common menu / parsing functions.
Adapt to new console / exec_netbsd arguments.
1997-09-17 18:44:15 +00:00
drochner
23d58b46d3 Put name of booted file into a "bootinfo" structure.
(not for DOS files for now, we don't know the absolute path)
1997-09-17 18:40:33 +00:00
drochner
38b36ed152 -Use shared menu / parsing functions.
-Adapt to changed console and exec_netbsd arguments.
-Turn private "cd"-like behaviour into a regular command.
1997-09-17 18:37:58 +00:00
drochner
1d521976af Put name of booted file into a "bootinfo" structure. 1997-09-17 18:32:50 +00:00
drochner
0c825594ef Function to collect geometry and partitioning information about the
BIOS-known disks in a "bootinfo" structure (still experimental).
1997-09-17 18:30:51 +00:00
drochner
c65435feb3 "document" serial console support 1997-09-17 18:28:50 +00:00
drochner
a8c2622575 Collect information in a "bootinfo" structure. 1997-09-17 18:21:40 +00:00
drochner
c2095ccd48 Remove old SERIAL support, it will be done at a higher level now. 1997-09-17 18:10:51 +00:00
drochner
2fba0a4db7 Convert DOS error numbers into UNIX errno values. 1997-09-17 18:09:04 +00:00
drochner
4162c9025a Do the vararg stuff cleanly.
Collect disk information in a "bootinfo" structure.
1997-09-17 18:08:13 +00:00
drochner
0851ea1331 Add now common menu / parsing functions.
Adapt to new console I/O functionality.
Update exec() arguments.
1997-09-17 18:04:21 +00:00
drochner
83ce8d9ef8 Use the "bootinfo" defined structures to collect information about boot
device/file and console setting, remove the old, limited, "xbootinfo".
Fix a printf() format warning in debug code.
1997-09-17 18:02:11 +00:00
drochner
f93967e407 add new files 1997-09-17 17:51:12 +00:00
drochner
dae95d6c0b -extend serial console code to all 4 BIOS known interfaces
-optionally, use Martin's direct hardware access to serial lines
-optionally, new console autoselection method: select serial console
 if a character is seen within 1 second
-move awaitkey() here, it can be shared by different bootloaders and
 it is used by console autoselection
-collect information about console selection in a "bootinfo" defined
 structure, for passing to the kernel
1997-09-17 17:48:00 +00:00
drochner
f7b795d3c0 Definitions and helper functions to collect information in the boot
loader (still experimental).
1997-09-17 17:39:29 +00:00
drochner
fb3350eb72 Console I/O functions for serial lines, accessing the hardware directly.
Allows higher baudrates than 9.6 and software flow control.
From Martin Husemann.
1997-09-17 17:31:41 +00:00
drochner
27d7edd928 Factor out functions for table driven boot menus and command line parsing
usable for different boot programs.
1997-09-17 17:13:02 +00:00
drochner
25aa241d8a Use the private nfs.c instead of "nfswrapper".
Disable UDP checksums in the sample configuration, otherwise this doesn't
fit into the ROM.
1997-09-17 17:07:10 +00:00
drochner
7f4ef01688 Use the private nfs.c instead of "nfswrapper". 1997-09-17 17:04:28 +00:00
drochner
ac061ce8b1 Use a private NFS layer. This allows for more optimization than the
separated "nfswrapper.c"/"nfs.c".
This nfs.c differs from the stand/lib/libsa one in that it does not
have a separate mount() function - the mount is done in open().
1997-09-17 17:03:00 +00:00
drochner
3c46c18a00 Use the original bp_siaddr field as TFTP server. Allows to have
different TFTP and NFS servers.
Don't byteswap port number from UDP header back to network order - net.c
doesn't swap it anymore.
1997-09-17 16:57:07 +00:00
thorpej
15e10104d5 Define the BWX-capable regions of the CIA chipset's address space (mem,
i/o, pci config space mode 0, pci config space mode 1) and the CIA
REV and CNFG CSRs.
1997-09-17 01:35:34 +00:00
thorpej
879c4c5cf4 If the CIA revision is >= 2, read the CIA configuration register, and
remember its contents.  Print out a bit of information about the chip,
including whether or not it supports the EV56 BWX instructions.
1997-09-17 01:34:18 +00:00
thorpej
ed767a2402 Fix a typo in a comment. 1997-09-16 23:12:35 +00:00
thorpej
87c1a08481 Add stubs for the Alpha Byte/Word Extension (BWX) instructions, present
on EV56 and later processors that have the "amask BWX" bit clear.  These
instructions will be used to implement non-swizzle bus access functions
on newer systems, such as the new AlphaStation 500s with EV56 and 21172
PCI chipsets.

See "Alpha Architecture Handbook, Version 3", DEC order number EC-QD2KB-TE.
1997-09-16 23:09:10 +00:00
thorpej
6fc0f07c30 Define the "integer miscellaneous" opcode and subfunctions. 1997-09-16 22:53:32 +00:00
thorpej
149011c65b Add support for disassembling the "integer miscellaneous" opcode subgroup. 1997-09-16 22:52:40 +00:00
is
718fb97e11 Support for the upcoming NetBSD/Amiga Hypercom driver family:
* support chip clocks != COM_FREQ, by introducing sc_frequency (for the
  mainline code) and adding a frequency parameter right after the rate
  parameter to comcnattach() and com_kgdb_attach().
- Make com_isa and com_multi initialize sc_frequency to COM_FREQ.
- Make i386/machdep.c and alpha/dec_xxx.c call com*attach() with the freq.
  parameter.
* supio_attach_args get two more fields: a sc_ipl and a sc_arg, both ints.
- com_supio uses the first for interupt establishment (all childs will, as
  soon as they exist) and the 2nd for sc_frequency.
- drsupio passes sc_ipl alway as 5, and for the "com"s, sc_arg as 16*115200
- hyper will pass sc_ipl as 6, and sc_arg as 16 * 460800
1997-09-16 20:34:23 +00:00
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
mycroft
50cfb2fcdd Kill vestiges of Locore.c. 1997-09-12 07:55:17 +00:00
mycroft
982f24e698 Always initialize all registers in setregs(). 1997-09-12 07:00:30 +00:00
mycroft
42c101eb00 Fix execve(2) and *setregs() interfaces so emulations can set registers in a
more correct way.  (See tech-kern.)
1997-09-12 05:48:08 +00:00
mycroft
25f153bb22 Add fe0. 1997-09-12 05:22:55 +00:00
mycroft
73b4fdacad Initialize all registers in setregs(). 1997-09-12 05:01:09 +00:00
mycroft
d0917c65e9 Add an ibcs2_setregs().
XXX Current implementation is a horrible kluge.
1997-09-11 23:07:25 +00:00
mycroft
99a6404735 Add an ibcs2_setregs(). 1997-09-11 23:05:30 +00:00
mycroft
16a8787248 Fix execve(2) and *setregs() interfaces so emulations can set registers in a
more correct way.  (See tech-kern.)
1997-09-11 23:01:44 +00:00
chopps
44f6ba6c55 VM_MAX_ADDRESS is the user max address -- adjust 1997-09-11 14:01:07 +00:00
pk
aeec7a4ecc Turn off "branch folding" in microsparc II processors. This seems to
avoid strange panics happening. Patch suggested by Chris Torek.
1997-09-10 19:11:23 +00:00
gwr
b1fe1c2452 Generalize somewhat (now works for alpha too). 1997-09-10 16:25:07 +00:00
scottr
5dd9e25dca For consistency: VIA_initialize() -> via_init() 1997-09-10 04:38:47 +00:00
scottr
d1feb13390 Move VIA_initialize() from configure() to locore.s, shortly after
setting up and enabling the MMU.  This has the effect of ensuring
that any stray interrupts that get posted before the IPL is lowered
will be handled gracefully, i.e. without an access fault or illegal
instruction exception.
1997-09-10 04:22:33 +00:00
scottr
eb3c36eb89 Add ROM vectors and I/O info for the IIfx. 1997-09-10 03:43:48 +00:00
mycroft
d766a8aa21 Remove some vestiges of BDB. 1997-09-09 21:42:38 +00:00
pk
0bd088474a Turn on D_DSBL_WRINVAL on `ledma'. 1997-09-09 20:54:48 +00:00
scottr
01c7934554 Define, implement, and use oss_intr(). 1997-09-09 17:37:10 +00:00
mycroft
6da60facfb GC a bunch of NEWCONFIG stuff. 1997-09-07 13:05:39 +00:00
mycroft
892d336277 Increase FDC_MAXIOSIZE to MAXBSIZE, now that we can handle it. 1997-09-07 13:03:10 +00:00
drochner
fba474f53a add prototype definition for DHCP support 1997-09-06 14:32:31 +00:00
drochner
969e506de4 Oops, last change made "make depend" work incompletely. Don't define
a "depend" rule here.
1997-09-06 14:26:47 +00:00
drochner
281398581a -Wall fixes 1997-09-06 14:08:27 +00:00
drochner
3b191b29c0 enable -Wall 1997-09-06 14:07:57 +00:00
drochner
be8a78e9b5 -use DHCP extensions in bootp()
-enable -Wall
1997-09-06 14:06:53 +00:00
drochner
80d9738db8 -Wall fixes 1997-09-06 14:03:55 +00:00
drochner
d99aa8efc0 Collect prototypes here. 1997-09-06 14:02:51 +00:00
drochner
7546d66094 Make sure the <machine/*.h> includes come from current kernel sources,
not from installed userland.
1997-09-06 14:02:13 +00:00
veego
b8b28812be Add missing keypad entry for '+' and correct a comment. From pr#3893. 1997-09-06 12:41:10 +00:00
scottr
da80f6c913 Catch bus error in sbc_pdma_out() and panic with a reasonable
error message.
1997-09-06 07:53:14 +00:00
scottr
18883bf3fc In itematch(), check to see if the framebuffer PA matches either the
$Fssxxxxx 1MB slot space documented in the old Inside Macintosh, or the
$Fs0xxxxx 1MB slot space documented in the new IM and Guide to Macintosh
Family Hardware.
1997-09-06 06:51:54 +00:00
thorpej
ed2ec4869c Update for Chris Demetriou's changes made to the bus.h interface:
- bus_space_copy -> bus_space_copy_region (for consistency)
- "cacheable" argument becomes a "flags" argument instead, with
  BUS_SPACE_MAP_CACHEABLE and BUS_SPACE_MAP_LINEAR flags currently
  defined.
1997-09-06 05:44:07 +00:00
thorpej
1aa35e94d4 s/BUS_BARRIER/BUS_SPACE_BARRIER/g 1997-09-06 05:21:14 +00:00
thorpej
613ee19c60 Add DDB. 1997-09-06 02:04:18 +00:00
thorpej
1f6a8f7d03 Enable DDB. 1997-09-06 02:03:32 +00:00
thorpej
66fdddf6aa Add DDB files. 1997-09-06 02:03:11 +00:00
thorpej
9dcf694bd2 Prototype db_register_value(). 1997-09-06 02:02:25 +00:00
thorpej
998d79d26a Add support for DDB (in-kernel debugger) to NetBSD/alpha, based on
such code for Mach 3's Alpha port.  Initially reworked for NetBSD/alpha
by Chris Demetriou, and then heavily hacked on by me.  Works, but is still
a little rough around the edges.  Known problems:

- Error recovery could be improved a bit.
- Back traces don't work.
- Single-stepping can be flaky, at times.  (Alpha doesn't have hardware
  support for single-stepping, and I'm not entirely convinced the
  MI DDB software-emulated single-stepping logic is 100% correct.)
- Logic for when to drop into DDB needs some improvement.
1997-09-06 02:00:48 +00:00
thorpej
36f209b762 Split off PALcode functions into their own header file. 1997-09-06 01:23:52 +00:00
chuck
0b471e545e add bits for %cr4 and cpu_feature [from freebsd and www.sandpile.org] 1997-09-05 22:28:12 +00:00
chuck
302dad0aaa add invlpg, and rcr4/lcr4 1997-09-05 22:25:20 +00:00
thorpej
7df7a43ce7 When loading a symbol section, make sure it is aligned. 1997-09-05 21:50:34 +00:00
thorpej
ba8becebfc installbood_cd9660 no longer exists. 1997-09-05 20:20:17 +00:00
gwr
d2e3710fa9 Cosmetic (s/sun3_/_/) to be closer to the sun3x version. 1997-09-05 04:51:06 +00:00
gwr
6220d3efdf Add a comment about IDPROM_BASE (XXX) 1997-09-05 04:47:43 +00:00
gwr
c04589c8a8 Make stand/Makefile.inc work with obj directories. (Fixes PR 4014) 1997-09-05 04:31:50 +00:00
thorpej
2f657a6266 Add some debugging code to log sgmap activities. Also, make sure that
we return "no valid mappings" if there is an error while loading the
sgmap.
1997-09-05 02:21:49 +00:00
thorpej
2ecccdc05f Define Status 0 and Status 1 registers. 1997-09-05 02:14:31 +00:00
thorpej
55800b610a Implement bus_dmamem_mmap(). 1997-09-05 02:05:37 +00:00
thorpej
dc50e810ea Implement bus_dmamem_mmap(). 1997-09-05 01:44:42 +00:00
scottr
093be63832 Back out last commit; it interfered with NuBus video, and will
have to be reworked.
1997-09-04 00:54:04 +00:00
thorpej
6f4f08b8b2 Add a few more PALcode operations, as documented in pages (II-B) 2-1 through
(II-B) 2-33 of the Alpha AXP Architecture Reference Manual, Second Edition:

* rdps - Read Processor Status, needed by spl* functions.
* cflush - Cache Flush
* rdval - Read System Value
* wripir - Write Interprocessor Interrupt Request
* wrval - Write System Value

cflush, rdval, wripir, and wrval are used in multi-processor environments.
1997-09-03 23:09:04 +00:00
thorpej
032358ab33 From hp300 pmap: use mycroft's pv_entry allocator (from i386 port). 1997-09-03 19:07:32 +00:00
scottr
7883fba4bf Two video-related changes:
- Only set mac68k_vidphys if we're on a machine that we couldn't get
   the Mac OS memory map.
 - If we could get the Mac OS memory map, use the framebuffer size found
   by get_mapping() rather than the size calculated using the Booter
   environment.
1997-09-03 06:40:15 +00:00
scottr
e68adcb18e Initialize the bus error and address error vectors explicitly for all
CPUs, and set up the VBR just to be certain.
1997-09-03 06:34:08 +00:00
scottr
f30496c3f2 When identifying the CPU, print the scaled factor resulting from
calibration of the delay() loop.
1997-09-03 06:28:55 +00:00
scottr
c0f620b961 Don't initialize the bus error and address error vectors; as we do that
in the startup code already.
1997-09-03 06:16:24 +00:00
scottr
c4ab61a0cf Eliminate the use of the register keyword, and use standard
type names.  Also, eliminate an unnecessary DEBUG printf().
1997-09-03 06:14:42 +00:00
thorpej
f03ded039c Update from hp300 pmap: define an active_user_pmap() macro and use it. 1997-09-03 00:58:13 +00:00
thorpej
0f5f0e115a Define a cdev_satlink_init(). XXX This should be done in an MI header file. 1997-09-03 00:25:01 +00:00
thorpej
6cf58542f9 PMAP_{,DE}ACTIVATE() are no longer exported from the Utah-derived pmap. 1997-09-02 23:52:55 +00:00
thorpej
243aa23148 Add __KERNEL_RCSID() and definitions for ISA satlink driver. 1997-09-02 23:41:04 +00:00
thorpej
44e33a2f5f Update for changes to how bus space tags are initialized. 1997-09-02 20:43:07 +00:00
thorpej
90798596fe Remove references to vm_pmap. 1997-09-02 20:37:23 +00:00
thorpej
e7bb7bdc4b Remove references to vm_pmap. 1997-09-02 20:11:24 +00:00
thorpej
f203067ae3 Adjust for changes to bus space tag initialization. 1997-09-02 20:10:28 +00:00
thorpej
a71cecbec3 Fix a typo. 1997-09-02 20:08:02 +00:00
thorpej
991f4ebc72 cia_bus_ -> cia_swiz_bus_ 1997-09-02 20:07:20 +00:00
thorpej
80e3db443f Apply a change made to other PCI chipsets:
don't expect/provide pci_decompose_tag to be a MI, public function.  It
wasn't intended to be to begin with, and uses of it (e.g. the one in the
'de' driver) are quite likely to be incorrect.
1997-09-02 20:05:28 +00:00
thorpej
3735c7d1d7 Fix a think-o. 1997-09-02 19:39:15 +00:00
thorpej
df1dcf81d0 Oops, missed one. 1997-09-02 19:18:20 +00:00
thorpej
cc5eaab25b More garbage-collection. 1997-09-02 19:16:32 +00:00
thorpej
b2a8424bb5 Garbage-collect loadustp(); the functionality has moved to pmap.old.c 1997-09-02 19:07:22 +00:00
thorpej
2c5c631b71 - Make the pmap_activate() and pmap_deactivate() interfaces consistent my
passing them a proc *, which encapsulates all of the information necessary
  to activate an address space.
- Garbage-collect pmap->pm_stchanged; it's not really used for anything.
1997-09-02 19:06:13 +00:00
thorpej
bf232f7a37 Make the pmap_activate() and pmap_deactivate() interfaces consistent my
passing them a proc *, which encapsulates all of the information necessary
to activate an address space.
1997-09-02 19:04:57 +00:00
thorpej
a47a8a25d6 Adjust for an interface change in a not-NEW_PMAP case in cpu_fork(). 1997-09-02 19:03:58 +00:00
thorpej
f1373b949c - Make the pmap_activate() and pmap_deactivate() interfaces consistent my
passing them a proc *, which encapsulates all of the information necessary
  to activate an address space.
- Garbage-collect pmap->pm_stchanged; it's not really used for anything.
1997-09-02 19:00:53 +00:00
thorpej
5042993a22 - Make the pmap_activate() and pmap_deactivate() interfaces consistent my
passing them a proc *, which encapsulates all of the information necessary
  to activate an address space.
- Clean up some debugging code.
1997-09-02 18:59:02 +00:00
thorpej
364d6a31a7 Adjust some NEW_PMAP code for a slight interface change. 1997-09-02 18:54:28 +00:00
thorpej
511e46c568 Clean up the context switching code a bit:
- Marco-ize the 3 instructions that actually switch to the new process
  context.
- Unify (except for the pmap_deactivate() call) the NEW_PMAP and not-NEW_PMAP
  versions of cpu_switch(), and clean up some comments.
- Tidy up the not-NEW_PMAP bits of switch_exit().
1997-09-02 18:53:26 +00:00
thorpej
d316987784 Garbage-collect VM_PMAP_STPTE, USTP_OFFSET, VM_PMAP. Define VM_MAP_PMAP
instead.
1997-09-02 18:48:58 +00:00
thorpej
b7b3955ce0 Fix a typo: ALPHA_PTE_WRITE needs to include the "user write" bit. 1997-09-02 14:29:37 +00:00
thorpej
6caf625430 Note that a2 and a3 contain bootinfo information passed from the boot
program to alpha_init().
1997-09-02 14:29:00 +00:00
thorpej
d95ac139e0 Oops, wrap cpu_decl()s inside #ifdef _KERNEL/#endif. 1997-09-02 14:25:34 +00:00
thorpej
8b6e894364 Clean this up a bit; defopt has rendered the #undef hacks unnecessary.
Also, put the cpu_decl()s in cpuconf.h, so that platform support files
can pull in the prototypes from there, and pull in options for those
systems for which there is code in the source tree.
1997-09-02 14:19:29 +00:00
thorpej
b7c1c1e321 Pull in alpha/cpuconf.c 1997-09-02 14:06:02 +00:00
thorpej
5c72d6a933 Garbage-collect. 1997-09-02 14:03:10 +00:00
thorpej
e79009b830 Ressurect from the Attic. 1997-09-02 14:00:11 +00:00
thorpej
9db8b6018f Make a note about option headers. 1997-09-02 13:42:49 +00:00
thorpej
1df0782d87 Pull in DEC_3000_300 and DEC_3000_500 options. 1997-09-02 13:29:17 +00:00
thorpej
a4cef84ac7 Pull in DEC_3000_300 option. 1997-09-02 13:26:42 +00:00
thorpej
529d790161 Pull in DEC_AXPPCI_33 option. 1997-09-02 13:25:36 +00:00
thorpej
cb32cf1ece Pull in DEC_EB164 and DEC_KN20AA options. 1997-09-02 13:24:48 +00:00
thorpej
b57ee951d0 Pull in DEC_2100_A50 and DEC_EB64PLUS options. 1997-09-02 13:23:56 +00:00
thorpej
49a2bcd443 Pull in FIX_UNALIGNED_VAX_FP option. 1997-09-02 13:22:53 +00:00
thorpej
693b3e7262 Nuke the idea of <machine/options.h>. It completely defeats the purpose
of fine-grain option dependencies.
1997-09-02 13:17:47 +00:00
thorpej
e234ed15b6 Fix oversight in a previous commit. 1997-09-02 12:54:27 +00:00
thorpej
375ad27ed8 - Garbage-collect all DMA-related initialization, calling a separate
*_dma_init() function instead.
- Pass the appropriate bus dma tag to children.
1997-09-02 12:51:20 +00:00
thorpej
3ac7ac6e63 Garbage-collect. 1997-09-02 12:43:22 +00:00
thorpej
aa7a2876e6 Treat bus space tags more like pci chipset tags and bus dma tags: allocate
them statically within a chipset's state structure, and pass them to
the *_bus_{io,mem}_init() functions.
1997-09-02 12:40:18 +00:00
leo
225274f8b4 Add BUS_SPACE_MAP_* macro's. 1997-09-02 11:19:02 +00:00
thorpej
fd01db8b74 Use more complete #include directives when pulling in the chipdep
functions.
1997-09-02 11:09:51 +00:00
thorpej
9199b6645b Clean up RCS IDs. 1997-09-02 10:56:52 +00:00
thorpej
d450130943 Adjust for new names for the PCI i/o and mem swizzle-style access
function files.
1997-09-02 10:43:27 +00:00
thorpej
8f286ca7f3 Renamed to pci_swiz_bus_{io,mem}_chipdep.c by repository copy. 1997-09-02 10:39:15 +00:00
thorpej
8998fa1198 Revive these files from the Attic. 1997-09-02 10:26:55 +00:00
jonathan
034f64c0da Set fixtick to (1000000 % hz) when NTP is configured. 1997-09-01 08:05:05 +00:00
pk
240f9f0804 Bring db_{read,write}_bytes() prototypes in scope.
Move Debugger() within `#ifdef DDB'
1997-09-01 00:16:31 +00:00
pk
7d7a8e5773 Switch to MI kgdb code. 1997-08-31 21:29:16 +00:00
pk
84877e89f6 Allow a BREAK to cause a kgdb_connect(). 1997-08-31 21:26:37 +00:00
pk
7950e785f9 Switch to MI kgdb code. 1997-08-31 21:22:44 +00:00
pk
2b1e7bab51 pmap_writetext(): use context 0. 1997-08-31 21:08:03 +00:00
is
7a5cd3368f We may not open the 'a' partition here, as there are Amiga partition tables
without an 'a' partition. We open the RAW_PART partition instead.
Without this, a boot partition on the 'b' or later partition of such a disk
won't be found.
1997-08-31 16:33:13 +00:00
scottr
59d6043196 Do run-time determination whether to save the TC value for AV
Macs; this way at least those models can configure intvid0.
From Dave Huang.
1997-08-30 22:29:10 +00:00
mycroft
8c578dc960 Pass down bus_dma_tag_t's as appropriate (per Jason's bus_dma code). 1997-08-30 06:53:57 +00:00
mycroft
d4b3029855 Set the I/O and memory enable flags for the main PCI bus. 1997-08-30 06:52:55 +00:00
jonathan
5342b11519 Replace copyright notice. 1997-08-30 01:51:02 +00:00
thorpej
3220411801 Define PAL_cflush, PAL_ipir, and PAL_OSF1_wrperfmon PALcode operations. 1997-08-29 23:17:37 +00:00
leo
42c4123e4d Define 2 md devices. 1997-08-29 19:52:08 +00:00
leo
16bdafc3a5 Pull in Scott Reynolds' version of _splraise(). Also do a bit of typographic
cleanup while visting this file.
1997-08-29 19:47:52 +00:00
thorpej
417cce7c06 Fix typo(?) in dlmiss handler ("store" bit erronenously set). From
Kazuki Sakamoto <sakamoto@cec.co.jp>, PR #3583.
1997-08-29 19:11:07 +00:00
mikel
4058521515 add KMEMSTATS and sync GENERIC, INSTALL, and DISKLESS 1997-08-28 08:00:12 +00:00
augustss
a79408b6c7 Change match routine to use "audio" as the ROM name. 1997-08-27 22:42:23 +00:00
augustss
c58d387b0f Fix prototype for amd7930_set_params. 1997-08-27 22:33:59 +00:00
is
e7c8f94f9d Yet another BROKEN removed, and another small cleanup. 1997-08-27 20:41:30 +00:00
is
1dc1561ebc Rename the _probe function to _match, and remove the
#ifdef _BROKEN_INDIRECT_CONFIG which we dont need here.
Thanks to Bernd Ernesti for pointing this out.
1997-08-27 20:35:46 +00:00
is
2f824e16e8 Oops, forgot this in last kilocommit:
Attach com at drsupio, drsupio at mainbus, and make
the ttyC0 stuff refer to the com driver.
1997-08-27 20:18:19 +00:00
is
0564e80e3e This is no longer needed. 1997-08-27 19:37:30 +00:00
is
f7c9a70a19 Define supio, a direct bus with a single locator, the port number. This
is for "standard PC i/o stuff" at known and constant locations, e.g. when
multi-io chips are used on non-ISA mainboards.
Implement drsupio.c, the DraCo version of this.
Attach the generic com.c to this bus.
Remove the old drcom hack.
1997-08-27 19:32:47 +00:00
is
45a8ec2d22 Amiga port bus.h. Currenlty, only the _1 functions are implemented. 1997-08-27 18:52:57 +00:00
is
2e45e81622 machine/intr.h for the Amiga port. Mostly a wrapper around other includes. 1997-08-27 18:41:25 +00:00
is
47e8019573 Add __GENERIC_SOFT_INTERRUPTS implementation.
Currently, this is only kind of a wrapper around the *_sicallback() function
family. This way, we'll only break the new driver if it doesn't work.
After more drivers are converted, we'll change it to be the other way round.
1997-08-27 18:31:14 +00:00
bouyer
6f3bab1f59 Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
1997-08-27 11:22:52 +00:00
leo
c9f11609e3 According to Andre Lange, the Hades has the DTR/RTS lines exchanged on
the 68901 UART-port due to a PCB error. Take care of this.
1997-08-27 06:59:19 +00:00
leo
a905a75ff7 Number the slots 0&1 instead of 1&2 . 1997-08-27 06:56:14 +00:00
leo
c8c7fe38ca Add the isa-bus. 1997-08-27 06:52:46 +00:00
leo
2ca332c7bc Add a char entry for md and add it to the chartoblk table. This fixes
the problem that kernfs was unable to determine the root device while
booting from the install floppy.
1997-08-27 06:21:06 +00:00
leo
d0301b58ee Don't enable the dma-interrupt while polling for dma to end. This sometimes
caused a system panic on the Hades while probing the SCSI devices.
1997-08-27 06:16:49 +00:00
mikel
a6a1f307de sync with GENERIC 1.96, no functional change 1997-08-27 04:56:38 +00:00
augustss
a50d4ba893 XXX Add a drq2 locator for the ISA bus. Many sound cards need
two DMA channels to do e.g. full-duplex.  This allows
a way of specifying the second channel in a sane way.
THIS IS TEMPORARY.  The drq2 locator will go away when
the locator system has been changed to allow multiple
values per locator.
1997-08-26 19:26:38 +00:00
fvdl
a153e98871 Recognize Cyrix M2 1997-08-26 18:56:40 +00:00
fvdl
d792a4aa54 Activate SCSIVERBOSE by default. 1997-08-26 18:39:02 +00:00
thorpej
75a4512f7f Notify drivers that we "prefer" I/O mapped space, per discussion with
Chris Demetriou and Matt Thomas, some two or three months ago.  (This hint
is used by the latest "de" driver.)
1997-08-26 03:14:06 +00:00
thorpej
9ffe59d049 In i386_mem_add_mapping(), don't bother calling pmap_changebit() to mark a
device memory mapping cacheable/non-cacheable:
- PG_N doesn't exist on the 386.
- pmap_changebit() only deals with managed pages.
Basically, calling it is unnecessary, and never did anything.  Pointed
out by Chuck Cranor, and further discussed with Frank van der Linden.

Also, add a comment about why we don't mark pages non-cacheable in
_bus_dmamem_map().
1997-08-25 23:02:25 +00:00
thorpej
38f15737fd Protect access to kmem_map with splimp()/splx(). From Chuck Cranor. 1997-08-25 21:17:48 +00:00
augustss
6616d47838 - Change audio_hw_if a little: set_param now sets the play and record modes
at the same time instead by using two different calls.  This enables
  it to check more easily if the combined mode is all right.
- Improve the error checking in audio.c.
- Add a new audio property, AUDIO_PROP_INDEPENDENT, show if the
  play and record settings are independent.
- Fix some buglets in audio.c.
1997-08-24 22:31:23 +00:00
drochner
9518da7563 Remove over-sensitive sanity check for console port == KGDB port. 1997-08-24 09:38:19 +00:00
cgd
ce0a826c55 fix various bogons: copy SCSIVERBOSE option (still commented out) and ISA lc
driver to ALPHA.  Also, sort them into their respective lists correctly,
rather than punting completely (SCSIVERBOSE), or mis-sorting(!) (lc).
1997-08-24 06:40:18 +00:00
cgd
1173f77359 fix spaces/tabs lossage: if we're going to do "options<space><tab>", be
consistent about it (fix it in all files)!  Also, there's no point at all
in doing "file-system<space><tab>", so kill the spaces.
1997-08-24 06:37:12 +00:00