#
272461 |
|
02-Oct-2014 |
gjb |
Copy stable/10@r272459 to releng/10.1 as part of the 10.1-RELEASE process.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
266019 |
|
14-May-2014 |
ian |
MFC r258268, r258271, r258272, r258274, r258275, r258427, r258694, r258696, r258697, r258757
Do not assume a value for #address-cells when parsing the OF translations map. This allows the kernel to get farther with OpenBIOS on 64-bit CPUs.
Actually look up #address-cells instead of assuming it is correlated with the Uninorth version number.
#interrupt-cells belongs to the iparent, not the device parent.
Add a sysctl to allow disabling resetting the OF syscons.
For PCI<->PCI bridges, #address-cells may be 3.
Make RTAS calls, which call setfault() to recover from machine checks, preserve any existing fault buffer.
badaddr() is used only in the grackle PCI driver, so move its definition there. Clean up a spurious setfault() declaration as well.
This [phyp_console] driver doesn't need the /options node, so don't check for it.
Use the Open Firmware-based CPU frequency determination as a generic fallback if we can't measure CPU frequency. This is also useful on a variety of embedded systems using FDT.
|
#
264375 |
|
12-Apr-2014 |
andreast |
MFC r260607, r260610, r260934:
r260607: The onyx codec works also as module, so add it.
r260610: Described in the man page but not implemented. Here it comes, atomic_swap_32/64. The latter only for powerpc64.
r260934: Fix the resource information for the i2s-a node on certain G5 PowerMacs. This is the first step needed to get the snapper codec working on those machines. The second step is to enable the corresponding I2S device and its clock.
Tested on machines where the snapper codec was already working, a G4 PowerBook and a PowerMac9,1 with a Shasta based macio. The PowerMac7,2/7,3 with a K2 based macio can now also play sound.
|
#
256281 |
|
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
253825 |
|
30-Jul-2013 |
jhibbits |
Add the macio attachment for wi(4). Partially obtained from NetBSD.
Reviewed by: adrian Obtained from: NetBSD (partially)
|
#
230398 |
|
20-Jan-2012 |
nwhitehorn |
Prevent an error resulting from signed/unsigned comparison on systems that do not comply with the OF spec.
Submitted by: Anders Gavare MFC after: 1 week
|
#
221519 |
|
06-May-2011 |
nwhitehorn |
Do not use Open Firmware to open the device and instead program its start on our own. This prevents hangs at boot when using a bm(4) NIC where the cable is not plugged in at boot time.
Obtained from: NetBSD MFC after: 1 week
|
#
218184 |
|
02-Feb-2011 |
marcel |
Rename INTR_VEC to MAP_IRQ. From the OFW or FDT we obtain a PIC handle with interrupt pin. This we map to the resource called SYS_RES_IRQ.
|
#
209298 |
|
18-Jun-2010 |
nwhitehorn |
Provide for multiple, cascaded PICs on PowerPC systems, and extend the OFW interrupt map interface to also return the device's interrupt parent.
MFC after: 8.1-RELEASE
|
#
186805 |
|
06-Jan-2009 |
nwhitehorn |
Add a new quirk type so that the MacIO driver will assign memory resources belonging to a devices children, in analogy to the way we handle interrupts for SCC serial devices. This is required to counteract overly deep nesting on onboard audio devices.
Submitted by: Marco Trillo
|
#
186728 |
|
03-Jan-2009 |
nwhitehorn |
Fix the OFW interrupt map parser to use its own idea of the number of interrupt cells in the map, instead of using a value passed to it and then panicing if it disagrees. This fixes interrupt map parsing for PCI bridges on some Apple Uninorth PCI controllers.
Reported by: marcel Tested on: G4 iBook, Sun Ultra 5
|
#
186128 |
|
15-Dec-2008 |
nwhitehorn |
Adapt parts of the sparc64 Open Firmware bus enumeration code (in particular, the code for parsing interrupt maps) to PowerPC and reflect their new MI status by moving them to the shared dev/ofw directory.
This commit also modifies the OFW PCI enumeration procedure on PowerPC to allow the bus to find non-firmware-enumerated devices that Apple likes to add, and adds some useful Open Firmware properties (compat and name) to the pnpinfo string of children on OFW SBus, EBus, PCI, and MacIO links. Because of the change to PCI enumeration on PowerPC, X has started working again on PPC machines with Grackle hostbridges.
Reviewed by: marius Obtained from: sparc64
|
#
184299 |
|
26-Oct-2008 |
nwhitehorn |
Add ADB support. This provides support for the external ADB bus on the PowerMac G3 as well as the internal ADB keyboard and mice in PowerBooks and iBooks. This also brings in Mac GPIO support, for which we should eventually have a better interface.
Obtained from: NetBSD (CUDA and PMU drivers)
|
#
183882 |
|
14-Oct-2008 |
nwhitehorn |
Convert PowerPC AIM PCI and nexus busses to standard OFW bus interface. This simplifies certain device attachments (Kauai ATA, for instance), and makes possible others on new hardware.
On G5 systems, there are several otherwise standard PCI devices (Serverworks SATA) that will not allow their interrupt properties to be written, so this information must be supplied directly from Open Firmware.
Obtained from: sparc64
|
#
179746 |
|
12-Jun-2008 |
kevlo |
Return an error code rather than ENXIO when both rman_init() and rman_manage_region() failed.
Reviewed by: marcel
|
#
178599 |
|
26-Apr-2008 |
marcel |
Take into account the size of the interrupt cell. It's determined by the parent for interrupt resources. This corrects parsing of the interrupts property.
With parsing of the property fixed, add all interrupts to the resource list. Bump the max. number of interrupts from 5 to 6 as scc(4) attached to macio(4) has 6 interrupts (3 per channel).
Submitted by: Nathan Whitehorn <nathanw@uchicago.edu>
|
#
174822 |
|
20-Dec-2007 |
marcel |
Apply missing s/rv/res/g in previous commit.
|
#
174820 |
|
20-Dec-2007 |
jhb |
MFamd64/ia64/i386: Only set the rman bus tags and handles in bus_activate_resource() methods instead of splitting it up between bus_alloc_resource() and bus_activate_resource().
Glanced at by: marcel
|
#
174782 |
|
19-Dec-2007 |
marcel |
Redefine bus_space_tag_t on PowerPC from a 32-bit integral to a pointer to struct bus_space. The structure contains function pointers that do the actual bus space access.
The reason for this change is that previously all bus space accesses were little endian (i.e. had an explicit byte-swap for multi-byte accesses), because all busses on Macs are little endian. The upcoming support for Book E, and in particular the E500 core, requires support for big-endian busses because all embedded peripherals are in the native byte-order.
With this change, there's no distinction between I/O port space and memory mapped I/O. PowerPC doesn't have I/O port space. Busses assign tags based on the byte-order only. For that purpose, two global structures exist (bs_be_tag and bs_le_tag), of which the address can be taken to get a valid tag.
Obtained from: Juniper, Semihalf
|
#
157895 |
|
20-Apr-2006 |
imp |
Set the rid for any resource obtained from rman_resource_reserve.
|
#
153050 |
|
03-Dec-2005 |
marius |
Convert to use the recently introduced set of ofw_bus_gen_get_*() for providing the ofw_bus KOBJ interface.
Tested by: grehan
|
#
139825 |
|
07-Jan-2005 |
imp |
/* -> /*- for license, minor formatting changes
|
#
133862 |
|
16-Aug-2004 |
marius |
Instead of "OpenFirmware", "openfirmware", etc. use the official spelling "Open Firmware" from IEEE 1275 and OpenFirmware.org (no pun intended).
Ok'ed by: tmm
|
#
133589 |
|
12-Aug-2004 |
marius |
- Introduce an ofw_bus kobj-interface for retrieving the OFW node and a subset ("compatible", "device_type", "model" and "name") of the standard properties in drivers for devices on Open Firmware supported busses. The standard properties "reg", "interrupts" und "address" are not covered by this interface because they are only of interest in the respective bridge code. There's a remaining standard property "status" which is unclear how to support properly but which also isn't used in FreeBSD at present. This ofw_bus kobj-interface allows to replace the various (ebus_get_node(), ofw_pci_get_node(), etc.) and partially inconsistent (central_get_type() vs. sbus_get_device_type(), etc.) existing IVAR ones with a common one. This in turn allows to simplify and remove code-duplication in drivers for devices that can hang off of more than one OFW supported bus. - Convert the sparc64 Central, EBus, FHC, PCI and SBus bus drivers and the drivers for their children to use the ofw_bus kobj-interface. The IVAR- interfaces of the Central, EBus and FHC are entirely replaced by this. The PCI bus driver used its own kobj-interface and now also uses the ofw_bus one. The IVARs special to the SBus, e.g. for retrieving the burst size, remain. Beware: this causes an ABI-breakage for modules of drivers which used the IVAR-interfaces, i.e. esp(4), hme(4), isp(4) and uart(4), which need to be recompiled. The style-inconsistencies introduced in some of the bus drivers will be fixed by tmm@ in a generic clean-up of the respective drivers later (he requested to add the changes in the "new" style). - Convert the powerpc MacIO bus driver and the drivers for its children to use the ofw_bus kobj-interface. This invloves removing the IVARs related to the "reg" property which were unused and a leftover from the NetBSD origini of the code. There's no ABI-breakage caused by this because none of these driver are currently built as modules. There are other powerpc bus drivers which can be converted to the ofw_bus kobj-interface, e.g. the PCI bus driver, which should be done together with converting powerpc to use the OFW PCI code from sparc64. - Make the SBus and FHC front-end of zs(4) and the sparc64 eeprom(4) take advantage of the ofw_bus kobj-interface and simplify them a bit.
Reviewed by: grehan, tmm Approved by: re (scottl) Discussed with: tmm Tested with: Sun AX1105, AXe, Ultra 2, Ultra 60; PPC cross-build on i386
|
#
133521 |
|
11-Aug-2004 |
marius |
- Use the rman_get_* functions instead of reaching into struct resource. - Remove __RMAN_RESORUCE_VISIBLE again. It's no longer required either because of the above change or because struct rman is no longer hidden.
Reviewed by: grehan Tested by: cross-compile on i386
|
#
131400 |
|
01-Jul-2004 |
grehan |
Catch up with __RMAN_RESOURCE_VISIBLE change
|
#
131102 |
|
25-Jun-2004 |
grehan |
Catchup to now-required <sys/module.h> for PowerPC
|
#
117017 |
|
29-Jun-2003 |
grehan |
Allow the interrupt controller to be probed - this picks up the Heathrow PIC, while not affecting the OpenPIC.
|
#
113647 |
|
18-Apr-2003 |
grehan |
Remove sparse addressing hack. The macio ATA driver no longer requires this.
|
#
112428 |
|
20-Mar-2003 |
grehan |
- Add PCI ID for Paddington i/o controller, used in old G3's - Add ID for the Intrepid i/o controller, used in new 12"/17" PowerBooks - put IDs in chronological order
|
#
111119 |
|
19-Feb-2003 |
imp |
Back out M_* changes, per decision of the TRB.
Approved by: trb
|
#
110439 |
|
06-Feb-2003 |
benno |
Add a driver that attaches to the gpio node of macio and allows you to enter DDB when the interrupt button (aka the "programmer's switch") is pressed.
This isn't unfortunately an NMI, but it's a handy way to get into DDB quickly if needed.
|
#
110437 |
|
06-Feb-2003 |
benno |
Add a cast to silence a warning.
|
#
110436 |
|
06-Feb-2003 |
benno |
If a device tries to allocate an interrupt that's not on it's resource list, assume that the child knows what it's doing and add it to the resource list.
|
#
110080 |
|
30-Jan-2003 |
benno |
Rework of how memory resources are discovered and dealt with in macio. - Store the OpenFirmware "reg" property in the macio ivars. - Use a struct to define the structure of a "reg" property entry. - Discover all memory ranges, not just the first. - In ata_macio, manage our own range and hand out our own allocations using bus_space_subregion. - Fix bus_space_subregion to handle subregions of sparse maps.
|
#
109623 |
|
21-Jan-2003 |
alfred |
Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
|
#
108994 |
|
09-Jan-2003 |
benno |
Allocate interrupts from the resource list.
|
#
108991 |
|
09-Jan-2003 |
benno |
- Remove the ignore list and replace it with a quirk list of sorts. - Add a quirk type for devices whose interrupt properties are actually attached to their children. - Flag the "escc" (zs-alike serial controller) device as having this quirk. - Rework the interrupt discovery code to deal with devices that have more than one interrupt.
|
#
103619 |
|
19-Sep-2002 |
grehan |
Driver for the macio south bridge, and ATA cell contained within.
Approved by: benno
|