Commit Graph

8656 Commits

Author SHA1 Message Date
leo 0f6a2c3cef - Make all definitions relative to 'stio_addr'
- Add the PCI areas.
1996-08-23 11:17:00 +00:00
leo 3a68f68754 Don't use an absolute I/O adress. 1996-08-23 11:14:59 +00:00
leo 26039da980 Fix some compiler warnings. 1996-08-23 11:12:51 +00:00
leo dd183a092a Recognize the Hades as a valid machine type. 1996-08-23 11:11:51 +00:00
leo d546be9627 Make the fpu config info print somewhat nicer. 1996-08-23 11:10:10 +00:00
leo 6ab410f919 - Make it compile & work for the 68040
- Map the various I/O areas just below Sysmap
- Cleanup a bit
- Fix machine-type detection to recognize the Hades.
1996-08-23 11:07:56 +00:00
cgd b9a7acad48 define a new frame buffer type code for the TGA2 1996-08-23 00:50:25 +00:00
thorpej 9221f4ecc6 Add COMPAT_12 to all kernels, and COMPAT_11 to a few as well. 1996-08-22 21:02:49 +00:00
jonathan 562faf95ac Re-apply to the trunk a change that was misapplied to 1.2 release branch:
>apply old name change, MachEmptyWriteBuffer -> wbflush()
1996-08-22 04:37:41 +00:00
jonathan eb75b94621 Re-apply change that was misapplied to 1.2 release branch to trunk:
>Cosmetic changes to pass -Wall -Wstrict-prototypes -Wmissing-prototypes:
> * remove inline prototypes for keyboard redirection,
>    include {dc,scc,dtop}var.h files instead.
> * add prototype for rcons_connect().
>
1996-08-22 04:29:43 +00:00
jonathan 9a8c8b9858 * the 3MIN does not mask non-enabled TC interrupts, and the SFB generates
a vertical-blank interrupt. Add a handler to clear the interrupt, and
  establish that  handler if running on a 3MIN.
