aboutsummaryrefslogtreecommitdiff
path: root/sys/powerpc/powermac
Commit message (Collapse)AuthorAgeFilesLines
* sys: Remove $FreeBSD$: one-line .c patternWarner Losh2023-08-2316-32/+0
| | | | | | | Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/ Similar commit in current: (cherry picked from commit 685dc743dc3b)
* sys: Remove $FreeBSD$: two-line .h patternWarner Losh2023-08-2317-34/+0
| | | | | | | Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/ Similar commit in current: (cherry picked from commit 95ee2897e98f)
* powerpc/ata: Remove non-standard __FBSDID()Warner Losh2023-08-231-3/+0
| | | | | | | | | This one has an extra '* ' at the front, so isn't picked up by the scripts Sponsored by: Netflix (cherry picked from commit 77a999ef2f0c3003822ef2085752a4373f3af148)
* spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSDWarner Losh2023-07-2521-21/+21
| | | | | | | | | | | 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 (cherry picked from commit 4d846d260e2b9a3d4d0a701462568268cbfe7a5b)
* powerpc: Use the existing CTLFLAG_RDTUN and CTLFLAG_RWTUN flag definitionsZhenlei Huang2023-04-171-1/+1
| | | | | | | | | | | | Use them when possible, instead of separated flags. No functional change intended. Reviewed by: hselasky, erj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D39466 (cherry picked from commit dc1c5138c3255cc9004a3842001ed6c5db8f4ea3)
* ata_kauai: Fix support for "shasta" controllers.John Baldwin2022-05-131-14/+10
| | | | | | | | | | | | | | | | | | | | | The probe routine was setting a value in the softc, but since the probe routine was not returning zero, this value was lost since the softc was reallocated (and re-zeroed) when the device was attached. This is similar in nature to the fixes from 965205eb66cae3fd5de75a70a3aef2f014f98020. To fix, move the code to set the 'shasta' flag to the start of attach along with related code to set an IRQ resource on some non-shasta devices. The IRQ resource still "worked" being in the probe routine as the IRQ resource persisted after probe returned, but it is cleaner to go ahead and move it to attach after setting the 'shasta' flag. I have no way to test this, but noticed this while reading the code. Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D34888 (cherry picked from commit d5472cd4b3a3fedd56589a16a96f997d1d8fa1dc)
* powerpc pmu: Don't use garbage battery info.John Baldwin2022-05-131-3/+5
| | | | | | | | | If pmu_query_battery fails, don't notify a change in battery status. Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D34889 (cherry picked from commit 5f2995aa950f99ca124a450e4e57c9966fba802a)
* powerpc/powermac: Constrain 'cpu_sleep()' for AIM to mpc745xJustin Hibbits2021-04-201-1/+12
| | | | | | | | | | Rename cpu_sleep() to mpc745x_sleep() to denote what it's actually intended for. This function is very G4-specific, and will not work on any other CPU. This will afterward eliminate a platform_smp_timebase_sync() call by directly updating the timebase instead. (cherry picked from commit b6d8f3b517dec010f3dfad1b33e9945eaa606be5)
* powerpc: clean up empty lines in .c and .h filesMateusz Guzik2020-09-0124-91/+43
| | | | Notes: svn path=/head/; revision=365073
* RevertAndreas Tobler2020-03-061-19/+18
| | | | Notes: svn path=/head/; revision=358725
* Drop 'All rights reserved'Andreas Tobler2020-03-061-18/+19
| | | | | | | | | Replace hardcoded sizes by nitems and sizeof Replace CTLFLAG_NEEDGIANT with CTLFLAG_MPSAFE, I run this driver since a few years with CTLFLAG_MPSAFE w/o issues. Notes: svn path=/head/; revision=358724
* Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)Pawel Biernacki2020-02-265-48/+58
| | | | | | | | | | | | | | | | | | | r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly marked). Use it in preparation for a general review of all nodes. This is non-functional change that adds annotations to SYSCTL_NODE and SYSCTL_PROC nodes using one of the soon-to-be-required flags. Mark all obvious cases as MPSAFE. All entries that haven't been marked as MPSAFE before are by default marked as NEEDGIANT Approved by: kib (mentor, blanket) Commented by: kib, gallatin, melifaro Differential Revision: https://reviews.freebsd.org/D23718 Notes: svn path=/head/; revision=358333
* Extract eventfilter declarations to sys/_eventfilter.hConrad Meyer2019-05-205-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | This allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h" in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces header pollution substantially. EVENTHANDLER_DECLARE and EVENTHANDLER_LIST_DECLAREs were moved out of .c files into appropriate headers (e.g., sys/proc.h, powernv/opal.h). As a side effect of reduced header pollution, many .c files and headers no longer contain needed definitions. The remainder of the patch addresses adding appropriate includes to fix those files. LOCK_DEBUG and LOCK_FILE_LINE_ARG are moved to sys/_lock.h, as required by sys/mutex.h since r326106 (but silently protected by header pollution prior to this change). No functional change (intended). Of course, any out of tree modules that relied on header pollution for sys/eventhandler.h, sys/lock.h, or sys/mutex.h inclusion need to be fixed. __FreeBSD_version has been bumped. Notes: svn path=/head/; revision=347984
* powerpc: Add opaque 'private data' to interrupt vectorsJustin Hibbits2019-01-122-19/+20
| | | | | | | | | | The XICS and XIVE need extra data beyond irq and vector. Rather than performing a separate search, it's better for the general interrupt facility to hold a private pointer, since the search already must be done anyway at that level. Notes: svn path=/head/; revision=342975
* powerpc/powermac: Fix macgpio(4) child interrupt resource handlingJustin Hibbits2018-12-061-4/+4
| | | | | | | | | | | | | | | | The 'interrupts' property is actually 2 words, not one, on macgpio child nodes. Open Firmware's getprop function might be returning the value copied, not the total size of the property, but FDT's returns the total size. Prior to this patch, this would cause the SYS_RES_IRQ resource list to not be populated when running with the 'usefdt' loader variable set, to convert the OFW device tree to a FDT. Since the property is always 2 words, read both words, and ignore the second. Tested by: Dennis Clarke (previous attempt) MFC after: 2 weeks Notes: svn path=/head/; revision=341614
* Sprinkle EARLY_DRIVER_MODULE around the treeJustin Hibbits2018-12-047-9/+18
| | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=341455
* Bump the number of fans supported from 8 to 12.Michael Tuexen2018-10-301-3/+3
| | | | | | | | | | | The number of fans on a PowerMac7,3 with liquid cooling is 9. Reviewed by: andreast@ MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D17754 Notes: svn path=/head/; revision=339914
* Fix null pointer dereference on nodes without a "compatible" property.Nathan Whitehorn2018-04-301-1/+2
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=333124
* Release memory resource on cuda driver attach failure.Alexander Motin2018-04-191-0/+4
| | | | | | | Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com> Notes: svn path=/head/; revision=332779
* Clean up OF_getprop_alloc APIOleksandr Tymoshenko2018-04-082-7/+7
| | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=332310
* Fix minor locking issues in the Power Mac Uninorth PCI bridge driver.Landon J. Fuller2018-01-102-10/+27
| | | | | | | | | | | | | | | - Call resource_int_value() once during attach, rather than within the pci_(read|write)_config() code path; this avoids taking a blocking mutex to read kenv variables. - Use a spin lock to protect non-atomic config space accesses; this matches the behavior of Darwin's AppleMacRiscPCI driver. Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D13839 Notes: svn path=/head/; revision=327798
* sys/powerpc: further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-2733-0/+66
| | | | | | | | | | | | | | | 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. Notes: svn path=/head/; revision=326261
* Whether you can use mttb() or not is more complicated than whether PSL_HVNathan Whitehorn2017-11-251-0/+9
| | | | | | | | | | | is set and the right thing to do may be platform-dependent (it requires firmware on PowerNV, for instance). Make it a new platform method called platform_smp_timebase_sync(). MFC after: 3 weeks Notes: svn path=/head/; revision=326205
* sys: further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-201-0/+2
| | | | | | | | | | | | | | | | | Mainly focus on files that use BSD 3-Clause license. 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. Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point. Notes: svn path=/head/; revision=326023
* Include pcib_private.h for prototypes.Warner Losh2017-02-261-0/+1
| | | | | | | | Noticed by: rpokala@ Sponsored by: Netflix Notes: svn path=/head/; revision=314317
* Convert PCIe Hot Plug to using pci_request_featureWarner Losh2017-02-251-0/+1
| | | | | | | | | | | | Convert PCIe hot plug support over to asking the firmware, if any, for permission to use the HotPlug hardware. Implement pci_request_feature for ACPI. All other host pci connections to allowing all valid feature requests. Sponsored by: Netflix Notes: svn path=/head/; revision=314250
* Fix the deciKelvin to Celsius conversion in kernel.Luiz Otavio O Souza2016-05-223-7/+7
| | | | | | | | | | | | | | After r285994, sysctl(8) was fixed to use 273.15 instead of 273.20 as 0C reference and as result, the temperature read in sysctl(8) now exibits a +0.1C difference. This commit fix the kernel references to match the reference value used in sysctl(8) after r285994. Sponsored by: Rubicon Communications (Netgate) Notes: svn path=/head/; revision=300421
* Cleanup unnecessary semicolons from the kernel.Pedro F. Giffuni2016-04-103-3/+3
| | | | | | | Found with devel/coccinelle. Notes: svn path=/head/; revision=297793
* Reduce OFW PCI code duplication - involves ARM, PPC and SPARC64Zbigniew Bodek2016-03-294-8/+6
| | | | | | | | | | | | | | | | | | | | Import portions of the PowerPC OF PCI implementation into new file "ofwpci.c", common for other platforms. The files ofw_pci.c and ofw_pci.h from sys/powerpc/ofw no longer exist. All required declarations are moved to sys/dev/ofw/ofwpci.h. This creates a new ofw_pci_write_ivar() function and modifies some others methods. Most functions contain existing ppc implementations in the majority unchanged. Now there is no need to have multiple identical copies of methods for various architectures. Requested by: jhibbits Reviewed by: jhibbits, marius Submitted by: Marcin Mazurek <mma@semihalf.com> Obtained from: Semihalf Sponsored by: Annapurna Labs Differential Revision: https://reviews.freebsd.org/D4879 Notes: svn path=/head/; revision=297392
* Fix the resource_list_print_type() calls to use uintmax_t.Justin Hibbits2016-03-223-10/+10
| | | | | | | Missed a bunch from r297000. Notes: svn path=/head/; revision=297199
* Use uintmax_t (typedef'd to rman_res_t type) for rman ranges.Justin Hibbits2016-03-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=297000
* As <machine/pmap.h> is included from <vm/pmap.h>, there is no need toSvatopluk Kraus2016-02-223-3/+0
| | | | | | | | | | include it explicitly when <vm/pmap.h> is already included. Reviewed by: alc, kib Differential Revision: https://reviews.freebsd.org/D5373 Notes: svn path=/head/; revision=295880
* Revert r295756:Zbigniew Bodek2016-02-204-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extract common code from PowerPC's ofw_pci Import portions of the PowerPC OF PCI implementation into new file "ofw_pci.c", common for other platforms. The files ofw_pci.c and ofw_pci.h from sys/powerpc/ofw no longer exist. All required declarations are moved to sys/dev/ofw/ofw_pci.h. This creates a new ofw_pci_write_ivar() function and modifies ofw_pci_nranges(), ofw_pci_read_ivar(), ofw_pci_route_interrupt() methods. Most functions contain existing ppc implementations in the majority unchanged. Now there is no need to have multiple identical copies of methods for various architectures. Submitted by: Marcin Mazurek <mma@semihalf.com> Obtained from: Semihalf Sponsored by: Annapurna Labs Reviewed by: jhibbits, mmel Differential Revision: https://reviews.freebsd.org/D4879 This needs to return to the drawing board as it breaks both PowerPC and Sparc64 build. Pointed out by: jhibbits Notes: svn path=/head/; revision=295837
* Extract common code from PowerPC's ofw_pciZbigniew Bodek2016-02-184-7/+3
| | | | | | | | | | | | | | | | | | | | | | Import portions of the PowerPC OF PCI implementation into new file "ofw_pci.c", common for other platforms. The files ofw_pci.c and ofw_pci.h from sys/powerpc/ofw no longer exist. All required declarations are moved to sys/dev/ofw/ofw_pci.h. This creates a new ofw_pci_write_ivar() function and modifies ofw_pci_nranges(), ofw_pci_read_ivar(), ofw_pci_route_interrupt() methods. Most functions contain existing ppc implementations in the majority unchanged. Now there is no need to have multiple identical copies of methods for various architectures. Submitted by: Marcin Mazurek <mma@semihalf.com> Obtained from: Semihalf Sponsored by: Annapurna Labs Reviewed by: jhibbits, mmel Differential Revision: https://reviews.freebsd.org/D4879 Notes: svn path=/head/; revision=295756
* Convert rman to use rman_res_t instead of u_longJustin Hibbits2016-01-273-6/+11
| | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=294883
* Use setjmp() instead of the identical-except-for-having-a-wrong-prototypeNathan Whitehorn2016-01-101-4/+3
| | | | | | | | setfault() when testing for faults. This should also help the compiler do the right thing with this complicated-to-optimize function. Notes: svn path=/head/; revision=293636
* Where appropriate, use the endian-flipping OF_getencprop() instead ofNathan Whitehorn2015-11-173-7/+7
| | | | | | | | | | | | | | | | OF_getprop() to get encode-int encoded values from the OF tree. This is a no-op at present, since all existing PowerPC ports are big-endian, but it is a correctness improvement and will be required if we have a little-endian kernel at some future point. Where it is totally impossible for the code ever to be used on a little-endian system (much of powerpc/powermac, for instance), I have not necessarily made the appropriate changes. MFC after: 1 month Notes: svn path=/head/; revision=290989
* Allow PowerMac systems to be booted from an FDT as well as Open Firmware.Nathan Whitehorn2015-03-101-13/+24
| | | | | | | | | This is not complete yet: the gem(4) interface on my laptop seems to disappear from the PCI bus as a result of quiescing Open Firmware in the boot loader. Notes: svn path=/head/; revision=279853
* Make the PowerMac fan control nonlinearJustin Hibbits2015-02-201-5/+23
| | | | | | | | | | | | | | | | | | | | Summary: Currently, fan control is linear between the target temperature and max temperature, which is far from ideal. This changes it to be proportional to the distance between the current temperature and the two endpoints (target and max temp). This also adds a hysteresis, so that fans keep going when the temperature drops, for about 10 seconds, before slowing down. Reviewers: nwhitehorn Reviewed By: nwhitehorn Differential Revision: https://reviews.freebsd.org/D1549 MFC after: 3 weeks Notes: svn path=/head/; revision=279045
* Match the right backlight driver.Justin Hibbits2015-02-182-2/+13
| | | | | | | | | | | Some ATI-based PowerBooks use the string 'mnca' in the backlight controller device tree entry, so account for this and don't use nVidia when it's not an nVidia device. MFC after: 3 weeks Notes: svn path=/head/; revision=278945
* Don't set the write bit if we're just reading.Justin Hibbits2015-02-181-4/+3
| | | | | | | | | Also fix a couple typos. MFC after: 3 weeks Notes: svn path=/head/; revision=278943
* Add support for Power Button PMU events on non-ADB macs, such as aluminumJustin Hibbits2014-11-202-4/+5
| | | | | | | | | | PowerBooks. MFC after: 2 weeks Relnotes: yes Notes: svn path=/head/; revision=274733
* Fix multiple incorrect SYSCTL arguments in the kernel:Hans Petter Selasky2014-10-212-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Wrong integer type was specified. - Wrong or missing "access" specifier. The "access" specifier sometimes included the SYSCTL type, which it should not, except for procedural SYSCTL nodes. - Logical OR where binary OR was expected. - Properly assert the "access" argument passed to all SYSCTL macros, using the CTASSERT macro. This applies to both static- and dynamically created SYSCTLs. - Properly assert the the data type for both static and dynamic SYSCTLs. In the case of static SYSCTLs we only assert that the data pointed to by the SYSCTL data pointer has the correct size, hence there is no easy way to assert types in the C language outside a C-function. - Rewrote some code which doesn't pass a constant "access" specifier when creating dynamic SYSCTL nodes, which is now a requirement. - Updated "EXAMPLES" section in SYSCTL manual page. MFC after: 3 days Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=273377
* Move the adm1030 driver to the proper location, and rename it.Justin Hibbits2014-10-161-240/+0
| | | | | | | | For compatibility, 'device windtunnel' is still supported, but one should use 'device adm1030' instead, and this has been updated in GENERIC and NOTES. Notes: svn path=/head/; revision=273156
* Add a sysctl to allow disabling the monitoring thread.Justin Hibbits2014-10-151-8/+41
| | | | | | | | | | | | | | | | | | | | Summary: If a user uses powerd, or doesn't want to use the cycles monitoring, they can now suspend the monitoring thread. While here, reorganize the added prototypes to match existing groupings. Reviewers: nwhitehorn, #powerpc, rpaulo Reviewed By: #powerpc, rpaulo Differential Revision: https://reviews.freebsd.org/D944 X-MFC-with: r273009 MFC after: 3 weeks Notes: svn path=/head/; revision=273113
* Add an AC line monitor so power_profile can workJustin Hibbits2014-10-121-0/+46
| | | | | | | | | | | | | | | | | | | | | | Summary: Add a polling loop (1Hz) to monitor the battery and AC status, to notify devd like ACPI does for power monitoring. This allows /etc/rc.d/power_profile to work on PowerPC laptops Test Plan: Tested on a Titanium PowerBook, configuring economy_cpu_freq and performance_cpu_freq, disabling powerd. Reviewers: #powerpc, nwhitehorn Reviewed By: nwhitehorn Subscribers: rpaulo Differential Revision: https://reviews.freebsd.org/D937 Notes: svn path=/head/; revision=273009
* Rename OF_xref_phandle() to OF_node_from_xref() and add a new functionIan Lepore2014-09-011-1/+1
| | | | | | | | | that provides the inverse translation, OF_xref_from_node(). Discussed with: nwhitehorn Notes: svn path=/head/; revision=270945
* Clear the backlight level when it's turned off. Also, reduce the delay times toJustin Hibbits2014-04-061-4/+4
| | | | | | | | | | less conservative values, also found in the radeonkms driver. MFC after: 2 weeks X-MFC-with: r264205 Notes: svn path=/head/; revision=264207
* Fix the ATI backlight driver off/on handling. Now this driver works correctlyJustin Hibbits2014-04-061-6/+61
| | | | | | | | | | | | with the ATI Radeon 9700 in the PowerBook G4 1.67GHz. Code shamelessly taken in spirit from the radeonkms driver, which I hope will make this driver redundant in the future. MFC after: 2 weeks Notes: svn path=/head/; revision=264205
* Move Open Firmware device root on PowerPC, ARM, and MIPS systems toNathan Whitehorn2014-02-055-5/+5
| | | | | | | | | | | 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 Notes: svn path=/head/; revision=261513