Commit Graph

12296 Commits

Author SHA1 Message Date
scottr
0755be1f84 Use optimized _splraise() implementation, from mac68k/intr.h 1997-07-24 05:43:08 +00:00
is
449feee671 Fix the mess I apparently have done committing 1.52 of autoconf.c
In particular: add back the 1.50->1.51 change, and add back Amiga audio.
Thanks to Thorsten Frueauf, who pointed this out in PR 3911.
1997-07-23 10:47:12 +00:00
is
181debe530 Fix a complaint by Eric Delcamp on port-amiga... looks like Thorsten Fruehauf
didn't find all occurences of unprotected is_draco(), and I didn't look hard
enough, either, when fixing.
1997-07-23 10:19:42 +00:00
cgd
cfe8f450c7 update these to use the new 'correct' names for functions/constants
in bus.h.
1997-07-23 08:05:36 +00:00
cgd
9fae9984b0 remove a couple of outdated comments (pointed out by Kenneth Stailey 1997-07-23 07:56:05 +00:00
cgd
28b1691f4d when i was documenting the bus_space interfaces (the document
was sent to developers, but will eventually become a man page or
something), i noticed a few in various names:
(1) _map and _alloc should take a flags argument, rather than a
    'cacheable' boolean.
(2) BUS_BARRIER_* flags should be BUS_SPACE_BARRIER_*.
(3) bus_space_copy_* should be bus_space_copy_region_* for consistency
    with other region ops.
Fix all of these (in a backward-compatible way, at least for now).  Redefine
internal usees of those names to use the new names.  Also, while at it,
clean up the copy functions (remove unnecessary variables) and make sure
that they and other functions conform to the spec.
1997-07-23 07:47:51 +00:00
scottr
ef7df42303 Since spltty() will not lower the spl, only raise it, we need to
use splx() to undo the effect of the splzs() in zstty_softint().
1997-07-23 07:20:01 +00:00
scottr
3518ffabce The PA of the framebuffer may not be page aligned, so make sure to
do this before comparing against the result of pmap_extract().
1997-07-23 07:17:52 +00:00
cgd
391589011c note differences in symbol names between ports (underscores). Also,
don't assume that the names/values to be put into defines in assym.h
start with the first .ascii in the assembler file; look for the array
start symbol, instead.
1997-07-23 07:06:59 +00:00
scottr
c2362b1d29 Remove unused option MAPMEM, as suggested by Erik Bertelsen
<erik@erik-be.uni-c.dk> in PR 3896.  Also, revert to MRG_ADB
(for now), disable NETATALK, and remove unused drivers.
1997-07-23 06:42:40 +00:00
scottr
1a5689c4af Remove unused option MAPMEM, as suggested by Erik Bertelsen
<erik@erik-be.uni-c.dk> in PR 3896.
1997-07-23 06:36:59 +00:00
scottr
ec622ce63c GC unused MMSEG definition, from Erik Bertelsen <erik@erik-be.uni-c.dk>.
Closes PR 3898.
1997-07-23 06:33:53 +00:00
scottr
257d26f174 New implementation of _splraise(): use word-length operands where possible
by implementing entirely in assembly.  This saves some 6 bytes on all MPUs,
and about 8 cycles on the 030.

Now that it's optimized, define spltty() in terms of _splraise() so that
we don't inadvertantly lower the SPL.
1997-07-23 06:24:33 +00:00
cgd
306cb0bd7e clean up RCS id. also, use __RCSID rather than __KERNEL_RCSID, since
this file isn't actually compiled into the kernel.
1997-07-23 06:23:14 +00:00
cgd
ee60040e78 clean up rcs id 1997-07-23 06:21:57 +00:00
jonathan
83ebfc3545 Unroll pmap_copy_page() and pmap_zero_page() inlined loops even further. 1997-07-23 05:41:17 +00:00
jonathan
b1032ac9db Substitute Mach 3.0 MK84 mips kernel bcopy() for Sprite bcopy().
Has unrolled loop for aligned-to-aligned copy.

Notes:
  1. this code tuned for DEC 5000/200.  ioasic decstations do more unaligned
     copies.  Better than old non-unrolled loop, but could be improved.

  2. Undoes changes made for MIPS3 with comment implying an r4000 TLB bug.
     We can't reproduce this on 5000/150 (jonathan) or 5000/50 (mhitch).
     Calls to previous  bcopy with a bad address show similar symptoms,
     reporting a trap in bcopy() after bcopy() has returned.  Same thing??
     Needs re-checking on an r4000 with no L2 cache.
1997-07-23 05:36:40 +00:00
kleink
97db364868 a2kbbc_match(): check unit explicitly against 0. Minor KNF. 1997-07-22 23:12:13 +00:00
pk
5a47438604 Add some missing entries. Make SINTR_VME()/SINTR_SBUS() more useful. 1997-07-22 20:19:10 +00:00
jonathan
7d9e8102ad Use new <dev/dec/clockvar.h> and and <dev/dec/mcclokvar.h>.
Garbage-collect original headers from sys/arch/alpha.
1997-07-22 18:50:52 +00:00
phil
b6a75eabb2 Add "#file-system UNION" as per PR 1032. (Should mvme68k have a
GENERIC conf file with "everything?")
1997-07-22 18:49:21 +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
is
b3567b75c3 Fix PR 3907 by Thorsten Frueauf, using his first method. 1997-07-22 15:03:22 +00:00
mark
c025aad597 Implement __indr_reference macro. 1997-07-22 14:35:22 +00:00
jonathan
c5be7fca38 NEWCONF was prototype ``new config'' pmax kernel config file. Now obsolete. 1997-07-22 08:54:40 +00:00
jonathan
3234955c06 Identical to NFSINSTALL, bar comments. 1997-07-22 08:49:56 +00:00
jonathan
e8414333ac Merge NFSROOT and NFSINSTALL. 1997-07-22 08:49:11 +00:00
jonathan
787738a4f7 Move sys/dev/tc/mcclockvar.h -> sys/dev/dec/mcclockvar.h.
Update pmax clock code.
1997-07-22 07:51:33 +00:00
jonathan
a6c118666a Fix for chains containing interior mbufs with odd length. 1997-07-22 07:36:18 +00:00
jonathan
8da32cee34 Include /sys/dev/dec/clockvar.h. Garbage-collect tc/clockvar.h. 1997-07-22 04:49:58 +00:00
jonathan
064c4e515c Create sys/dev/dec and cleanup sys/dev/tc:
* Move clockvar.h (header file for generic clock code) to sys/dev/dec.
* Move if_le_dec.c with DEC padded LANCE-dma (pmax/pmax, ioasic, vax 3400)
  to sys/dev/dec.  Remove from sys/dev/tc.
* Declare attribute le_dec_subr in /sys/dev/dec/files.dec,
  use if_le_dec.c when it's defined.
* Move  IOCTL asic declaration from pmax and Alpha MD machine
  files to sys/dev/tc/files.tc.
* move TurboChannel and ioasic if_le attachments from pmax and Alpha machine
  config files to /sys/dev/tc/files.tc.  Add le_dec_subr attribute.
* Add if_le_dec attribute to if_le_ibus (pmax ds3100 pmax) LANCE attachment.
1997-07-22 04:32:13 +00:00
drochner
1a0708ed1d -Print debug messages to stderr instead of stdout to avoid mix with
warn() output.
-Try to rename an existing "/boot" before writing a new one. This allows
 to restore the old boot if an error occurs later.
1997-07-21 18:04:35 +00:00
jonathan
4631885e91 Kill __BROKEN_INDIRECT_CONFIG on pmax.
Based on a patch from Chris G. Demetriou, December 1996.
1997-07-21 05:39:02 +00:00
jonathan
592eeb7378 mips-tuned bcopy from Jon Kay (UCSD) released under BSD copyright,
with standard BSD in_cksum() interface by Jonathan Stone.
1997-07-20 22:42:33 +00:00
jonathan
f43c13bff4 Add ddb to mips/conf/files.mips. Garbage-collect mdb. 1997-07-20 20:48:40 +00:00
jonathan
5ba85a4cf8 Kernel profiling. Don't profile the following:
sigcode():
      executed from user-space stack.

  mips1_cpu_switch_resume, mips3_cpu_switch_resume:
      arguments passed in via v0, t0, t1 (outlined from cpu_switch())

  mips3_VCED(), mips3_VCEI():
      called from exception-vector code without any register save,
      $at, $ra are live.
1997-07-20 19:48:03 +00:00
jonathan
01794f87e3 Conditionalize mips1-speciifc locore code on #ifdef MIPS1 1997-07-20 19:40:19 +00:00
pk
a92a5224ee Remove a couple of "ms2 only" from cache-flush ASIs. 1997-07-20 18:55:03 +00:00
pk
bd4c20b09e Invalidate cache tags before enabling the cache, if appropriate. 1997-07-20 18:48:35 +00:00
is
95370c73b8 Make us pass the full ieeefp except regression test.
XXX This is probably a horrible hack, and wrong. FPU signal handling needs
to be further evaluated.
1997-07-20 12:39:17 +00:00
kleink
50d3039914 Fix another oversight from last commit. 1997-07-20 11:03:03 +00:00
kleink
cd9e9b6a2b Fix return();' vs. return;' in last commit; pointed out by Steve Woodford. 1997-07-20 10:57:32 +00:00
jonathan
fd7a6758c8 Don't emit ".set reorder ; .set noreorder" around mcount profiling
stubs if _LOCORE or _KERNEL are defined,.  _LOCORE means we're
compiling locore. Locore assumes ".set noreorder" for the whole file.
1997-07-20 09:47:03 +00:00
jonathan
59b1c9add9 Correct cursor-movement bounds check in ifdef'ed out code, as
for revision 1.7 of sys/arch/pmax/dev/ims332.c:
 >Bound x motion by framebuffer width, not height.
 >Bound y motion by framebuffer height, not width.
1997-07-20 03:57:18 +00:00
jonathan
9f89c0da89 Use __attribute__((unused). From Chris G. Demetriou <cgd@pa.dec.com>. 1997-07-20 03:47:29 +00:00
jonathan
caea1075c9 * Do staktcraces back through traps from kernel mode.
* Don't take  stack adjustment inside procedures as frame size
  (e.g.,  8-byte stack adjustment for calling _mcount).
1997-07-20 03:46:20 +00:00
jonathan
06df97095c Add ecoff ``struct ext_ext'' header fields to ecoff_extsym.h.
Compatible with mips ECOFF nm from GNu binutils or MipsCo toolchain.
1997-07-20 02:38:02 +00:00
is
f8ce8a3693 Fix my own PR port-m68k/3871, nee port-amiga/3871:
- don't erase FPSR exception bits _after_ doing most of the operations in
fpu_implode(), erase them before doing arith and store operations. This fixes
losing the DZ bit.
- create FPSR_OVFL and FPSR_UNFL bits in fpu_implode(). This showed up when
the first error was fixed.
XXX some more work needs to be done. E.g., creating OPERR together with
OVFL looks bogus, but I'm too tired know to re-check docs; and at least we
pass our own regression tests know.
1997-07-19 22:28:48 +00:00
pk
0e6ca8da9f Use `target selection with DMA' by default. 1997-07-19 21:57:01 +00:00
pk
63fa13065c #include "locators.h" 1997-07-19 21:43:54 +00:00
jonathan
39814d8abc Add pointer to _mcount to avoid bogus warnings about unused static function.
(calls from interpolated assembler are invisible to gcc.)

If _KERNEL, add prototypes for non-profiled entrypoints _splhigh(), _splx().
1997-07-19 21:30:25 +00:00
jonathan
ad4cc08b75 Bound x motion by framebuffer width, not height.
Bound y motion by framebuffer height, not width.
   (cf revision 1.4.)
1997-07-19 12:03:51 +00:00
jonathan
21717110ba Raise spl to spltty() in polled console input routine dtopKBDGetc(),
to ensure polled console I/O really is polled.

From Michael L. Hitch <mhitch@lightning.oscs.montana.edu>.
1997-07-19 12:00:10 +00:00
kleink
73997cc33d Add missing `#include "locators.h"' from last commit. 1997-07-19 11:19:05 +00:00
cgd
5579e9d3bd * move COPTS out of the 'program variables' section of the makefile and
into the 'argument variables' section.
* define variables for CPP and SIZE, defaulting to cpp and size, respectively.
* kill HOSTED_C*, since it's no longer used.
* use ${SIZE} rather than using 'size' directly, so it can be overridden for
cross-builds.
* generate assym.h via assym.s and an awk script.
1997-07-19 10:12:13 +00:00
cgd
75b9c1bce1 convert to use a genassym.c that produces awk-able assembler output, a
la the sun3 port.  This makes cross-compilation easier.
1997-07-19 10:02:53 +00:00
jonathan
ccf3801c92 * Re-apply changes from rev 1.6 of sys/arch/mips/include/reg.h accidentally
undone by rev 1.7:
  >redo pmax/include/reg.h
  >so that the definitions needed by locore.S are in a separate file,
  >pmax/include/regnum.h.

* Add explicit `#include <mips/regnum.h>'  where symbolic offsets
  into a mips trapframe or struct reg are used..
1997-07-19 09:54:23 +00:00
cgd
429a941288 don't expect/provide pci_decompose_tag to be a MI, public function. It
wasn't intended to be to begin with, and uses of it (e.g. the one in the
'de' driver) are quite likely to be incorrect.
1997-07-19 09:49:39 +00:00
cgd
866bc1b267 sync with dev/isa/wd.c rev. 1.162:
>date: 1997/07/18 00:26:22;  author: fvdl;  state: Exp;  lines: +10 -10
>Work around possible race condition with 2 drives on one controller
>in wd_get_parms. PR 3773, from Onno van der Linden (onno@simplex.nl)
S: ----------------------------------------------------------------------
1997-07-19 06:39:22 +00:00
is
4d8c2c3528 Make Amiga battery clocks autoconfiguration devices, so that they can be
left out of specialized configurations.
1997-07-19 00:01:40 +00:00
thorpej
8b278df35a Change the extern declaration of __flt_rounds() into a proper prototype. 1997-07-18 05:11:52 +00:00
thorpej
97e482f3c8 - Enable COMPAT_NOMID
- Bump ptys to 128.
1997-07-18 04:14:34 +00:00
jtk
7be59a897b remove old *_UNK style default defines, use standard names from locators.h 1997-07-18 03:38:33 +00:00
is
fc3de9d828 Make the DraCo hardware clock an autoconfiguration device. 1997-07-17 23:29:28 +00:00
thorpej
7a8a1f3f1a Turn the extern declaration of __flt_rounds() into a proper prototype. 1997-07-17 21:36:03 +00:00
phil
f49d42bbb3 ispcvt Makefile looked like it was trying to install ispcvt in /usr/sbin.
Changes to make that happen.  From PR 3570.
1997-07-17 19:47:10 +00:00
thorpej
8d85b14ca8 Give the __GNUC__ versions of ntohl() and friends the proper (in_addr_t
or in_port_t) signature.
1997-07-17 18:44:08 +00:00
is
3c0c2ec93b Don't assemble _fpemuli: unless FPU_EMULATE is defined (by Thorsten Frueauf).
While here, remove a comment which should have gone months ago.
1997-07-17 16:22:54 +00:00
cgd
b79d7b9bb1 * clean up the way APMDEBUG and DEBUG are treated. defining either will
get APM debugging code compiled in.  also, redo the way APM debugging
  printfs are invoked, making sure they're always compiled in if debugging
  is enabled, but printing them only if the appropriate bits in the
  'apmdebug' global variable are set.
* clean up function prototypes (alphabetize in each category, get rid
  of 'STATIC' and make them always static since kernels shouldn't have
  static symbols stripped anyway, and debugging kernels definitely don't),
  group global variables together and note that they're used as globals).
* Export the following as option-settable and patchable global variables:
	apmdebug	flags word that controls which APM debugging
			printfs are printed, set with APMDEBUG_VALUE.
	apm_enabled	boolean that indicates whether or not APM should
			ever be configured on the machine.  true by
			default, false if APM_DISABLE defined when
			compiling.  this option exists so that users
			whose systems crash when APM is enabled can
			disable it with a patchable kernel variable, and
			therefore don't necessarily have to compile
			a custom kernel as often.  With this option set,
			a check is still done to see if the APM BIOS
			exists; this variable should be used to prevent
			the kernel from ever attaching to the APM BIOS.
	apm_force_64k_segments
			boolean that tells segment setup code to always
			use segments with 64k length.  false by default,
			true if APM_FORCE_64K_SEGMENTS defined when
			compiling.  used to just be a compile-time option.
	apm_do_idle	boolean that controls whether or not the APM code
			will try to signal the BIOS that the system is
			idle when in the idle loop.  true by default,
			false if APM_NO_IDLE defined when compiling.
	apm_do_standby	boolean that controls whether or not standby
			requests are ever attempted.  true by default,
			false if APM_NO_STANDBY defined when compiling.
			used to just be a compile-time option.
	apm_v11_enabled	boolean that controls whether or not the driver
			attempts to use APM spec v1.1 features.  If true,
			the driver does (it implements v1.1 of the spec),
			and if false the driver only uses v1.0 features.
			true by default, false if APM_V10_ONLY is defined
			when compiling.  Really, the driver should be
			updated to do APM v1.2 and this option should
			either be updated or go the way of the dodo.
			used to just be a compile-time option.
	apm_bogus_bios	(patchable only) controls a few of the APM segment
			setup features.  (probably should just be a global
			and not patchable.)
* make apm_perror print out the full contents of %ax rather than
  just the error code, in addition to printing out the string corresponding
  to the error code.
* print estimated remaining battery life time as "[<hours>h ]<minutes>m",
  which is actually easily understood, rather than as "<hours>:<minutes>
  minutes", which is not.
* restructure match and attach so that they work as they should, remove
  redundancy, support attaching the APM device but not actually enabling it
  so that APM is attached on systems which have it but on which it's broken
  in some fatal way.
* add more debugging printfs in the apm control device entry points.
* return EOPNOTSUPP when trying to do a standby ioctl if standbys have
  been disabled, rather than returning the less-intuitive ENOTTY.
* rename a few functions for consistency: apmprobe -> apmmatch,
  apm_err_translate -> apm_strerror.
* mark a few serious or annoying bogons XXX so people might look at
  them later.
* KNF (lots of changes!)

Despite this substantial amount of work, this driver still needs a _lot_ of
work.  In particular, the user-land device interface needs to be gutted, and
better support for APM-aware applications and device drivers (i.e. call-backs)
needs to be added (e.g. callback interfaces somewhat like those suggested
by the APM spec).

There are still outstanding known problems with some machines.  The true
source of those problems is not currently known, and could be either the APM
BIOSes of the machines in question or this APM driver.  However, even if the
problems are caused by APM BIOS bugs, they could be more gracefully worked
around in this driver.
1997-07-17 06:30:03 +00:00
veego
76371b8a9d include <m68k/db_machdep.h> to get the prototype for kdb_trap if DDB and
DEBUG are defined and add a cast for the second argument to the
kdb_trap call.
1997-07-17 06:27:08 +00:00
cgd
92723b6027 return either 0 (success) or 1 (failure) from apmcall(), rather than 0 (success) or the whatever happened to be in %eax after the APM call on
failure.  The latter usually would end up being the (nonzero) opcode
placed in %ax before the call, but could conceivably be modified by the
call to be zero.  In any case, 0/1 is much nicer than 0/random-nonzero,
as well as being safer.
1997-07-17 05:15:01 +00:00
jtk
ca1bba150a use locator defines in "locators.h" to index cf_loc[] 1997-07-17 03:16:39 +00:00
mark
917e4bdd0b Implement inst_unconditional_flow_transfer as a macro. 1997-07-17 02:28:39 +00:00
jtk
9388f271a9 use locator defines in "locators.h" to index cf_loc[] 1997-07-17 02:12:50 +00:00
jtk
d36d6d14ab use locator defines in "locators.h" to index cf_loc[] 1997-07-17 02:01:26 +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
jtk
b9370d116d 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
vme code with the native names from locators.h
1997-07-17 01:56:29 +00:00
jtk
b4777471db use locator defines in "locators.h" to index cf_loc[] 1997-07-17 01:52:54 +00:00
jtk
47c4af3536 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
mainbus code with the native names from locators.h
1997-07-17 01:48:35 +00:00
jtk
320892f8db oops, WSCONSCF_CONSOLE should be WSCONSDEVCF_CONSOLE 1997-07-17 01:33:04 +00:00
jtk
594536a71f use locator defines in "locators.h" to index cf_loc[] 1997-07-17 01:28:54 +00:00
jtk
37f9c6bd88 use locator defines in "locators.h" to index cf_loc[] 1997-07-17 01:17:45 +00:00
jtk
bd611fe5b6 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
isa code with the native names from locators.h
1997-07-17 01:06:27 +00:00
pk
6b12855c49 pmap_extract(): move printf()'s inside debugging brackets. The caller
decides what to do upon finding an absent mapping.
1997-07-16 15:35:23 +00:00
christos
533bf031cd Add RCSID() macro. 1997-07-16 15:16:43 +00:00
hpeyerl
11d5346627 Fix an oops on my part. I commented out some devices in my local copy
of this file.
1997-07-16 13:40:24 +00:00
drochner
a0b2749901 Recognize Cirrus Logic GD5434 VGA chip. It can be treated like a GD5430.
(closes PR port-i386/2638)
1997-07-16 12:44:55 +00:00
mark
00b3633e19 Disable the SUBDIRS= lines as we have no subdirs to build. 1997-07-16 02:46:37 +00:00
is
ae6e3e81bc Amiga glue code for the m68k fpu emulation subsystem.
XXX This (the m68k FPE, not the glue code) is known to be broken for
68LC040/68040V and 68LC060 cpus. This is also the reason we don't
bother to add options FPU_EMULATE to the DRACO configuration file, as
DraCos only come in 68040V (very few) and 68060 variants.
1997-07-16 00:01:51 +00:00
fvdl
06b1c0c4aa Recognize MMX P5 by it's model number, not by the cpuid flag. Otherwise
we also get "Pentium II with MMX" which is like saying "Pentium with FPU".
Also add one more entry for a K5
1997-07-16 00:01:49 +00:00
is
006b61726d Amiga glue code for the m68k fpu emulation subsystem.
XXX This (the m68k FPE, not the glue code) is known to be broken for
68LC040/68040V and 68LC060 cpus. This is also the reason we don't
bother to add options FPU_EMULATE to the DRACO configuration file, as
DraCos only come in 68040V (very few) and 68060 variants.
1997-07-16 00:01:44 +00:00
scottr
3284008cff Add DrHw value for the Macintosh Display Card 1997-07-15 15:45:38 +00:00
drochner
b401c3f024 Use include files from kernel source, not userland. Create a
"machine" link automatically for this.
1997-07-15 13:02:04 +00:00
drochner
6b02672ee8 Cleanup include file usage: Avoid user space headers, use
<sys/types.h> instead of <sys/param.h> where possible.
1997-07-15 12:45:22 +00:00
drochner
d6a6f815ee Add boot ROM support for 3c905 TX ethernet card. 1997-07-15 11:23:04 +00:00
leo
9eb01ced39 Install key-maps only and forget about the program generating them. 1997-07-15 08:42:21 +00:00
leo
ec7ce2c9f8 Isabus support. 1997-07-15 08:25:39 +00:00
leo
3adf93ecde isabus support 1997-07-15 08:17:39 +00:00
augustss
5b3b56dd1a Garbage collect some unused routines. 1997-07-15 07:51:04 +00:00