Commit Graph

1367 Commits

Author SHA1 Message Date
explorer 80513cb5ae o Make usage of /dev/random dependant on
pseudo-device   rnd                     # /dev/random and in-kernel generator
  in config files.

o Add declaration to all architectures.

o Clean up copyright message in rnd.c, rnd.h, and rndpool.c to include
  that this code is derived in part from Ted Tyso's linux code.
1997-10-13 00:46:08 +00:00
thorpej 4dd0bf9d01 - Consolidate some pre-main initialization into an hp300_init() function.
- Initialize the message buffer earlier, in hp300_init(), rather than in
  cpu_startup(), so that it's initialized before main() is called.
1997-10-12 18:47:51 +00:00
thorpej c3637caf77 Consolidate some pre-main initialization into an hp300_init() function. 1997-10-12 18:45:48 +00:00
thorpej f53f16dd2e Move the prototype of hp300_calibrate_delay() to cpu.h 1997-10-12 18:37:56 +00:00
thorpej 116fe63c4e Remove extern declaration of devioc[]. 1997-10-12 17:53:46 +00:00
mycroft a7aef46287 Use m68k/Makefile.inc. 1997-10-11 09:11:17 +00:00
mycroft 5c8d588138 Nuke NOOBJ. 1997-10-11 08:44:42 +00:00
mycroft acf0e569a5 Update all the tags goo, and use bsd.subdir.mk. 1997-10-11 08:42:02 +00:00
scottr 017e6c7f10 Address PR 4120 by synchronizing v{,un}mapbuf() with the i386 vm_machdep.c,
v 1.27, pulling in changes made there by Charles Hannum.  Also, incorporate
a few tweaks made by Gordon W. Ross in the sun3 version of this change.
1997-10-11 06:38:45 +00:00
jtc 4c9d6e4d9c Fix tipo inherited from old version of TNF copyright template. 1997-10-09 08:58:45 +00:00
jtc 1bcecdd613 Fix tipo inherited from old version of TNF copyright template. 1997-10-09 08:48:33 +00:00
carrel 6d72f0f99f Recognize sunos binaries 1997-10-05 02:15:48 +00:00
carrel 3f5b21562b Add missing definition needed for COMPAT_SUNOS 1997-10-05 02:12:52 +00:00
carrel cb48a4a7e4 Bring sunos compat files in when COMPAT_SUNOS defined 1997-10-05 02:11:21 +00:00
thorpej 030188061e Copyright assigned to The NetBSD Foundation. 1997-10-04 17:36:56 +00:00
thorpej 608283bedd Copyright assigned to The NetBSD Foundation. 1997-10-04 17:22:49 +00:00
thorpej 9e6a3b705f Copyright assigned to The NetBSD Foundation. 1997-10-04 17:20:15 +00:00
thorpej bb0b21705d Copyright assigned to The NetBSD Foundation. 1997-10-04 17:03:09 +00:00
thorpej 2d397943d4 Copyright assigned to The NetBSD Foundation. 1997-10-04 09:59:35 +00:00
lukem 7d508b124f define SIZE?=size, and use ${SIZE} instead of size. makes cross
compilation easier
1997-10-03 07:17:00 +00:00
kleink 6eb0c3077a Remove duplicate inclusion of <sys/device.h>. 1997-10-01 16:28:22 +00:00
christos 3996b53189 PR/4162: Chris Jones: make cleandir does not work properly; it does not
remove the object files and the .depend file in the kernel build directory.
1997-09-30 22:39:49 +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 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
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
mycroft a9155c5057 Set the status word as well, and remove a bogus comment. 1997-09-12 10:29:20 +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 55582e5bc2 The FPCOPROC option no longer exists. 1997-09-12 08:04:12 +00:00
mycroft 895a1eced4 Fix an error from when Locore.c was removed. 1997-09-12 07:56:37 +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 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
mjacob 6ac7f6248f add a before tab to SCSIVERBOSE 1997-08-23 19:16:06 +00:00
scottr 4cb1ba2dac Make this compile again when we only specify a machine with the
HP MMU (320, 350).
1997-08-21 18:12:34 +00:00
mjacob 1a7afa3853 add commented out reference SCSIVERBOSE option 1997-08-20 18:38:13 +00:00
scottr af6b181686 Fix typo in getting the 040 access fault address, noticed by
Allen Briggs in the mac68k locore.s
1997-08-18 17:52:48 +00:00
scottr 0755be1f84 Use optimized _splraise() implementation, from mac68k/intr.h 1997-07-24 05:43:08 +00:00
drochner bdb232d2b6 Don't use <lib/libsa/if_ether.h> anymore. This was a copy of the
old (before ARP changes) <netinet/if_ether.h>, intended for
temporary use.
1997-07-22 17:41:01 +00:00
kleink ac7da90b83 Remove old *_UNK style default defines, use standard names from locators.h.
Missed in "locators.h" cleanup; reported by Thorsten Frueauf in PR 3906.
1997-07-22 15:20:20 +00:00
kleink 73997cc33d Add missing `#include "locators.h"' from last commit. 1997-07-19 11:19:05 +00:00
jtk 7be59a897b remove old *_UNK style default defines, use standard names from locators.h 1997-07-18 03:38:33 +00:00
jtk ca1bba150a use locator defines in "locators.h" to index cf_loc[] 1997-07-17 03:16:39 +00:00
jtk 9ed3ea9ab3 use locator defines in "locators.h" to index cf_loc[]
still to be done and/or decided not to be done: replace all *UNK uses in
hpib code with the native names from locators.h
1997-07-17 01:59:12 +00:00
thorpej e296b3b344 New bus error/address error trap handlers, code lifted from mac68k
port, which is lifted from amiga port, plus some changes from me:
- Add support for the HP MMU to the 020/030 bus/address error handler
  (mostly lifted wholesale from the old code).
- Rename addrerr and buserr to busaddrerr2030.  The new name reflects that
  these functions are specific to the 68020 and 68030, and that the same
  handler function is used for both vectors.

The vector table is patched once we know our CPU type, before the MMU
is enabled.  In the event that we're running on a CPU that we're not
configured for, simply invoke the PROM's "reboot request"; we have no
hope of running in the event of a config botch, since we need working
a working bus error handler for console initialization.

These new functions optimze for common-case page faults, eliminate
many run-time checks, and are sharable.
1997-07-14 19:18:31 +00:00
leo 198bd713f2 Generate assym.h dependencies when making 'depend'. 1997-07-12 22:07:36 +00:00
perry ad1710ce1e update comment from 1981 on memory and disk prices -- pr-2754 from Curt Sampson 1997-07-12 16:18:36 +00:00
kleink 49324f585c Remove misplaced/unnecessary VM #include cruft; from Thorsten Frueauf
<frueauf@ira.uka.de> in PR port-hp300/3851.
1997-07-10 18:14:08 +00:00
veego 1c599835b4 Restore the defines of UPAGES and NPTEPG. 1997-07-10 08:22:36 +00:00
kleink 96914606be From sun3:
Correct handling for Trap #2 in SunOS executables,
 now that we know it is supposed to flush the cache.
 (Was thought to be "some obscure FPU operation".)
1997-07-08 16:56:31 +00:00
thorpej b1d65b1d3f Adjust start address here, now that exec() no longer does it for us. 1997-06-28 07:20:25 +00:00
thorpej ee8581a255 foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.
1997-06-24 00:44:03 +00:00
mrg 552af779d2 bring mrg-vm-swap2 onto mainilne. 1997-06-12 15:46:19 +00:00
mrg dc6a98e92c bring mrg-vm-swap2 onto mainilne. 1997-06-12 15:09:23 +00:00
kleink a10178c21e GC this file. It has been unused for quite a while. 1997-06-11 08:42:31 +00:00
veego be611a44d5 The 'Mach derived conversion macros' are now in <m68k/param.h> 1997-06-10 18:59:12 +00:00
veego 323d575e58 s/hp300_btop/m68k_btop/ 1997-06-10 18:58:19 +00:00
veego 3360f97707 s/hp300_round_page/m68k_round_page/ s/hp300_trunc_page/m68k_trunc_page/
s/hp300_btop/m68k_btop/ s/hp300_ptob/m68k_ptob/
1997-06-10 18:56:50 +00:00
veego a969a4b6f6 s/hp300_trunc_page/m68k_trunc_page/ s/hp300_ptob/m68k_ptob/ 1997-06-10 18:52:23 +00:00
veego 6a57e397b7 s/hp300_btop/m68k_btop/ 1997-06-10 18:51:31 +00:00
veego fb53429628 s/hp300_round_page/m68k_round_page/ s/hp300_trunc_page/m68k_trunc_page/ 1997-06-10 18:49:35 +00:00
veego f1d4880cb5 s/hp300_trunc_page/m68k_trunc_page/ 1997-06-10 18:48:47 +00:00
veego 931d90fcee Use the MI <m68k/param.h> include. 1997-06-10 07:54:35 +00:00
veego a204fb7981 Initialize machine from MACHINE. 1997-06-08 23:54:19 +00:00
thorpej cad3c2f3f0 Garbage-collected long-unused setredzone(). 1997-05-26 00:27:43 +00:00
veego a078a4be55 Fix lossage from the latest vm_pmap changes. 1997-05-19 10:14:47 +00:00
thorpej 2dc79e5c4b Link this program statically. 1997-05-14 07:57:13 +00:00
gwr a8af683eb9 Eliminate references to vmspace.vm_pmap 1997-05-13 18:00:49 +00:00
thorpej 4d989c06dd Add the following drivers:
- frodo at intio
- dnkbd at frodo (commented out until integrated)
- apci at frodo
1997-05-12 08:24:56 +00:00
thorpej f8337a2c14 Add apci driver glue. 1997-05-12 08:23:28 +00:00
thorpej 286b3b171d Add glue for APCI driver at cdev minor #31 and in console switch. 1997-05-12 08:17:53 +00:00
thorpej 6cc1022d84 Garbage-collect an unneeded definition. 1997-05-12 08:14:01 +00:00
thorpej a492e1df80 Add a kernel driver for the APCI 8250-like UARTs that live in the
Frodo ASIC, originally contributed by Mike Smith
<mike@pressed.spam.frisbee.net.au>, but reworked by me to:
- Essentially duplicate the dca driver, modifiying where necessary
  to work with the APCI.
- Deal with the different Frodo autoconfiguration model.
- Don't attach a tty to the 0th UART - it's not really useful for much
  more than the Domain keyboard.
- Added a routine to check for the existence of a DCA at select code 9.
  On most models, the 1'th UART is mapped to select code 9 by the PROM,
  and on these models, we do _NOT_ want to attach the device as an APCI.
  However, on the 425e, this mapping does not take place, so we attach
  as an APCI.  The 2'th and 3'th UARTs always get tty instances.
- Add console support which will only be invoked on the 425e (i.e. check
  for DCA at 9, and defer console to it if it exists).
1997-05-12 08:12:36 +00:00
thorpej a155715d44 Add a driver for the Apollo Utility Chip (a.k.a. "frodo"), contributed
by Mike Smith <mike@pressed.spam.frisbee.net.au>, with some changes to
the autoconfiguration model and slight changes to the interrupt glue
by me.
1997-05-12 08:03:48 +00:00
thorpej 2392fb2a1c Bump version: Added APCI console support 1997-05-12 07:58:08 +00:00
thorpej 83c63bd2de - Always build a romout() stub.
- If kbdnmi() returns, stop cold, since it shouldn't.
1997-05-12 07:56:00 +00:00
thorpej f39885279b - Define INTIOBASE here for use by the standalone programs.
- Add some extern's for "userom" and romputchar()
1997-05-12 07:54:45 +00:00
thorpej 4e0ee78444 - Always build the romputchar() glue.
- Don't set "userom" in the trap handler (we didn't before, but we've
  removed the previous CPP conditional that was used to enable it.)
1997-05-12 07:53:02 +00:00
thorpej eac0352a9e In kbdnmi(), after we have cleared the interrupt condition, reset
the machine, rather than simply returning to the assembly NMI handler.
Previously, the assembly handler would simply jump back to begin:, which
would frob the stack, and re-clear the BSS.  However, this is not sufficient,
as there may be state in initialized data that must be restored.  Thus,
the only reasonable solution is to re-load the boot block.
1997-05-12 07:51:32 +00:00
thorpej c25bfe1365 Don't use hardcoded hex for the address of the internal HP-IB interface.
Instead, use definitions from <hp300/dev/dioreg.h>
1997-05-12 07:48:23 +00:00
thorpej 82ae3a106e Don't use a hard-coded hex address for the 0'th APCI port; use definitions
from <hp300/dev/frodoreg.h>
1997-05-12 07:47:03 +00:00
thorpej 0c5b002449 Add prototypes for standalone APCI driver. 1997-05-12 07:45:41 +00:00
thorpej 05333d3fa5 - Add glue for standalone APCI console driver.
- Make the romputchar() useage conditional only on "userom".
1997-05-12 07:44:53 +00:00
thorpej 225fbfa100 Build the standalone APCI driver. 1997-05-12 07:43:18 +00:00
thorpej bbbc6052c1 Add a standalone APCI driver, adapted from the standalone DCA driver
by me.  This driver should only be invoked when there are no other
suitable console devices present in the system.  This situation currently
exists on the 425e, for which we do not have a frame buffer driver,
and who's PROM does not map the second APCI UART to select code 9,
like is done on the 4{00,25,33}{t,s}.
1997-05-12 07:41:55 +00:00
mycroft cc4a1553a1 Eliminate bogus redefinitions of standard targets. 1997-05-09 07:50:03 +00:00
mycroft 84bca5d679 Don't use _SUBDIRUSE outside of bsd.subdir.mk. 1997-05-07 17:28:47 +00:00
lukem 7f69a90075 whitespacos i missed 1997-05-07 00:29:18 +00:00
lukem 3490941ddb cleanup unecessary quotage of options 1997-05-07 00:27:33 +00:00
lukem 4abf5a1a72 be consistent with use of spaces and tabs.
don't need quotes around options with _'s in the name
1997-05-06 00:56:53 +00:00
thorpej 3a12db07c6 Update for USELEDS changes (including: garbage-collect LED frobbing
code; it has moved to leds.c)
1997-05-05 21:15:41 +00:00
thorpej 500498e411 Update for USELEDS changes. 1997-05-05 21:14:04 +00:00
thorpej e677b62290 Garbage-collect LED-related stuff. 1997-05-05 21:12:49 +00:00
thorpej aec958ddf3 Don't initialize the DMA controller here. 1997-05-05 21:11:59 +00:00
thorpej 95bae625a2 Update for USELEDS changes. 1997-05-05 21:09:13 +00:00
thorpej 9c8fdf3dad Use dio_intr_establish(). 1997-05-05 21:08:26 +00:00
thorpej 9eddfbfca3 Update for USELEDS changes. 1997-05-05 21:07:31 +00:00
thorpej ff163c6424 Use dio_intr_establish(). 1997-05-05 21:06:41 +00:00
thorpej feb623a9ea - Use dio_intr_establish().
- Update for USELEDS changes.
1997-05-05 21:05:32 +00:00
thorpej 3a85f14da4 Use dio_intr_establish(). 1997-05-05 21:04:16 +00:00
thorpej 73b24faec6 Do a bit of spring cleaning. 1997-05-05 21:02:39 +00:00
thorpej 82cab4fef4 Prototype dio_intr_establish() and dio_intr_disestablish(). 1997-05-05 21:01:33 +00:00
thorpej 5bada123f8 - Initialize the DMA controller in dioattach().
- Implement dio_intr_establish() and dio_intr_disestablish().
1997-05-05 21:00:32 +00:00
thorpej 0a8e2a9ce8 Use dio_intr_establish(). 1997-05-05 20:58:18 +00:00
thorpej bd2bc06c75 - Make "USELEDS" a defopt'd option, so we can generate dependencies on
it.  Conditionally compile leds.c on USELEDS.
- Rearrange mainbus and intio declarations slightly.
- Add declaration for the forthcoming "frodo" driver.
1997-05-05 20:57:29 +00:00
thorpej 663cee4555 Pull the LED frobbing code out of machdep.c. Since there is more than
one LED on an hp300 SPU, rename the file to indicate plurality.
1997-05-05 20:54:34 +00:00
thorpej 397e92e33c New-style kgdb_machdep.c, mostly duplicated from the sun3 port, modified
slightly by me.
1997-05-05 20:51:05 +00:00
thorpej 95dd345f81 Garbage-collect old KGDB code that is no longer used. 1997-05-05 20:48:26 +00:00
mycroft 94313a874b Oops; reverse sense of previous test. 1997-05-03 08:46:09 +00:00
mycroft 1dafb51ea6 Eliminate unused variable in '030-only kernels. 1997-05-03 08:41:29 +00:00
mycroft fc324bb0b9 Eliminate unused variable when !USELEDS. 1997-05-03 07:09:57 +00:00
thorpej 766d429d62 Correct a comment long since outdated. 1997-05-01 16:24:26 +00:00
thorpej 989ed431e1 Oops, the numbers for "t" and "s" got swapped around. No functional
difference, just correct now.
1997-05-01 05:26:48 +00:00
thorpej 97a6c32e58 Garbage-collect a bunch of _very_ hp300-specific code, most of which
doesn't work anyhow (due to current and future fundamental differences
between NetBSD and HP-UX device semantics).  This can probably be shared
with other m68k ports now.
1997-04-27 21:38:57 +00:00
thorpej ba0a5d5c58 Bump version: Better SPU detection code 1997-04-27 21:18:31 +00:00
thorpej 8b4cae0516 CPU -> SPU 1997-04-27 21:17:13 +00:00
thorpej 3cb561ed9f Don't define our own machineid values - pull in <machine/hp300spu.h> 1997-04-27 21:15:14 +00:00
thorpej fbad957c52 Update getmachineid() for new machineid values. 1997-04-27 21:13:55 +00:00
thorpej 767517edcc Don't even look for a Domain keyboard if we're not a 400, 425, or 433. 1997-04-27 21:12:43 +00:00
thorpej 5b511796c1 Uniquely identify 345 vs. 375 vs. 400 and 380 vs. 425. Adapted by me from
code provided by Mike Smith.  While I'm here, convert this file to use
macros from <machine/asm.h> rather than making assumptions about how
C labels are handled.
1997-04-27 21:10:06 +00:00
thorpej cdb54b8d65 Update for new SPU options. 1997-04-27 21:06:29 +00:00
thorpej b27a863b02 Generate option headers for SPU type options, so that we may generate
dependencies on them.
1997-04-27 21:05:49 +00:00
thorpej 772891accd Use information provided by <machine/hp300spu.h> to determine if we
might have a physical address cache.
1997-04-27 21:02:34 +00:00
thorpej 650df29d4d These files depend on things in <machine/hp300spu.h> 1997-04-27 20:58:55 +00:00
thorpej 18a931000e Use <machine/hp300spu.h> to determine if we might have a physical address
cache.
1997-04-27 20:54:39 +00:00
thorpej 544f501d29 Rewrite identifycpu() to be partially table-driven, and to be more
sane in general.  Since we can uniquely identify each SPU type
(except for 318/319/330, because there _are_ no differences, really),
require that the appropriate SPU option be configured into the kernel.
1997-04-27 20:53:30 +00:00
thorpej d62e267a0c Uniquely identify 345 vs. 375 vs. 400 and 380 vs. 425, useful when
looking for hp4xx-only hardware during autoconfiguration.  Code
mostly from Mike Smith, with a few changes by me.
1997-04-27 20:50:01 +00:00
thorpej 9d4c5c9106 - Define new machineid and mmuid constants.
- Rearrange slightly.
1997-04-27 20:47:23 +00:00
thorpej fc79829eab #include <machine/hp300spu.h> 1997-04-27 20:43:37 +00:00
thorpej 80ff0f0f2f - Move a bunch of hp300 SPU-specific stuff out of cpu.h, and place it
in new hp300spu.h file.  This includes the code that associates
  model number with cpu/mmu/cache combinations.
- Define "mmuid" constants for several models, derived from code
  provided by Mike Smith.
1997-04-27 20:37:07 +00:00
thorpej f5ccce44c8 srt0.s renamed to srt0.S via repository copy Magick - we want this
file to be preprocessed before it is assembled.
1997-04-27 20:29:43 +00:00
thorpej d8b7a2f037 - Don't make assumptions about how C labels are handled, use macros
provided by <machine/asm.h> instead.
- Adjust for <m68k/m68k/trap_subr.s>
1997-04-25 02:17:38 +00:00
thorpej 722ead42ca Don't make assumptions about how C labels are handled, use macros
provided by <machine/asm.h> instead.
1997-04-25 02:16:38 +00:00
thorpej 5fddec888d Add Domain keyboard support source files (oops, forgot to commit this
file when I integrated the rest of it!).  Fixes PR #3523, from
Thorsten Frueauf <frueauf@ira.uka.de>.
1997-04-24 20:39:26 +00:00
thorpej 6a2fc99857 STRIP -> STRIPFLAG 1997-04-17 07:27:46 +00:00
scottr ea528012b3 dcmreadbuf() should not return immediately if the tty hasn't been opened;
this fixes a kgdb goof.  Found by inspection.
1997-04-15 22:45:14 +00:00
thorpej 4767ae8d9d Regsiter description for APCI UART found on HP 9000/400-series
systems with a Frodo Utility Chip.  This is essientially an 8250 with
3 bytes of padding between each register.  From mike smith
<miff@spam.frisbee.net.au>.
1997-04-14 20:36:11 +00:00
thorpej 89a63d43fa Build HIL and Domain keyboard support. Include UK HIL keymap. 1997-04-14 19:09:01 +00:00
thorpej 8f994f2c15 Add support for the Apollo Domain keyboard, from mike smith
<miff@spam.frisbee.net.au> with some changes for integration by me.
1997-04-14 19:03:13 +00:00
thorpej f9cbf4e434 Implement an autoconfiguring indirect keyboard driver, removing explcit
dependencies on the HIL keyboard.
1997-04-14 19:00:10 +00:00
scottr 5599d9bc87 Allowing forcing console on dcm with FORCEDCMCONSOLE (c.f. dca.c). 1997-04-14 05:58:32 +00:00
thorpej a78807e04c Update for interrupt function and header name changes. 1997-04-14 02:33:16 +00:00
thorpej 6f791ab8b2 Remove unnecssary #include. 1997-04-14 02:31:33 +00:00
thorpej 064d13e0ad Remove unnecessary softc member. 1997-04-14 02:30:45 +00:00
thorpej 30166b9778 Rearrange the interrupt code slightly:
- place all interrupt-related macros, prototypes, etc. into <machine/intr.h>,
  like other ports.
- rename isrlink/isrunlink/isrinit, etc. intr_establish/intr_disestablish/
  intr_init, etc., and move to intr.c for naming consistency.
- don't call intr_init() twice.
1997-04-14 02:28:43 +00:00
thorpej f05b58b229 Use common m68k sigcode. 1997-04-13 02:37:15 +00:00
thorpej 81f55f1cc8 regdump() is prototyped in m68k/cpu.h now. 1997-04-09 20:08:25 +00:00
thorpej 7c20e290df regdump() takes a struct trapframe * 1997-04-09 20:07:13 +00:00
thorpej 9cf4ffce0a - Garbage-collect signal-related stuff; use m68k/m68k/sig_machdep.c
- Garbage-collect regdump() and friends
- Convert hp300 to new crash dump format
1997-04-09 20:05:20 +00:00
thorpej 577dabb739 Use <m68k/m68k/proc_subr.s> 1997-04-09 20:03:21 +00:00
thorpej f0f9811df2 Use the %x printf format where appropriate 1997-04-09 20:01:04 +00:00
thorpej 62a635ac7e - Remove redundant file directives
- Pull in m68k/m68k/sig_machdep.c
1997-04-09 19:59:57 +00:00
thorpej c3c59721e2 kcore.h for hp300 - just pulls in the common m68k kcore.h 1997-04-09 19:51:36 +00:00
mycroft 1929ddf09c Fix some #ifdef lossage if HP340, HP360, or HP375 is defined, but HP370 is not. 1997-04-06 21:40:35 +00:00
scottr be3e57de4a Changes to make a dcm-based console work properly:
- While servicing an rx, tx, or modem status interrupt:  if we have a
   NULL struct tty * or if the tty isn't open, just return.
 - Skip the self test if we are the console; it manages to do funny
   things to autoconfig messages.  (XXX - this should be fixed)
1997-04-04 18:16:07 +00:00
thorpej 2c0d2cb557 #ifdef DIOVERBOSE a variable needed only in such code. 1997-04-04 09:53:43 +00:00
scottr aa88a240fe Fix printf() and other warnings when compiled with DEBUG defined. 1997-04-02 22:37:21 +00:00
christos e0443987e7 Add netatalk netisr 1997-04-02 21:48:55 +00:00
scottr 40d1c295a2 Specify more aggressive warning options for C code. 1997-04-01 23:16:41 +00:00
scottr 6c7f504b20 Add forward declarations for struct exec_package and struct exec_vmcmd,
to minimize the number of unnecessary #includes.
1997-04-01 20:05:14 +00:00
scottr 54c4c9b37f Catch up with COMPAT_HPUX changes, and make this compile with -Wall. 1997-04-01 19:59:59 +00:00
scottr 5be5fe416e Relocate some prototypes needed for COMPAT_HPUX to hilvar.h 1997-04-01 19:29:09 +00:00
scottr 698c8410a2 Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.
1997-04-01 03:12:06 +00:00
scottr 66c9485803 Add prototypes, and make this compile with -Wall. 1997-04-01 03:10:57 +00:00
scottr 43b1b8c08a Relocate some prototypes needed by other MD code. 1997-04-01 03:07:19 +00:00
scottr 4c6e335897 Add prototypes as appropriate. 1997-04-01 03:03:56 +00:00
gwr 5485e1ff75 Need a common <m68k/pcb.h> for gdb. 1997-03-31 21:39:51 +00:00
scottr c008fc0aa0 Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.
1997-03-31 07:32:14 +00:00
scottr ea23ab53c3 Add missing argument to diagnostic printf() 1997-03-31 07:30:41 +00:00
scottr 52cb2d2955 Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.

Also, handle sc_flags better so that we don't lose track of the
DCM_ISCONSOLE bit.
1997-03-31 07:29:49 +00:00
thorpej 3878faec9c Fix a bogus argument to dmafree(), from Scott Reynolds. 1997-03-31 01:05:19 +00:00
thorpej 6a3ca35ec3 Build these kernels with full debugging symbols. 1997-03-31 00:03:10 +00:00
thorpej cb24b0200a Don't allocate mclrefcnt[]; it's dead and gone. 1997-03-27 21:01:20 +00:00
gwr 37b247edde Renames: /dumpconf/cpu_dumpconf/, /boot/cpu_reboot/ 1997-03-26 22:42:13 +00:00
gwr 71e43d14ab Move findroot/setroot stuff from configure() to cpu_rootconf(). 1997-03-26 22:38:40 +00:00
mycroft e44dc60fc6 Fix editing error in new config changes. 1997-03-22 00:17:59 +00:00
thorpej 12c0a8c5c8 Correct keyboard map references in the default case. From
Klaus Klein <kleink@layla.inka.de>, PR #3361.
1997-03-20 08:07:01 +00:00
mycroft c14b8539e0 Make active_user_pmap() DTRT while a process is exiting. 1997-03-18 16:39:30 +00:00
mycroft d19eaa3d4f Add an active_user_pmap() macro, and use it as appropriate. 1997-03-18 14:13:55 +00:00
mycroft 1068c83731 Check for curproc being null before dereferencing it in more cases. 1997-03-18 13:01:07 +00:00
gwr 08f7a407f9 Separate bcopy and copypage stuff from copy.s 1997-03-17 19:46:36 +00:00
thorpej 1d987a161b #include <net/if_media.h> 1997-03-17 03:17:34 +00:00
hpeyerl 52cbdd41c4 Lager is now config.new. ya ya, I've been busy. 1997-03-16 18:46:56 +00:00
thorpej 48556a75d2 Use <m68k/m68k/support.s> 1997-03-16 10:49:43 +00:00
thorpej e93bf2f15b Garbage-collect hpux_dumpu(). 1997-03-16 10:00:45 +00:00
thorpej 701652d81c In cpu_coredump(), don't bother dumping an HP-UX style u-area. What it
produced was useful once, but isn't worth the clutter now.
1997-03-16 09:59:40 +00:00
thorpej de5a4c2d10 Remove reference to Locore.c 1997-03-16 09:47:48 +00:00
thorpej 611fa5e05b Old lint helper, not used anymore, and really quite amazingly out of
date; this is 4.3 vintage.  Just nuke it.
1997-03-16 09:45:38 +00:00
thorpej 5a1149b25d Nuke MDP_HPUXTRACE. 1997-03-16 09:40:01 +00:00
thorpej c5b6d5ed07 Prototype hpux_setregs(). 1997-03-16 09:14:25 +00:00
thorpej c9e8e99421 Remove the COMPAT_HPUX stuff from setregs(); the HP-UX compatibility
code has its own implementation now.
1997-03-16 09:12:13 +00:00
thorpej 832cc66899 Implement hpux_setregs(). While I'm here, nuke the MDP_HPUXTRACE
code.  In practice, no one traces NetBSD programs with HP-UX debuggers,
and the evil required to make it work should not be discussed in the
presence of small children.
1997-03-16 09:10:31 +00:00
thorpej 27c7e59344 Define the HP-UX sigcontext structure here, and prototype hpux_sendsig(). 1997-03-16 03:45:33 +00:00
thorpej 5a14c36be7 Move all COMPAT_HPUX signal code into hpux_sendsig() and hpux_sys_sigreturn(). 1997-03-16 03:43:39 +00:00
thorpej f5c982a251 In cpu_coredump(), use `fputype' to decide if we dump FP regs. 1997-03-15 23:40:25 +00:00
thorpej 99cc2e1cec Garbage-collect use of FPCOPROC. 1997-03-15 23:34:32 +00:00
thorpej bbcda6f26b - /dev/mem: only allow access to physical RAM
- /dev/kmem: disallow access to devices

