Commit Graph

9843 Commits

Author SHA1 Message Date
matthias 553486636e * Define and use nkpde. 1996-12-23 08:36:11 +00:00
matthias 15e824377a * Add code for CPU_NKPDE sysctl.
* Compute nkpde at boottime.
1996-12-23 08:36:08 +00:00
matthias eb68ad8281 * Recode _interrupt to use IV_MASK. 1996-12-23 08:36:05 +00:00
matthias 99cc2dd46d * Initialize IPL_HIGH's imask to 0xffffffff.
* Initialize iv_level for all interrupts.
* Protect the call to the sir-handler with splraise.
* intr_establish now takes *two* ipls. One at which the handler should run,
  and one in which the interrupt should get blocked.
* Compute iv_mask for all interrupts in intr_establish.
1996-12-23 08:36:02 +00:00
matthias c1921b48eb * intr_establish now takes *two* ipls. One at which the handler should run,
and one in which the interrupt should get blocked.
1996-12-23 08:36:00 +00:00
matthias 9d6e666ea7 * Rename membus to mainbus.
* Remove config_scan. Thank's to Chris G. Demetriou for providing patches.
1996-12-23 08:35:57 +00:00
pk bb12d8fd9a Prevent `unused function' warning (from Robert Evans; PR#2770). 1996-12-23 01:46:30 +00:00
fvdl 468d71d6f9 Add kernel_text symbol (from Jonathan Stone) 1996-12-22 23:05:31 +00:00
veego 26f6e45d39 Fix a typo: s/COPT/COPTS/ 1996-12-22 19:14:14 +00:00
cgd 0396cad668 if __lint__ is defined, #define __builtin_saveregs() and
__builtin_classify_type() into harmless values, so that lint doesn't
get confused, think they're real functions, and that they're being
invoked in the wrong ways.
1996-12-22 08:57:23 +00:00
cgd 50cb6df652 for now, -Wcast-qual is just not practical in the kernel 1996-12-22 08:33:19 +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 e34f47039d XXX Stop-gap for larger MAXBSIZE: limit nbuf to 128, so we don't chew
XXX up all of the available pmegs lower-model SPARC CPUs.
1996-12-21 06:21:56 +00:00
veego c815213b05 Disable CD debug output. 1996-12-20 19:21:11 +00:00
veego 35d44f12b7 - Move SWAPPAGER, VNODEPAGER and DEVPAGER to std.draco.
- Remove not working KGDB.
- Remove unused PANICWAIT.
- Add ch and uk devices.
1996-12-20 19:18:16 +00:00
veego acad9272a8 - Move SWAPPAGER, VNODEPAGER and DEVPAGER to std.amiga.
- Remove not working KGDB.
- Add a warning for KBDRESET.
- Add ch and uk devices.
1996-12-20 19:16:20 +00:00
veego 6b9a665130 Add SWAPPAGER, VNODEPAGER and DEVPAGER 1996-12-20 19:15:06 +00:00
veego cc5a862135 - Add ch and uk devices.
- Change the ss device number from 25 to 37,
  ATTENTION: you need to rerun /dev/MAKEDEV to update your devices files.
1996-12-20 17:16:49 +00:00
leo c6e901c459 Get rid of BROKEN_INDIRECT_CONFIG 1996-12-20 16:20:57 +00:00
leo 291ced55a4 Get rid of BROKEN_INDIRECT_CONFIG 1996-12-20 12:49:35 +00:00
jtk 6afa1586ff repair fdopen() to allow multiple opens at same density (was broken with fdformat) 1996-12-20 12:21:48 +00:00
jonathan a2715c2ce6 Clone INSTOTHER to INSTALL, with both Adaptec and other SCSI controllers. 1996-12-20 06:45:15 +00:00
scottr e8b8d1b050 Clean up a few bogons+typos introduced in the removal of the broken indirect
config code.
1996-12-19 21:48:17 +00:00
cgd fc841ac711 __asm rather than asm, to make lint happy without -g 1996-12-19 09:13:44 +00:00
leo 421158437b Tweak the clockframe structure a bit so we are able to save a few cycles
at interrupt time. (From Gordon Ross).
1996-12-18 12:35:19 +00:00
scottr 9d67345760 Correct asm operands in mrg_Delay(); it has one output operand, and no
input operands.  This corrects an uninitialized variable warning, and
may also explain some erratic behavior of the MRG ADB; gcc could throw
away the value of the `ticks' variable (but I haven't traced through
any ROMs, myself).
1996-12-18 07:21:06 +00:00
scottr 3ac126bc23 Work around another uninitialized variable warning 1996-12-18 05:44:31 +00:00
scottr 94714822e7 Work around another gcc initialization warning. 1996-12-18 05:17:44 +00:00
scottr affc68cf0c Work around another bogus uninitialized warning, and fix a legitimate one.
Clearly mark the former.

XXX The bogus warnings show up with -O, but not -O2.  Unfortunately,
    NetBSD/mac68k can't (yet) use -O2.
