Commit Graph

1322 Commits

Author SHA1 Message Date
briggs 4b6b2bb9f8 SONIC driver--originally from pica. Much work done by Dennis Gentry and
Takeshi Yanagisawa to get it working.  Some minor hacking by me here and
there.
1997-03-15 20:26:35 +00:00
briggs 6f71d88157 Specify SONIC for 040 powerbooks and for CLASSQ and CLASSQ2 machines. 1997-03-15 20:17:40 +00:00
briggs 6fc69ce7cb Add SONIC driver. Works on my Q700. Untested elsewhere. 1997-03-15 20:07:37 +00:00
scottr cc391b64de Remove obsolete MAC68K_BROKEN_VIDEO option. 1997-03-15 18:35:47 +00:00
scottr 702735759b Defer enabling NuBus slot interrupts until all slots have been probed
and drivers attached.  This removes the need for the MAC68K_BROKEN_VIDEO
option.  From Allen Briggs.
1997-03-15 18:33:44 +00:00
is 07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
briggs 3d16e320d6 Move physaccess/physunaccess prototypes. 1997-03-15 05:39:45 +00:00
mycroft f868dff8d3 Define the `cleankernel' target consistently with other ports. 1997-03-14 23:27:29 +00:00
scottr 12098dae8a Add missing call to ae_nb_get_enaddr(), from <kei_sun@ba2.so-net.or.jp>.
Fixes PR 3312.
1997-03-10 17:55:15 +00:00
briggs 47392571c5 Undo some damage that CVS somehow let me get away with. 1997-03-06 02:14:51 +00:00
briggs a2173962b8 Copyright foo. 1997-03-05 15:19:18 +00:00
scottr fd81cf2b92 Correct offsets in the memory size probe; bus_space uses byte offsets. Fix suggested by
Ken Nakata.
1997-03-04 15:12:04 +00:00
scottr 956ec2a47c The previous optimization of the interrupt handlers was a bit too
agressive.  Being a little more conservative pays the biggest dividend.
1997-03-04 04:11:52 +00:00
scottr f749003301 Fix part of last change: don't mask off the high bit of the VIA IER until
the interrupt has been unflagged.  Problem noticed by Paul Goyette.
1997-03-03 04:19:06 +00:00
scottr 93d8b2c8b0 Add the MAC68K_BROKEN_VIDEO option, which is a hack that delays enabling
NuBus interrupts until an Ethernet card is attached.
XXX  This should go away at some point, obviously.
1997-03-02 06:43:00 +00:00
scottr 152b0ab7d2 Adapt to sbc driver/attachment split 1997-03-01 20:22:16 +00:00
scottr 421abedbfe Split bus-dependent autoconfig code from the driver. This allows for
the future addition of a Duo Dock front end.
1997-03-01 20:18:58 +00:00
scottr df7f40213a Allow A1 to be used for passing arguments to ROM routines. Also, clean up
debugging printf() formats.  From Allen Briggs and Paul Goyette.
1997-03-01 17:20:34 +00:00
scottr a4b0e4c070 Protect MCLSHIFT definition so users can customize MCLBYTES, from Jonathan. 1997-03-01 06:57:45 +00:00
scottr 42be6ebfa7 Fix prototype for espmatch() 1997-03-01 06:38:36 +00:00
scottr 215c0b896a Convert to generalized VIA interrupt registration 1997-02-28 15:50:50 +00:00
scottr 705c637874 Define aesetup() to return an int, so that the attach function can
determine whether there was an error (if so, we unmap the slot space
for this device).  Use this functionality to tell the attach function
that we couldn't clear the card's buffer.

Also in aesetup(), eliminate the bogus repetition of the error message
we print when the buffer clear actually fails.  Noticed by Hauke Fath.
1997-02-28 08:56:05 +00:00
scottr 0b3eb5f3f2 Remove duplicate <machine/bus.h> include that crept in. 1997-02-28 07:54:02 +00:00
scottr 17fdd597df Move the NuBus-specific watchdog function from if_ae.c to if_ae_nubus.c,
and allow the attach function to override the default watchdog.  Also,
do some minor cosmetic surgery (rename bus space tags/handles and some
KNFing I missed the first time around).
1997-02-28 07:52:44 +00:00
scottr 359101fb43 Convert to generalized VIA interrupt registration 1997-02-28 07:46:59 +00:00
scottr 8f37a2983b Generalize VIA1 and VIA2 interrupt registration a bit, and do a slight
optimization on the VIA interrupt handlers.
1997-02-28 07:41:41 +00:00
briggs 5933eeaaed Add ncr53c9x flag to esp. 1997-02-27 14:07:59 +00:00
briggs 868344972a mac68k-specific portion of m.i. ncr53c9x driver. 1997-02-27 14:06:25 +00:00
gwr 2de163471e Minimal changes to adapt to removal of NCR5380_PERMIT_RESELECT.
This driver should be updated to allow per-target control over
disconnect/reselect, but I will leave that to the port masters.
1997-02-26 22:29:08 +00:00
scottr a2a40938b1 Move bus-independent setup code back into if_ae.c; enable the use of
configuration flags.  For NuBus cards, attempt to find the MAC address
in the declaration ROM resources.
1997-02-25 06:36:04 +00:00
fvdl 115b6d92fa Define ALIGNED_POINTER 1997-02-24 23:16:53 +00:00
scottr f03ee128a3 Add support for the Kinetics EtherPort SE/30, from Ken Nakata. 1997-02-24 07:34:18 +00:00
scottr 965cffaf20 NUBUS_SLOT_TO_PADDR -> NUBUS_SLOT2PA 1997-02-24 06:20:04 +00:00
scottr 155eb6369a Update to reflect ae driver/attachment code split 1997-02-24 06:05:20 +00:00
scottr 6b0774a865 Split out the NuBus attachment code, and convert to bus.h 1997-02-24 06:03:55 +00:00
scottr 5e77023e13 The bus space tag really isn't used; stop the compiler from complaining. 1997-02-24 05:55:14 +00:00
scottr 9c91a181d6 Update copyright and license. 1997-02-24 05:47:33 +00:00
scottr 7524900a0f Remove niggles that made it into the copyright, and correct the
license terms (added Jason Thorpe).
1997-02-22 04:56:17 +00:00
scottr db2ab09cf2 Add bus.h, in light of recent nubus_attach_args changes 1997-02-22 02:17:40 +00:00
scottr ec6725f267 Make this compile again; missed this file when fixing nubus.h errors. 1997-02-22 00:00:34 +00:00
scottr 5c8de7766a Implement bus_space_set_multi_N(), bus_space_set_region_N(), and
bus_space_copy_N().  Bus space support is now complete.
1997-02-20 05:53:00 +00:00
scottr b1e5912330 We need bus.h now, due to recent nubus_attach_args change. 1997-02-20 00:23:25 +00:00
scottr c079123e89 Add a bus space tag field to nubus_attach_args 1997-02-19 06:21:49 +00:00
scottr 25c49f276f Revive in simplified form; include GENERIC and enable md_root hooks. 1997-02-14 06:27:20 +00:00
scottr 150538df02 Add memory disk pseudo-device 1997-02-14 06:23:14 +00:00
scottr 0b91c7f0cb Use MAKEBOOTDEV macro to construct bootdev 1997-02-14 06:15:30 +00:00
scottr 662401449a Remove incorrect comment re: bootdev 1997-02-14 06:13:50 +00:00
scottr 967e257614 Implement bus_space_alloc() and bus_space_free(), borrowed from i386. 1997-02-14 06:10:53 +00:00
scottr 6066941306 Add prototypes for bus_space_alloc() and bus_space_free() 1997-02-14 06:02:57 +00:00
scottr f6f4cf1d40 Remove redundant info from bus_space_map() diagnostic in ascattach() 1997-02-13 19:55:48 +00:00
scottr 0f53b79607 #include <sys/systm.h> to bring in printf() prototype 1997-02-13 19:42:42 +00:00
scottr 603a2bd8f4 Add hsk and drq locators, which will be used only by SCSI devices. 1997-02-13 19:01:07 +00:00
scottr ed573bfb7c Split the obio interface into two forms: optional address only for most
devices (obio_norm) or optional address, HSK, and DMA for 5380-based SCSI
controllers (obio_scsi5380).  Update all obio-attached drivers
appropriately.

Also, attach fpu to mainbus, rather than obio.
1997-02-13 18:59:06 +00:00
scottr 570e1f1eb2 Attach the fpu to mainbus, not obio 1997-02-13 17:29:43 +00:00
scottr 7e1c9811f9 Move asc0 here from std.mac68k. Remove COMPAT_SUNOS, as it's dead weight
on this machine.  Add some minimal driver descriptions.
1997-02-12 04:47:05 +00:00
scottr 362d7e5473 Move asc0 here from std.mac68k. Add some minimal driver descriptions. 1997-02-12 04:31:35 +00:00
scottr 8807428ab4 Move asc0 here from std.mac68k, and enable PFIL_HOOKS option so that
the if_ipl LKM can be loaded.  Add some minimal driver descriptions.
1997-02-12 04:29:10 +00:00
scottr cdcbc525e6 Move asc to individual kernel config files 1997-02-12 04:26:05 +00:00
scottr f5ac9d5deb Add a bus space tag field to obio_attach args, initialize it in
obio_search(), and use it in the ASC driver.  Thanks to Jason for
pointing this out.  Minor KNFing while I'm here.
1997-02-11 22:44:25 +00:00
scottr f9e4592ed5 Add an addr locator to obio. 1997-02-11 21:25:07 +00:00
scottr 78098d98dc Remove dependency on asc driver, using generic console bell callback
instead.  Bell parameters are now entirely self-contained, as they
are managed by ite-specific ioctl()'s.
1997-02-11 07:51:18 +00:00
scottr 77e960bf17 Complete revamp of Apple Sound Chip support. The ASC can now be accessed
as a real device whose registers and buffers are available through mmap(2),
which makes further development of the driver considerably less painful.
1997-02-11 07:47:36 +00:00
scottr 2a2a70d39c Initialize and use extent manager for bus space mapping functions.
Tweak bus_space_{tag,handle}_t types slightly to facilitate this.
1997-02-11 07:37:41 +00:00
scottr 154aa56b01 Add asc character device; kill cdev_grf_init() macro. 1997-02-11 07:35:49 +00:00
scottr 876ad8d706 Console bell callback support prototypes 1997-02-10 22:13:40 +00:00
scottr e0be798a98 Add needs-flag to asc driver 1997-02-10 22:11:27 +00:00
scottr c1370f4435 Add console bell callback support 1997-02-10 22:06:20 +00:00
perry 19d153fc48 Nuke some options GENERIC residue. 1997-02-04 04:57:10 +00:00
perry 0b3a46d6b3 Nuke some GENERIC residue. 1997-02-04 04:31:55 +00:00
scottr d8deae5099 Convert to bus.h; this removes the need for the ASCBase global. 1997-02-03 17:36:00 +00:00
scottr f042e543c9 Implement basic bus space access macros/functions.
Note:  we currently do not use the extent manager.
1997-02-03 17:32:54 +00:00
scottr df2df037ca copypage() is now declared in m68k/cpu.h 1997-02-02 21:33:30 +00:00
scottr ea6b85a8db copypage() is now declared in m68k/cpu.h 1997-02-02 18:19:55 +00:00
thorpej 07ded04c6f Use zeropage() in pmap_zero_page() 1997-02-02 08:20:38 +00:00
thorpej 6bab515bce zeropage -> devzeropage, and make it static. 1997-02-02 08:18:58 +00:00
thorpej 2282bab9ea Garbage-collect extra copypage() 1997-02-02 08:17:46 +00:00
scottr 37fbc156dc Now that we can compile without warnings, enable -Werror 1997-02-01 21:55:23 +00:00
thorpej bb1cdc5027 Yet Another NFSCLIENT -> NFS. (I must be getting tired.) 1997-01-31 06:13:42 +00:00
thorpej 87e3085155 Adopt for new file system and root spec grammar. 1997-01-31 06:02:19 +00:00
thorpej 739f23a219 This file is obsolete; this information is now generated by config(8). 1997-01-31 05:12:49 +00:00
thorpej 5f46d3130a Use new machine-independent setroot(). 1997-01-31 01:51:17 +00:00
scottr b19a7547d4 Forgot PFIL_HOOKS; correct this. Also, organize options less insanely. 1997-01-26 18:41:19 +00:00
scottr db2c833016 Add LKM, ipfilter 1997-01-25 22:44:08 +00:00
scottr 818ebb4e22 Add `options LKM' 1997-01-25 22:41:40 +00:00
scottr 017d77a9f9 `::\' => `:\' ; per recent sys/lib/*/Makefile.inc changes. 1997-01-25 22:39:32 +00:00
thorpej 7b40f5228e "md" is declared in sys/conf/files, now. 1997-01-21 09:39:20 +00:00
scottr d19b3500e3 Define single-instruction implementations of setsoft*() and siroff(),
and declare ssir as volatile.  This avoids the problem of lost softints
should a hard interrupt cause a softint to be flagged while we are
clearing a different one.

