Commit Graph

1164 Commits

Author SHA1 Message Date
briggs
1a7331ca01 cosmetic changes. 2005-01-08 04:24:05 +00:00
briggs
c5aa4aada2 Make obio match multiple times to allow access to devices on systems
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.
2005-01-08 03:24:58 +00:00
briggs
8bf4e0c153 - Use the O'Hare mask on systems with /bandit/ohare. This basically treats
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.
2005-01-07 06:11:20 +00:00
briggs
8dce4f9979 - If pm_pmgrop_pm2() fails, return after splx() -- there's no sense in
continuing.
- Note that there really needs to be bounds-checking on PMData.
2005-01-07 05:03:08 +00:00
briggs
f537a73f9e Increase buffer from 32 bytes to 128 bytes in PMData. I have observed a
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.
2005-01-07 04:59:58 +00:00
briggs
38ffdc4f30 Back out part of previous. OF_open() works fine with /chaos/control, but
is a bit picky about interrupts.
2004-12-17 05:44:12 +00:00
briggs
78776b6678 - Avoid looking for lost interrupts when recalculating interrupt priorities.
- Use atomic_setbits_ulong() for softintr().  Thanks to Tim Kelly for
  reminding me about atomic_*.
2004-12-17 05:42:30 +00:00
briggs
6aba8dfd50 * Don't try to clear the screen if we failed to map it.
* Don't try to call OF_open for /chaos@F0000000/control@B -- it hangs.
2004-12-15 04:52:05 +00:00
briggs
f31e26a3dd Several changes from Michael Lorenz. Adapted from PR port-macppc/27680.
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.
2004-12-09 04:37:30 +00:00
briggs
d6a3e9bb82 Apply patch from Makoto Fujiwara (and Timm Wetzel) in PR port-macppc/15505
to enable internal modem for KeyLargo and Pangea.
2004-12-09 03:19:56 +00:00
briggs
a20a28eda2 Add wi devices so that devices can install over wireless LAN.
Addresses part of PR port-macppc/26466 from Chris Scott.
2004-12-09 02:54:18 +00:00
briggs
2268345329 Add VIA Rhine to install kernel.
Addresses PR port-macppc/26459 from Daan Goedkoop.
2004-12-09 02:46:01 +00:00
briggs
82b7820648 Revamp the old-world interrupt support based on better understanding of
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.
2004-12-09 01:43:37 +00:00
thorpej
d5083f78be Use "struct scsipi_command" in internal command structures so that
we have enough space for 16-byte CDBs.
2004-12-07 22:23:45 +00:00
briggs
f06d48126e Bring in some code to deal with devices in the lower slots of a UMAX S900
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.
2004-12-07 15:42:08 +00:00
briggs
6fec1d4f73 OpenFirmware on machines with the "Grackle" bridge assign an 'AAPL,interrupts'
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.
2004-12-07 13:22:51 +00:00
briggs
52af8374ec Minor (old) patch from me to correct CPU ID of 604e vs. 604ev.
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.
2004-12-06 04:15:03 +00:00
thorpej
7a60e77293 bus_dmamap_load_mbuf(): Skip zero-length mbufs.
kern/24811
2004-11-28 17:34:45 +00:00
manu
6dfb732236 For and from bouyer@: call wdc_init_shadow_reg(chp) only after chp has
been initialized. Cause the hard disk to be detected again on the iBook G4,
and probably other machines.

