Commit Graph

1367 Commits

Author SHA1 Message Date
jonathan 3472ba67bb * defopt COMPAT_{09,10,11,12,13} and COMPAT_NOMID (from unsaved buffers).
TODO: revisit interaction between native compat and emul compat usage.
1998-07-05 18:27:18 +00:00
jonathan 011f2bda08 defopt NS, NSIP. 1998-07-05 06:49:00 +00:00
jonathan 5c0c5dd0b4 defopt ISO TPIP. 1998-07-05 04:37:35 +00:00
jonathan 8db0fcdbf7 defopt CCITT. 1998-07-05 02:12:22 +00:00
jonathan 3751946b97 defopt INET, NETATALK. 1998-07-05 00:51:04 +00:00
jonathan 466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
thorpej e9b40e3d85 Dont' check sysflags here... just look for NHPIB or IHPIB device IDs. 1998-07-01 22:47:12 +00:00
thorpej a1e53914d7 If sysflags tells us we have an internal HP-IB interface, don't bother
reading the DIO device ID at select code 7, but rather hard-wire the ID
to the IHPIB ID.  This prevents us reading what might look like a valid
ID to another device when IHPIB is present.  (IHPIB doesn't always return
a correct device ID, grumble.)
1998-07-01 22:46:29 +00:00
thorpej b6d050ef0f Make use the `end' consistent. 1998-07-01 06:05:18 +00:00
lukem bd8d501f7e remove options FIFO; it's now the default 1998-06-26 01:53:43 +00:00
thorpej 37b378d836 defopt COMPAT_HPUX 1998-06-25 23:56:39 +00:00
thorpej 8aee7782f5 defopt COMPAT_SUNOS 1998-06-25 23:40:33 +00:00
thorpej 971b8956ef defopt KTRACE 1998-06-25 21:18:11 +00:00
kleink 10370475a3 In device_register(), explicitly initialize a static local variable
(seen_netdevice) with 0.
1998-06-17 13:08:47 +00:00
cgd 651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
tv 00ede2160e Change ddb_init() for a.out to provision for kernels which are not booted by
the current 'bootblock' method, like the Shark, which preloads and preformats
the symbol table right in the boot code.
1998-06-09 01:57:41 +00:00
thorpej c1ca72eaf8 Build pmap_boostrap.o without profiling; we can't call mcount before the
mmu is enabled!
1998-05-31 23:18:57 +00:00
thorpej 92d8ae0ee3 Specify a non-profiling C rule. 1998-05-31 23:18:05 +00:00
thorpej 019443d82c Profiling version of the BASALT kernel. 1998-05-30 17:56:08 +00:00
scottr 47391e90cb Sync with mac68k: correct some errors if building a kernel with DEBUG. 1998-05-27 05:58:40 +00:00
is 7a0f63f982 Back out the defopt for M680?0. As pointed out to me, this breaks ports which
dont use the M680?0 the way Amiga, Atari, Mac68k, and X68k do. I must have
missed this in the past discussion about this project.
1998-05-24 19:32:34 +00:00
is 6a6812fd92 Move M680[2346]0 to opt_m68kcpu.h.
XXX Some explicit dependencies could be removed now from the individual
arch/$ARCH/conf/Makefile.$ARCH files, but this is still to be done.
1998-05-23 20:51:06 +00:00
thorpej 6626878e7b It is no longer necessary for pmap_pinit() and pmap_release() to be
pmap interface functions, as NetBSD no longer uses statically allocated
pmaps (except for the kernel pmap, which is special-cased anyhow).
1998-05-19 19:00:11 +00:00
hpeyerl a0872a3916 duh. need SYSV* stuff. 1998-05-19 15:20:40 +00:00
kleink 3e08a4a027 Spell `interrupt' correctly. 1998-05-18 17:37:38 +00:00
hpeyerl 96ee790741 Add the HP35470A DAT drive. 1998-05-17 17:09:55 +00:00
kleink 687ea7404c Fix some arithmetics lossage on typeless pointers. 1998-05-08 16:55:15 +00:00
kleink aa36ad1f55 Fix some arithmetics lossage on typeless pointers. 1998-05-07 21:01:41 +00:00
thorpej 09175fe9f8 options UVM no longer needed; it's standard 1998-05-04 05:01:55 +00:00
thorpej d1f4011d1d Switch to UVM. 1998-05-04 05:01:30 +00:00
thorpej 61665b7bc6 TCP_CWM option doesn't exist anymore; it's all run-time. 1998-05-01 05:24:34 +00:00
thorpej 80c08c1784 Turn off TCP_COMPAT_42, turn on TCP_CWM. 1998-04-29 04:57:49 +00:00
scottr 4804060a6b GC the old MACHINE_NONCONTIG code. 1998-04-26 21:24:27 +00:00
frueauf 863ece9212 egcs warning: don't use a char for array index, cast it to int. 1998-04-20 20:41:05 +00:00
tv b21bfbde11 Add -Wno-main conditional on compiler being gcc 2.8 or egcs. (This adds
a HAVE_GCC28 check-variable that can now be used to add other gcc-2.8
flags in cases where they may be useful, or to remove gcc 2.7.2 "bug
workaround" flags.)
1998-04-12 23:47:41 +00:00
thorpej f1821c7811 Adjust for recent ttyopen() and dialout device changes. 1998-03-28 23:49:06 +00:00
scottr 2f2b4dae56 Optimize some cycles out of the clock interrupt handler when
USE_LEDS is defined.
1998-03-21 08:05:37 +00:00
scottr 727b8bc7ac Charles Hannum pointed out that if a clock interrupt was posted while
we were in ledcontrol(), the heartbeat twinkler would just punt on
updating the LED even though it had already updated the status.  (This
was broken in v1.73 of locore.s).

Rather than resurrect the old code, simplify ledcontrol() and don't
bother with mutual exclusion.  As mentioned by the comments describing
this function, we really don't need to be that precise.  We do, however,
want to guarantee instructions that modify the status variable directly,
so the function is now primarily inline assembly.
1998-03-21 07:45:59 +00:00
bouyer 9f50fca1fd Add commented out "options FFS_EI" 1998-03-18 16:34:41 +00:00
cgd 7ff7b02fac allow LDSTATIC definition to be overridden by bsd.own.mk/mk.conf 1998-03-02 20:01:05 +00:00
thorpej 5ec2d93c1e Fix a typo. 1998-02-27 19:13:04 +00:00
perry 1ed8ea9966 note second parm of sysarch() is now void *, + trivial KNF, etc. 1998-02-25 21:41:55 +00:00
thorpej 89d112dd92 Switch this kernel to UVM. 1998-02-24 11:05:37 +00:00
thorpej 7027d87a18 Duh! Use uvm_km_valloc_wait(), NOT uvm_km_zalloc() to allocate user page
tables.  (Thanks for pointing that out, Chuck!)
1998-02-24 07:42:05 +00:00
thorpej 772da350d4 Disable the message buffer during crash dumps by clearing msgbufenabled,
not msgbufmapped.
1998-02-19 04:18:30 +00:00
cgd 3bbb7f7d45 Move pmap_map() function definition to MD headers, as appropriate. It's
an internal function, and the VM system shouldn't try to prototype it.
(Note that some ports _don't_ prototype it.)
1998-02-18 02:05:32 +00:00
thorpej 8354e68508 Remove "class" declarations, and add "devclass" declarations where
appropriate.  Fix several inconsistencies between device class and
attributes.  Mostly from Chris Demetriou.
1998-02-16 22:12:45 +00:00
thorpej 65e20aa9a8 Add first-cut support for UVM. NOTE! User page table allocation does not
currently work with UVM in this pmap!  This is due to a bug in the interaction
between kernel_object and submaps which will be addressed shortly.
1998-02-16 21:01:39 +00:00
thorpej d8f3ddff17 Add support for UVM. 1998-02-16 20:54:51 +00:00
scottr f49dd3ef30 Avoid declaring the "astpending" and "want_resched" globals in cpu.h,
as this breaks C++ code that happens to indirectly include this header.
Both Matthias Scheler and I noticed this, independently.

This problem notably does not affect the atari and sun3/sun3x ports,
which have already implemented a similar solution.
1998-02-13 07:41:45 +00:00
thorpej 223caea788 pmap_page_index() is not used in the MACHINE_NEW_NONCONTIG case. 1998-02-08 18:47:06 +00:00
thorpej 2f55a48f5c Implement MACHINE_NEW_NONCONTIG and switch the hp300 port to use it. 1998-02-08 18:37:55 +00:00
mycroft b5c132e4d2 Prototype __flt_rounds() consistently. 1998-02-03 01:26:20 +00:00
is b3fa451227 Amiga uses the common m68k/sig_machdep.c now. Also moved its definition from
the other 68k ports' files.${port} to arch/m68k/conf/files.m68k.
1998-02-01 21:23:24 +00:00
ross 3a83745247 In some hp300-derived pmaps, in pmap_page_protect(), don't walk off the
end of the list of physical->virtual entires into NULL space if the last
entry is (mysteriously) wired in the pmap. Add a DEBUG printf on alpha.
1998-01-31 01:32:55 +00:00
mycroft 15ae963bea When dumping, print out the device number as major,minor. 1998-01-24 16:46:23 +00:00
thorpej 871cf5e7ce Update for changes to config. 1998-01-12 18:30:41 +00:00
thorpej 1ac3d5db35 Put SPU options in opt_spuconf.h, add device classes. 1998-01-12 18:29:48 +00:00
thorpej 1ef77e68aa Oops, fix a printf format. 1998-01-11 23:16:04 +00:00
thorpej f522bda243 Convert the hp300 LANCE driver to use bus.h 1998-01-11 21:57:02 +00:00
thorpej 5021043b13 ia->ia_addr is of type `bus_addr_t'. 1998-01-11 21:56:13 +00:00
thorpej 582d47fcf0 ia->ia_addr is a physical address, not a kernel virtual address. 1998-01-11 21:55:08 +00:00
thorpej 1687835b3e Pass down bus space tags to children, and use types appropriate for
bus.h.
1998-01-11 21:53:04 +00:00
thorpej 774d66001e Add bus_space.c 1998-01-11 21:42:44 +00:00
thorpej 77706becd7 Initial implementation of bus_space functions for hp300. Some cleanup
of this will be possible once some pmap changes are made.
1998-01-11 21:40:52 +00:00
thorpej b69358e4ca bus.h for the hp300 port. Only supports bus_space for now. 1998-01-11 21:26:04 +00:00
perry 6f57e5c573 multiple include protect machine/limits.h, fixes pr 4473 (from Mika Nystrom) 1998-01-09 22:23:44 +00:00
thorpej 4deb927ee6 Regen. 1998-01-09 06:59:27 +00:00
thorpej 2f3e61a54a Put RCS IDs into generated files, in the correct place. 1998-01-09 06:59:10 +00:00
thorpej c4a3ed1697 Regen: Back out RCS ID related changes. 1998-01-08 01:02:05 +00:00
thorpej ddb3a0e478 Back out RCS ID related changes. 1998-01-08 01:01:27 +00:00
thorpej 6ac24f05df Garbage-collect VM_PMAP. 1998-01-06 08:46:11 +00:00
thorpej 2317f9064e Garbage-collect pm_stchanged. 1998-01-06 08:40:50 +00:00
thorpej 07f835de1f Garbage-collect PMAP_ACTIVATE() call here; it's no longer necessary. 1998-01-06 07:49:36 +00:00
thorpej 61567b54de Garbage-collect pm_stchanged; it's not used by anything. 1998-01-06 07:02:58 +00:00
thorpej d11b109f2b Garbage-collect use of the PCB's copy of the user segment table pointer. 1998-01-06 06:51:40 +00:00
thorpej a8f80ad4fd Fix a bogosity apparently inherited from when the Utah 4.3BSD code base
was converted to use Mach VM for Net2/4.4BSD.  The user segment table
pointer was originally stored in the PCB.  When Mach VM came along,
however, it was also stored in the pmap, and loaded into the PCB in
pmap_activate().  pmap_activate() would then note that the PCB's USTP
was now in sync with the pmap's USTP, and the low-level context switch
code would use the value from the PCB.

However, pmap_activate() would also load the hardware MMU context if
the pmap was the current pmap (or, in the case where pmaps can be shared,
such as in NetBSD, if the proc was the current proc).  The low-level
context switch code would then reload the hardware _again_ using the
USTP from the PCB.

However, the optimization of not calling pmap_activate() if "stchanged"
was false ended up causing some processes to use stale USTP values from
the PCB when the low-level context switch code reloaded the hardware!
This was noticed by using a real vfork(2) (which worked for some time
before failing, surprisingly!)

Since I'm hard pressed to find any real optimization here (since the
hardware was always reloaded once, sometimes twice!), the code now always
calls pmap_activate(), which uses the correct USTP value (the one in the
pmap).  The PCB's USTP is now ignored, and should eventually be g/c'd.

Another optimization can actually be performed, and I have added a comment
describing what it is, but have not yet implemented it.

Also note that most of the loadustp() functions where actually incomplete.
This has been corrected.  These functions should probably be split up into
MMU-specific operations, and called indirectly, rather than doing constant
run-time decision making based on values that will never change during the
course of a boot's lifetime.
1998-01-05 23:16:21 +00:00
perry 086015d681 RCSID Police. 1998-01-05 21:13:51 +00:00
perry e464358f5f make script insert RCS ids into generated files 1998-01-05 21:12:34 +00:00
perry 3e0fad1868 RCSID Police. 1998-01-05 06:28:44 +00:00
thorpej b9f1b716f3 Now that all ports have pmap_activate(), and it has an identical interface,
prototype it in <vm/pmap.h>
1998-01-03 01:12:59 +00:00
thorpej dd966fca05 Change an argument name to PMAP_ACTIVATE() to more accurately describe the
semantics of the argument.
1998-01-01 20:05:23 +00:00
thorpej 9c20093835 Make pmap_activate() and pmap_deactivate() take a struct proc *. 1997-12-31 10:12:55 +00:00
scottr fa1347ed5b Prompt for total sectors, and calculate sane defaults for sectors per
cylinder and total sectors.
1997-12-29 07:15:10 +00:00
scottr 89b10b928f Do better reporting of transmit errors. 1997-12-26 22:37:05 +00:00
thorpej ff7a4d0472 Add COMPAT_13. 1997-12-22 05:31:23 +00:00
hpeyerl 6563f769af update for correct SPU type and COMPAT_13. 1997-12-21 17:15:01 +00:00
thorpej a5252fc287 Fill out more file system information, from Havard Eidnes, and hacked a bit
by me.
1997-12-15 23:17:19 +00:00
tv 0a558b3f1f Standardize COMPAT_SUNOS -- remove all references to
sunos_exec_aout_makecmds() in machdep.c for various architectures and put
it in exec_conf.c like the other emulations; rename exec.h to
sunos_exec.h.
1997-12-04 15:33:17 +00:00
kleink c87631771e Add COMPAT_13. 1997-12-01 14:52:51 +00:00
fair 315f8de9c2 add pseudo-device rnd, commented out 1997-11-20 08:11:14 +00:00
lukem 6c986561ee * add commented out DDB_HISTORY_SIZE=100 if DDB exists in config file
* fix up use of 'options<SPACE><TAB>'
1997-11-17 01:57:23 +00:00
veego 8b485c5962 Add a missing #if NARP > 0 around arpintr(); and add a #include "arp.h"
for NARP. This is for the 'new' arp system.
1997-11-13 10:43:06 +00:00
thorpej ce4c770f88 Make sure CPP, AR, AS, and RANLIB are defined. 1997-11-12 23:11:50 +00:00
thorpej a421995756 Define LORDER, NM, and TSORT here, like we do the rest of the tools. 1997-11-12 22:25:31 +00:00
carrel ff83727926 All hail HAYDON! 1997-11-02 21:01:28 +00:00
is a16fd7d74e Make these compile after m68k/m68k.h 1.4->1.5. 1997-10-26 21:41:34 +00:00
scottr d383eb0134 Make this compile again. From Dave Carrel. 1997-10-17 18:45:55 +00:00
carrel 254067068a include vm/vm.h
move include of sysctl.h after vm.h
1997-10-16 18:16:08 +00:00
carrel a1e0fcf246 Remove unneeded and incomplete includes of vm/vm_*.h 1997-10-16 18:02:19 +00:00
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