Idea from atari mtpr.h, modified/optimized by me.
1997-01-20 05:08:00 +00:00
scottr b8b7d0ba0c Kill uninitialized variable warning in trap(), plus mir KNFing 1997-01-20 04:30:05 +00:00
scottr 7c87e4e501 #ifdef out write hack, and fix possible uninitialized variable. 1997-01-20 04:27:49 +00:00
scottr 1c4a180f28 Compile with -O2 now. 1997-01-20 00:31:42 +00:00
scottr 82f443d641 Minor formatting cleanup, and remove an old comment 1997-01-20 00:30:56 +00:00
perry b89a3425b7 Eliminate obsolete TIMEZONE and DST options.
Eliminate obsolete global kernel variable "struct timezone tz"
Add RTC_OFFSET option
Add global kernel variable rtc_offset, which is initialized by
RTC_OFFSET at kernel compile time.
on i386, x68k, mac68k, pc532 and arm32, RTC_OFFSET indicates how many
minutes west (east) of GMT the hardware RTC runs. Defaults to 0.
Places where tz variable was used to indicate this in the past have
been replaced with rtc_offset.
Add sysctl interface to rtc_offset.
Kill obsolete DST_* macros in sys/time.h
gettimeofday now always returns zeroed timezone if zone is requested.
settimeofday now ignores and logs attempts to set non-existant kernel
timezone.
1997-01-15 01:28:28 +00:00
scottr 4ee6502e8b Whoops, forgot to include ipfilter.h 1997-01-13 23:46:11 +00:00
scottr d186ff0991 Add ipfilter (pseudo-) device. 1997-01-13 23:34:04 +00:00
scottr 121971f622 Compile with -O2 (need to update COPTS so we still get -m68030) 1997-01-13 07:08:51 +00:00
scottr 9792072925 Compile kernels with -O2 1997-01-13 07:06:51 +00:00
scottr e14ea342e3 Some changes to make ADB work when compiled with -O2:
- extdms_done is modified by things outside of our direct control;
    it needs to be declared `volatile'
  - CountADBs() fails when we call it the second time.  We can work
    around this by telling extdms_init() how many ADB devices we have,
    only calling CountADBs() once.
1997-01-13 07:01:23 +00:00
mikel aed485cdf2 add 'pseudo-device ccd' where necessary; PR kern/1830. 1997-01-11 09:11:37 +00:00
scottr 233a1d3f57 Use only FC $1 in TT0 in get_pte(), and map the entire address space. We
can then access the page table entries directly using user data space with
the MOVES instruction.  This should resolve the problem on the Duo 2x0
series with hard hangs in this function.

Warning:  do not call any function that accesses user data space (FC $1)
from get_pte()!
1997-01-09 07:28:12 +00:00
scottr 8bd4e6d18e Sync with current 040-related development:
- Figure out what CPU we have, rather than assuming the Booter knows,
   and set cputype variable accordingly.
 - Carefully rearrange the order of various MMU/ATC operations so as to
   eliminate possible side effects.  Also, re-order the initial bootstrap
   code to make clear what various sections of this code do.
 - Adjust to combined initenv()/genenvvars() (the latter has assimilated
   the former).
 - Add a function code argument to ptest040().
 - Use symbolic constants from assym.h where appropriate (and defined).
 - Some style cleanup.
1997-01-09 07:24:39 +00:00
scottr cd2817bffb Sync with current 040-related development:
- Combine initenv() and getenvvars().
 - Hardwire some PowerBook internal video addresses, from Takashi Hamada.
 - When printing out the machine model/CPU, use the new cputype variable
   instead of the Booter's PROCESSOR environment variable.
 - Use new ptest040() function code argument (though for now, the MMU is
   disabled on the 040).
 - Revert previous change in get_physical() that seems to have broken
   some machines; use an ADD instead of an OR when determining the PA.
 - Some (very minor) style cleanup of asm code.
1997-01-09 07:20:46 +00:00
scottr f832503ac5 Add CACHE40_ON, for locore 1997-01-09 07:14:17 +00:00
scottr 4211100164 Don't unlock the NuBus on PowerBooks; this bit controls the Power Manager
chip on these machines.  From Takashi Hamada.
1997-01-07 07:45:45 +00:00
scottr a54b50a58c If 040 MMU is enabled, attempt to get memory mapping. (At present, this
can't happen because we've faked a disabled MMU.)
1997-01-07 07:44:01 +00:00
scottr c0af85f6f3 Add CPU_XXX macros to assym.h 1997-01-07 07:42:17 +00:00
scottr 3753710f38 Fix typo in last: cf->cf_unit -> sc->dv.dv_unit 1997-01-07 07:40:46 +00:00
scottr 3afad659e2 Add basic support for a Duo dock SCSI controller, from Daishi Kato.
XXX - This could probably be improved if all docking hardware has a
NuBus declaration ROM that we can get to.  This should be investigated
further.
1997-01-05 10:01:42 +00:00
scottr 8a30e067ed Sync COMPAT_SUNOS trace trap handling with other m68k ports; no
functional change.
1996-12-31 06:32:17 +00:00
pk f750d179be rename: ramdisk => md 1996-12-28 23:42:33 +00:00
pk 603b61c3e0 rename: ramdisk => md 1996-12-28 23:22:07 +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
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
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
scottr 5b7c2842ae Take avantage of COPTS appropriately. 1996-12-17 07:33:01 +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
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
thorpej d502e68402 Fill in sc_link.max_target 1996-12-10 21:27:16 +00:00
thorpej ef5333043b Copyright assigned to The NetBSD Foundation. 1996-12-09 17:46:44 +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
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
scottr 86b50e865d Add missing ss, uk, and rd devices to cdevsw 1996-11-21 08:33:22 +00:00
scottr 1e3acdfc88 Kill the conspa variable, and use mac68k_vidphys instead. Where we used
to initialize conspa was invalid on non-040 machines, since we don't
know which MMU we're using on those, yet.  On the other hand, by the time
we get to check_video() on the 040 machines, the MMU has been disabled.
Compromise:  get the video PA in setmachdep() on the 040, and in
check_video() on the others.  (This is not optimal.  *sigh*)
1996-11-19 07:17:47 +00:00
scottr 1ad7567f7f - Move non-optional options SWAPPAGER, VNODEPAGER, and DEVPAGER to std.mac68k
- Catch up with vm/vmparam.h (remove MACHINE_NONCONTIG)
- Fix space/tab niggles in SPOT config
- MYSTERY now includes the esp driver
1996-11-19 00:38:05 +00:00
briggs 1372eab6c5 Include MACHINE_NONCONTIG here. It isn't needed on all macs, but it has been
used for all macs for quite some time.
1996-11-15 14:21:00 +00:00
briggs cca82e59db Remove scsi96 driver. 1996-11-15 14:16:42 +00:00
thorpej a0dffcafc2 Use bitmask_snprintf(). 1996-11-13 07:00:30 +00:00
scottr 563b939722 Remove unused MAXFDESCS option. Closes PR 2927, noticed by Erik
Bertelsen <erik@aarhus1.uni-c.dk>.
1996-11-11 18:02:57 +00:00
scottr b0aafba53e Remove TIMEZONE and DST, as they default to 0 anyway 1996-11-11 17:56:11 +00:00
scottr df8e1c8a09 VT220-related emulation additions:
- Add reset attribute sequences for bold, underline, and reverse
 - Add insert/delete line sequences
 - Recognize but ignore G0/G1 character set sequences

Performance:
 - Speed up clear_line() when clearing the entire line

Also, some stylistic changes for checking/setting scroll region bounds
and in putc_getpars().

These changes make the ITE work properly with the 1.2 termcap file.
1996-11-10 09:35:04 +00:00
briggs 51d658e787 Check to make sure that ASCBase is accessable before claiming that we
have an Apple Sound Chip.  Make sure that we have configured the device
before allowing accesses to ASC memory.  Among other things, this
prevents the 660AV and 840AV from getting a kernel bus error when trying
to beep on the console.
1996-11-09 17:26:26 +00:00
briggs f75767628e Dump out type, code, v on panic for no pcb in trap(). 1996-11-09 15:36:14 +00:00
cgd 8a3333b2a9 Fix an inconsistency that came in with Lite: setrq() was renamed to
setrunqueue(), but remrq() was never renamed.  Rename remrq() to
remrunqueue().
1996-11-06 20:19:19 +00:00
scottr 047ae9a04d LC III+/Performa 460 series use same vectors as the LC III.
Verified by Bob Nestor and Pete Nush.
1996-11-05 07:20:09 +00:00
briggs bbd25d0c38 - Move offset for 2nd scsi controller (Q900/Q950/WGS95) to 0x402
instead of 0x400.
- Restructure interrupt handling for more performance--continue to
  read/write data as long as the device keeps us in a data xfer phase.
  There is still a lot of room for speed improvement here.  Perhaps it
  lies is speeding up the interrupt path in general?
1996-11-04 21:20:01 +00:00
scottr 9da963b048 Remove include of ncr96scsi.h, since it's now an artifact, and the
unused include of ncrscsi.h while we're here.
1996-11-02 07:18:53 +00:00
briggs 7685e9d70b Improve reliability on my Q700, at least. Was getting the occasional
glitch--an extra byte on occasion.
1996-11-02 06:52:24 +00:00
briggs 20c7b48d76 macs with scsibase offset 0x10000 from iobase use a SCSI CLK of 16.5MHz
(off PrimeTime)--all others appear to use 25MHz.
1996-10-30 05:39:21 +00:00
briggs d5e58a6b20 Fix spelling error in panic. Double since of ResHndls[]. Use I/O kludge on
all systems, not just CLASSII--A bunch of Quadras apparently have hardcoded
I/O addresses in the ROMs, too.
1996-10-30 05:30:57 +00:00
briggs a4d7da78e4 Add esp1 at obio? 1996-10-29 06:16:29 +00:00
briggs 50c2da8f27 Interrupt-driven, but slow, NCR 53c96 driver for the 040-based macs. Contains
some guesses for the machines that have two of these buggers (I don't have
such a machine).  This driver is a copy of the sparc/alpha esp with a
minimum of changes--after we get it performing a bit more respectably,
we should see about re-normalizing the sources.
1996-10-29 06:08:58 +00:00
briggs 32e07b8b3a Add prototype for mac68k_register_scsi_b_irq(). 1996-10-29 05:42:16 +00:00
briggs 215afb273e Flag Q900/950 as having a second scsi controller. 1996-10-29 05:36:15 +00:00
briggs 487a6bebfc Add a function to install an interrupt handler for 2nd scsi bus (Q900/950).
Take a guess that it's at via2, bit 0 (where 5380 DRQ is).
1996-10-29 05:33:37 +00:00
briggs 35667ae56f ncr96scsi -> esp for consistency with sparc and alpha. 1996-10-29 04:26:57 +00:00
briggs 3c34dac1d0 Obsolete. 1996-10-29 04:23:50 +00:00
briggs 1e7948408e Most 040 models have scsi regs at base + 0x10000, not base + 0xf000
like the Q700.
1996-10-28 03:54:08 +00:00
briggs 4675aac3cf Set SCSIBase properly on Quadras. Separate out CLASSAV. From Dave Huang
<khym@bga.com>.
Also fix COMPAT_NOMID to compile again.
1996-10-23 14:12:37 +00:00
briggs 0363bd9a12 Include ether.h since we're now using NETHER, also use NETHER > 0 not NETHER. 1996-10-23 13:35:41 +00:00
scottr 289b73be85 Fix a raft of printf format strings and some declaration problems for
the case where we define DEBUG.  From Erik Bertelsen, closes PR 2871.
1996-10-21 05:42:23 +00:00
briggs 084b3f6a4c Fix two bugs noticed by Taras Ivanenko <ivanenko@ctpa03.mit.edu>
via.c: don't allow spl to remain at splhigh on error.
mainbus.c: Make sure that variable is initialized.
1996-10-21 01:59:31 +00:00
scottr a6865e3d2b Don't try to reference nfsbootdevname if we have no ether devices.
Fixes PR 2860, from Paul Goyette <paul@pgoyette.bdt.com>.
1996-10-21 00:31:18 +00:00
scottr 6bb6fab4ce Changes from the hp300 trap.c:
- Fix up usage of MBD_ISPID().  (from Jason Thorpe)
- Be careful not to deref bad pointers in the MMU fault handler.  (ditto)
- Ensure trap() never deals with a NULL proc, and if our proc has
  no pcb, punt.  (Suggested by Gordon Ross)
1996-10-17 06:42:44 +00:00
scottr ccaecc2dda Some changes from hp300 (thanks Jason!):
- Initialize proc0.p_addr just after setting up the kernel stack, to avoid
  getting NULL pointers in trap().  Change suggested by Gordon Ross.
- Panic if main() returns.
1996-10-17 06:32:13 +00:00
scottr e326c3123f We're paranoid; disable the IIci's cache card. 1996-10-16 04:00:28 +00:00
scottr 3370e6c419 External cache card on the IIci is enabled by default;
use DISABLE_EXT_CACHE to turn it off.
1996-10-16 03:55:21 +00:00
scottr a6bbf8fc5b Define MACH_CLASSQ2, used by Performa 575.
Remove susword() because of prototype conflict with <sys/systm.h>.
1996-10-15 14:42:49 +00:00
scottr b599d4a3f6 We no longer need 'options GENERIC' 1996-10-15 07:25:55 +00:00
scottr dca6a7e025 Critical fix from Bill Studenmund: if CTS is deasserted and then
immediately reasserted before we get a chance to process the interrupt,
we can inadvertantly get stuck with zs_tx_stopped set.  Move the delta
detection to the hard zs interrupt handler; the softint handler
will notice that something has happened with CTS and restart the
transmitter if it's asserted.
1996-10-15 06:57:43 +00:00
scottr 6cd86aa894 BSD -> NetBSD 1996-10-15 06:41:48 +00:00
scottr f4eeb69eab Several 68040/68LC040-related changes; we're not there yet, but this
brings us closer to basic operation.

  - Verified/updated ROM vector entries for many systems, and new vector
    table entries for LC 520, LC 575/577/578, and Quadra 950
  - Implement a new machine class (MACH_CLASSQ2) for the LC 575 series
  - Use the ptest040() helper function in get_physical().

Also, in straytrap(), only enter the debugger #ifdef DDB.
1996-10-15 06:40:39 +00:00
scottr 31d8d5c176 Implement ptest040(), a helper for get_physical(). 1996-10-15 06:31:07 +00:00
scottr 534c6caa6b Add EXEC_AOUT and EXEC_SCRIPT 1996-10-14 07:01:10 +00:00
christos ad67e04154 backout previous kprintf change 1996-10-13 16:50:51 +00:00
christos 40ecbf8e72 backout previous kprintf change 1996-10-13 03:21:13 +00:00
scottr 2903ee4df5 Add second Quadra class and machineid (gestalt value) for Color Classic II 1996-10-12 07:35:29 +00:00
christos 06555645c2 printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:24:36 +00:00
cgd e36e19cf1e repoint at shared aout_machdep.h, not exec.h 1996-10-08 13:07:26 +00:00
cgd 472889f8e4 moved to aout_machdep.h (via repository copy) 1996-10-08 12:57:37 +00:00
scottr 872c12f95f Update ROM vectors for PB 500 1996-10-07 04:05:02 +00:00
scottr 4d11703980 Disable 040 caches in doboot(), and some minor stylistic changes to make
the hand-coded assembly consistent throughout.
1996-10-07 01:37:20 +00:00
scottr d036bd234e Sync with Chris' changes to the alpha setroot() and friends to resolve some
problems with entering "halt" at prompts.
1996-10-04 14:07:03 +00:00
scottr 0f40954572 Add ROM vectors for the LC III, verified by Mike DeLima
<miked@netrover.com>.
1996-09-27 06:55:29 +00:00
scottr 21761e4ec0 Update for recent config(8) changes. 1996-09-22 06:49:09 +00:00
briggs 197a86e724 Don't allow get_physical to attempt get_pte if mmutype is 68040.
(At least until get_pte works on the 040).
1996-09-18 03:33:23 +00:00
scottr d13cb4414c Convert `fpu_type' to the more consistent `fputype', and use the new
#defines from m68k/include/cpu.h.
1996-09-16 18:00:26 +00:00
scottr 3cf197cef1 Somehow the last change got mangled. Do over. 1996-09-16 05:24:21 +00:00
scottr 014f910806 Add ZS_CONSOLE_ABORT 1996-09-16 04:35:25 +00:00
scottr debc473329 - Add a ZS_CONSOLE_ABORT option to enable a serial console break to
force a drop to the system debugger.  WARNING:  this used to be the
  default behavior!  Modify custom kernel configs accordingly.
