where there might be devices under two I/O bridges (like PowerBook G3s).
Attempt to have devices under 'gatwick' share parental interrupt. This
may still need some work, but a step in the right direction.
From Tim Kelly.
the mediabay interrupt as an internal interrupt.
- Simplify gc_reenable_irq() a bit.
- Ensure that interrupts are off when we call gc_reenable_irq().
- Make the handling for stuck interrupts on old-style interrupt controllers
a bit more robust. If we get stuck interrupts, don't panic. Just disable
them.
response from the device that had 120 bytes of data. The lack of any
bounds-checking in pm_direct.c allowed that data to smash the stack in
the interrupt handler.
1. Reset SCSI bus & MESH on reboot to keep OF happy.
2. Tweak interrupt handler to clear interrupt register again if we get a
CMDDONE interrupt with DMA active and a 0 fifocnt. It's not clear why
this is necessary, but is well documented in some other open source
drivers. This enables synchronous mode to work.
3. Dump a little more information if we do get a timeout.
the hardware. Inspired by Michael Lorenz with some hints from OpenDarwin
sources. Thanks to Michael for beginnings of the patch and for both
discussion and testing. Thanks to Tim Kelly and Riccardo Mottola for
further testing.
and perhaps PowerMac 9500. These slots sit behind a PCI-PCI bridge, and
devices in those slots inherit the PCI-PCI bridge interrupt. Derived from
a patch submitted in PR port-macppc/26341 by Michael Loreny, who was also
diligent in prodding me to look at it.
property instead of 'interrupt-map' and 'interrupt-map-mask' properties.
Adjust for this by checking for the latter, and if they're not present
(and the parent isn't 'pci-bridge'), then look for 'AAPL,interrupts'.
Problem analyzed and patched by Tim Kelly on port-macppc. I modified the
patch to move the fallback into find_node_intr(), tweaking some previously-
disabled code.
Tested by Tim Kelly.
Also patched from Tim to
- Delay longer for second CPU spinup.
- Only attempt to print CPU speed and cache configuration on certain
CPU types.
which bustype should be attached with a specific call to config_found()
(from a "mainbus" or a bus bridge).
Do it for isa/eisa/mca and pci/agp for now. These buses all attach to
an mi interface attribute "isabus", "eisabus" etc., and the autoconf
framework now allows to specify an interface attribute on config_found()
and config_search(), which limits the search of matching config data
to these which attach to that specific attribute.
So we basically have to call config_found_ia(..., "foobus", ...) where
such a bus is attached.
As a consequence, where a "mainbus" or alike also attaches other
devices (eg CPUs) which do not attach to a specific attribute yet,
we need at least pass an attribute name (different from "foobus") so
that the foo bus is not found at these places. This made some minor
changes necessary which are not obviously related to the mentioned buses.
wdc_regs structure, and array of which (indexed per channel) is pointed
to by struct wdc_softc.
- Move the resulting wdc_channel structure to atavar.h and rename it to
ata_channel. Rename the corresponding flags.
- Add a "ch_ndrive" member to struct ata_channel, which indicates the
maximum number of drives that can be present on the channel. For now,
this is always 2. Add an ATA_MAXDRIVES constant that places an upper
limit on this value, also currently 2.
kernel will panic if an USB keyboard is plugged later.
Of course there will be a problem on a desktop machine with an USB attached
keyboard, but that cannot be fixed without access to such a machine..
to all GENERIC-like kernel config files where SYSV* options were already
present (commented out if the SYSV* options are commented out).
Fix lib/25897 and lib/25898.
newer machines (iBook G4), it is in pseudo-hid (without typo), and there
are no `adb-kbd-ihandle or `usb-kbd-ihandles methods. In that situation,
just try to attach anything we can.
This patch fixes spurious inputs on iBook G4.
property of "/chosen" node in OF tree. On newer machines (e.g: iBook G4),
this property does not exist. We look for the node "mpic" as a second attempt
after a failure in /chosen.
This makes the iBook G4 keyboard almost usable (there are still some spurious
inputs on system startupi)