Commit Graph

19086 Commits

Author SHA1 Message Date
is d5e867bb03 Build the 68060 support package in the kernel build dir.
XXX PCB_ONFAULT is still hardwired to 64 in netbsd060sp.S.
1997-09-28 20:49:56 +00:00
drochner 6969cb676f Pass new boot information per default. 1997-09-28 13:31:45 +00:00
drochner 22869434f2 Bring the new root disk algorithm into shape (minor cleanup, clarify
error message) and enable it.
1997-09-28 13:17:41 +00:00
is 8e9fc838dc In the OS glue code for the 060SP, replace the copyin()/copyout() glue by
movs.
XXX As our CPP seems to hate the 060SP, I couldn't use assym.h for the
PCB_ONFAULT definition, but had to hardwire 64 in the code. This needs
to  be fixed ASAP, and will be done in the upcoming reorganization of
the 060sp Makefiles.
1997-09-28 12:57:57 +00:00
drochner 4de13c78d3 Use the "proginstall" rule from <bsd.prog.mk> to get the UPDATE
behaviour right.
1997-09-28 11:47:29 +00:00
scw d2cd21c0ef Fixed typo. in FPU_68882 entry for MVME147 1997-09-28 11:29:48 +00:00
is 3ad599d701 First part of splitting lpt.c, and the NetBSD/Amiga "supio" frontend. Needs
a bit more work to allow an ISA frontend.
1997-09-27 22:44:11 +00:00
pk da4ac7ec5a GC setpte*() declarations. 1997-09-27 18:04:47 +00:00
pk 450cdbdaab Move the "unimplemented software trap" message within `#ifdef DIAGNOSTIC'
and use uprintf() for the notification.
1997-09-27 18:03:39 +00:00
pk 70ca0fdc80 Move the per-processor counter register into cpuinfo. 1997-09-27 18:01:30 +00:00
pk d0b1ee0833 * Optimize pmap_{zero,copy}_page4m() a bit by pre-computing the PTE addresses
of the reserved KVAs (vpage[]) used by these routines. This avoids the
  context switching in there.

* In pmap_redzone(), remove the first kernel address (at KERNBASE) from
  the kernel maps instead of just turning off the PTE `valid' bits.
  The latter doesn't create a "red zone" at all, but causes the VM to
  allocate a new page if the red zone is touched.
1997-09-27 17:58:03 +00:00
pk 7482ebb584 Insert a hack to allocate IOMMU addresses congruent to the kernel virtual
address that being DVMAed to.
1997-09-27 17:49:33 +00:00
veego 8a3aef8a1a Wait for a keypress after the system is halted and reboot after a key is
pressed.
1997-09-27 17:19:38 +00:00
is 663ab6e406 Most of _machineid->cputype. 1997-09-27 15:52:54 +00:00
drochner e8e12f56dc Don't use "termios" constants if no "com" devices are configured.
Closes PR port-i386/4166 (Chris Jones).
1997-09-27 10:55:48 +00:00
is b0f51853ef conf.h: declare com instead of drcom.
conf.c: remove com declarations.
1997-09-27 10:38:10 +00:00
mrg fa6b4a3a7b add (commented) options BLINK, per PR#4075. 1997-09-27 09:56:25 +00:00
pk f338821834 Do not set CPUFLG_CACHEPAGETABLES inappropriately on microsparcs 1997-09-26 22:17:23 +00:00
pk 665c7aa080 * Implement a private page table storage allocator for SRMMUs. It provides
uncached (if needed) chunks of memory of the two sizes (256 and 1024
  bytes) that the SRMMU ever needs.

* Change pmap_changeprot4m() so that is does not rely setpte4m() because
  setpte4m() cannot be used for anything other than VAs that are in the
  pmap associated with the current context.
  In the same vain, make sure that kvm_uncache() switches to context 0.