This is designed to protect device registers from being corrupted
accidentally by "innocent" mem/kmem grovellers.
1997-03-15 23:30:12 +00:00
thorpej 6fa9be2e93 Use `fputype' at run-time rather than FPCOPROC at compile-time. 1997-03-15 23:25:49 +00:00
thorpej 4fd90cefdb - Garbage-collect doadump(); it hasn't been used for some time.
- Supply an `fputype' global.  Since all hp300's have an FPU, default
  it to FPU_68881, setting it to FPU_68040 if we detect a 68040 CPU.
- Use `fputype' at run-time rathern than FPCOPROC at compile-time.
- Re-arrange locore slightly; move startup code to the beginning, right
  after the vector table.
1997-03-15 23:23:55 +00:00
thorpej 2cea1ec9d7 - Make hpux_sys_getcontext() table-driven.
- Use `fputype' at run-time rather than FPCOPROC at compile-time.
1997-03-15 23:20:20 +00:00
thorpej 1023932f47 User text segment begins at 8k, now, to match the other m68k ports. 1997-03-15 22:02:24 +00:00
thorpej 26644d1232 Change MID_MACHINE to MID_M68K; we now use the same executable format as
the rest of the m68k ports.
1997-03-15 22:01:02 +00:00
thorpej 0e368d2e40 Don't set __LDPGSZ to 4096; we use 8192 like the rest of m68k-land, now. 1997-03-15 21:59:20 +00:00
is 07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
mycroft f7ad6fff40 Put the genassym.sh output in a temp file, and mv -f it, in case
it fails spectacularly and doesn't clean up.  Also, don't depend genassym.c
(since it no longer exists), and remove dependencies for genassym.o (since it
no longer exists).
1997-03-14 23:14:39 +00:00
mycroft 3a99046fbb Update this to new config. 1997-03-14 04:21:13 +00:00
thorpej 711486fd1b Fix a typo (oops). 1997-03-13 17:14:45 +00:00
thorpej 8229701876 oops, don't need trap.h here anymore 1997-03-13 09:29:03 +00:00
thorpej 72ba35e689 Don't genassym the trap type values; just include <machine/trap.h> 1997-03-13 09:27:21 +00:00
thorpej deeac396e7 Use genassym.sh to facilitate cross compiling. 1997-03-13 09:24:21 +00:00
thorpej f6d3f6c93b Use the script version to facilitate cross compiling. 1997-03-13 09:22:19 +00:00
thorpej a92ec8002e Enable COMPAT_M68K4K. 1997-03-12 18:33:09 +00:00
thorpej 1777807068 Add 9660 file system, and set DDB_ONPANIC to 0. 1997-03-12 02:08:02 +00:00
thorpej dc1020fe40 Print the interrupt level in scsiattach(). 1997-03-10 08:37:31 +00:00
thorpej bb0d35b7e4 Bump version - we compute the kernel load address differently. 1997-03-10 08:02:23 +00:00
thorpej 4e541ff7ea Fix rounding of lowram value; ensure the kernel load address is on
an 8k boundary.
1997-03-10 08:00:47 +00:00
fvdl 115b6d92fa Define ALIGNED_POINTER 1997-02-24 23:16:53 +00:00
mrg 22245e60a5 comment PFIL_HOOKS as it is redundant (as an option) when used with ipfilter. minor format 1997-02-18 21:09:56 +00:00
thorpej 82adcde8ca Fix edit-o that caused panic's when root was on HP-IB disk. 1997-02-05 20:56:29 +00:00
thorpej f79798f810 Bump version: Add support for booting gzip'd kernels 1997-02-04 19:42:29 +00:00
thorpej 76839db714 Add the ".gz" names of the kernels to the kernel names list. New
boot order is:

	netbsd -> netbsd.gz -> netbsd.bak -> netbsd.bak.gz ->
	  netbsd.old -> netbsd.old.gz -> onetbsd -> onetbsd.gz