Weee, I can run -current again!
2004-11-25 15:24:14 +00:00
bouyer
fe4d81db48 pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) serie of
controllers. Tested with a PDC20375 (2 SATA, one PATA) controller on sparc64.
Added to all kernel config file which had pdcide(4).
2004-11-24 20:49:17 +00:00
jklos
befeef393b Add comments for OFB_ENABLE_CACHE (doesn't work on iMacs) and awacs
(causes lockups). OK'd by Tsubai Masanari (port maintainer).
2004-11-12 02:23:09 +00:00
christos
30fc143afa Add COMPAT_BSDPTY to the rest of the config files. 2004-11-10 17:54:02 +00:00
mbw
57baf75956 Reverting.
Apparently these patches cause problems.
2004-11-08 17:36:07 +00:00
mbw
7f3392aa22 Add disklabel recognition for another Apple file type
"BZB_ROOTFS_NEW        0xc000"
Also closes PR 10046
2004-11-07 04:24:33 +00:00
thorpej
e9818f5b5e When adding/deleting multicast addresses, only whack the address
filter if the interface is marked RUNNING.

Fixes kern/27678.
2004-10-30 18:08:34 +00:00
yamt
18f717bb90 constify audio_hw_if, midi_hw_if, and radio_hw_if. 2004-10-29 12:57:15 +00:00
thorpej
dc2f2fbe74 Centralize the declaration of booted_device and booted_partition. 2004-10-23 17:07:37 +00:00
augustss
0c21c79cc5 s/uax/axe/ 2004-10-23 14:00:50 +00:00
wrstuden
6f8b7762c6 Now that we have ofwboot load at 0xe00000, it doesn't make sense for
this kernel to load at 0x800000 - move back to the default and we
have around 13 MB of space for the kernel.
2004-10-21 21:53:58 +00:00
wrstuden
df1f02ad54 Now that we have ofwboot load at 0xe00000, it doesn't make sense
for this kernel to load at 0x800000.
2004-10-21 21:52:51 +00:00
manu
6e3c639957 IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
2004-09-04 23:29:44 +00:00
drochner
46289e1fef Phase out the use of a string as first "attach args" member to control
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.
2004-08-30 15:05:15 +00:00
aymeric
a225650d5c postpone the calling of wdc_init_shadow_regs(), to follow MI changes.
Thanks to Jukka Andberg for finding that bug.
2004-08-23 08:54:39 +00:00
thorpej
9cc521a148 Move most of wdc_softc into a new atac_softc structure that contains
info common to all types of ATA controllers.
2004-08-20 06:39:37 +00:00
thorpej
4b51cecfc2 - Split the register handles out of struct wdc_channel into a separate
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.
2004-08-14 15:08:04 +00:00
thorpej
ab20886f7b Don't bother with bits that tell of the presence of optional callbacks;
just check the function pointers for NULL.
2004-08-13 03:12:59 +00:00
mycroft
5e289bdf22 Don't pass in a MAC address -- yet. 2004-08-07 17:27:30 +00:00
drochner
a5a5473c25 remove now unnecessary "pci_enumerate_bus" definitions 2004-07-29 16:55:25 +00:00
atatat
f68a9f1ff2 Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
2004-07-15 03:53:44 +00:00
manu
e317692907 When the keyboard type is unknwon, don't attach both ADB and USB, as the
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..
2004-07-03 16:24:57 +00:00
bouyer
21e9a36edc Add options P1003_1B_SEMAPHORE
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.
2004-06-28 21:07:47 +00:00
abs
bd8eb3b5ed Add (commented out) ALTQ options to all GENERIC-like files 2004-06-26 07:32:05 +00:00
mrg
b83f6fa528 Add re; Realtek GbE. 2004-06-22 16:28:28 +00:00
itojun
596aec9a47 have pf and pflog pseudo-device (commented out).
reviewed by matt, perry, christos
2004-06-22 14:09:49 +00:00
jmc
84fafa3db5 Ignore errors on some rm -rf's for platforms that aren't quite
POSIX compliant
and return errors on r/o source (FreeBSD) for -rf. Fixes PR#25022
2004-06-21 18:20:08 +00:00
manu
a7a2220651 We used to look in psuedo-hid (with a typo) device for the keyboard. On
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.
2004-06-20 21:02:07 +00:00
manu
72f86bef61 We used to look for the interrupt controller through the "interrupt-controller"
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)
2004-06-20 20:50:13 +00:00
christos
c22e4ed8cd ptm is now mandatory, depends on pty, and can be disabled with -DNO_DEV_PTM 2004-06-18 15:02:29 +00:00
christos
0399e839cf Add pseudo-device ptm on all the generic flavored kernels. 2004-06-16 15:07:39 +00:00
schmonz
5f5633de40 Support userconf(4) ("boot -c"). Reviewed by Bill Studenmund. 2004-05-31 03:22:45 +00:00