Commit Graph

22 Commits

Author SHA1 Message Date
scottr 63526c1ff1 New and improved console framebuffer initialization and autoconfig. This
resolves a great many issues, including Performa 58x interrupt handling
and offset displays on some models.

Programs that depend on the old (pre-NetBSD 1.1) grf interface may break.
That's actually a separate issue uncovered by this code, not caused by it.
1998-08-12 02:36:36 +00:00
scottr da2f2cb79f Store the PA of the framebuffer in the softc. This eliminates the need
for the sc_phys callback; we can just store the PA in the grfbus attach
args, rather than a function pointer, which simplifies the code nicely.
1998-06-02 02:14:20 +00:00
scottr 741cf383d0 Adjust prototype for ga_phys field in grfbus_attach_args. 1997-08-03 07:17:31 +00:00
scottr cd74e0d31a Adjust grf_establish() prototype. 1997-08-03 06:52:23 +00:00
scottr dfa83e4861 Overhaul grf drivers to correct recent problems with X and dt
(address error faults), as well as other reported problems:

 - Simplify grfmv_phys() to work like grfiv_phys(), and eliminate the
   second argument to both, as we don't use it anyway.
 - Handle fbbase and fboff consistently throughout.  Closes PR 3862.
 - Eliminate grfaddr() by pulling it into grfmmap(), which is the
   only place it was used, previously.
 - grfmap() now gets the physical address of the framebuffer from
   the appropriate driver, rather than try to compute it by itself.
   Be careful with aligning the base to a page address and increase
   the length of the mapped region appropriately.  Closes PR 2867.
1997-08-03 06:25:56 +00:00
scottr ef8ecc05da cli_offset should be a bus_size_t now, and cli_value is an unsigned 32-bit int. 1997-07-26 08:28:20 +00:00
scottr ee80f1200e Implement new NuBus slot space mapping/probing code, utilizing bus.h (and
our MD bus_space_probe() extension).  This has several side effects:

 - NuBus drivers must map and unmap slot space, rather than relying
   on this happening before they are attached.
 - Functions exported to NuBus drivers from nubus.c now need to be
   supplied with a bus space tag/handle pair.
 - Old bus map/peek functions can be garbage collected, as can pmap
   support for the same.

Because of some current limitations of the bus space specification, we
are violating the abstraction in grf_mv (NuBus grf driver).  All such
violations are clearly marked /* XXX */, and must be addressed when
the specification is updated.
1997-05-11 19:11:27 +00:00
briggs a64bc3c19c Clear the interrupts properly on an E-Machines Futura II LX and make a wild
guess at clearing them on a Futura II SX/DSP and RasterOps ColorBoard 364.
Thanks to Michel Chalufour <michelc@tiac.net> for loaning me the II LX.
1997-05-01 03:34:07 +00:00
briggs a3d5b32614 - Support DAFB machines mo' better. Actually detect if a monitor is
present and initialize a few things.  No color support, yet.
  - Properly disable interrupts for DAFB.
  - Rearrange for better nubus display card interrupt support.  Only register
    an interrupt if we know how to clear it.
  - Complain if we don't know about a given display card and can not install
    an interrupt handler.
  - Change MYSTERY stuff to cb264--still need to get the DrSW so we can
    actually call the routine to clear an interrupt from this card.
1997-04-01 05:41:59 +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 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 d048582c60 New grf attachment code, mostly by Jason Thorpe with some cleanup by me.
This will allow dt and X to work with a generic kernel, rather than
compiling different kernels that attach grf0 to a NuBus adapter or
internal video.
1996-05-19 22:27:04 +00:00
briggs 37163421a3 Prototype for -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-uninitialized
Also change the device probing scheme to use something a bit more rational.
A current side-effect is that nubus cards are double-mapped.  I expect
to fix that shortly.
Also change splclock() to block everything but serial hardware interrupts.
1996-05-05 06:15:56 +00:00
briggs 3758e23b79 Add another routine for the grf display-specific drivers to return a physical
address.
1995-07-06 17:13:45 +00:00
briggs 59b4da2b39 Add new nubus handling that's much more robust.
Update via, if_ae, and grf accordingly.
Revamp grf.
1995-04-29 20:23:36 +00:00
briggs 6bc53a2398 Handle grf_softc in the config.new manner.
Should have been done long ago.
1995-04-21 03:44:13 +00:00
briggs 13efb6c197 First pass of KNFication. Needs more. 1995-04-21 02:47:35 +00:00
briggs bb035dee62 KERNEL -> _KERNEL 1995-03-23 20:19:16 +00:00
cgd 4fdae7a0ae new RCS ID format. 1994-10-26 08:45:48 +00:00
briggs e99f003a7d Update to current work in progress. This includes an update to
use config.new.
Numerous updates to console so it works better on the SE/30 screen.
Some nice changes from Brad Parker for handling NuBUS and an ethernet
driver that I haven't worked on, yet.
1993-11-29 00:32:22 +00:00
briggs 8ae7f8bceb The current MacBSD architecture sub-directory for NetBSD-0.9--more or
less.  It needs some help to get to be -current.  Support for minimal
hardware on the SE/30, II, IIx, and IIcx exists.
1993-09-29 06:08:37 +00:00