1997-02-04 19:40:07 +00:00
thorpej 6a721b41eb Bump version: Add support for reading gzip'd miniroot images 1997-02-04 19:36:29 +00:00
thorpej 8ceaa2c3f5 - If copying the miniroot from an NFS server, don't attempt to
compute the number of iterations through the copy loop based
  on file size; the miniroot image may be compressed.  Instead,
  ignore short reads in the NFS case, and handle them like EOF.
- Fix typo in a printf format.
1997-02-04 19:34:09 +00:00
thorpej e876a86309 Add support for transparent handling of decompressing read, useful
for gzip'd kernels and miniroot images.
1997-02-04 19:28:50 +00:00
thorpej 5a9b27d5cf Set the heap limit to the last byte of the 3rd page from the
end of RAM, i.e.:

	[ heap limit page][msgbuf page][ROM scratch page]
                        |                              |
		    heap limit                     end of RAM
1997-02-04 19:14:57 +00:00
thorpej 1e250357ac Thou shalt not taunt the HP BOOTROM with silliness such as incorrect
link order.
1997-02-04 08:39:26 +00:00
perry 19d153fc48 Nuke some options GENERIC residue. 1997-02-04 04:57:10 +00:00
perry 0b3a46d6b3 Nuke some GENERIC residue. 1997-02-04 04:31:55 +00:00
thorpej 0130161343 Bump version: Reorganization of boot block code 1997-02-04 03:59:40 +00:00
thorpej 8226741fc2 Replay history: Added support for HP-IB cartridge tapes 1997-02-04 03:58:52 +00:00
thorpej 25f97c348f Reply history: Merged network and disk boot programs 1997-02-04 03:57:51 +00:00
thorpej f52a7cea62 Replay history: Added support for network booting 1997-02-04 03:57:08 +00:00
thorpej b327731a21 Bump version: Reorganization of boot block code 1997-02-04 03:55:56 +00:00
thorpej 6c19137655 Replay history: Added support for HP-IB cartridge tapes 1997-02-04 03:54:56 +00:00
thorpej a0864b3e07 Complete and total reorganization of the hp300 boot code, modeled
closely after the build process used by NetBSD/alpha's boot code.
1997-02-04 03:51:37 +00:00
thorpej 876ea64acb Add "options LKM", suggested by Klaus Klein <kleink@layla.inka.de>. 1997-02-02 17:29:42 +00:00
thorpej 2a0c6f4a0a Use splkbd(). 1997-02-02 09:40:31 +00:00
thorpej 47e3ffe813 Definition of splhil() is in param.h now. 1997-02-02 09:39:21 +00:00
thorpej 14a4465f0b - Implement _splraise(), like _spl(), but only modifies the SR if the
new ipl is higher than the ipl currently set in SR.  (Thanks to
  scottr@netbsd.org for implementing it while I was busy with other stuff!)
