Commit Graph

12934 Commits

Author SHA1 Message Date
mhitch
56c4befa83 Add an entry for the bus_space_tag in the TC attach argument tables. Fixes
PR #4100.
1997-09-24 02:45:12 +00:00
mhitch
9769ae9148 Fix error in msgbuf change: add missing '&&'. 1997-09-24 02:20:56 +00:00
mhitch
5bcefb5bc6 Fix another missed *setregs() change. 1997-09-24 02:15:51 +00:00
mjacob
42c325e139 A minor barely acceptable hack to handle having a kernel boot on a system
with large amounts of memory and not spew. This doesn't really replace
fixing this problem better later, but it works for now. Basically, if memory
is greater than 128MB, start upping the sizes of some maps.
1997-09-23 23:23:23 +00:00
mjacob
b23bbbb05c Redo the platform specific identification and initialization, making
it more explicit where platform specific functions (like machine check
handling) should go.
1997-09-23 23:15:42 +00:00
thorpej
0bd1685aa0 In device_register(), don't check PCI is PCI support isn't configured
into the kernel.

Also, some formatting changes to make new root finding code more KNF'ish.
1997-09-23 22:34:00 +00:00
pk
40c87730b3 Move KERNBASE to 0xf0000000. 1997-09-23 19:59:27 +00:00
phil
ea2fc3a36c Add a missing ( in the pmap_enter call for the message buffer. 1997-09-23 13:48:15 +00:00
pk
f5bb941f5b MSGBUFSIZE needs no obscure adjustment; initmsgbuf() takes care of that. 1997-09-23 08:23:29 +00:00
pk
c209086562 The symbol `_msgbufaddr' is no longer exported. 1997-09-23 08:19:56 +00:00
pk
9632cb41c6 Fix some lossage resulting from changed message buffer initialization:
don't buck the trend and move the call to initmsgbuf() to cpu_startup()
in machdep.c (like most other ports do) where we can setup things right
in one go. (This means that the CSRG copyright will no longer be in
the kernel logs).
1997-09-23 08:16:26 +00:00
christos
b562e93fc1 Remove duplicate declaration 1997-09-22 20:35:51 +00:00
christos
676d60fa45 Fix printf formatting; remove extra spaces, add : at the end. 1997-09-22 20:34:45 +00:00
leo
fb0bc9eeae Fix (hopefully) the compile errors introduced by the msgbuf changes. 1997-09-22 15:03:58 +00:00
thorpej
376e3e6e34 Glue in memory_disk_hooks. 1997-09-21 22:53:03 +00:00
thorpej
585f46558e Add support for mounting a memory disk as the root device. 1997-09-21 22:51:29 +00:00
thorpej
c6ff44d7a1 Add support for the memory disk device. 1997-09-21 22:44:46 +00:00
leo
02f4c2f7e9 atari_round_page() -> m68k_round_page(). My fault, sorry... 1997-09-21 20:35:31 +00:00
is
b325cdd771 Build this in ${KERNEL_BUILD_DIRECTORY}/lib/fpsp, similar to libkern. 1997-09-21 17:33:36 +00:00
is
970af214ab Deal with HUPCL, closing (but in a different way than proposed) PR 1010. 1997-09-21 17:21:24 +00:00
mjacob
03a798a3fd Add some defines for alpha interrupt types. 1997-09-20 19:02:34 +00:00
pk
fca3465b96 Do not skip over a break trap instruction, now that the DDB code can
do it properly.
1997-09-20 19:00:40 +00:00
pk
9b3d64edb9 Remove the `segmap' array from the header. Insert an offset and count
field to get to it instead.

Add field `kernbase' so libkvm can be independent of the kernel's link address.
1997-09-20 18:23:51 +00:00
pk
59ed02a11b pmap_dumpsize() returns a number of disk blocks. 1997-09-20 18:18:33 +00:00
pk
1cd19dc013 Change crash dump layout a bit so the size of the `cpu_kcore' structure
does not depend on the value of KERNBASE.

Change pmap_dumpsize() to return disk block units, in stead of pages.
1997-09-20 18:14:01 +00:00
drochner
1f1e574146 -implement a "device_register()" function to identify network interfaces
by bus type / address (for diskless boot)
-add some (experimental, commented out) code which could be used for
 identification of boot disks - should help for BIOS remappings
1997-09-20 14:15:54 +00:00
drochner
610abce93b Copy data passed by the boot loader into an array "bootinfo".
The former "cyloffset" argument is used as an (indirect) pointer to the
information structures. "cyloffset" has always been set to zero in the
past, so this should be save to do.
1997-09-20 14:01:26 +00:00
drochner
968f26b9d3 -define a buffer for information passed by the bootloader
-add a function ("lookup_bootinfo") to extract data
-use passed console information, if present, for console attachment
-arrange definitions for console and KGDB device a bit nicer
1997-09-20 12:51:13 +00:00
drochner
b8a47d06da Define "machdep.booted_kernel" for sysctl. 1997-09-20 12:40:25 +00:00
drochner
c03122fcb1 In some future (ie, without COMPAT_OLDBOOT), we don't want to bother
with the disk type (IDE or SCSI) here - the BIOS doesn't do it either.
Set "#ifdef"s accordingly.
1997-09-20 12:36:05 +00:00
drochner
dc0b04e0ad Note use of common menu functions and new framework for argument passing
to the kernel.
1997-09-20 12:28:21 +00:00
drochner
041680f614 don't forget to save the partition number for the kernel 1997-09-20 12:17:41 +00:00
drochner
9b4679d869 -Don't pass hardware address, it is not of much use for the kernel.
-define "addr" differently for ISA and PCI devices - for PCI, it is
 (bus,device,function) now, in the format used by the PCI BIOS
1997-09-20 12:13:01 +00:00
leo
1e11bfa8b7 Move the definition of MSGBUFSIZE up to the machine-arch level if
possible. Pointed out by Bernd Ernesti.
1997-09-20 12:12:24 +00:00
leo
2b138578d7 Correct for the extra member in 'struct kern_msgbuf' when calculating
the number of bytes we want to allocate.
1997-09-20 12:10:09 +00:00
drochner
1d47009a08 Use <machine/bootinfo.h> for definitions shared with the kernel. 1997-09-20 12:10:06 +00:00
leo
ef6f3f7e25 Move the definition of MSGBUFSIZE up to the machine-arch level if
possible. Pointed out by Bernd Ernesti.
1997-09-20 12:08:24 +00:00
drochner
17b42ff68d Data structures passed from the boot loader to the kernel. 1997-09-20 12:08:21 +00:00
leo
c5ba7a3102 Move the definition of MSGBUFSIZE up to the machine-arch level if
possible. Pointed out by Bernd Ernesti.
1997-09-20 12:06:37 +00:00
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