1996-12-18 05:04:22 +00:00
scottr e70f884a92 Fix the potentially uninitialized variable in clear_screen() (correctly
pointed out by gcc -Wall).
1996-12-18 03:06:06 +00:00
scottr e330279eea Work around uninitialized variable warning 1996-12-18 02:54:43 +00:00
cgd c591d26932 update for recent com.c changes: delete references to now-nonexistant
comconsinit variable.
1996-12-17 23:21:53 +00:00
gwr 3da720dfd1 Adapt to the new version of dev/ic/z8530* 1996-12-17 22:30:13 +00:00
gwr 55d81fe0c2 Adapt to the new version of dev/ic/z8530*
(Note: now define zsc_softc here.)
1996-12-17 22:26:07 +00:00
gwr 7a5585d645 Make sure the MDP_STACKADJ flag is cleared in p->p_md.md_flags
Do this in both machdep.c:setregs() and trap.c:(end of syscall)
for now.  Need more analysis to see what is the best way...
Fixes PR#3034 (Thanks very much to Ian Dall for the fix!)
1996-12-17 21:35:30 +00:00
gwr 3cc81b9726 Add a diagnostic to panic when obio config data has a
default address, which is no longer supported on obio.
1996-12-17 21:21:13 +00:00
gwr 0c5e3e4955 Make this compile with -Werror -Wall -Wstrict-prototypes
(finally! yea!)  Also get rid of __BROKEN_INDIRECT_CONFIG
1996-12-17 21:10:35 +00:00
gwr 282e39f88d Adapt to the new version of dev/ic/z8530*
(Note: now define zsc_softc here.)
1996-12-17 21:00:54 +00:00
gwr ac4b9ad819 The declarations for cache_flush_xxx are now in machdep.h 1996-12-17 20:55:28 +00:00
gwr 2140ee3fb9 The declarations for isr_add_xxx are now in autoconf.h 1996-12-17 20:54:23 +00:00
gwr 1169ecb0a2 Adapt to the new definition of struct zsc_softc
(the zsc_cs[2] members are now POINTERS!)
Also fix warnings...
1996-12-17 20:46:11 +00:00
gwr b8c288d184 Fix warnings. 1996-12-17 19:27:51 +00:00
gwr 661c8f1ae0 CTL_MACHDEP definitions. (Common to all m68k ports.)
This should be included by each m68k port's cpu.h so
/usr/sbin/sysctl can be shared on all of them.
1996-12-17 19:26:51 +00:00
gwr a25e8be772 Add prototypes for process_read_regs, etc. (fix warnings) 1996-12-17 19:24:31 +00:00
scottr 1460fbef53 Remove -Werror for now (sigh). Somehow this slipped through several
kernel compiles without getting caught.  Lame gcc optimizer bug.
1996-12-17 13:58:26 +00:00
is b71e65949f Make clock an early configuration device, configured before early console
configuration. This way, the delay loop is calibrated before graphics and
serial hardware is touched.

This change should smooth pr 2890 by Thorsten Frueauf (also privately
reported by Laurent Badoukh). While the real problem with those is the
paranoically high delay() calls in the grf_cl initialization, it was made
even more visible by the miscalibrated (to the save side) new style delay
loop.
1996-12-17 11:43:10 +00:00
is fd832b27d2 - Fix a edito in the m68060 support trap counting. (Hint: run "make regress",
even if you "really didn't change anything dangerous" :-)
- While we're here, save a few bytes and clock cycles during kernel startup:
  cinva ic clears the branch cache on the 68060, no need to do it explicitly.
1996-12-17 11:09:10 +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
scottr 5b7c2842ae Take avantage of COPTS appropriately. 1996-12-17 07:33:01 +00:00
is 9df370b3f3 Switch on branch prediction on the 68060. Also add some instrumentation
for branch prediction errors (could be used to detect strange binaries),
integer instruction, FP instruction, FP data type and FP effective address
emulations. The latter can be used to diagnose binaries which should be
recompiled with -m68060.