- Define spl{bio,net,tty,imp} in terms of _splraise().
- Move definition of splhil() here, and define splkbd() as an alias for it.
1997-02-02 09:34:26 +00:00
thorpej 65494a33cb Garbage-collect extra copy of mappedcopy. 1997-02-02 08:03:06 +00:00
thorpej 2f2eed4a30 Use zeropage() in pmap_zero_page(). 1997-02-02 08:01:32 +00:00
thorpej c51511c5b5 zeropage -> devzeropage, and make it static. 1997-02-02 07:59:41 +00:00
thorpej 4b525c0004 Clean up the mappedcopy initialization code. 1997-02-02 07:58:49 +00:00
thorpej 00111f0a5d - Eliminate some unnecessary cpu/mmu checks, based on what CPUs
the kernel was compiled for.
- Add some comments about possible further optimization.
- Garbage-collect extra copypage()
1997-02-02 07:55:52 +00:00
thorpej 2bf5021447 - Use <errno.h>, not "extern int errno."
- Define FPU constants.
1997-02-02 07:53:16 +00:00
thorpej 834bef67f2 If the user has halted the system, allow them to press a key to reboot. 1997-02-02 05:33:30 +00:00
carrel 31ff345489 My config files. To quote from thorpej: "for kicks". 1997-02-02 00:23:23 +00:00
thorpej 312e813007 Oops, need PFIL_HOOKS. 1997-02-02 00:11:33 +00:00
thorpej f28303c413 - Garbage-collect a kludge necessary when we were using old config.
- Synch the "clean" rule with the i386 port's.
- Add a commented-out rule for generating assym.h w/ the new genassym.sh.
  Some slight changes need to be made to genassym.h to make it work with
  m68k, so we can't use it just yet.