1997-09-26 22:15:37 +00:00
mycroft 7b31453c6f Rearrange the initialization a bit so we have SCBs available in
wds_inquire_setup_information(), rather than faking it.
1997-09-26 04:00:09 +00:00
mycroft 1148723a5f Set sc_dmat. 1997-09-26 02:50:18 +00:00
briggs a611bcde84 Add another Dayna card to the Apple-compa. list.
Define a constant for the SuperMac Spectrum/24 series III display card.
Thanks go to  Luca Falzoni <falzoni@jetai.unipv.it> for trying out the
code for the Dayna ethernet support.
1997-09-26 00:37:05 +00:00
matt fe94e79c57 Add SIOC{ADD|DEL}MULTI ioctl to support (for IFF_MULTICAST). 1997-09-25 13:11:58 +00:00
fair 40f6f7e831 Make the #ifdef expression prior to the declaration and use of
"nptesg" match each other, per PR#4024.
1997-09-25 07:31:28 +00:00
thorpej d65a5e7fd2 Enter DDB on cntl-alt-esc (a'la i386). 1997-09-25 02:42:47 +00:00
thorpej ef86b9a61d Fix a small oversight in last change. 1997-09-25 02:13:44 +00:00
thorpej 0c2efd7025 Add a "scrollskip" member to wscons_emulfuncs (XXX even though it's not
a function) which specifies how many lines will be skipped when scrolling
up when the bottom of the screen is reached.  Dumb framebuffers skip 10
lines (as before) because the copies are s ... l ... o ... w, but it's
silly to skip 10 lines on VGA, since the copies are much faster, so we
only skip one in that case.
1997-09-25 01:31:53 +00:00
thorpej 76786b38b6 Mimmick the logic used by other drivers to determine if we should use
memory-mapped or i/o-mapped access to the device registers, and always
choose memory-mapped if it is enabled.  In particular, do _not_ explictly
disable the space we decide to not use, as this confuses some versions
of Alpha console software (which are arguably buggy because of this
problem).

Also, fix a logic error pointed out by Ross Harvey <ross@teraflop.com>
that would cause memory-mapped access to never be enabled.
1997-09-24 22:46:29 +00:00
thorpej a2721a0f1b In vfs_shutdown(), do the "sync and wait for it to finish" _before_
unmounting all of the file systems.  If we encounter a condition where
all of the dirty buffers could not flush, then don't unmount file systems,
since it might be likely to wedge.
1997-09-24 21:40:55 +00:00
is 4fbbe844dc Locore.s cleanup round 1:
- MIT syntax to Motorola syntax moveml register lists (for better readability)
- comment alignment
- remove commented out debug or alternate code from early DraCo support
  development.
(I wanted to do this stuff for a long time, but always had "more important"
things to do.)
1997-09-24 19:49:08 +00:00
matt 27b993ed37 Add support of SIOCIFMTU to vary mtu of interface. Also allow IFF_MULTICAST
on TUNSIFMODE (sometimes you'd like to do IP multicast on tunnel devices).
1997-09-24 19:45:11 +00:00
bouyer a2f2e87677 Return the rigth value in the interrupt handler. This change the semantic
of wdc_atapi_intr, so we check for ITSDONE rather than the return value for
a pooled command.
1997-09-24 17:00:55 +00:00
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
mhitch 3bda138b2b Fix a missed *setregs() change. 1997-09-24 02:13:11 +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
mycroft 3e5cee3ce5 If the region size turns out to be 0, return an error. This is what will
happen if we try to use a mapping register that's not actually defined.
1997-09-23 23:08:47 +00:00
mycroft 966e96d880 Regen. 1997-09-23 22:36:33 +00:00
mycroft d23f3059e5 Add the Ensoniq AudioPCI. 1997-09-23 22:35:48 +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
perry 3979615b0d ncr_reg.h -> ncrreg.h per Dave Huang 1997-09-23 02:39:15 +00:00
perry 69fbaa747d updates from FreeBSD via Dave Huang <khym@bga.com> 1997-09-23 02:27:43 +00:00
thorpej 4ed600dbd0 Fix several annoyances related to MSS handling in BSD TCP:
- Don't overload t_maxseg.  Previous behavior was to set it to the min
  of the peer's advertised MSS, our advertised MSS, and tcp_mssdflt
  (for non-local networks).  This breaks PMTU discovery running on
  either host.  Instead, remember the MSS we advertise, and use it
  as appropriate (in silly window avoidance).
- Per last bullet, split tcp_mss() into several functions for handling
  MSS (ours and peer's), and performing various tasks when a connection
  becomes ESTABLISHED.
- Introduce a new function, tcp_segsize(), which computes the max size
  for every segment transmitted in tcp_output().  This will eventually
  be used to hook in PMTU discovery.
1997-09-22 21:49:55 +00:00
thorpej de572198ad Implement in_pcbrtentry() - return the route associated with a PCB. If
one does not exist, attempt to allocate one.  This is mostly pulled from
tcp_input.c.
1997-09-22 21:39:40 +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
chuck 081b0ea365 correct a comment 1997-09-22 15:22:12 +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
veego c588f0b2b7 Add netinet/ip_log.c for ipfilter & ipfilter_log 1997-09-21 18:17:44 +00:00
veego 4508fb4354 Resolve conflicts from the merge of ipf 3.2beta5. 1997-09-21 18:00:54 +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
veego 985ac74a98 Import ip-filter 3.2beta5 1997-09-21 16:47:50 +00:00
pk 3aa9abb4d8 Use the copied-in string to pass to cpu_reboot(), not a pointer into user space. 1997-09-20 19:32:15 +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
mjacob 2896e07556 Allow SDOUTSTANDING to be defined elsewhere (e.g., config file). 1997-09-20 18:56:30 +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 7de20a5b45 Call device_register() on i386 too. 1997-09-20 14:16:43 +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 6c6328cc8f enable "device_register()" for the i386 too 1997-09-20 14:08:27 +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
mikel 2f014c40e6 remove obsolete comment about scsi files
don't include ppp_bsdcomp or ppp_deflate support unless ppp defined
alphabetize (mostly) file list
1997-09-20 02:20:52 +00:00
enami 64edd9d48a Use TAB instead of SPACE to indent. Line up if possible. 1997-09-20 01:02:29 +00:00
enami 8a45521059 Convert RTC_OFFSET, DEVPAGER, SWAPPAGER and VNODEPAGER to be declared
by defopt.
1997-09-20 00:44:05 +00:00
cgd e8733ec0da mark scsipi_make_xs() as potentially unused, so that this can be
compiled with -Wunused without optimization/inlining enabled.
Also, make it a little bit closer to KNF.
1997-09-19 23:53:33 +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
jtk 4e51e62639 implement IBCS2_FIONBIO
(code by Christos Zoulas; tested by me)
1997-09-19 21:57:10 +00:00
leo e0f973ee3b 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 19:14:20 +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
mjacob 38ea6714c9 New microcode release (1.02) from qlogic for the 2100. 1997-09-19 14:15:54 +00:00
mjacob 4be590238f Another couple NOMODESENSE drives. 1997-09-19 14:08:48 +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
enami 82625dc61e Cosmetic Changes; make coding style closer to other part of this file.
(This version is identical with version 1.109 except whitespace changes.)
1997-09-19 01:17:37 +00:00
enami a0c4d0c2e6 Add new ioctl OSCIOCREPROBE and OSCIOCIDENTIFY to support binary
compatibility with NetBSD 1.2.
1997-09-19 00:59:49 +00:00
thorpej 618f6b9541 Make IDE work again, from Ross Harvey <ross@teraflop.com>. 1997-09-19 00:59:38 +00:00
enami acdc8c898c Add new ioctl OSCIOCREPROBE and OSCIOCIDENTIFY to support binary
compatibility with NetBSD 1.2.
1997-09-19 00:58:44 +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
drochner b65a5212c3 Save some bytes by keeping the number of byteswaps minimal.
Allow to switch off UDP checksum generation and check via compile time
option (for the really desperade).
1997-09-17 16:30:51 +00:00
drochner 74c59c27a2 Keep a copy of the original BOOTP bp_siaddr field, in case we want to
use it later for TFTP.
1997-09-17 16:25:29 +00:00
drochner 9f58a1a9bb fix printf() format warnings in debug output 1997-09-17 16:24:00 +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 aab66475d0 Build db_elf.c if ddb is configured. (Oops, this one got away!) 1997-09-16 06:05:54 +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 9a31fc02fe Don't forget to increase the free page count in vm_page_free_memory(),
pointed out by Mark Brinicombe <mark@causality.com>.
1997-09-16 00:08:09 +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
bouyer b342ad4ea3 Regen. 1997-09-15 15:08:34 +00:00
bouyer cc58dfb1b7 Add some of Compaq's network products. 1997-09-15 15:02: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
lukem 319d918511 prototype lfs_cksum ifndef KERNEL 1997-09-15 06:44:48 +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
augustss 1cdcb2d362 Get rid of `register'. 1997-09-14 09:03:33 +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
pk 6282a103eb Last loop variable type change causes undesirable non-terminating loops.
Change for-loop expressions to get the intended effect again.
1997-09-13 18:44:55 +00:00
augustss 7bc1f9d060 Recognize SB AWE64 Gold. 1997-09-13 13:37:28 +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
enami 0f0563f57f Declare TCVERBOSE by defopt in files.tc. Include opt_tcverbose.h in tc.c. 1997-09-13 08:52:23 +00:00
enami 4d15bd0b78 Declare SCSIVERBOSE by defopt in files.scsipi. Include opt_scsiverbose.h
in scsi_base.c and st.c.
1997-09-13 08:51:15 +00:00
enami 377e2c7b82 Declare PCIVERBOSE by defopt in files.pci. Include opt_pciverbose.h
in pci_subr.c.
1997-09-13 08:49:50 +00:00
enami 7f3eb8e4fb Declare EISAVERBOSE by defopt in files.eisa. Include opt_eisaverbose.h
in eisa.c.
1997-09-13 08:48:59 +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 27e54e6dc3 Prevent an extra newline from being printed if the root device is a network
interface.
1997-09-13 07:38:25 +00:00
thorpej 6b2d5c18a7 Correct a comment regarding the sense of the nfs_boot_rfc951 global. 1997-09-13 06:16:04 +00:00