XXX Maybe these diagnostics should be switchable by sysctl or
XXX options DIAGNOSTIC.
1996-12-17 07:32:52 +00:00
scottr 1999f88fac Add sample sbc config line; format 'options' lines for consistency. 1996-12-17 07:22:30 +00:00
scottr e9ce47936c Add -Werror, remove -Wno-uninitialized. 1996-12-17 07:04:21 +00:00
scottr a7dc02ac8a Remove __BROKEN_INDIRECT_CONFIG, since we are no longer broken. 1996-12-17 07:00:12 +00:00
scottr 07bde0d4e7 Revamp mainbus and obio autoconfiguration, with some direction (and the
indirect bus code framework) from Jason Thorpe.  This allows us to dump
bus_scan() and bus_print(), and move bus_peek() and bus_mapin() to the
NuBus code (since they'll eventually go away, anyway).
1996-12-17 06:47:37 +00:00
scottr b96c3097ed Define struct nubus_attach_args 1996-12-17 03:56:11 +00:00
jonathan c66d855eb2 Configure pmax elf_machdep.h as little-endian elf. 1996-12-17 03:45:05 +00:00
thorpej 01daecba3a Implement pci_decompose_tag(). 1996-12-17 01:55:56 +00:00
leo 9f8a5d9694 Move up the initialisations for the delay routine in the initialisation
process. It's now also available to the different device probes.
1996-12-16 22:03:23 +00:00
leo dff699a434 The file hdfd_intr.s should only be included in conjunction with the
Hades floppy driver.
1996-12-16 21:25:45 +00:00
leo de3b8c8e4b Implement an rtc-device. Credits for the idea goes to Wolfgang Solfrank.
Because there is no way yet to tell init(1) to execute commands before
single user-mode is entered, the inittodr() function is still partly
functional. It retrieves the value of the RTC and sets the time as if
the RTC was running at UTC. The resettodr() function is a No-Op. The
RTC can only be changed by a write to /dev/rtc.
The TIMEZONE and DST options are no longer needed and removed from the
config files.
1996-12-16 21:24:00 +00:00
cgd 693a05816e disable weak aliases in libc until something actually uses them. When
using __weak_alias in libc, __indr_reference should probably be defined
to do nothing (but defined, so that duplicate functions/variables aren't
compiled).  However, when not using __weak_alias, __indr_reference causes
them to be omitted completely, which is a lose.  So, until weak aliases
are going to be used, don't define __weak_alias or __indr_reference.
1996-12-16 21:01:55 +00:00
is af2691cdb5 The original docs for the Phase 5 Development SCSI boards had a edito,
making me think that the Blizzard-IV and the Blizzard-2060 scsi
options have nearly identical DMA engines (just with a different
address offset). Alas, this isn't true.

Herewith I replace the "bznsc" (all-new-Blizzard-models) driver with the
"bztzsc" (Blizzard Two Zero).
1996-12-16 16:17:27 +00:00
scottr 9b4055eb72 Convert all foo_match() functions to use a `struct cfdata *' for their
second argument.  The NuBus autoconfig code had to be reorganized as a
result of this, and looks much more like a directly-attached bus now.
These changes eliminate __BROKEN_INDIRECT_CONFIG.
1996-12-16 16:17:02 +00:00
gwr 31a2dbff56 No longer used. 1996-12-14 15:51:31 +00:00
leo c473681077 Remove some code accidently checked in on previous commit. 1996-12-14 13:52:01 +00:00
leo 2d4e2c3931 Fix type (COPT -> COPTS). 1996-12-14 13:48:29 +00:00
leo ae092ee765 Merge the formatting code from the i386-port. 1996-12-14 13:47:12 +00:00
cgd 6fbbbb1eb2 add endianness constants, relocation types 1996-12-14 05:46:13 +00:00
gwr 250c59b7a6 Files with just an include line do not need a wrapper. 1996-12-13 20:23:51 +00:00
gwr 5eaee56ccf Increase MAXMCAST from 50 to 250 (to match dev/ic/i82586.h). 1996-12-13 19:54:08 +00:00
gwr 5736d8f544 Kill some dead code. 1996-12-13 19:50:10 +00:00
gwr 6d6e6e45e0 Define MAXBSIZE as 32KB to limit the size clustered transfers. 1996-12-13 19:46:14 +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
pk 9b87837f21 Panic if `auxreg' is requested but is not there. Not much we can do about
users of AUXIO_REG; they'll die with a data fault.
1996-12-11 00:51:06 +00:00
pk 2f296724a8 Not all sun4m's have an `auxio'. 1996-12-10 23:24:56 +00:00
pk e0df2a7e78 Kill __BROKEN_INDIRECT_CONF. 1996-12-10 23:19:38 +00:00
pk 3f316d7783 Comply with recent autoconfiguration changes. Diffs graciously supplied
by Chris Demetriou.
1996-12-10 23:19:13 +00:00
pk 841d1ec634 Comply with recent autoconfiguration changes. Diffs graciously
supplied by Chris Demetriou.
1996-12-10 22:54:46 +00:00
thorpej d502e68402 Fill in sc_link.max_target 1996-12-10 21:27:16 +00:00
cgd e4f6e48c7d kill the last vestiges of __BROKEN_INDIRECT_CONFIG. 1996-12-10 19:33:51 +00:00
mycroft 6efa67cb69 Use RELOC() to access _myea. 1996-12-10 18:41:00 +00:00
mycroft a1f3d20e2c Minor twiddle; _prototc is only 4 bytes, not 8. 1996-12-10 18:33:51 +00:00
pk 92c4c71040 Finish import of floppy formatting code; not really usable yet, lots of
data overruns.
1996-12-10 14:44:53 +00:00
tls 6083cacd31 fix very misleading comment 1996-12-10 05:28:15 +00:00
fvdl b3418365a1 Make sure KVM used by buffer cache doesn't exceed VM_MAX_KERNEL_BUF.
XXX stopgap measure.
1996-12-09 22:51:55 +00:00
fvdl 3dc301ff58 Include VM_MAX_KERNEL_BUF constant to put a cap on buffer cache KVM usage.
Override via config file possible.

XXX this is a stopgap measure.
1996-12-09 22:49:42 +00:00
is d524505ef7 It turned out that my orginal docs were wrong wrt. Blizzard IV
scsi... it is NOT nearly identical to the Blizzard 2060 scsi option.
Make the name reflect this. Driver cleanup will follow.
1996-12-09 18:17:40 +00:00
thorpej ef5333043b Copyright assigned to The NetBSD Foundation. 1996-12-09 17:46:44 +00:00
thorpej 66cbbf68ff Copyright assigned to The NetBSD Foundation. 1996-12-09 17:35:24 +00:00
is f95e0398cc New version by Jukka Marin <jmarin@pyy.jmp.fi>, with rewritten (to fix
problems) carrier detect code. Slightly cleaned up by Bernd Ernesti
<veego@netbsd.org>
1996-12-09 17:24:55 +00:00
oki 6281db6925 Use config_search() instead of config_scan(),
by Chris G Demetriou, tested by me.
1996-12-09 16:12:19 +00:00
oki d27890041b CACHE4_OFF --> CACHE40_OFF, compile again. 1996-12-09 15:29:06 +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
pk 10a182e399 Revise communication between hw & sw interrupt handler.
Deal with sun4m software interrupt mechanism.
1996-12-08 23:41:39 +00:00
pk 837dd8e3e1 Import formatting code from the i386 version.
Revise communication between hw & sw interrupt handler.
1996-12-08 23:40:32 +00:00
cgd e9abc8540f remove all traces of __BROKEN_INDIRECT_CONFIG (except in shared drivers) 1996-12-08 00:22:08 +00:00
cgd 6dbb1548bd kill __BROKEN_INDIRECT_CONFIG 1996-12-07 22:43:17 +00:00
cgd fb18e1fda9 oops; have to cast PS_STRINGS away from pointer 1996-12-07 22:36:28 +00:00
cgd 0e3d6291e3 note what each of the argument registers in setregs() will be used
for by crt0.  Actually clear a1 and a2, because unless a shared loader (i.e.
_not_ the kernel) set them when invoking crt0, they should be zero, and
the kernel DEBUG code wouldn't necessarily have them be.  Pass a pointer
to the proc's ps_strings structure in a3.
1996-12-07 19:45:14 +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
fvdl 9e2e734159 Remove _MCOUNT_DECL prototype once more. 1996-12-07 12:59:45 +00:00
matthias 781cd59dd4 * Enlarge kernel virtual memory space. The pc532 kernel now runs at
0xf8000000. When the kernel was running at 0xfe000000, the INSTALL
  kernel would not run on a 32mb machine.
1996-12-07 09:24:37 +00:00
cgd 1a8f25c523 add a "machdep.booted_kernel" sysctl, which is the name of the booted
kernel as supplied by the SRM console's BOOTED_FILE variable.
1996-12-07 01:54:49 +00:00
thorpej 8b4cab0ac8 s/EXTMEM_SIZE/BIOSEXTMEM/ 1996-12-07 00:25:58 +00:00
fvdl 3e4fb99a14 Fix missing instruction in NexGen test code; make it a 386-class CPU too.
(Valtteri Vuorikoski / Jason).
1996-12-06 22:27:37 +00:00
pk 6b31797b23 Detect `lebuffer' parents and use the provided buffer. 1996-12-06 22:07:59 +00:00
pk d539e60bb2 Uncomment lebuffer devices 1996-12-06 22:02:32 +00:00
pk 554078cb87 Declare lebuffer 1996-12-06 21:57:57 +00:00
pk 31b46bcf59 Special Lance buffer glue. 1996-12-06 21:52:01 +00:00
fvdl 671b24f374 Add _MCOUNT_DECL prototype. 1996-12-05 10:21:09 +00:00
cgd 8b6a32d1c1 update these so they compile whether or not __BROKEN_INDIRECT_CONFIG
is defined.
1996-12-05 01:39:27 +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
mycroft 7cec90e7ea Fix a race condition in tcds_scsi_isintr().
Also, remove the annoying and bogus `empty FIFO of N' message.
1996-12-04 22:35:08 +00:00
is b7e80c70ba Oops, drcom slipped through the cracks. I beg your pardon. 1996-12-04 16:36:36 +00:00
fvdl 380174248f Change asm.h to make it usable for kernel profiling as well.
Make mcount() a prototype in profile.h
1996-12-04 00:03:41 +00:00
fvdl 1f758a1a78 Change CPU recognition code to know more types, and make it changeable
easier when new types arrive.

Locore: make profiling work for some functions; use <machine/asm.h>
(from Jonathan Stone)
1996-12-03 23:59:25 +00:00
fvdl 2775763610 Added types/definitions for changed CPU recognition code. 1996-12-03 23:54:54 +00:00
cgd a06362dc8e do_sir lowers the IPL itself, now 1996-12-03 19:54:16 +00:00
cgd b74e03da21 fix a couple of bogons in the last two, and clean up slightly 1996-12-03 19:52:58 +00:00
cgd 882fa5a35d try that last one again. 1996-12-03 18:11:40 +00:00
cgd 156fe546d2 kill siroff() and resturcture do_sir() to be cleaner and more correct. 1996-12-03 17:34:47 +00:00
cgd a04fb885d8 clean up SCSI devices 1996-12-03 17:25:27 +00:00
cgd 38cbb3213c Fix up includes so that up-to-date versions of 'config' can be used
to config pmax kernels.  Not all kernels can actually be config'd because
of device declaration problems, but i don't know how to fix those.
1996-12-03 01:18:17 +00:00
cgd 81e9bda988 convert to use bus_space_set_region_2() and bus_space_copy_2(), rather
than in-line clear and copy loops.
1996-12-02 22:24:54 +00:00
cgd 30b636bd09 implement bus_space_copy_*(). 1996-12-02 22:19:32 +00:00
cgd 256cf234a1 move barrier operation definition closer to the top of the bus space ops
structure.  In the implementations, allow the barrier op to be inlined.
1996-12-02 07:07:18 +00:00
cgd 54ba942f79 implement bus_space_set_multi_* and bus_space_set_region_* operations. 1996-12-02 06:46:49 +00:00
cgd e6bafb00d6 declare the single-datum read and write methods as inline, so that
the multi and region methods can inline them.
1996-12-02 06:12:39 +00:00
thorpej 3883cff7fb Oops, bus_space_set_{multi,region}_N() is supposed to have an `offset'
argument.  Add one to the `prototype' in the comment which preceeds
`not implemented' :-)
1996-12-02 05:35:13 +00:00
pk 0d4df7bdb3 Handle T_IDIV0 like T_DIV0. 1996-12-01 23:21:07 +00:00
pk 08b929f619 trap 0x2a: divide by zero for hardware [su]div instruction. 1996-12-01 23:19:00 +00:00
veego eedc299567 Fix typo in the last revision (missing S in ${COPTS}). 1996-12-01 12:10:07 +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
jonathan e038926656 Replace explicit -O2 in CFLAGS with COPTS macro. Default COPTS?= -O2.
Lets users over-ride with makeoptions COPTS="..." in kernel config files.
1996-12-01 03:23:04 +00:00
jonathan 51194cb458 Fix #ifdef DEBUG prinf() lint: bp->b_bcount is long, not int. 1996-12-01 00:43:45 +00:00
is 07e5135a49 Add the bootblock code to list of things made here. 1996-11-30 20:34:58 +00:00
is 6e8898adbd Get it into the main branch... it was added only to netbsd-1-2 by mistake. 1996-11-30 20:31:39 +00:00
jtc 9da5f60715 PROF -> GPROF 1996-11-30 02:48:57 +00:00
jtk 6f602476b2 tabstop corrections, thanks to Paul Kranenburg 1996-11-30 01:45:39 +00:00
is 86b68e0c38 The DraCo MF-II to Amiga translation table is const-ant. 1996-11-30 01:30:37 +00:00
is ca9770feb9 Make sure autoconfiguration is searching for _us_. There is more than
one DraCo specific device on the DraCo mainbus.
1996-11-30 01:27:04 +00:00
is e4b7d761cc Switch off some more interupts on startup; switch off drcom interupts
at the right offset.
1996-11-30 01:20:14 +00:00
is aa13cab86c Forgotten changes needed for the drcom driver. 1996-11-30 01:13:05 +00:00
is 19acf65808 com.c variant for the 16550 core on the DraCo superio chip.
drisavar.h pretends to provide a few bus.h macros, hardwired to
that chip.

This should eventually be replaced by attachment code for the normal
com.c driver, once that one is split up into chip core driver and
attachment code, and once we have busxxx macros in NetBSD/Amiga.
1996-11-30 00:43:02 +00:00
is ff0ad9cabb Variable spltty a la Jason Thorpe. Needed for the DraCo variant of com.c. 1996-11-30 00:33:49 +00:00
is 9035d87865 Support for DraCo superio chip: level 5 interupt queue; amiga_ttyspl
variable (we need to set ttyspl to spl5 when the DraCo serial is active).
1996-11-30 00:29:38 +00:00
is 165b6726c9 First version of a NetBSD-Amiga bootblock compilable from within NetBSD,
along with toolchain enhancements.

aout2bb transforms a.out files with reloc information into bootblock format
files with a compressed relocation info.

bbstart.s relocates the bootblock using this compressed info, before jumping
to C code.

txlt changes some more of the absolute references to pc-relative ones (we know
we have a single code + data address space).

If you ever try to change this: don't even dare to change the compiler options;
they were found in weeks of trial and error as the ones producing the smallest
(not necessarily fastests) code.

installboot is just a script around dd, for now.

Some ideas by Michael Hitch, Leo Weppelman and Jason Thorpe; bugs added
by myself.
1996-11-29 23:36:30 +00:00
is 6ddf65c1db First version of a NetBSD-Amiga bootblock compilable from within NetBSD,
along with toolchain enhancements.

aout2bb transforms a.out files with reloc information into bootblock format
files with a compressed relocation info.

bbstart.s relocates the bootblock using this compressed info, before jumping
to C code.

txlt changes some more of the absolute references to pc-relative ones (we know
we have a single code + data address space).

If you ever try to change this: don't even dare to change the compiler options;
they were found in weeks of trial and error as the ones producing the smallest
(not necessarily fastests) code.

installboot is just a script around dd, for now.

Some ideas by Michael Hitch, Leo Weppelman and Jason Thorpe; bugs added
by myself.
1996-11-29 23:36:29 +00:00
jtk 88449561be Add floppy formatting facility.
i386 floppy controller code came from FreeBSD, as worked on by:
   jc@irbs.UUCP (John Capo)
   vak@zebub.msk.su (Serge Vakulenko)
   ache@astral.msk.su (Andrew A. Chernov)
   joerg_wunsch@uriah.sax.de (Joerg Wunsch)
   dufault@hda.com (Peter Dufault)

formatting ioctl interface is generalized to an MI interface.  see fdc(4)
and fdformat(1)
1996-11-29 16:28:38 +00:00
pk c5c074b053 remove header munging hack. 1996-11-29 15:00:25 +00:00
pk 48830f7cb1 ffs bootblock install can be simplified since installboot(8) handles that now.
To install a TFTPable boot image, we have to play the header tricks here.
1996-11-29 14:59:32 +00:00
pk af0ec0d1d4 installboot(8) now handles required a.out header munging.
Also, the munging is extended by inserting an instruction that branches
past the header, so the same boot image can be used on all supported
sun platforms.
1996-11-29 14:55:20 +00:00
pk b2f875fce9 Handle Sbus burst settings in dma reset(). 1996-11-28 10:30:34 +00:00
pk 7e3ef21ca4 Fix typo in D_BURST* macros. 1996-11-28 09:37:34 +00:00
thorpej 23587e9e17 Update for pchb and pcib drivers. 1996-11-28 03:15:13 +00:00
thorpej 35a40fda4b Implement a simple generic PCI-ISA bridge driver. This driver exists
primarily to nicely print version information about your PCI chipset
(try with "options PCIVERBOSE").  Eventually, it may be used to
enable/disable features/bugs of a given PCI chipset.  In addition, this
driver uses the PCI-ISA bridge callback mechanism to logically attach the
ISA bus to the PCI-ISA bridge.
1996-11-28 02:53:45 +00:00
thorpej 30612943e3 Implement a simple generic PCI-Host bridge driver. At the moment, this
driver is a place-holder, which will nicely print version information
about your PCI chipset (try with "options PCIVERBOSE").  Eventually,
this can be used to enable/disable features/bugs of individual PCI
chipsets.
1996-11-28 02:49:01 +00:00
thorpej 9a6796b559 In isa_attach_hook(), set a variable to indicate that an ISA bus has
been attached to the system.  If, by the time mainbus wants to attach
an ISA an ISA has not yet been attached to the system, attempt to attach
an ISA to mainbus.
1996-11-28 02:43:53 +00:00
pk 4d21d576ef Add some `DMA ESC gate array' specific constants. 1996-11-27 21:50:42 +00:00
pk 13ad3421cd DMA draining macros have moved to dma.c 1996-11-27 21:49:53 +00:00
pk c7f438cd11 Handle the `ESC gate array' variant of the DMA engine, including an
essential bug work-around. Graciously supplied by David Miller.

Also re-arrange the macros that do the dma drain song-and-dance for
better clarity.
1996-11-27 21:48:19 +00:00
pk f5f35b104f Sync with sparc port:
>Pay attention to DMA errors as reported by DMAINTR() returning -1. If this
>happens reset everything.
>
>Re-schedule a timeout when first attempting to abort an operation.
>Cancel any queued timer events before re-scheduling a timeout, so esp_abort()
>can be called from other places besides the timeout handler.
1996-11-27 21:38:35 +00:00
pk c0a9fe4e7a Cancel any queued timer events before re-scheduling a timeout, so esp_abort()
can be called from other places besides the timeout handler.
1996-11-27 21:34:59 +00:00
pk 4526babc82 Pay attention to DMA errors as reported by DMAINTR() returning -1. If this
happens reset everything.

Re-schedule a timeout when first attempting to abort an operation.
1996-11-27 21:24:20 +00:00
pk c1274b3cff Stabilize timeout values in fdcresult() and out_fdc() by adding delay()s.
Noted by Jason Thorpe over in the i386 driver.
1996-11-27 21:14:33 +00:00
thorpej 446317125e In fdcresult(), the loop that pulls status off the controller is treated
as a "timeout", yet there's no specific delay in each iteration.  Add
a small delay (10 usec... pretty arbitrary) in each iteration.  This
fixes the "fdcresult: timeout" problems I've been having on my 200MHz P6.
1996-11-27 19:53:51 +00:00
oki 0528423d96 renamed variable in ev_poll(), compile again. 1996-11-27 14:40:46 +00:00
oki a91608384d edit include path, config again. 1996-11-27 14:37:18 +00:00
cgd e338e3526d when panicing because of a fatal trap, print the trap's type name, as well
as its kernel entry number.
1996-11-27 01:28:30 +00:00
cgd f7a967045c #ifdef DEBUG, check {read,write}_{multi,region} ops' pointer arg for alignment. 1996-11-27 01:24:49 +00:00
cgd 366a586e85 if we're going to do a real match (we are), ahve to special-case console 1996-11-27 01:20:26 +00:00
cgd 2f1d32e181 note eb164 support 1996-11-26 15:58:04 +00:00
is 8a722534a3 In the DraCo native clock interupt handler, clear the interupt condition
after returning from hardclock(), rather than before. For some reason,
this fixes the 0xffffffff i used to see in the tv_secs of the used cpu
time of some processes.
XXX I don't fully understand the issue.
1996-11-26 15:54:23 +00:00
cgd 98c4f0c312 add a comment re: eb164 1996-11-26 15:46:24 +00:00
gwr 43df579125 Get rid of md_upte[] and my copyright line. 1996-11-25 22:09:11 +00:00
cgd f9d0b7e37f fix up field names for recent rpb.h changes 1996-11-25 16:18:16 +00:00
cgd acf2644128 update for recent configuration changes. 1996-11-25 04:16:15 +00:00
cgd abbe7f24f1 update for eb164 file addition, apecs & lca bus space function split
file additions/deletions, pcppi file addition, and pckbd & pms attachment
changes.  also, clean up a couple of comments.
1996-11-25 04:03:21 +00:00
cgd 003fda43da update for chipsets' init functions' new prototypes 1996-11-25 03:59:19 +00:00
cgd 97927bdd99 update for new extent management code. Most importantly, we can't call
the chipset space init functions multiple times, since that would clobber
extent allocations made between the two calls.  Also, deal with the
fact that the APECS and LCA no longer shared common chipset functions.
1996-11-25 03:56:48 +00:00
cgd 77baf28d70 update for new extent management code. Most importantly, we can't call
the chipset space init functions multiple times, since that would clobber
extent allocations made between the two calls.
1996-11-25 03:55:46 +00:00
cgd 7a1799b561 update for new extent management code, and for apecs/lca space access fn split 1996-11-25 03:49:36 +00:00
cgd 608a9f3065 update for new extent management code 1996-11-25 03:49:11 +00:00
cgd 6d7b2d82a7 make eb164 interrupts actually work. 1996-11-25 03:47:05 +00:00
cgd 8b50c9af38 reimplement, so that it works with the new extent mapping code. 1996-11-25 03:46:07 +00:00
cgd fe6262c3c0 split the APECS and LCA bus memory and I/O functions. Most of them still do
the same things, but the extent maps have to be managed differently,
since the two chipsets provide different memory and I/O region mapping
possibilities.
1996-11-25 03:42:09 +00:00
cgd 1a45dbd671 update these to set up and use extents to map i/o space, and sparse and
dense memory.
1996-11-25 03:37:23 +00:00
cgd 25450fc448 hide a bogosity by not printing a message when pms not attached 1996-11-25 03:30:43 +00:00
cgd d35047f37b Add a primitive driver for the PC-ish Programmable Peripheral Interface
and PC-ish keyboard controller.  (Actually, on alphas, the built-in PPI
(in the SIO) appears to be a lobotomized version of the original, but
i'd not call that a bad thing.)  This driver should eventually handle all
speaker tone requests and keyboard commands, but for now it just maps
the relevant ports and passes them on to the keyboard and mouse drivers,
which are now its children (rather than children of ISA).
1996-11-25 03:26:33 +00:00
cgd 8c007e0e48 use set_pci_isa_bridge_callback() to delay ISA/EISA bus attachment until
after PCI tree has been completely probed.
1996-11-25 03:15:24 +00:00
matthias e756776636 * Fix cut and paste error. 1996-11-24 13:35:18 +00:00
matthias 901a1f3641 * Calibrate _delay for a 30mhz system if CPU30MHZ is defined.
* A few changes to _interrupt to support the new softint mechanism.
1996-11-24 13:35:15 +00:00
matthias 110e4e09ff * Prototyping tweaks.
* Support for the new softint mechanism. Softints are now requested by
  triggering an unused ICU hardware interrupt. The idea for this was
  contributed by Phil Budne.
1996-11-24 13:35:12 +00:00
matthias 518b5e6ae5 * Prototyping tweaks. 1996-11-24 13:35:10 +00:00
matthias 0f6a4a93fd * Rewrite of membusattach/membusscan/membusprint. 1996-11-24 13:35:08 +00:00
matthias 58dc92f52e * Prototyping tweaks.
* Changes to support the new softint mechanism.
1996-11-24 13:34:45 +00:00
matthias 591a6794e2 * A few changes to support the new softint mechanism. 1996-11-24 13:34:44 +00:00
matthias 9f82b6d4d1 * New file. Defines the structure describing config arguments passed to
match/attach functions.
1996-11-24 13:34:42 +00:00
matthias a0117d39dd * Prototyping tweaks.
* Real probe code added.
* Duart info is now allocated only for devices that are present.
* Added IO-Recovery delays for 30mhz systems.
* Removed a few potential NULL-pointer references.
1996-11-24 13:32:53 +00:00
matthias ee943634a8 * Prototyping tweaks. 1996-11-24 13:32:48 +00:00
matthias e9d6e1a616 * New file. Defines config options and devices common to all pc532s. 1996-11-24 13:28:56 +00:00
matthias 63758fd99b * Include to std.pc532 added. 1996-11-24 13:28:52 +00:00
cgd e29fc4fb1d sync up with pk's commit to the sparc port:
>One control block per target is insufficient if you have a full complement
>of targets attached and access those simultaneously (like in a ccd(4) array).
>We (now) allocate (somewhat arbitrarily) three per target.
>Noticed by Marshall Midden.
1996-11-24 04:21:30 +00:00
mark 1728fa466c Removed duplicate LKM option. 1996-11-23 21:15:46 +00:00
mark f4b69eb14d Removed a load of [cb]dev_decl() lines that are provided by sys/conf.h 1996-11-23 21:15:31 +00:00
oki e36077d7ba Implement poll(2). 1996-11-23 09:44:53 +00:00
cgd abf0b7c010 deal with the fact that apparently-common revisions of EB164 firmware
don't machine check when a PCI Master Abort is signalled.  This can
happen, for instance, when configuration space for a device that isn't
present is examined.  When this is detected, act like we normally would
when machine checks are posted while examining nonexistant devices.
1996-11-23 06:46:50 +00:00
cgd ff523f9080 fix HAE_MEM_REG3_START definition (shift was incorrect). Add CIA_CSR_CIA_ERR
register definition.  (should define bits in CIA_CSR_CIA_ERR, but haven't
done that yet.)
1996-11-23 06:42:55 +00:00
cgd 574633aea2 add definitions for LCA_IOC_HAE contents. Add a REGVAL64 macro, like
REGVAL but good for 64-bit chipset registers.
1996-11-23 06:41:00 +00:00
cgd 7aefe04c3e update for new names for ISA VGA console match and attach functions 1996-11-23 06:38:49 +00:00
cgd fc7b72ee10 move interrupt establishment to just before clock interrupts are
enabled (from the attach routine), and add comments as to why.
Some PALcode apparently 'saves' a clock interrupt for the kernel,
and if the clock interrupt handler is enabled at attach time, it
will be run when that interrupt hits, i.e. right after the spl0()
at the end of autoconfiguration.  That would cause hardclock to be
run, but proc0's p_stats isn't set up by then, which would cause
hardclock to crash.
1996-11-23 06:31:57 +00:00
cgd 12fc617201 make ALPHA_K0SEG_TO_PHYS and ~0xfffffc00000000000 with the address,
rather than and-ing 16G-1.  That just strips the k0seg bits, rather
than making the false assumption that the physical address is going
to be in the lower 16G.  That doesn't apply for CIA device-space
addresses, for instance.
1996-11-23 06:25:31 +00:00
cgd d22ab75ff0 clean up match: check args more carefully, make sure I/O space can be mapped 1996-11-23 06:21:43 +00:00
cgd 335c1af878 move probe and setup code into common functions. always probe (i.e.
even if PCI and the IDs are right), just for sanity, before declaring
success.  Split the single 0x3b0 -> 0x3df allocation into three seperate
ones: 0x3b0 -> 0x3bc (leaving the 4 ports available for lpt),
0x3c0 -> 0x3cf, and 0x3d0 -> 0x3df.  The former chunk has to be split
off if the lpt can exist there, and it's sort-of pretty to have each
group (based on second hex digit) have its own handle.
1996-11-23 06:06:43 +00:00
mark e2b7ebae9d Now we have a fix for the StrongARM STM^ bug we can recache the SVC32 stack
pages.
Cleaned up several prototypes.
1996-11-23 04:09:01 +00:00
mark 9c855e4d1b Provide alternative trapframe push and pull macros from the StrongARM.
These alternative macros have a workaround for the STM^ bug in revision < 3
StrongARM CPU's that causes incorrect register saving if a cache line fill
is in progress during the STM.
1996-11-23 04:02:40 +00:00
mark 199fcfe651 Recognise the name Empty: as a possible valid partition in a RISCiX
partition table.
1996-11-23 03:56:44 +00:00
mark 12b8038548 Fixed the IPL level of the interrupt handler. 1996-11-23 03:56:02 +00:00
mark 4c515d528e Pass the device name to identify_master_cpu().
Identify StrongARM CPU's with bugged STM^ instructions.
1996-11-23 03:53:48 +00:00
mark 3c05da919c Use the IOMD_ID macro to check the IOMD ID number rather than direct reads
from the IOMD.
1996-11-23 03:45:52 +00:00
mark 2883a694fa Check the IOMD ID in the podulebus probe to make sure the IOMD supports
a podulebus.
Make sure the podulebus driver conforms to the Acorn expansion card
specification:
  - Probe the podule bus using sync access cycles rather than slow access
    cycles.
  - Read the podulebus header/ROM using sync access cycles rather than slow
    access cycles
1996-11-23 03:42:39 +00:00
mark 37f3875ce4 Use the IOMD_ID macro to check the IOMD ID number rather than direct reads
from the IOMD.
1996-11-23 03:37:35 +00:00
mark 374d51c858 Rebuild from latest podules list. 1996-11-23 03:27:15 +00:00
mark ecdf4c14bd Added a number of new manufacturer ID's and some new podule ID's. 1996-11-23 03:23:49 +00:00
mark 5debc61be1 Added IOMD_ID macro to return the 16bit IOMD ID code. 1996-11-23 03:21:43 +00:00
mark f74d5f023d Fixed typos. 1996-11-23 03:20:20 +00:00
mark f14bcbdac4 Added prototype for branch_taken(). 1996-11-23 03:20:18 +00:00
mark b38644ed8d Check for CPU_ARM8 when testing for comflicting CPU options. 1996-11-23 03:18:20 +00:00
mark 776f1e24d6 List the nbuf= bootloader option. 1996-11-23 03:16:51 +00:00
mark 3474eb69a0 Yet more items added to the list. 1996-11-23 03:13:19 +00:00
pk 3cb63476b7 One control block per target is insufficient if you have a full complement
of targets attached and access those simultaneously (like in a ccd(4) array).
We (now) allocate (somewhat arbitrarily) three per target.
Noticed by Marshall Midden.
1996-11-22 22:36:57 +00:00
jonathan 80702e3c14 Add KERNLD hook to allow overriding the LD used to link kernels.
Set KERNLD to ld.old.  gcc binutils 2.7 gets an assert error linking kernels.
1996-11-22 18:53:31 +00:00
jtk 73b960a308 add pre-probe step so that autoconfiguration does not print 'apm0 at
mainbus0 not configured' message if configured but not present in the
BIOS
1996-11-22 00:19:07 +00:00
gwr 9ccd21bece Copyright assigned to The NetBSD Foundation 1996-11-21 13:57:20 +00:00
scottr 86b50e865d Add missing ss, uk, and rd devices to cdevsw 1996-11-21 08:33:22 +00:00
jonathan b1224d9a3d * Add /sys-relative paths for NetBSD-1.2b config.
* Add standard mips EXEC packages  to std.pica
* Move non-optional options to std.pica
1996-11-21 03:23:42 +00:00
cgd 31cc61b793 try mapping the I/O space (as well as the memory space) in the probe routine. 1996-11-20 20:04:53 +00:00
gwr 0332502588 Most files that were copyright Adam Glass and/or Gordon W. Ross
are now copyright The NetBSD Foundation (rights assigned).
1996-11-20 18:56:49 +00:00