1997-02-01 23:55:10 +00:00
carrel 05c0e704dc Make "options HP340" actually work without having "option HP360". 1997-01-31 23:01:21 +00:00
carrel 32f2102a58 Patch from thorpej to mark non-console grf's and ite's alive. 1997-01-31 21:16:50 +00:00
thorpej 2c94d6307c Fix typo introduced in new setroot code. (There's only just a little
irony in that, eh?)

From Klaus Klein <kleink@layla.inka.de>, PR #3173.
1997-01-31 20:20:53 +00:00
thorpej 04da46b022 Gah, missed another NFSCLIENT -> NFS. 1997-01-31 06:12:57 +00:00
thorpej 41809f9413 Adopt for new file system and root spec grammar. 1997-01-31 05:56:10 +00:00
thorpej 739f23a219 This file is obsolete; this information is now generated by config(8). 1997-01-31 05:12:49 +00:00
thorpej 8763a04e25 Use the new machine-independent setroot(). 1997-01-31 01:49:41 +00:00
scottr fc20c2eb8f Add missing major number decls, from Klaus Klein (closes PR 3165). 1997-01-30 22:11:19 +00:00
scottr 13802e3a85 Add DIOVERBOSE per Jason; clean up formatting for some options. 1997-01-30 18:33:52 +00:00
thorpej 570522c72c Clean up #includes. 1997-01-30 10:32:51 +00:00
thorpej 5906c26c8b Commit this to the right place, this time.
The boot blocks do a primitive form of autoconfiguration.  Duplicate some
of the old config strcutures for the benefit of the boot blocks; they
don't need something as flexible as the kernel does.
1997-01-30 10:31:44 +00:00
thorpej 40d51256bb These files are no longer needed. 1997-01-30 10:00:39 +00:00
thorpej 5e781164af Update for new-style config. 1997-01-30 09:58:57 +00:00
thorpej add93ce69e Garbage-collect some uneeded stuff now that we're new config only. 1997-01-30 09:55:45 +00:00
thorpej d26d94a7a5 Regen to clear up RCS id snafu. 1997-01-30 09:20:42 +00:00
thorpej cb63bb9de5 Garbage-collect all old-style autoconfiguration support; it is no
longer supported.  The hp300 port uses new config now.
1997-01-30 09:18:33 +00:00
thorpej 9bb27910a9 Convert to new-style autoconfiguration; old-style config is no longer
supported.
1997-01-30 09:14:10 +00:00
thorpej f19d55d659 - Garbage-collect the old-style configuration glue.
- Make sure we don't get interrupts in dcmselftest().
1997-01-30 09:11:24 +00:00
thorpej f5bb637c10 - Convert these drivers to new-style autoconfiguration. Old-style
config is no longer supported.
- Use a much more obvious SCSI job queueing scheme.
1997-01-30 09:08:55 +00:00
thorpej 365324ec10 - Convert these drivers to new-style autoconfiguration. Old-style
configuration is no longer supported.
- Use a much more obvious HP-IB job queueing scheme.
1997-01-30 09:06:51 +00:00
thorpej d49c71cb8a - Use indicies, rather than pointer arithmetic, to track DMA chain
segments.
- Use a much more obvious DMA job queueing scheme.
- Fixup some debugging code.
1997-01-30 09:04:33 +00:00
thorpej 7bfe4e11c4 Garbage-collect old-style autoconfiguration glue. 1997-01-30 09:00:21 +00:00
thorpej 743140bb51 Garbage-collect old-style autoconfiguration code. Adopt boot device
detection code to new-style autoconfiguration.
1997-01-30 08:59:29 +00:00
hpeyerl 56542666eb fix an *old* booboo where the dma queue wasn't being set in unexpected
case.  Found, fixed, and dictated by jason. (thorpe)
1997-01-26 18:04:10 +00:00
hpeyerl 8cc55c80b6 ::->: :-) 1997-01-26 17:55:52 +00:00
scottr 1085290516 Remove obsolete timezone specification 1997-01-20 16:55:32 +00:00
thorpej 112e338d6b Fix botch in PA calculation for DIO-II devices. Bug noticed and fix
provided by Klaus Klein <kleink@layla.inka.de>, PR #3097.
1997-01-12 21:27:26 +00:00
scottr cc061d0a98 Normally, iteon() returns an int. If NITE == 0, define iteon() to be 0.
Closes PR 3091.
1997-01-10 00:07:27 +00:00
scottr b917ce3294 Bracket kernel structs with #ifdef _KERNEL so that bootblocks will once
again build.
1997-01-09 01:07:59 +00:00
mrg c71a371532 use pseudo-device ipfilter, not ipl. 1997-01-07 11:35:01 +00:00
thorpej c56e780e4f Bring some sanity into my frazzled existence:
- Always ensure that RAW_PART ("c") can be opened.
- Disallow unused or non-existent partitions from being opened.
- Don't do bounds checking or partition translation on RAW_PART.
This is consistent with other disk drivers in the NetBSD source tree,
and fixes a condition where the user could not fix a corrupted disklabel
due to a bogus offset for partition "c".
1997-01-07 09:29:30 +00:00
thorpej 32dda9a886 Kludge newvers rule, so that it works with old and new config. 1997-01-06 08:49:30 +00:00
thorpej c26a11ab21 Add PFIL_HOOKS and ipl pseudo-device. 1997-01-06 08:48:36 +00:00
thorpej 7e3b804ce5 Add ipl pseudo-device. 1997-01-06 08:47:43 +00:00
thorpej 246654663f Add "ipl" device at cdev major 18. 1997-01-05 21:29:49 +00:00
thorpej f77141521c Oops, build dio.o in the old config case, too. Pointed out by
Dave Carrel <carrel@cisco.com>.
1997-01-05 04:41:48 +00:00
thorpej e2c6ed87ec Fix several semantic bugs:
- Always allow RAW_PART to be opened, regardless of the partition table.
- Never do partition translation on RAW_PART; it's always offset 0.
- Always make sure the disklabel is read from RAW_PART.
- Make *strategy() return values consistent.