- Check for ZS_HWFLAG_CONABRT in zs_abort(), and don't abort if it's
  not set.
1996-09-16 04:32:28 +00:00
scottr 696dd783a4 Move check for ZS_HWFLAG_CONABRT to zs_abort(). 1996-09-16 04:19:26 +00:00
scottr a4b22a046a Implement poll(2). 1996-09-14 06:08:01 +00:00
scottr 19d545f1ae - Implement poll(2)
- Convert splhigh() -> spladb()
- Guard references to adb_evq_tail and adb_evq_len!
1996-09-14 06:01:12 +00:00
scottr 81543dc7c9 Implement poll(2). 1996-09-14 05:54:53 +00:00
scottr 4ddcca6bc8 Update prototypes to match Chris' cfprint_t change. Also, update comments
in autoconf.h to reflect the mainbus.c split.
1996-09-14 05:43:24 +00:00
scottr e09160652b Sync with m68k/cpu.h changes. Also, test fpu_type instead of mmutype
when handling fp exceptions.
1996-09-12 21:25:31 +00:00
scottr d3beac22f0 Sync with m68k/cpu.h changes 1996-09-12 21:25:29 +00:00
scottr 027b51f1f9 Define spladb() (conservatively, at least for now). 1996-09-12 20:39:19 +00:00
scottr d407764c72 Add uk, remove ch device 1996-09-12 05:34:59 +00:00
scottr 7a6fae71e8 Add ss, uk SCSI devices 1996-09-12 05:33:41 +00:00
scottr a453e56ffd This is the development/debug machine 1996-09-12 04:50:43 +00:00
scottr 7b33c93009 Update to current reality. 1996-09-12 04:49:52 +00:00
thorpej e469c7beca Use <m68k/cpu.h>. 1996-09-11 00:11:42 +00:00
thorpej 1710b024c0 Document COMPAT_M68K4K, but leave it disabled by default. 1996-09-10 22:26:50 +00:00
mycroft b3ffba62a6 Move strip(1) flags into a separate variable, so that $STRIP can
be passed to subordinate make(1)s.  Remove $TOUCH.  Add HOSTED_CC,
HOSTED_CPPFLAGS, and HOSTED_CFLAGS, and use them when depending genassym.
1996-09-09 21:06:55 +00:00
thorpej de5110f41e Use <m68k/exec.h>. 1996-09-08 01:00:35 +00:00
mycroft e6dd44f034 Use SIGBUS iff we get a legitimate bus fault. Use SIGSEGV for page protection
violations (per Solaris, SVR4, AIX, Linux, Irix, and SunOS).
1996-09-07 22:26:41 +00:00
mycroft 2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
mycroft fc3def4096 Remove duplicate declarations of LKM functions and macros. 1996-09-05 15:46:22 +00:00
mycroft b3eac79b64 tty stop functions really should return void, not int, and certainly not both. 1996-09-02 06:43:16 +00:00
mycroft 30a617c634 Wrap the default definition of `S' in `.ifndef'. 1996-08-31 21:40:47 +00:00
cgd 71ad30d0e9 (1) set scsi_link channel to either the appropriate channel (if a
multi-channel driver), or to SCSI_CHANNEL_ONLY_ONE if a
    single-channel driver.
