#
9dbf5b0e |
|
13-Mar-2024 |
John Baldwin <jhb@FreeBSD.org> |
new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE The public bus_release_resource() API still accepts both forms, but the internal kobj method no longer passes the arguments. Implementations which need the rid or type now use rman_get_rid() or rman_get_type() to fetch the value from the allocated resource. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44131
|
#
2baed46e |
|
13-Mar-2024 |
John Baldwin <jhb@FreeBSD.org> |
new-bus: Remove the 'rid' and 'type' arguments from BUS_*ACTIVATE_RESOURCE The public bus_activate/deactivate_resource() API still accepts both forms, but the internal kobj methods no longer pass the arguments. Implementations which need the rid or type now use rman_get_rid() or rman_get_type() to fetch the value from the allocated resource. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44130
|
#
d77f2092 |
|
13-Mar-2024 |
John Baldwin <jhb@FreeBSD.org> |
new-bus: Remove the 'type' argument from BUS_MAP/UNMAP_RESOURCE The public bus_map/unmap_resource() API still accepts both forms, but the internal kobj methods no longer pass the argument. Implementations which need the type now use rman_get_type() to fetch the value from the allocated resource. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44129
|
#
fef01f04 |
|
13-Mar-2024 |
John Baldwin <jhb@FreeBSD.org> |
new-bus: Remove the 'type' argument from BUS_ADJUST_RESOURCE The public bus_adjust_resource() API still accepts both forms, but the internal kobj method no longer passes the argument. Implementations which need the type now use rman_get_type() to fetch the value from the allocated resource. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44128
|
#
af081ec6 |
|
23-Jan-2024 |
John Baldwin <jhb@FreeBSD.org> |
powerpc powermac: Use bus_generic_rman_* Implement bus_map/unmap_resource and add bus_get_rman for use by bus_generic_rman_*. Reviewed by: imp, jhibbits Differential Revision: https://reviews.freebsd.org/D43435
|
#
95ee2897 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
#
4d846d26 |
|
10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
|
#
7ae99f80 |
|
22-Sep-2022 |
John Baldwin <jhb@FreeBSD.org> |
pmap_unmapdev/bios: Accept a pointer instead of a vm_offset_t. This matches the return type of pmap_mapdev/bios. Reviewed by: kib, markj Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D36548
|
#
992ae60b |
|
10-May-2022 |
John Baldwin <jhb@FreeBSD.org> |
powerpc powermac: Remove unused devclass arguments to DRIVER_MODULE.
|
#
ddfc9c4c |
|
22-Jun-2021 |
Warner Losh <imp@FreeBSD.org> |
newbus: Move from bus_child_{pnpinfo,location}_src to bus_child_{pnpinfo,location} with sbuf Now that the upper layers all go through a layer to tie into these information functions that translates an sbuf into char * and len. The current interface suffers issues of what to do in cases of truncation, etc. Instead, migrate all these functions to using struct sbuf and these issues go away. The caller is also in charge of any memory allocation and/or expansion that's needed during this process. Create a bus_generic_child_{pnpinfo,location} and make it default. It just returns success. This is for those busses that have no information for these items. Migrate the now-empty routines to using this as appropriate. Document these new interfaces with man pages, and oversight from before. Reviewed by: jhb, bcr Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D29937
|
#
b64b3133 |
|
01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
powerpc: clean up empty lines in .c and .h files
|
#
bfed756a |
|
03-Dec-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Sprinkle EARLY_DRIVER_MODULE around the tree Mark some buses as BUS_PASS_BUS, and some resources as BUS_PASS_RESOURCE. This also decouples some resource attachment orderings from being races by device tree ordering, instead relying on the bus pass to provide the ordering. This was originally intended to support multipass suspend/resume, but it's also needed on PowerMacs when using fdt, as the device tree seems to get created in reverse of the OFW tree. Reviewed by: nwhitehorn (long ago) Differential Revision: https://reviews.freebsd.org/D918
|
#
217d17bc |
|
08-Apr-2018 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Clean up OF_getprop_alloc API OF_getprop_alloc takes element size argument and returns number of elements in the property. There are valid use cases for such behavior but mostly API consumers pass 1 as element size to get string properties. What API users would expect from OF_getprop_alloc is to be a combination of malloc + OF_getprop with the same semantic of return value. This patch modifies API signature to match these expectations. For the valid use cases with element size != 1 and to reduce modification scope new OF_getprop_alloc_multi function has been introduced that behaves the same way OF_getprop_alloc behaved prior to this patch. Reviewed by: ian, manu Differential Revision: https://reviews.freebsd.org/D14850
|
#
71e3c308 |
|
27-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys/powerpc: further adoption of SPDX licensing ID tags. Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
|
#
f8fd3fb5 |
|
22-Mar-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Fix the resource_list_print_type() calls to use uintmax_t. Missed a bunch from r297000.
|
#
da1b038a |
|
17-Mar-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Use uintmax_t (typedef'd to rman_res_t type) for rman ranges. On some architectures, u_long isn't large enough for resource definitions. Particularly, powerpc and arm allow 36-bit (or larger) physical addresses, but type `long' is only 32-bit. This extends rman's resources to uintmax_t. With this change, any resource can feasibly be placed anywhere in physical memory (within the constraints of the driver). Why uintmax_t and not something machine dependent, or uint64_t? Though it's possible for uintmax_t to grow, it's highly unlikely it will become 128-bit on 32-bit architectures. 64-bit architectures should have plenty of RAM to absorb the increase on resource sizes if and when this occurs, and the number of resources on memory-constrained systems should be sufficiently small as to not pose a drastic overhead. That being said, uintmax_t was chosen for source clarity. If it's specified as uint64_t, all printf()-like calls would either need casts to uintmax_t, or be littered with PRI*64 macros. Casts to uintmax_t aren't horrible, but it would also bake into the API for resource_list_print_type() either a hidden assumption that entries get cast to uintmax_t for printing, or these calls would need the PRI*64 macros. Since source code is meant to be read more often than written, I chose the clearest path of simply using uintmax_t. Tested on a PowerPC p5020-based board, which places all device resources in 0xfxxxxxxxx, and has 8GB RAM. Regression tested on qemu-system-i386 Regression tested on qemu-system-mips (malta profile) Tested PAE and devinfo on virtualbox (live CD) Special thanks to bz for his testing on ARM. Reviewed By: bz, jhb (previous) Relnotes: Yes Sponsored by: Alex Perez/Inertial Computing Differential Revision: https://reviews.freebsd.org/D4544
|
#
2dd1bdf1 |
|
26-Jan-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Convert rman to use rman_res_t instead of u_long Summary: Migrate to using the semi-opaque type rman_res_t to specify rman resources. For now, this is still compatible with u_long. This is step one in migrating rman to use uintmax_t for resources instead of u_long. Going forward, this could feasibly be used to specify architecture-specific definitions of resource ranges, rather than baking a specific integer type into the API. This change has been broken out to facilitate MFC'ing drivers back to 10 without breaking ABI. Reviewed By: jhb Sponsored by: Alex Perez/Inertial Computing Differential Revision: https://reviews.freebsd.org/D5075
|
#
65d08437 |
|
05-Feb-2014 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Move Open Firmware device root on PowerPC, ARM, and MIPS systems to a sub-node of nexus (ofwbus) rather than direct attach under nexus. This fixes FDT on x86 and will make coexistence with ACPI on ARM systems easier. SPARC is unchanged. Reviewed by: imp, ian
|
#
4702d987 |
|
12-Dec-2013 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add PMU-based CPU frequency scaling. This method is used on most Titanium PowerBooks. MFC after: 1 month
|
#
4ee63553 |
|
17-Nov-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Use #address-cells and #size-cells here too instead of guessing. There is some comment I wrote about these values "lying" in the negative diff, which referes to an earlier misunderstanding about which node to read them from. This gets at least the PPC64 kernel booting in the mac99 system model in QEMU after bypassing the MacIO ATA driver, which apparently still has problems.
|
#
43cbf1a6 |
|
19-Mar-2012 |
Andreas Tobler <andreast@FreeBSD.org> |
Provide a fix for certain PowerMacs where the U3 i2c lacks the interrupt info. Tested by: Robert Hish MFC after: 1 week
|
#
607ebaaf |
|
01-Feb-2011 |
Marcel Moolenaar <marcel@FreeBSD.org> |
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.
|
#
7dbe66c1 |
|
06-Jan-2011 |
Andreas Tobler <andreast@FreeBSD.org> |
Remove unused variables. Spotted by a cppcheck (devel/cppcheck, http://sourceforge.net/projects/cppcheck) run. Approved by: nwhitehorn (mentor)
|
#
a7d5f7eb |
|
19-Oct-2010 |
Jamie Gritton <jamie@FreeBSD.org> |
A new jail(8) with a configuration file, to replace the work currently done by /etc/rc.d/jail.
|
#
a7a32004 |
|
18-Jun-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Change the default interrupt polarity on PowerPC systems from high to low. On Apple systems at least, all the level interrupts are wired active low. Before this change, our PIC programming only worked because Apple hardware ignores the interrupt polarity bit on all interrupts except IRQ 0.
|
#
eaef5f0a |
|
18-Jun-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
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
|
#
4fe8025d |
|
06-Jun-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add Open Firmware PNP info strings to GPIOs and Uninorth cells. Submitted by: Andreas Tobler
|
#
502a50e4 |
|
22-May-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
MFC r208149,208285: Add support for the U4 PCI-Express bridge chipset used in late-generation Powermac G5 systems. MSI and several other things are not presently supported. The U3/U4 internal device support portions of this change were contributed by Andreas Tobler.
|
#
940ae454 |
|
22-May-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
MFC r205356: Let unin(4) attach to U3 controllers found on G5 machines. Submitted by: Andreas Tobler
|
#
ca2c1931 |
|
16-May-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add support for the U4 PCI-Express bridge chipset used in late-generation Powermac G5 systems. MSI and several other things are not presently supported. The U3/U4 internal device support portions of this change were contributed by Andreas Tobler. MFC after: 1 week
|
#
d2f1e0e4 |
|
19-Mar-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Let unin(4) attach to U3 controllers found on G5 machines. Submitted by: Andreas Tobler
|
#
acb97117 |
|
03-Jan-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
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
|
#
94b4a038 |
|
15-Dec-2008 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
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
|
#
d7f03759 |
|
19-Oct-2008 |
Ulf Lilleengen <lulf@FreeBSD.org> |
- Import the HEAD csup code which is the basis for the cvsmode work.
|
#
51d163d3 |
|
14-Oct-2008 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
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
|
#
bda386db |
|
11-Jun-2008 |
Kevin Lo <kevlo@FreeBSD.org> |
Return an error code rather than ENXIO when both rman_init() and rman_manage_region() failed. Reviewed by: marcel
|
#
69643a41 |
|
20-Dec-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Apply missing s/rv/res/g in previous commit.
|
#
7439d1d9 |
|
20-Dec-2007 |
John Baldwin <jhb@FreeBSD.org> |
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
|
#
de2fa7b8 |
|
19-Dec-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
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
|
#
55aaf894 |
|
30-Sep-2007 |
Marius Strobl <marius@FreeBSD.org> |
Make the PCI code aware of PCI domains (aka PCI segments) so we can support machines having multiple independently numbered PCI domains and don't support reenumeration without ambiguity amongst the devices as seen by the OS and represented by PCI location strings. This includes introducing a function pci_find_dbsf(9) which works like pci_find_bsf(9) but additionally takes a domain number argument and limiting pci_find_bsf(9) to only search devices in domain 0 (the only domain in single-domain systems). Bge(4) and ofw_pcibus(4) are changed to use pci_find_dbsf(9) instead of pci_find_bsf(9) in order to no longer report false positives when searching for siblings and dupe devices in the same domain respectively. Along with this change the sole host-PCI bridge driver converted to actually make use of PCI domain support is uninorth(4), the others continue to use domain 0 only for now and need to be converted as appropriate later on. Note that this means that the format of the location strings as used by pciconf(8) has been changed and that consumers of <sys/pciio.h> potentially need to be recompiled. Suggested by: jhb Reviewed by: grehan, jhb, marcel Approved by: re (kensmith), jhb (PCI maintainer hat)
|
#
37402373 |
|
01-Apr-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
When writing to PCI configuration registers, don't immediately read the same register back. It can cause hangs or machine checks in certain cases. One particular case is with bge(4) when a reset is initiated for the controller. MFC after: 1 month
|
#
bdfb66f8 |
|
19-Apr-2006 |
Warner Losh <imp@FreeBSD.org> |
Set the rid for any resource obtained from rman_resource_reserve.
|
#
3b7b274a |
|
29-May-2005 |
Peter Grehan <grehan@FreeBSD.org> |
The end values passed to rman_manage_region() for PCI i/o and mem spaces were 1 too large. This resulted in the rman list not being sorted correctly, and USB ports not being discovered on older TiBooks. Detective work by: Andreas Tobler <toa at pop dot agri dot ch>
|
#
739211f0 |
|
11-Jan-2005 |
Peter Grehan <grehan@FreeBSD.org> |
- allow a device hint to disable probing a slot on a Uninorth PCI bus. e.g. at the loader: set hint.pcib.1.skipslot=26 This allows undocumented and problematic hardware on some systems to be ignored, for instance, the USB keyboard/mouse that shows up on a 12" albook that doesn't exist nor do anything other than eat up the syscons keyboard. Another one is the unused USB cell in the old 366MHz iBook that locks up the machine when probed. In a way this is temporary, since there are better fixes for the above problems, but will be useful in the meantime by allowing a keyboard to be used to help debug said fixes :) - while here remove some trailing white space
|
#
60727d8b |
|
06-Jan-2005 |
Warner Losh <imp@FreeBSD.org> |
/* -> /*- for license, minor formatting changes
|
#
714aa5b9 |
|
25-Sep-2004 |
Andrew Gallatin <gallatin@FreeBSD.org> |
Add support for i/o-ports. This was cut and pasted from grackle.c
|
#
39513fa6 |
|
16-Aug-2004 |
Marius Strobl <marius@FreeBSD.org> |
Instead of "OpenFirmware", "openfirmware", etc. use the official spelling "Open Firmware" from IEEE 1275 and OpenFirmware.org (no pun intended). Ok'ed by: tmm
|
#
a4954466 |
|
11-Aug-2004 |
Marius Strobl <marius@FreeBSD.org> |
- 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
|
#
57dc54db |
|
01-Jul-2004 |
Peter Grehan <grehan@FreeBSD.org> |
Catch up with __RMAN_RESOURCE_VISIBLE change
|
#
40cdee9d |
|
25-Jun-2004 |
Peter Grehan <grehan@FreeBSD.org> |
Catchup to now-required <sys/module.h> for PowerPC
|
#
5f9dfe1e |
|
17-Apr-2003 |
Peter Grehan <grehan@FreeBSD.org> |
Remove sparse addressing hack. The macio ATA driver no longer requires this.
|
#
d48bbef3 |
|
18-Sep-2002 |
Peter Grehan <grehan@FreeBSD.org> |
- probe the UniNorth chip in addition to the PCI bridges - enable GEM ethernet cell if present - allow sparse address mapping for devices Approved by: benno
|
#
ec3772f3 |
|
10-Jul-2002 |
Benno Rice <benno@FreeBSD.org> |
Remove some dead code.
|
#
3af09242 |
|
10-Jul-2002 |
Benno Rice <benno@FreeBSD.org> |
Remove some unused includes.
|
#
98f8e6c0 |
|
09-Jul-2002 |
Benno Rice <benno@FreeBSD.org> |
Driver for the Apple UniNorth Host-PCI bridge. This is in a PowerMac-specific subdirectory as it is hoped that we will support more than just the PowerMac platform.
|