This fixes a condition where a bogus partition table could be written
to the disk from SYS_INST, and the user had no way to rewrite with
a correct partition table, since RAW_PART would be invalid.
1996-12-21 21:34:40 +00:00
thorpej 0d58626f72 This wasn't just a spelling error... I invented a whole new word! 1996-12-21 21:23:43 +00:00
thorpej c0c07cd30e Always use `SLOWSCSI'. Some devices need a long delay between phase
changes, apparently.  This is reported to work around some odd failures
people were seeing during first-time installation onto a SCSI disk.
1996-12-17 09:21:42 +00:00
thorpej 7373a43fcf Generate initial copies of these files. 1996-12-17 09:01:24 +00:00
thorpej 838edf78fd Snapshot of new config for NetBSD/hp300. This isn't quite finished yet.
We're about 75% there.  SCSI and HP-IB are not yet supported in a new
config kernel; some autoconfiguration hackery has to be done there, yet.
These changes are enough to network boot a diskless kernel.

New config glue is enabled with the "NEWCONFIG" kernel option.  If that
option is not present, an old config kernel will be built.  Any kernel
configured with config(8) will automatically pick up the NEWCONFIG
option from std.hp300.
1996-12-17 08:40:56 +00:00
thorpej 7b4ca2ebe5 Kill __BROKEN_INDIRECT_CONFIG 1996-12-17 08:11:50 +00:00
thorpej 9a8786f719 Clean up cpu_startup() a bit:
- move data structure allocation into a new function, allocsys(), like
  the i386 port.
- garbage-collect the BUFFERS_UNMANAGED code.
1996-12-11 16:49:23 +00:00
thorpej f82a494e0f Fix typo in comment. 1996-12-11 09:10:38 +00:00
thorpej 66cbbf68ff Copyright assigned to The NetBSD Foundation. 1996-12-09 17:35:24 +00:00
thorpej 5dc95f5908 Garbage-collect DMAINTLVL; it's not needed any more. 1996-12-09 06:18:13 +00:00
thorpej 49471d5fd5 Sync with reality. 1996-12-09 03:56:01 +00:00
thorpej 01667974d0 isrlink() now returns a cookie. We're not interested in the cookie, so
cast to (void).

Call dmacomputeipl() after we've hooked up our interrupt handler.
1996-12-09 03:16:26 +00:00
thorpej 648a1b19ae isrlink() now returns a cookie. We're not interested in the cookie, so
cast to (void).
1996-12-09 03:14:06 +00:00
thorpej 0d6571ba4d Defer hooking up the DMA controller interrupt. Add a new funciton,
dmacomputeipl(), which is called by drivers which use DMA once they've
hooked up their interrupts.  This new function computes the appropriate
ipl to use for the DMA controller and (re-)establishes it's interrupt.
1996-12-09 03:09:51 +00:00
thorpej 75a37ecc60 Print the interrupt levels for bio, net, and tty computed during
autoconfiguration.
1996-12-09 03:07:11 +00:00
thorpej ce7ecde8a3 Dynamically compute the PSL value for spl{bio,net,tty,imp}() calls. 1996-12-09 03:04:46 +00:00
thorpej c36215249a Add EXEC_SCRIPT (I don't even want to know how I forgot it before...) 1996-12-09 01:53:30 +00:00
thorpej b5c8aff18b In setroot(), fix mishandling of the `config netbsd root on nfs' case
that caused a NULL pointer dereference.
1996-12-07 19:00:46 +00:00
cgd 96acdadef7 First step inn removing config_scan() and the hacks that gave devices
on indirect-config busses a (permanent) softc that they could share
between 'match' and 'attach' routines:

Define __BROKEN_INDIRECT_CONFIG so that old autoconfiguration
interfaces are used, until drivers are converted to use the new
interfaces (actually, converted back to use the _older_ interfaces)
which prohibit indirect configuration devices from receiving a softc
in their match routine that they can share with their attach routine.
1996-12-05 00:13:47 +00:00
jonathan 4c1d96de78 * Replace explicit -O2 in CFLAGS with COPTS macro. Default COPTS?= -O2.
Lets users over-ride with makeoptions COPTS="..." in kernel config files.

  Leave `mandatory' flags (like  -msoft-float which  on m68k enforces no
  FP in kernel) in CFLAGS.
1996-12-01 06:12:25 +00:00
cgd 8a3333b2a9 Fix an inconsistency that came in with Lite: setrq() was renamed to
setrunqueue(), but remrq() was never renamed.  Rename remrq() to
remrunqueue().
1996-11-06 20:19:19 +00:00
hpeyerl 05fe4c93dc Force some drive mappings for reasons I won't get into. 1996-10-21 16:43:05 +00:00
thorpej 43ba106ec2 Remove declaration for now-gone function. 1996-10-20 23:47:40 +00:00
thorpej af8d8d2a56 Arrange this file into sections (configure(), root device goo, console goo,
old-config goo).  Place old-config goo at the end so that it's easy to
#ifdef our or delete (muahahah!).

Garbage collect a couple of unused functions.
1996-10-20 23:46:06 +00:00
thorpej bbdd41a2a7 Back out last change, and add a comment about what should happen.
(*grumble* will teach me to do a `make clean' next time.)
1996-10-20 23:23:28 +00:00
thorpej 7133ecf2ca Don't need to mark 0-NBPG as VM_PROT_NONE in kernel_map anymore; the
first entry is now properly setup in kmem_init().
1996-10-19 21:11:32 +00:00
thorpej 7958973110 Set VM_MIN_KERNEL_ADDRESS to NBPG. This is a better way of getting
the kernel_map to treat page 0 properly.
1996-10-19 21:07:42 +00:00
thorpej cf9b36ab1d Set up a kernel_map entry for the text segment with protection of
VM_PROT_READ|VM_PROT_EXECUTE.  The previous default (VM_PROT_ALL)
would cause the following scenario:
	- someone attempts to write kernel text (my test was writing
	  to an offset of /dev/kmem which was known to be in the text
	  segment, while in single-user mode).
	- enter trap() with MMU fault (because of RO pte).
	- trap() calls vm_fault(), which looks up vm_map_entry for
	  fauling address.
	- vm_fault interprets write fault and VM_PROT_WRITE (in VM_PROT_ALL)
	  as COW; new page allocated, data copied to new page, new page
	  mapped in at trunc_page(<faulting va>).
	- wow, look at the fireworks!
Fixes two potential symptoms:
	- kernacc() returns TRUE when checking for permission to write
	  an offset in kernel text, which is bogus, since the text has
	  been mapped RO by pmap_bootstrap().
	- Handling of a stray pointer that attempted to scribble into
	  kernel text would not be executed properly.