(2) use scsiprint() rather than a locally-defined autoconfig print
    function, and kill any locally-defined print function.
1996-08-28 18:59:15 +00:00
cgd 2a73ef60b7 change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +00:00
mrg b8e9f36083 add COMPAT_12. 1996-08-26 23:39:36 +00:00
scottr 7dff0aa247 After servicing an interrupt, check to see that there's not another
one pending before we clear the interrupt flag.  This avoids a condition
where the line appears to go catatonic (which is particularly easily
triggered by pppd).  From Bill Studenmund <wrstuden@loki.stanford.edu>.
XXX - we should probably log this if it gets excessive.
1996-08-26 14:09:19 +00:00
mycroft 558d72128e Put into . Remove hooks for `config-dependent' and
`device-driver' flags.
1996-08-12 00:51:24 +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
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
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
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
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
scottr c92399979d Back out previous; actually, this is never a problem for us. (Duh.) 1996-07-12 17:09:26 +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
briggs 4043c93c6f Format the NetBSD Id string like it is elsewhere 1996-06-23 15:30:51 +00:00
briggs 9f01fc6ee4 Add a comment about the last change. 1996-06-23 15:02:58 +00:00
briggs 8d1606fcb9 Move splimp back to spl2 (from spl4). 1996-06-21 21:51:15 +00:00
scottr 231a66aa69 Minor style cleanup (avoid goto); no functional change. 1996-06-21 06:12:45 +00:00
scottr 08a2715e38 Test for serial console in adb_init() early, and abort if we're using it.
Initiialize ROM vectors regardless of this so that the PRAM RTC read and
write work regardless of whether a serial console is in use.
1996-06-21 06:10:56 +00:00
scottr 02f1ebc3de SPOT is now an NFS server, too. 1996-06-20 04:11:55 +00:00
scottr 758ea43e99 Completely revamp setroot() and friends. Since Chris' version of this code
is close to how I reworked it, I pulled in the (essentially MI) NetBSD/alpha
and added the appropriate support around it.