1996-08-22 04:17:23 +00:00
mark 4be6fcfb6e Only disable IRQs during cpu_switch(). FIQs can be left activeas they cannot
interfere with a context switch.
Fixed several comments.
1996-08-21 20:29:19 +00:00
mark 4522daecc9 Added defines for more proc structure fields (used by the FPE). 1996-08-21 20:26:41 +00:00
mark 7b0a0c0a24 Initial commit of the NetBSD/arm32 kernel TODO list. 1996-08-21 20:25:04 +00:00
mark 9d18e41fd8 No longer need the relocation function arm_fpe_mod_reloc() as this is now
sorted out at link time.
fpe_arm_header is now the header structure for the fpe and no longer
a pointer to a header structure.
1996-08-21 20:21:05 +00:00
mark 7b8910c01d Vastly simplified the FPE stubs code now that there are labels for all the
core entry points. i.e. the linker does the work rather than the stub code.
Optimised transferring the trapframe between UND32 and SVC32 mode stacks
in the fpe_post_proc handler.
Added experimental code to handle must of userret in UND32 mode. This means
that the copy of the trapframe and the switch to SVC32 mode is only needed
if mi_switch() has to be called. (This saves a vast number of pointless
trapframe copies).
1996-08-21 20:16:30 +00:00
mark 3142731d09 Re-written FPE core header.
Added branches relative to the start of the module and labels to the various
entry points.
All other offsets are now relative to _fpe_arm_start.
This removes the need for boot time relocation of the FPE.
1996-08-21 20:10:04 +00:00
mark e37583ac84 Removed the prototype arm_fpe_mod_reloc(). 1996-08-21 20:06:26 +00:00
mark 66d9ef4edb Updated with more info on the ARM7500 IOC/IOMD. 1996-08-21 20:00:50 +00:00
mark 9c8e5632da Replaced arch/arm32/arm32/fusu.c with arch/arm32/arm32/fusu.S
Added new iomd device.
1996-08-21 19:56:00 +00:00
mark 45bd77d893 Initial commit of a new iomd device. This device manages IOMD devices
for all ARM processors.
1996-08-21 19:53:21 +00:00
mark 64c91a1cc3 Report EASI space timings when probing the podule bus. 1996-08-21 19:46:47 +00:00
mark e8f3059a07 Define EASI space cycle types.
Added macro for setting the EASE space cycle time for a podule.
1996-08-21 19:44:53 +00:00
mark e53ec9745b Updated to work better with the new assembly functions like fuswintr().
Removed calls to traceback() as this info can be obtained via DDB after
a panic if needed.
1996-08-21 19:42:36 +00:00
mark 165dc50b4c This file can be removed now that the stubs functions it contained have
been replaced with proper assembly version in fusu.S
1996-08-21 19:38:39 +00:00
mark e75becbba3 Initial commit of proper [fs]uword() and associated functions. This
replaces fusu.c which comtained horrible stubs to things like copy{in,out}().
1996-08-21 19:37:43 +00:00
mark 663aa7fac0 Removed the #if notyet guards as this code now works.
Optimised the imsw16() and outsw16() functions by using ldm and stm
instructions.
1996-08-21 19:19:44 +00:00
mark caddfcc9e1 Make sure we have at least 1 rtc device configured otherwise
inittodr() and resettodr() will not work.
1996-08-21 19:07:19 +00:00
mark 88331f5ddc Removed debugging/diagnostic tracebacks. We have DDB now so can traceback
from there after the panic.
Guarded several checks with #ifdef DIAGNOSTIC
1996-08-21 19:04:17 +00:00
cgd 2d7e005418 add COMPAT_12 to all configs 1996-08-21 16:25:05 +00:00
cgd 78b0ddd68b wrap a debugging printf in NEW_PMAP 1996-08-21 15:54:18 +00:00
cgd c8fbe2de87 PSL_IPL_HIGH -> ALPHA_PSL_IPL_HIGH 1996-08-21 15:53:26 +00:00
jonathan acebbfc2bd Fix sfbinit() call to pass four arguments, not three, matching the
signature in sfb.c, which was changed to support multiple sfb devices.
1996-08-21 14:02:48 +00:00
cgd 137c61ba70 OLD_PMAP -> NEW_PMAP 1996-08-20 23:18:44 +00:00
cgd 04bac6838f OLD_PMAP -> NEW_PMAP. also, fix bug where i wasn't disabling
all reporting of correctable errors on startup, but rather was
just clearing all outstanding correctable errors.
1996-08-20 23:16:27 +00:00
cgd 645fb5dd99 lots of debugging printf flags, serious clean, add pmap_{,de}activate() 1996-08-20 23:08:08 +00:00
cgd 00c4aefc1a add a bunch of printfs for NEW_PMAP 1996-08-20 23:05:10 +00:00
cgd a6ff68785e add cached dirbase PFN, protos for pmap_{,de}activate() 1996-08-20 23:02:59 +00:00
cgd 0a50735abb OLD_PMAP -> NEW_PMAP 1996-08-20 23:02:30 +00:00
cgd 8bc62db31e K0SEG_END is inclusive 1996-08-20 23:02:17 +00:00
cgd 488b657b68 OLD_PMAP -> NEW_PMAP 1996-08-20 23:00:24 +00:00
cgd e59fad87f5 OLD_PMAP -> NEW_PMAP 1996-08-20 22:38:26 +00:00
cgd e4ff992e15 allow dots in names (but not at start of names), so that
GENERIC.PROF gets built.
1996-08-20 22:28:37 +00:00
cgd 33d6183e0f kill OLD_PMAP, since it now takes 'NEW_PMAP' to get the new pmap code. 1996-08-20 22:25:16 +00:00
cgd 68f23ebb4d kill 'microcode' Makefile.inc include, define CWARNFLAGS with ?=. 1996-08-20 22:23:01 +00:00
cgd 8bdeec7c79 switch 'old_pmap' option to 'new_pmap', since getting the new pmap code
is going to take a while...
1996-08-20 22:20:07 +00:00
ragge 1c367d4761 Modify bus code arguments. Cleanup. 1996-08-20 14:19:41 +00:00
ragge 2e489636e4 Use common routine to map in pages before DMA'ing. 1996-08-20 14:15:04 +00:00
ragge c5db4b8756 Support for cmi bus on 11/750. 1996-08-20 14:13:50 +00:00
ragge 34d020edd2 Change uba* functions to take pointers, rather than uba unit numbers. 1996-08-20 14:07:33 +00:00
ragge 1be0c00cf0 Add another parent bus for 11/750 (cmi). remove mtc.c. 1996-08-20 14:05:16 +00:00
ragge 9f1148c9c4 Use the same device driver for both uda and mtc. Actually, the only
difference is vcid. The unit names must differ, so that it is possible
to distinguish them at autoconf time.
1996-08-20 13:49:15 +00:00
ragge 3a504ef134 Modified to get cleaner match/attach code for different parent buses.
Fix so that resource wait queueing works.
Changed all functions to take a pointer to uba_softc instead of unit
number, except for ubareset(). This must be done later.
1996-08-20 13:37:57 +00:00
oki b4ffdaad58 Oops, added forgotten "-". closes port-x68k/2706. 1996-08-19 17:22:14 +00:00
cgd eb9c65ce77 add a version of GENERIC which is always compiled with
profiling enabled.  (named the same as what GENERIC kernel
would be named if configured with config -p, which would end up
generating the same kernel as this.)
1996-08-19 04:53:24 +00:00
cgd 15f9c59baf check in the code used to build the kernel that Andrew Gallatin used to
figure out the correct IRQ for the ethernet on the AlphaStation 500.
That code is enabled via KN20AA_BOGUS_IRQ_FROB (but hopefully won't be
needed any time soon, and won't link w/o slight changes to other code).
Basically, when establishing an interrupt that we don't know what to
do with, prompt the user for what interrupt line to enable.  If you
get stray interrupts when you try to use the device (but not before),
then you've got the right line.
1996-08-19 04:28:25 +00:00
cgd 3c7eaa04e2 fix typo in comment 1996-08-19 04:19:01 +00:00
cgd b4bfcf063f 21040 ethernet chip on AlphaStation 500 lives in slot 6 (a slot not
found on the AlphaStation 600), and interrupts on interrupt line 13.
Thanks to Andrew Gallatin for booting a test kernel 32 times (trying
each interrupt line, looking for the right one) to find this.
1996-08-19 04:14:58 +00:00
jonathan 4a1279de25 Import framebuffer drivers from 4.4-Lite2 as the root for NetBSD drivers.
Only change from Lite (or lite2, qv.c and qd.c do not change) is adding
NetBSD RCS ids.
1996-08-18 21:28:53 +00:00
hpeyerl f5f1393c35 Get rid of dkn stuff. It's deprecated. 1996-08-18 17:01:53 +00:00
leo 6aab91675e Revert to polled-DMA on Falcon. 1996-08-16 08:25:46 +00:00
cgd e295ad51df clean up stray interrupt handling a bit. 1996-08-15 22:17:44 +00:00
mycroft 312e49bad1 After processing an AST, check for another one. Pointed out by ws. 1996-08-15 15:34:03 +00:00
cgd b3703a8fcd oops; fix bogon in last. 1996-08-14 05:47:39 +00:00
cgd 1f675e847d say 'stray kn20aa irq' rather than 'stray PCI irq'; former is more correct. 1996-08-14 05:45:52 +00:00
cgd a96b24415d fix inadvertent reordering of switch which cases by slot number but
is ordered by interrupt number.
1996-08-14 05:44:31 +00:00
thorpej f124a6aaa9 Back out previous; this is a bigger problem than I expected. 1996-08-14 00:32:53 +00:00
thorpej a05a1045f7 The htonl(), htons(), etc. functions return u_long and u_short. Add
casts to the big-endian versions of these calls so that the compiler
won't complain when they're passed as arguments to printf().
1996-08-14 00:07:35 +00:00
thorpej 28df9248ce Fix a typo and an error in color plane offset calculation. Submitted by
Konrad Schroder <perseant@hitl.washington.edu>, PR #2695.
1996-08-13 20:52:43 +00:00
jonathan 1cc7b834e4 * Add declarations for MIPS-III (r4000) locore entrypoints.
* Add initialization code to set MIPS-III exception vector and runtime
  jump-table for locore functions.
* Clean up for -Wall, pass 1.
1996-08-13 08:19:50 +00:00
chuck c0bae2d189 sync with sparc version:
repair XDC_HWAIT macro to handle the fact that waithead is now
unsigned.   should fix xdc watchdog timeouts noted in port-sparc
by nathanw@mit.edu.
1996-08-12 20:28:54 +00:00
chuck cfdb99f44c repair XDC_HWAIT macro to handle the fact that waithead is now
unsigned.   should fix xdc watchdog timeouts noted in port-sparc
by nathanw@mit.edu.
1996-08-12 20:19:27 +00:00
mycroft 1eba3fc001 Use to build `makemodes'. 1996-08-12 00:57:35 +00:00
mycroft 558d72128e Put into . Remove hooks for `config-dependent' and
`device-driver' flags.
1996-08-12 00:51:24 +00:00
mycroft 88578318ca Remove the only use of `config-dependent', as it isn't actually needed. 1996-08-12 00:16:25 +00:00
jonathan 99b43cc2bc * Apply LOCORE -> _LOCORE change so locore.S doesn't #include struct
definitions.

* Include <mips/cpuregs.h> in <cpu.h> so kern_clock.c has user/kernel
  status bits in scope.  Still needs  work; r2k/r4k previous-mode bits
  are different.

* Include <mips/mips_param.h> in pica/include/param.h, for locore declarations,
  and definitions of vm and  other constants that should be shared across
  NetBSD/mips  systems to esnsure user-level binary compatibility.
1996-08-11 23:30:22 +00:00
jonathan 14bd2765a1 Fix old lint and changes not pulled back from pmax, pass1:
* include <mips/locore.h> where callbacks into locore are made, to get
    prototypes in scope.  Cast calls appropriately.
  * include <mips/cpuregs.h>, not the old Sprite-derived <machine/machConst.h>.
    machConst.h is deprecated.
  * dk_establish() must return void, not int.
1996-08-11 22:35:46 +00:00
oki e575454bf6 fixed kernel couldn't boot from most machines. more generic for x68k. 1996-08-11 15:37:42 +00:00
oki 33f551acdb fixed major number of vnd and cd. (PR#2635) 1996-08-11 15:34:56 +00:00
oki c85101f816 drive 2 (or 3) couldn't access with drive 0 (or 1). fixed this. 1996-08-11 15:32:49 +00:00
oki 95d984309f fixed use of uninitialized pointer. 1996-08-11 15:28:36 +00:00
veego 2ca67bae05 Bring in changes from the 1.2 branch which where only in the release 1996-08-11 12:27:50 +00:00
veego 66bb4a489f Disable the Hardwarecursor on the RetinaZ3 to solve the problems with
wrong mouse jumps under X11.
Remove the not working options KGDB from DRACO and GENERIC and added
an option to enable the HWC for the RetinaZ3
1996-08-11 09:48:17 +00:00
mycroft 5c2e33fc0a Put back `waittime' variable. 1996-08-10 13:47:54 +00:00
mycroft cdfce2d74f Theres no microcode/Makefile.inc now. 1996-08-10 08:40:53 +00:00
mycroft cf67f29afe * Add a HOSTED_C_C variable, which strips `-p', `-pg', and
`-nostdinc', and use it when building genassym.
* Use `-nostdinc' just to be sure we're self-contained.
1996-08-10 06:07:57 +00:00
mycroft f94052ed3a * Define CWARNFLAGS and MKDEP in some moderately consistent fashion.
* Make S expand to an absolute path at compile time.
* Use `-S' rather than `-x' to remove debugging symbols.
* Garbage collect unused variables.
* Reverse a handful of port-specific changes that do not correspond to
the common build model and are not needed.
1996-08-10 05:29:24 +00:00
is 0f2514d2a0 Add manu/prod id for the DMI resolver board here. (No, no driver yet) 1996-08-09 18:18:05 +00:00
mrg 5abbf990f3 Change reboot(2) to take two arguments: bootopt like normal and also
a boot string for firmware that can do this, such as the SPARC and
the sun3 models.  It is currently silently ignored on all other
hardware now, however.  The MD function "boot()" has been changed to
also take a char *.
1996-08-09 10:30:23 +00:00
mhitch 79fb4c0c30 Add missing #include of "ppp.h" to get definition of NPPP so that the
pppintr() call is actually included.  This fixes ppp so that it actually
works again.
1996-08-09 05:11:02 +00:00
cgd 440a942944 fix bogus returns from dec_kn20aa_intr_map(), and slightly simplify interrupt
mapping code.  (instead of using a "slot" and multiplying by 4 and adding the
pin number later to get the IRQ, just use base IRQ value and add the pin
number.)
1996-08-07 04:33:21 +00:00
cgd efec732f4d fix a typo, add a function kn20aa_disable_intr() to disable a given
kn20aa interrupt line.
1996-08-07 04:22:40 +00:00
scottr bfb6d245b5 Make the calculation of the PA returned by get_physical() agree with the
comment immediately preceding it:  We have to take the most significant
"numbits" from the returned value "ph", and the rest from our addr.  The
addition used previously introduced a carry which was causing great
difficulty in determining the correct PA of the framebuffer VA passed in
by the booter.
1996-08-06 04:03:33 +00:00
briggs d2ea50dad8 Fix improperly terminated comment. Noticed by brg@dgate.org (Brian Gaeke). 1996-08-05 23:20:46 +00:00
soda 9e413208a9 adding AHA-284x VL front-end to ahc driver by Jason Thorpe. 1996-08-05 21:15:58 +00:00
soda d2bb4c7a65 AHA-284x VL front-end to ahc driver by Jason Thorpe.
This is tested under both netbsd-1-2 branch and main trunk.
1996-08-05 21:14:29 +00:00
scottr 2985b9d676 Initialize conspa so ite_match() can attach to the proper device. 1996-08-05 04:36:45 +00:00
scottr 571519c310 Attach ite semantics to the appropriate grf device. 1996-08-05 01:52:13 +00:00
scottr 91d8e018e2 Attach ite semantics to the appropriate grf device, instead of obio. 1996-08-05 01:26:31 +00:00
scottr 1d6cd98d6a Attach ite semantics to the appropriate grf device, instead of obio. 1996-08-05 01:00:12 +00:00
is 480910aa2e Program around the Fastlane's DMA hardware shortcomings.
Fix by Matthias Scheler (PR #2672), based on information provided by Ralph
Schmidt/Reinhard Grams (Phase 5), forwarded by Jerome Lovy. Thanks to all.
1996-08-04 11:25:36 +00:00
scottr 89f4fddbfe Add a way to tell grf_establish() that internal video doesn't actually
occupy a slot.  This is necessary so that GRFIOCMAP can find the correct
physical address of the framebuffer.  Fixes P550, some LC models, and
perhaps the PB520.
1996-08-04 06:03:47 +00:00
scottr 9931b6b324 MRG vectors for the Quadra 630, from Jason Godfrey <jason@primenet.com> and
Bob Nestor <rnestor@metronet.com> (verified by Jason).
1996-08-04 04:08:25 +00:00
scottr 0e57c5bb15 Be much more careful with setting up the MRG ROM vectors. If we are using
a serial console and the PRAM read/write code happens to use the ADB ROM
vectors, we will have problems because the ADB hasn't been initialized.
For now, the only class of machines that we will set these up on regardless
of whether we are on a serial console or not is the original II series (II,
IIx, and IIcx).  Others can come later.
1996-08-04 03:53:15 +00:00
is af6e1b10a8 Kludge to get back "Fusion Forty" fastkick memory. 1996-08-02 18:00:30 +00:00
ragge fdcabd43da Do not use any emulated insn's in boot program. (in this case cmpc3).
Add strncmp to get around this.
1996-08-02 16:18:39 +00:00
is 8311e65b64 Rewrite of the last bugfix wrt. Z2 bounce buffer memory allocation:
Don't manipulate the memlist passed from the kickstart rom + bootloader, as
we want it unchanged in case we boot via /dev/reload.
Instead, make z2mem_start known to pmap.c; and use int in pmap_bootstrap to
detect the right segment to correct and the amount.

XXX The transformation of z2mem from physical to virtual kernel addresses
in amiga_init.c must not be done before the pmap_bootstrap() call now!
1996-08-02 15:07:23 +00:00
pk 7a26a7952d Fill in `pcb_psr' in the PCB before copying it to the new child PCB. 1996-08-02 13:44:48 +00:00
ragge 5e04d04d68 Add support for booting Vaxstations; from MFM and SCSI. (PROM-based boot). 1996-08-02 11:21:41 +00:00
phil 318585cf7f Removal of some dead code. Moving of data definitions. (From Matthias) 1996-07-31 16:47:30 +00:00
mhitch 5b0728f9a2 Correct update of DMA address register when saving DMA state on a
message-in.  The remaining transfer count restored when a device is
reselected needs to be saved.  The saved value is needed to compute
the number of bytes transferred if another disconnect occurs.  This
fixes a random read data corruption that occurs on certain disks that
may disconnect more than once in the middle of a DMA transfer.
1996-07-30 06:36:33 +00:00
is 721e767ea2 Deal with two bugs in the bounce buffer memory reserve code:
If z2 memory is used for bounce buffers, it used to be stolen in
amiga_init.c, but would not be removed from the memory list there, but
in pmap.c the memory list would just be corrected.

a) the sizes subtracted got out of sync.
b) the memory segment to subtract from was guessed in pmap_init, and not
necessarily right. (e.g. consider a graphics board whose fraem buffer gets
mapped in by the RO at 0x200000, and a memory board which maps at 0x400000)

The new code subtracts the stolen aount of memory from the memlist parameter
given to the kernel by the loader, and pmap_init just doesn't see it anymore.
1996-07-29 20:53:35 +00:00
is 14da7556a0 Add $(DESTDIR). 1996-07-27 18:21:35 +00:00
is faea95eae8 Delete the NOMAN and BINDIR lines. They're imported from ../Makefile.inc
anyway, and the BINDIR here was even wrong (missing $(DESTDIR)).
1996-07-27 18:15:42 +00:00
is 89931b5a83 Add $(DESTDIR) to the BINDIR= 1996-07-27 18:09:42 +00:00
is 894618ff5f Oops; somehow got the wrong version. 1996-07-27 18:08:15 +00:00
is 72855270d6 Get this onto the Main branch. 1996-07-27 17:54:13 +00:00
is 0d2955977e Fix two bugs which were inserted when adding '060 support:
- due to a merge error, 2 line were missing making all the kernel data area
  cache inhibited.
- due to a misunderstanding of "kstsize" units, all but the first page of
  the kernel segment table was copyback cached on the '040/'060 which
  should have caused sporadic user process segmentation faults or
  kernel endless loops on the '060, under heavy load (when lots of
  userland pagetables are in-core), although the problem was not yet
  observed.
1996-07-25 14:38:40 +00:00
is 8918d3a437 Note Blizzard IV and Blizzard 2060 (scsi?) options. While we're here,
correct a typo in a comment.
1996-07-22 11:14:52 +00:00
jtk 517f2ace37 One more fix as pointed out by enami tsugutomo <enami@ba2.so-net.or.jp>:
check slen before accessing cp[1] in GETNUM macro.
1996-07-21 04:01:01 +00:00
leo 1285fe171c Checkpoint integration of 68040 MMU support. Also fix oversight in allocation
of (virtual) I/O area address range.
1996-07-20 20:52:30 +00:00
leo 95c6d227a5 Add a prototype. 1996-07-20 20:48:36 +00:00
ragge cbca944854 LANCE driver for vaxstations. 1996-07-20 19:01:55 +00:00
ragge 88a147e51b CPU determine code. ts driver converted to new config. May work, untested. 1996-07-20 19:00:22 +00:00
ragge 15409eef53 Update config files for VAX8200 and VAXstations. 1996-07-20 18:56:58 +00:00
ragge 38b1264285 SCSI and ST506 support for the VAXstation architecture. 1996-07-20 18:55:09 +00:00
ragge a8f6512e6d VAXstation CPU and serial console support. 1996-07-20 18:29:49 +00:00
ragge 7707223bc4 Locore changes for VS and VAX8200. 1996-07-20 18:20:42 +00:00
ragge 1abb214901 Bugfix causing erroneous address displaying. 1996-07-20 18:17:29 +00:00
ragge fd3f596fa3 Reflect the changes of CPU determination. Add support for VAXstations. 1996-07-20 18:14:41 +00:00
ragge aab842833e Put in rd (ST506 disk), sd and st. 1996-07-20 18:08:19 +00:00
ragge a6c464a5f7 Add vmapbuf/vunmapbuf for VAXstations that need them. 1996-07-20 18:02:47 +00:00
ragge caff7b03d4 Numerous changes to be able to put Bertram Barth's VAXstation support in.
(Some) Support for VAXstation 2000/MicroVAX 2000, VAXstation 3100/76.
1996-07-20 17:58:12 +00:00
ragge 7ac59ffe68 Reworked time handling; now also handles clock chip CPUs correctly. 1996-07-20 17:35:41 +00:00
ragge 5b0992267c Support for VAX8200; the ka820/ka825 CPUs. 1996-07-20 17:33:06 +00:00
jtc d69119311f Provide alternate memmove() entrypoint for memcpy(). This will help
in the transition from b*() to mem*().
1996-07-20 01:53:42 +00:00
ragge c828b7ce6d Support for the VAXBI bus, and KDB50 device driver (MSCP disk).
Parts of this written by Chris Torek at the beginning of time.
1996-07-19 14:26:52 +00:00
is a9c73c9405 Being bored, decided to scan the existing drivers for further additions
to the "not configured" list:
Added some devices, replaced an obvious placeholder.
1996-07-17 14:35:01 +00:00
is 397d9b2133 Add two manufacturer/product id combinations which I stumbled over analyzing
an unrelated bug report. This will make kernel startups a bit more readable
in the presence of unsupported hardware.
Information contributed by Andreas Bussjaeger.
1996-07-17 13:33:28 +00:00
oki 72dd2d1350 XXX grf has some routines call ite function directly.
XXX check whether grf has no associated ite.  fixed PR/2626.
1996-07-17 01:51:43 +00:00
thorpej cc1c24bbec RCS id police. 1996-07-16 23:23:55 +00:00
oki 4e7614daa6 call Debugger() with options DDB, added #ifdef. 1996-07-16 16:29:16 +00:00
oki de609f142b From Ignatios Souvatzis <is@NetBSD.ORG>:
properly distinguish between a bus error and an MMU fault
	on systems with 68030 MMU
1996-07-16 16:18:34 +00:00
cgd 2549add59e rework bootstrap/startup process to match the BSD pmap startup model.
start adding back in tracing printfs.  add support for the virtual page
table.  Now it gets to user-land code, but fails because i've not
added support to the context switch code to activate and deactivate pmaps.
1996-07-16 04:51:16 +00:00
cgd 6713334e56 if !OLD_PMAP set up proc0 pcb asn and ptbr before return to assembly. 1996-07-16 04:42:49 +00:00
cgd f385991329 do TBIA rather than TBIAP after initial context switch 1996-07-16 04:40:32 +00:00
ragge ce30ddd46b Obsoleted by now. 1996-07-15 11:50:40 +00:00
ragge 640bda0d46 Put in boot support for VAX 8200. 1996-07-15 11:11:01 +00:00
cgd 892dd0455b add FIX_UNALIGNED_VAX_FP. It wastes space, but hey, this kernel includes
netweird...
1996-07-15 08:32:30 +00:00
cgd c087540e8c actually implement code to handle unaligned VAX FP reg loads and stores.
Not tested yet, but also not compiled into the standard kernel.
1996-07-15 08:28:09 +00:00
leo 5a1a623e41 keymap -> keymaps 1996-07-15 06:35:43 +00:00
cgd 14c123b28d include all PCI drivers that actually compile, clean up list, alphabetize,
and add descriptions.
1996-07-14 21:14:46 +00:00
cgd 6be650149e include 'microcode' dependencies, in case the aic7xxx driver is ever made
to work on 64-bit systems or in case other drivers need it eventually.
1996-07-14 20:20:10 +00:00
cgd ce626bee48 rename translation buffer invalidation macros to start with ALPHA_,
like all other macros defined in alpha_cpu.h.
1996-07-14 20:00:15 +00:00
cgd c62727acea print the label for the opcode in unaligned access printf as "op" not "type" 1996-07-14 04:36:21 +00:00
cgd 0fb84b3c3f (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Add unaligned access fixup code to fix unaligned quad, long,
and IEEE S and T floating datum loads and stores.  VAX floating data
types not yet supported, and in the future will only be supported if
FIX_UNALIGNED_VAX_FP is defined.  (No point in wasting the space when
most of the time there will never be VAX FP loads and stores.)  Right
now, these features can be controlled only by sysctl.  The (boolean)
integer sysctls machdep.unaligned_print, machdep.unaligned_fix, and
machdep.unaligned_sigbus control printing about unaligned accesses
(defaults on), fixing up of unaligned accesses (defaults on), and
forcing a SIGBUS on unaligned accesses (defaults off).  If an access
is not fixed up (for lack of method or explicit decision), a SIGBUS is
always generated to keep programs from using bogus data.  At some point,
these three choices should be controlled by per-process flags, as well.
1996-07-14 04:22:12 +00:00
cgd 6cb84cdd13 (1) Removed unused (and not likely useful) PALcode assembly stubs.
(2)     Minor cleanup.
1996-07-14 04:21:53 +00:00
cgd b431daf1d1 (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Add a boot flag ('H' and 'h') to make sure the kernel never
reboots after panic.  Useful for debugging kernels which panic early
on after user processes have started, to fend off infinite reboot cycles.
Sort boot flag switch.
(3)     Add unaligned access fixup code to fix unaligned quad, long,
and IEEE S and T floating datum loads and stores.  VAX floating data
types not yet supported, and in the future will only be supported if
FIX_UNALIGNED_VAX_FP is defined.  (No point in wasting the space when
most of the time there will never be VAX FP loads and stores.)  Right
now, these features can be controlled only by sysctl.  The (boolean)
integer sysctls machdep.unaligned_print, machdep.unaligned_fix, and
machdep.unaligned_sigbus control printing about unaligned accesses
(defaults on), fixing up of unaligned accesses (defaults on), and
forcing a SIGBUS on unaligned accesses (defaults off).  If an access
is not fixed up (for lack of method or explicit decision), a SIGBUS is
always generated to keep programs from using bogus data.  At some point,
these three choices should be controlled by per-process flags, as well.
1996-07-14 04:21:33 +00:00
cgd 2db316d75f (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Clean up interrupt handling slightly.
(3)     Add machinery to make [fs]uswintr be a bit more careful when
determining if a fault was actually their fault.  (Unfortunately, they're
not actually implemented now, anyway.)
(4)     Minor cleanup.
1996-07-14 04:21:09 +00:00
cgd 775cca7853 (1) Restructure and improve machine check and correctable error
handling based on information in the 2nd Ed. of the Alpha Architecture
Reference Manual.
(2)     Clean up interrupt handling slightly.
(3)     Clean up badaddr().
1996-07-14 04:20:40 +00:00
cgd 43588a48d5 (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Add machinery to make [fs]uswintr be a bit more careful when
determining if a fault was actually their fault.  (Unfortunately, they're
not actually implemented now, anyway.)
1996-07-14 04:20:22 +00:00
cgd 3a2af0734c (1) Add machinery to make [fs]uswintr be a bit more careful when
determining if a fault was actually their fault.  (Unfortunately, they're
not actually implemented now, anyway.)
(2)     Minor cleanup.
1996-07-14 04:15:27 +00:00
cgd 5beb1a522c (1) Add unaligned access fixup code to fix unaligned quad, long,
and IEEE S and T floating datum loads and stores.  VAX floating data
types not yet supported, and in the future will only be supported if
FIX_UNALIGNED_VAX_FP is defined.  (No point in wasting the space when
most of the time there will never be VAX FP loads and stores.)  Right
now, these features can be controlled only by sysctl.  The (boolean)
integer sysctls machdep.unaligned_print, machdep.unaligned_fix, and
machdep.unaligned_sigbus control printing about unaligned accesses
(defaults on), fixing up of unaligned accesses (defaults on), and
forcing a SIGBUS on unaligned accesses (defaults off).  If an access
is not fixed up (for lack of method or explicit decision), a SIGBUS is
always generated to keep programs from using bogus data.  At some point,
these three choices should be controlled by per-process flags, as well.
1996-07-14 04:15:10 +00:00
cgd 5a367fefb1 (1) Clean up interrupt handling slightly.
(2)     Clean up badaddr() definition.
1996-07-14 04:12:59 +00:00
cgd deb9f8f4b6 (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Restructure and improve machine check and correctable error
handling based on information in the 2nd Ed. of the Alpha Architecture
Reference Manual.
(3)     Removed unused (and not likely useful) PALcode assembly stubs.
1996-07-14 04:12:46 +00:00
cgd 43dae279eb (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
1996-07-14 04:12:03 +00:00
cgd f72a611ccc (1) Clean up interrupt handling slightly.
(2)     Include more headers to bring necessary prototypes into scope.
1996-07-14 04:08:56 +00:00
cgd 644f74f9f2 (1) Clean up interrupt handling slightly. 1996-07-14 04:08:41 +00:00
cgd c915721a81 (1) Include more headers to bring necessary prototypes into scope. 1996-07-14 04:08:21 +00:00
cgd 9905bce8a5 (1) Clean up interrupt handling slightly. 1996-07-14 04:06:27 +00:00
cgd 38a0da40ee allow people to use the (slower) MI in_cksum.c vi 'options GENERIC_IN_CKSUM' 1996-07-14 03:46:05 +00:00
jtk a6c08ef5e8 fix PRs 219, 2295, 2612: speaker bugs on i386 port: remove overruns due to
faulty bounds checking; repair faulty octave limiting.
1996-07-14 01:03:13 +00:00
explorer 41239f1024 Suggestion from Noriyuki Soda <soda@sra.co.jp> to update the comments for
these files, since the driver was updated to deal with more devices.
1996-07-14 00:10:11 +00:00
fvdl 8e6a25cd1d Make this compile with PCVT_SCANSET == 2 (PR #2622) 1996-07-13 23:26:03 +00:00
thorpej eeaf8d15ef Remove the old-style disk instrumentation code. 1996-07-12 21:55:48 +00:00
scottr c92399979d Back out previous; actually, this is never a problem for us. (Duh.) 1996-07-12 17:09:26 +00:00
leo 50bb4b170b Sync with cleanup of atari_init.c 1996-07-12 13:27:37 +00:00
leo 5d0677fbdf Fix a prototype warning. 1996-07-12 13:17:45 +00:00
leo 38cbb4640f Sync with atari_init cleanup 1996-07-12 13:16:31 +00:00
leo a6a57e8631 - Cleanup a bit
- Remove mapping of page zero
- Remove hackery around the first 8 bytes that were mapped to ROM by hardware
1996-07-12 13:14:23 +00:00
leo f8f011861e - Cleanup a bit
- Remove the kernel-jump-to-zero code as page zero mapping is removed
- Weed out cpu040 usage, use mmutype instead
- Fix doboot code
- add fill for page zero
- use m68k/sigreturn.s
1996-07-12 13:12:40 +00:00
cgd 45ca1fa22f rename rei() to exception_return(). rename proc_trampoline() to
switch_trampoline().
1996-07-11 23:02:19 +00:00
cgd 15fbec10d4 rename rei() to exception_return(). rename proc_trampoline() to
switch_trampoline(). clean up trap/exception/syscall entries and
eliminate common code where appropriate.  clean up bootstrapping
code.
1996-07-11 23:01:09 +00:00
cgd 9310a8c8aa don't save and set the USP at every trap entry and exit. It's
unnecessary, and given that there's no reason to waste time and
add complexity in trap handlers.  This means that code which sets and
uses the USP has to be a bit more careful, but that doesn't happen much.
1996-07-11 20:14:17 +00:00
ragge a5b04afcd8 Automatic changing of root device after boot now works. 1996-07-11 19:33:50 +00:00
thorpej bf2c897818 COMPATOBJS -> COMPAT_OBJS (already done on release branch)
Also, sys/compat/common/kern_prot_43.c no longer exists on the trunk,
so don't attempt to compile it.
1996-07-11 16:52:10 +00:00
cgd 105697388d Instead of treating the trap/syscall/exception frame like a struct
containing a substruct (the hardware frame) and an array of registers,
treat it like one big array of registers, for easier and prettier
access.  Update everything to deal with that.
1996-07-11 05:31:16 +00:00
cgd 3e323f7a08 update for new alpha_cpu.h definitions, -Wall cleanups, and make
things compile with the new work-in-progress pmap code.
1996-07-11 03:53:23 +00:00
cgd 192e4b94c0 update for new alpha_cpu.h definitions. 1996-07-11 03:52:44 +00:00
cgd 9aa794a63d update for new alpha_cpu.h definitions 1996-07-11 03:52:16 +00:00
cgd f8f96d4b7d clean up for -Wall 1996-07-11 03:47:55 +00:00
cgd 742da2e049 compile with new pmap code 1996-07-11 03:47:46 +00:00
cgd 4d024971bf update to use new definitions in alpha_cpu.h 1996-07-11 03:46:00 +00:00
cgd 436a892738 Add definitions for:
Process Control Block
	Interrupt/Exception/Syscall Stack Frame
	Machine Check Error Summary Register
	Machine Check Logout Area
clean up some, and add prototypes for all of the CPU instruction and
PALcode function stubs.
1996-07-11 03:44:50 +00:00
cgd 3986cf9624 make this compile with pmap work in progress 1996-07-11 03:33:25 +00:00
cgd 7a83b5d468 some cleanup for -Wall 1996-07-11 03:30:11 +00:00
ragge e9d6f189c1 Add MSCP tape to this file. 1996-07-10 23:51:53 +00:00
ragge 02d0803c80 Add spl4 - spl7 macros, easy to use when playing with buses. 1996-07-10 23:51:08 +00:00
ragge 4d687fb39d Slow down DELAY for 11/785. 1996-07-10 23:48:42 +00:00
ragge 9c24877b23 Remove tmscp protocol definition file; which was actually the same
as the mscp protocol.
1996-07-10 23:44:17 +00:00
ragge 5d6b8719b2 Remove old (tape-only) tmscp driver. Add new uba/qba driver
for common MSCP routines.
1996-07-10 23:42:05 +00:00
ragge cb355cf8d5 Add support for tape drives. More extensive error checking. 1996-07-10 23:35:58 +00:00
scottr 73b545f8f1 Fix from Leo Weppelman: Change accesses to 'ssir' to inline asm macro's. 1996-07-10 18:31:49 +00:00
cgd b119b40c59 it compiles, but DEFINITELY does not run 1996-07-10 03:17:09 +00:00
cgd 77ba495772 temporarily move new pmap code into a seperate header, so changes to
one version won't spam people compiling with the option to get the other.
1996-07-09 22:22:25 +00:00
cgd db0b3ca200 kill a typo 1996-07-09 22:08:28 +00:00
mycroft 353cfc3523 Oops; remove something that shouldn't be here. 1996-07-09 09:23:03 +00:00
cgd c5d7ffec0d fix a few botched names 1996-07-09 04:18:13 +00:00
cgd 0cefc7ef74 clean and update for new defintions, prototypes, etc. 1996-07-09 00:53:48 +00:00
cgd b9659c52a5 add -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes as
CWARNFLAGS in the Makefile, but (for the time being, i.e. until that
works) override that with 'makeoptions' in std.alpha.
1996-07-09 00:46:01 +00:00
cgd 8c87bcbe93 definitions and constants which are part of the Alpha AXP
Architecture, and which relate to the OSF/1 PALcode.
1996-07-09 00:40:58 +00:00
cgd 2ba2d62b9b redefine lots of things in terms of definitions in alpha_cpu.h 1996-07-09 00:39:24 +00:00
cgd 48f29c8bc0 this file should not exist, for now 1996-07-09 00:38:37 +00:00
cgd c3a7b67f3d Everything which would be defined here is defined in
alpha_cpu.h, and this file is no longer necessary for the
Alpha.  However, some machine-independent code (e.g.
/sys/compat/common/kern_exit_43.c) still wants a file with
this name to be around.
1996-07-09 00:37:51 +00:00
cgd c2cd1ae6f5 profile_swpipl() -> _alpha_pal_swpipl() 1996-07-09 00:35:05 +00:00
cgd 04294813bd various cleanup, move setsoft* and spl* into intr.h. 1996-07-09 00:33:20 +00:00
cgd 29a40482db clean up comments, add OSF/1 rdmces and wrmces PALcode function calls. 1996-07-09 00:30:22 +00:00
cgd 2eab3353db delete cruft, clean up constants 1996-07-09 00:28:25 +00:00
oki 6b8ffeacd0 fixed format error 1996-07-08 16:36:28 +00:00
oki f8e8e90f15 move wait for insert system floppy to mountroot_hook stuff 1996-07-08 16:32:12 +00:00
is 7c66bb9bef Cleaned up copyright notice, fixed a typo, and sync the comment in the
GSP assembler file with reality.
1996-07-08 13:28:41 +00:00
abrown 0c6696de2d Take advantage of new am7990 sc_nocarrier() function in order to do auto-
matic media detection on Sun4m machines which support multiple media
(UTP and AUI). New function lenocarrier() switches media type when called
if no link? flags are set.

Redefine link flags for Lance ethernet (le):
	<none>:	switch between media as needed to find carrier (autodetect)
		Preference to whatever the PROM is using (AUI if not booted
		from the network)
	link0:	use UTP port only
	link1:	use AUI port only

This allows Sun4m machines with dual media Lance ethernet adapters to
boot from the network on the UTP port.
1996-07-06 00:01:34 +00:00
leo 4b5bff0d0f During a rather lengthy debug session with Markus Kilbinger (Thanks again!),
we managed to kill the following SCSI-driver bugs for the Falcon:
   - The Byte_Count_zero bit of the falcon DMA controller does not always
     tell the truth! This caused the SCSI-driver to choke on devices that
     disconnected in the middle of a DMA-transfer (mostly removables).
   - Printing debug info about the 5380 on the Falcon is *only* permitted
     when DMA is not active.
   - Some functions forgot to remove possibly pending sofware interrupts
   - Some debug options didn't allow debugging a single target while they
     could easily be made to do so. This is fixed.
1996-07-05 19:35:35 +00:00
leo f1af6a2252 Add missing spl0() call. 1996-07-05 19:22:21 +00:00
mark f5ee3d4ce6 Make sure all routes through vt_curadr() range check the x and y coordinates.
This fixes a nasty bug that could kill the kernel without ever reporting
a panic.
1996-07-05 19:07:55 +00:00
leo ec3f2031a8 Change accesses to 'ssir' to inline asm macro's. 1996-07-04 07:25:13 +00:00
chuck e13b96dbf2 add native mode atm soft interrupt 1996-07-04 03:18:39 +00:00
chuck 59896583e3 add softnet interrupt for native mode atm 1996-07-04 03:17:53 +00:00
pk a6adfa8db7 Fix label sector confusion, per der mouse (PR#2598). 1996-07-03 22:02:09 +00:00
mycroft de867628ce Migrate m->m_data and m->m_len into Q regs to enable 10% code size reduction. 1996-07-03 18:20:38 +00:00
mycroft 7217b32126 Eliminate an instruction. 1996-07-03 14:05:16 +00:00
mycroft b056ddef2a Add a few mbuf fields. 1996-07-03 13:10:46 +00:00
mycroft 8663d62627 Minor cleanup. 1996-07-03 13:07:17 +00:00
mycroft 5f51da7a03 Translate in_cksum() to assembler, and speed it up a bit. 1996-07-03 13:01:40 +00:00
cgd 808bbc3d50 minor cleanups to fit into the NetBSD source tree better (e.g. remove
RCS Log messages).  Haven't even tried to compile it yet.
1996-07-02 22:51:46 +00:00
cgd 255c6be565 pull in the Mach3 alpha pmap, as a base for the new pmap module. Modified
from the mach3 versions only as much as necessary to allow the old
NetBSD/Alpha pmap code to compile.  THESE WILL NOT WORK AS-IS, and at
minimum will require code to implement reference- and modified-bit
emulation.
1996-07-02 22:42:39 +00:00
cgd 6d3cc133ad define OLD_PMAP for all Alpha kernels. Eventually, when a new pmap module
works, this will be removed.
1996-07-02 22:34:02 +00:00
cgd 31f2acb42e if OLD_PMAP defined, don't usee alpha/pmap.c and use alpha/pmap.old.c instead. 1996-07-02 22:32:16 +00:00
cgd 9241c534de if OLD_PMAP defined, pull in <machine/pmap.old.h> and ignore the other
contents of this file.
1996-07-02 22:22:20 +00:00
ragge 1e3ab3cb1e uda -> ra and tms -> mt (mscp changes). 1996-07-01 21:50:29 +00:00
ragge d969a7e16e Changed data structures due to removal of old config system. 1996-07-01 21:31:36 +00:00
ragge f6fb3bf1ab Change to new config and to support new MSCP system. 1996-07-01 21:24:48 +00:00
ragge f85a693859 Update to match new MSCP device handling.
Remove support for old config system.
1996-07-01 21:07:25 +00:00
ragge dfdb4e6863 Remove old config support code. 1996-07-01 20:48:58 +00:00
ragge f19e0bacab Rewritten and moved to vax/mscp. 1996-07-01 20:47:27 +00:00
ragge 60af617a5d Totally new approach for MSCP devices; they are now handled more like SCSI.
All Unibus dependencies are removed.
Can support different controllers on different buses.
Allows cloning of devices.
TODO:
	Write support for MSCP tapes.
1996-07-01 20:41:30 +00:00
ragge 97756165b8 Remove code that took care of old config devices. Don't support
old config anymore, all devices should use new config by now.
Add structures to handle DMA devices using new config.
Fixed bug that caused unwanted ubareset's on 11/780.
1996-07-01 20:17:56 +00:00
abrown 410fea854a Implement asm macros to allow 64-bit load/store to alternate address space.
Use new ldda() and stda() to make MultiCache initialization work on
SuperSparc-II machines (these machines require 64-bit access, even
to a 32-bit register).
1996-07-01 18:01:26 +00:00
is 6e4842626b There are Blizzard boards without SCSI options - we need to probe for the
existence of the SCSI hardware in the boards adress region.
Thanks to Oster Nerhus for the detailed bug report and to Ralph Schmidt for
the recommended probing method.
1996-07-01 08:00:02 +00:00
pk d71930e6c9 Put native NetBSD disk label in a piece of wasteland within a SunOS label.
read_disk_label() uses the native label if present.
write_disk_label() constructs a SunOS label around the native one.
1996-06-29 22:38:11 +00:00