1996-10-19 08:51:33 +00:00
thorpej 6126eea479 Tell the `upper half' of the VM system that page 0 isn't mapped. If we
don't do this, kernacc() will bogusly return TRUE for page 0, causing a
NULL pointer dereference in uiomove() when reading /dev/kmem.

Thanks to Scott Reynolds for noticing the problem.
1996-10-18 08:57:14 +00:00
thorpej 150c33e60b Use ${INSTALL}. 1996-10-18 05:55:26 +00:00
thorpej 9f1ba5739f Don't need "options GENERIC" anymore. 1996-10-15 22:01:53 +00:00
thorpej 608efe383e Use the hp300 version of db_memrw.c (forgot to commit this change the
other day).
1996-10-15 22:00:31 +00:00
thorpej d2daeab10d Garbage collect the "kernel jump to zero" stuff. VA 0 is now invalid,
so the kernel will fault if the PC gets trashed like that.
1996-10-14 22:11:16 +00:00
thorpej ac35089824 Couple of small changes:
- Fix up usage of MBD_ISPID().
- Ensure that we never deal with a NULL proc, and if our proc has
  no pcb, punt.  Suggested by Gordon Ross.
- Eliminate some redundant NULL pointer checks in the T_MMUFLT cases;
  proc0.p_addr is now initialized early, and we make a single test
  for sanity at the top of trap() now.
1996-10-14 20:06:31 +00:00
thorpej a72edba413 Couple more small changes:
- Initialize proc0.p_addr just after setting up the kernel stack, to avoid
  getting NULL pointers in trap().  Change suggested by Gordon Ross.
- Panic if main() returns.
- Tidy up a couple of comments.
1996-10-14 20:02:48 +00:00
thorpej ffc4c833ea Be careful not to deref bad pointers in the MMU fault handler! (yow!) 1996-10-14 08:07:23 +00:00
thorpej 7744dc270c Couple of small changes to how kernel is mapped:
- kernel text is now always read-only.
- page 0 is invalid.
1996-10-14 08:05:37 +00:00
thorpej 4fa7362d31 Add a db_memrw.c that understands how to write to read-only kernel text
(remaps page read/write/cache-inhibit, does write, restores previous
mapping).  Kernel text no longer needs to be read/write with DDB/KGDB
is in the kernel.

Based on a similar module written for the Sun3 port by Gordon Ross,
and modified somewhat by me.
1996-10-14 08:02:27 +00:00
thorpej 5b66e34d14 A few small changes:
- Offset kernel text one page.  Stash the PA of this offset page for
  use later.
- Add a few comments.
- Free up some registers earlier in the initialization process.
- Use a `prototc' to set the Translation Control register, rather
  than relying on a2 pointing just past the MMU trampoline in the
  high page.  (Suggested by Charles Hannum.)
- Set VBR to the kernel vector table just before turning on the MMU.
- Just before rebooting, set VBR to 0, which is what the BOOTROM expects
  it to be.
1996-10-14 07:58:54 +00:00
thorpej 27f386f5b2 Garbage collect some now unneeded code, and declare the punit device
driver entry point switch.
1996-10-14 07:34:48 +00:00
thorpej 415248a4f2 Move the machdep_start() code into machdep.c. No need for different
versions of this function anymore, now that we have a sane kernel setroot().
1996-10-14 07:33:43 +00:00
thorpej 18c2b0460a Garbage collect some hackish code that was needed when we had a lame
kernel setroot().  The device type for network boot is set like any
other device now.  Also, call the punit entry point for device drivers
to properly set `bootdev'.
1996-10-14 07:31:47 +00:00
thorpej 9ff0348a49 Implement ctpunit(), a "set physical unit" entry point. 1996-10-14 07:29:57 +00:00
thorpej 9d51a5dcf7 Add a standalone driver entry point that sets the physical unit (HP-IB's
equivalent of a LUN) in `bootdev'.  This is needed to properly detect the
boot device if booted from the tape unit of an HP-IB disk/tape combo.
1996-10-14 07:29:15 +00:00
thorpej 84da57f13b Clean up the code that sets `bootdev' based on information provided
by the BOOTROM.  Also, give network devices the attention they deserve.
1996-10-14 07:26:06 +00:00
thorpej 23640d012f New root device detect/set code, lifted mostly from NetBSD/alpha.
The "options GENERIC" entry in kernel config files is not longer necessary
for "swap generic" kernels.  Uses new config constructs which work with
some glue in an old config environment.  This code will support new config
with minimal changes.
1996-10-14 07:20:26 +00:00
thorpej 8acf9f0215 Set the device class on non-dull devices. This is a transitional thing. 1996-10-14 07:14:11 +00:00
thorpej 7d13691de1 Add some new config glue to the legacy hp300 device structures. This is
a transitional thing.
1996-10-14 07:11:50 +00:00
thorpej 01d74572dd Default the HIL keyboard to "US ASCII". This should fix a bug where
an unrecognized keyboard produced garbage on keypresses in the kernel,
but worked in the boot program (which has this default).  The bug is
that the keymap pointers are unitialized.
1996-10-14 07:09:41 +00:00
thorpej 7ee4744ed2 Need to include <sys/exec.h>. 1996-10-14 06:51:50 +00:00
christos ad67e04154 backout previous kprintf change 1996-10-13 16:50:51 +00:00
christos 30b3cc3d09 backout previous kprintf changes 1996-10-13 03:14:05 +00:00
christos 60dd5ceebe printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:06:28 +00:00
cgd e36e19cf1e repoint at shared aout_machdep.h, not exec.h 1996-10-08 13:07:26 +00:00
cgd 472889f8e4 moved to aout_machdep.h (via repository copy) 1996-10-08 12:57:37 +00:00
thorpej eeef0d1784 Prototypes for functions in locore.s and machdep.c (oops, forgot to
check this in the other day...)
1996-10-07 06:29:30 +00:00
thorpej 24d2e8ec5f Sanity sweep. 1996-10-07 04:45:41 +00:00
thorpej a2f9031d2f Add support for copying the miniroot from HP-IB cartridge tape. 1996-10-07 04:45:10 +00:00
thorpej bc504916f3 Garbage-collect some sun3-specific stuff, add some debugging code,
and KNF.
1996-10-06 19:07:53 +00:00
thorpej 61a0ffca58 Fixup (unused) netstrategy() routine's calling convention (just returns
EIO).  Garbage collect unused netioctl() - conf.c redirects netioctl()
to noioctl().
1996-10-06 19:07:00 +00:00
thorpej a3c29be5e0 Fixup ctstrategy() calling convention. The standalone ct driver
works again.
1996-10-06 19:05:27 +00:00
mycroft 6ea58d5fae Serial console changes:
* Enable FIFO with trigger level 1.
* Set DTR and RTS so terminals are happy.
* Do not set IEN.
1996-10-06 01:42:45 +00:00
thorpej 67cd067f25 Nuke __BDEVSW_DUMP_OLD_TYPE. 1996-10-06 00:15:31 +00:00
thorpej 39cbdb7e9f Fix kernel crash dumps. Still uses the old format for now. 1996-10-06 00:14:12 +00:00
thorpej d01962702f General cleanup:
- make a prototyping sweep
	- do some garbage collection
	- always print the status of enabling memory parity checking
Still some more to do.
1996-10-05 09:22:47 +00:00
thorpej 84b3384afb Check for internal HP-IB in SYSFLAG much earlier (i.e. before the MMU
is turned on).
1996-10-05 09:19:58 +00:00
thorpej f52b60c3a0 Prototype ledcontrol(). 1996-10-05 09:18:22 +00:00
thorpej 2ec75a3c3c Cast a volatile pointer to caddr_t for a call to badbaddr(). 1996-10-05 09:17:38 +00:00
thorpej a6a1f78d0c Handle kernel trace traps and breakpoints like the Sun3 port:
- Only pass user trace traps and breakpoints on to trap().
	  Gets rid of some hair in the trace/breakpoint trap cases.
	- Before entering the debugger, switch to a temporary
	  stack so that the debugger can alter the stack pointer.
	- Add glue for KGDB (still not complete).
Some other minor cleanup:
	- Protect against some bad pointer derefs.
	- Be more a little more verbose when a fatal trap
	  occurs to aid debugging.
1996-10-05 07:24:10 +00:00
thorpej 8499e0131e Handle kernel trace traps and breakpoints like the Sun3 port:
- Only pass user trace traps and breakpoints on to trap().
	- Before entering the debugger, switch to a temporary
	  stack so that the debugger can alter the stack pointer.
	- Add glue for KGDB (still not complete).
Clearly mark the MMU enable trampoline code.
1996-10-05 07:16:52 +00:00
thorpej 0ff075f6e7 Define FR_SIZE as sizeof(struct trapframe) 1996-10-05 07:11:44 +00:00
thorpej 2f9a90e967 Don't lower spl before calling main. For now, do it right before
calling hilinit().  Eventually, would like to enable them only after
autoconfiguration is finished.
1996-10-05 07:06:11 +00:00
thorpej 2793eb282e If console is on an ite, make sure the HIL is initialized enough for
the keyboard to work.  Fixes a bug where booting with `-d' worked
only on systems using a serial console.