- No need for the GENERIC kernel config option.
- NFS-mounted root and swap are supported.
- If we can't figure out where the root filesystem is from what the Booter
  tells us, ask the user.
- Split the mainbus autoconfig code to a separate file.

Also, update/add copyrights as appropriate.
1996-06-19 03:21:03 +00:00
briggs 37472fd212 Remove Alice copyright. 1996-06-19 02:20:54 +00:00
briggs 09eef8070d Remove Alice copyright and comment from '92. 1996-06-19 02:19:13 +00:00
scottr 6c3aabe226 Update some comments, and the copyright 1996-06-19 01:47:28 +00:00
briggs b4c60fd801 port-m68k/2547: wrong bus error detection from is@beverly.rhein.de. 1996-06-15 21:25:21 +00:00
scottr 3f231717ab raise splimp() to spl4(); we need to block zs interrupts, too. 1996-06-14 04:42:50 +00:00
scottr 26f0e61730 Update for current reality 1996-06-11 03:39:20 +00:00
scottr c72d612674 Deal with interrupt flags more carefully, and use the correct offset
for PB500-series SCSI I/O.  While I'm here, update the copyright.
1996-06-11 03:20:23 +00:00
scottr c74cec9954 Add missing cpu model info for Powerbook 500, and correct the ROM
vectors for the same.
1996-06-11 03:11:06 +00:00
scottr 3bac925c32 Fix bounds check for fpu description array. 1996-06-11 02:56:22 +00:00
scottr 5057bf9c78 Add Powerbook 500 series machine ID 1996-06-11 02:52:54 +00:00
briggs 9697ef6407 Add machine/viareg for prototype of via_set_modem(). 1996-06-09 04:27:59 +00:00
briggs 2b220a1581 Implement suggestion from is -- handle _fpfault differently for 040 and better. 1996-06-09 01:53:42 +00:00
briggs b6759b3498 Fix typo. 1996-06-07 13:04:46 +00:00
briggs 04ad749207 Disable ROM vectors if booting from either serial console. PR#2525. 1996-06-07 10:48:26 +00:00
briggs 00c097a027 Changes from Bill Studenmund to support external clocks on the modem port. 1996-06-07 10:41:30 +00:00
briggs 4498ce3c90 Add constants for booter interface. 1996-06-07 10:27:19 +00:00