Commit Graph

1160 Commits

Author SHA1 Message Date
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