While I'm here, eliminate some redundancy in the ite console intialization
code.
1996-10-05 05:22:04 +00:00
thorpej 5f728fb6de Garbage-collect some now-unused PANICBUTTON code. 1996-10-04 22:22:15 +00:00
thorpej 608fae21af Clean up handling of non-maskable interrupts. 1996-10-04 22:19:47 +00:00
thorpej 8672fd704e At the end of the delay calibration routine, explcitly reset the timer.
This fixes a critical bug where a clock interrupt would happen sometime
between the call to hp300_calibrate_delay() and when proc0 is initialized.
This ends up dereferencing a bad pointer in itimerdecr(), which scribbles
over the first page of kernel text, specifically vectors 46 and 47 (decimal).

To complicate matters, the way the bug manifested itself was different
depending on whether or not DDB was configured into the kernel.  When
DDB is in the kernel, kernel text is mapped read/write.  When DDB is not
in the kernel, kernel text is mapped read-only.  Note that the kernel
scribble happens early, typically before the console is initialized.

In the non-DDB case, the kernel will hang as soon as it's loaded because
the access causes a fault (before the console is initialized, so you
don't see the trap).

In the DDB case, the access does _not_ cause a fault.  However, the
mechanism used to enter the kernel debugger is to issue a "trap #15".
Conveniently, this is one of the corrupted vectors (47), thus rendering
DDB useless (it actually caused a recursive panic/trap loop).

This _WILL_ be in the first 1.2 official patch.
1996-10-04 08:55:04 +00:00
thorpej 9f287be633 Add EXEC_AOUT to all kernels. 1996-10-03 01:25:32 +00:00
thorpej 0cb6f5925c Correct an old comment; the 318, 319, and 330 _are_ tested (68020 w/ 68851).
(Read: I have a 319 :-)
1996-09-14 20:36:49 +00:00
thorpej 9476dabc1a Correct a somewhat confusing typo in a comment, pointed out by
Scott Reynolds.
1996-09-12 18:54:23 +00:00
thorpej be969d881e Update for poll(2) changes. 1996-09-12 01:22:58 +00:00
thorpej eae3f0bb96 When opening a disk for non-filesystem i/o, make sure we only return
an error condition when an error occurs.

Bug noticed by Terry Lambert <terry@lambert.org>.
1996-09-11 18:05:02 +00:00
thorpej 5704683922 - Pull in some interesting changes from the Amiga trap.c:
* SunOS glue

	* 68060 exception frame size definitions

	* 68060 fault detection macros

- Use `cputype' rather than `mmutype' where appropriate.

- Play the prototype game.

This file is much closer to being sharable by all m68k ports.
1996-09-11 00:44:24 +00:00
thorpej f36cec2dfc Define the CPU_* constants from <m68k/cpu.h> for assym.h 1996-09-11 00:32:16 +00:00
thorpej 75b43e0aa6 Declare a `cputype' global, and set it as appropriate. 1996-09-11 00:29:28 +00:00
thorpej e469c7beca Use <m68k/cpu.h>. 1996-09-11 00:11:42 +00:00
thorpej 1710b024c0 Document COMPAT_M68K4K, but leave it disabled by default. 1996-09-10 22:26:50 +00:00
mycroft b3ffba62a6 Move strip(1) flags into a separate variable, so that $STRIP can
be passed to subordinate make(1)s.  Remove $TOUCH.  Add HOSTED_CC,
HOSTED_CPPFLAGS, and HOSTED_CFLAGS, and use them when depending genassym.
1996-09-09 21:06:55 +00:00
thorpej de5110f41e Use <m68k/exec.h>. 1996-09-08 01:00:35 +00:00
mycroft e6dd44f034 Use SIGBUS iff we get a legitimate bus fault. Use SIGSEGV for page protection
violations (per Solaris, SVR4, AIX, Linux, Irix, and SunOS).
1996-09-07 22:26:41 +00:00
mycroft 2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
thorpej e0775c12c8 Don't `config-dependent' machdep.c; we already depend on the Makefile,
which accomplishes the same thing.
1996-09-07 06:52:21 +00:00
mycroft fc3def4096 Remove duplicate declarations of LKM functions and macros. 1996-09-05 15:46:22 +00:00
mycroft b3eac79b64 tty stop functions really should return void, not int, and certainly not both. 1996-09-02 06:43:16 +00:00
mycroft 30a617c634 Wrap the default definition of `S' in `.ifndef'. 1996-08-31 21:40:47 +00:00
thorpej a90c2638f0 Add the United Kingdom and Swedish HIL keyboard maps to the kernels
used in the binary snapshots.
1996-08-25 01:22:13 +00:00
thorpej 9221f4ecc6 Add COMPAT_12 to all kernels, and COMPAT_11 to a few as well. 1996-08-22 21:02:49 +00:00
hpeyerl f5f1393c35 Get rid of dkn stuff. It's deprecated. 1996-08-18 17:01:53 +00:00
mycroft 558d72128e Put into . Remove hooks for `config-dependent' and
`device-driver' flags.
1996-08-12 00:51:24 +00:00
mycroft cf67f29afe * Add a HOSTED_C_C variable, which strips `-p', `-pg', and
`-nostdinc', and use it when building genassym.
* Use `-nostdinc' just to be sure we're self-contained.
1996-08-10 06:07:57 +00:00
mycroft f94052ed3a * Define CWARNFLAGS and MKDEP in some moderately consistent fashion.
* Make S expand to an absolute path at compile time.
* Use `-S' rather than `-x' to remove debugging symbols.
* Garbage collect unused variables.
* Reverse a handful of port-specific changes that do not correspond to
the common build model and are not needed.
1996-08-10 05:29:24 +00:00
mrg 5abbf990f3 Change reboot(2) to take two arguments: bootopt like normal and also
a boot string for firmware that can do this, such as the SPARC and
the sun3 models.  It is currently silently ignored on all other
hardware now, however.  The MD function "boot()" has been changed to
also take a char *.
1996-08-09 10:30:23 +00:00
thorpej 180c16eff6 Oops, forgot this required change in previous commit. 1996-06-26 18:11:24 +00:00
thorpej fc699e8440 Major revamp of the boot code.
- Good bye SYS_PBOOT and SYS_NBOOT, hello SYS_UBOOT (unified boot)
	  Currently supports booting from SCSI and HP-IB disk and network
	  from a single boot block.  Infrastructure for booting from
	  HP-IB tape is there, but it doesn't quite work yet.

	- Add a slightly modified version of Gordon Ross's "rawfs",
	  which provides a filesystem-like interface to tape devices.
	  Still needs debugging (see above).

	- Rename sys_inst.c to inst.c, so that the LIF directory entry
	  turns out right (used to look like SYS_SYS_I if loaded from
	  tape).

	- Add a "netio_ask" hint to netio.c, so that a special instnetio.o
	  doesn't have to be compiled for SYS_INST.  Defaults to using
	  bootparams, but if set, will prompt user for information
	  usually obtained from bootparams.

	- General cleanup.
1996-06-26 17:44:21 +00:00
thorpej 5253727570 From Ignatios Souvatzis <is@NetBSD.ORG>:
- handle fpfault properly on the 68040
	- properly distinguish between a bus error and an MMU fault
	  on systems with 68030 or 68851 MMUs
1996-06-23 05:48:12 +00:00
cgd 352d972c94 locc() is unused. Remove it from the machine-independent kernel interface. 1996-06-10 15:33:33 +00:00
thorpej 156eaa5f84 Add "needs-count" to the `ac' driver so an ac.h file gets generated. 1996-06-10 06:48:44 +00:00
thorpej a323ce7b09 Add the "Python 28849" to the list of `supported' tape drives as a PYTHON
type.
1996-06-10 06:39:31 +00:00
thorpej bcab59cd3c Remove the old-style disk instrumentation support. Nothing uses it
anymore.
1996-06-06 16:17:41 +00:00
thorpej e9e80a6043 Add calls to tty_attach() and tty_detach() where appropriate. 1996-06-06 15:36:06 +00:00
hpeyerl 3e834c5e86 Update to reflect reality (such as it is). 1996-05-26 23:45:42 +00:00
mrg 1af2be6068 document PORTAL 1996-05-20 18:15:11 +00:00
thorpej f969979dea Back most (not all) of the previous delay-related changes now that
delay is calibrated properly.
1996-05-18 23:56:59 +00:00
thorpej 62f7f3ad57 Implement a real delay calibration routine, adapted from Chuck Cranor's
mvme68k delay calibration algorithm.
1996-05-18 23:30:09 +00:00