<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in ppc.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>6ba56517 - ppc: clean up empty lines in .c and .h files</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/ppc/ppc.c#6ba56517</link>
        <description>ppc: clean up empty lines in .c and .h files

            List of files:
            /freebsd-13.1/sys/dev/ppc/ppc.c</description>
        <pubDate>Tue, 01 Sep 2020 21:58:56 +0000</pubDate>
        <dc:creator>Mateusz Guzik &lt;mjg@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>d86c1f0d - i386 4/4G split.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/ppc/ppc.c#d86c1f0d</link>
        <description>i386 4/4G split.The change makes the user and kernel address spaces on i386independent, giving each almost the full 4G of usable virtual addressesexcept for one PDE at top used for trampoline and per-CPU trampolinestacks, and system structures that must be always mapped, namely IDT,GDT, common TSS and LDT, and process-private TSS and LDT if allocated.By using 1:1 mapping for the kernel text and data, it appearedpossible to eliminate assembler part of the locore.S which bootstrapsinitial page table and KPTmap.  The code is rewritten in C and movedinto the pmap_cold(). The comment in vmparam.h explains the KVAlayout.There is no PCID mechanism available in protected mode, so eachkernel/user switch forth and back completely flushes the TLB, exceptfor the trampoline PTD region. The TLB invalidations for userspacebecomes trivial, because IPI handlers switch page tables. On the otherhand, context switches no longer need to reload %cr3.copyout(9) was rewritten to use vm_fault_quick_hold().  An issue fornew copyout(9) is compatibility with wiring user buffers around sysctlhandlers. This explains two kind of locks for copyout ptes andaccounting of the vslock() calls.  The vm_fault_quick_hold() AKA slowpath, is only tried after the &apos;fast path&apos; failed, which temporarychanges mapping to the userspace and copies the data to/from smallper-cpu buffer in the trampoline.  If a page fault occurs during thecopy, it is short-circuit by exception.s to not even reach C code.The change was motivated by the need to implement the Meltdownmitigation, but instead of KPTI the full split is done.  The i386architecture already shows the sizing problems, in particular, it isimpossible to link clang and lld with debugging.  I expect that theissues due to the virtual address space limits would only exaggerateand the split gives more liveness to the platform.Tested by: phoDiscussed with:	bdeSponsored by:	The FreeBSD FoundationMFC after:	1 monthDifferential revision:	https://reviews.freebsd.org/D14633

            List of files:
            /freebsd-13.1/sys/dev/ppc/ppc.c</description>
        <pubDate>Fri, 13 Apr 2018 20:30:49 +0000</pubDate>
        <dc:creator>Konstantin Belousov &lt;kib@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>718cf2cc - sys/dev: further adoption of SPDX licensing ID tags.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/ppc/ppc.c#718cf2cc</link>
        <description>sys/dev: further adoption of SPDX licensing ID tags.Mainly focus on files that use BSD 2-Clause license, however the tool Iwas using misidentified many licenses so this was mostly a manual - errorprone - task.The Software Package Data Exchange (SPDX) group provides a specificationto make it easier for automated tools to detect and summarize well knownopensource licenses. We are gradually adopting the specification, notingthat the tags are considered only advisory and do not, in any way,superceed or replace the license texts.

            List of files:
            /freebsd-13.1/sys/dev/ppc/ppc.c</description>
        <pubDate>Mon, 27 Nov 2017 14:52:40 +0000</pubDate>
        <dc:creator>Pedro F. Giffuni &lt;pfg@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>1ab9094c - Hide a normal probe warning message under bootverbose, similar to atkbdc</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/ppc/ppc.c#1ab9094c</link>
        <description>Hide a normal probe warning message under bootverbose, similar to atkbdcSponsored by:	Netflix

            List of files:
            /freebsd-13.1/sys/dev/ppc/ppc.c</description>
        <pubDate>Mon, 18 Sep 2017 18:42:28 +0000</pubDate>
        <dc:creator>Scott Long &lt;scottl@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>3e85b721 - Remove register keyword from sys/ and ANSIfy prototypes</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/ppc/ppc.c#3e85b721</link>
        <description>Remove register keyword from sys/ and ANSIfy prototypesA long long time ago the register keyword told the compiler to storethe corresponding variable in a CPU register, but it is not relevantfor any compiler used in the FreeBSD world today.ANSIfy related prototypes while here.Reviewed by:	cem, jhbSponsored by:	The FreeBSD FoundationDifferential Revision:	https://reviews.freebsd.org/D10193

            List of files:
            /freebsd-13.1/sys/dev/ppc/ppc.c</description>
        <pubDate>Wed, 17 May 2017 00:34:34 +0000</pubDate>
        <dc:creator>Ed Maste &lt;emaste@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>4d24901a - sys/dev: Replace zero with NULL for pointers.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/ppc/ppc.c#4d24901a</link>
        <description>sys/dev: Replace zero with NULL for pointers.Makes things easier to read, plus architectures may set NULL to somethingdifferent than zero.Found with:	devel/coccinelleMFC after:	3 weeks

            List of files:
            /freebsd-13.1/sys/dev/ppc/ppc.c</description>
        <pubDate>Mon, 20 Feb 2017 03:43:12 +0000</pubDate>
        <dc:creator>Pedro F. Giffuni &lt;pfg@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>2b375b4e - Remove pc98 support completely.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/ppc/ppc.c#2b375b4e</link>
        <description>Remove pc98 support completely.I thank all developers and contributors for pc98.Relnotes:	yes

            List of files:
            /freebsd-13.1/sys/dev/ppc/ppc.c</description>
        <pubDate>Sat, 28 Jan 2017 02:22:15 +0000</pubDate>
        <dc:creator>Yoshihiro Takahashi &lt;nyan@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>da1b038a - Use uintmax_t (typedef&apos;d to rman_res_t type) for rman ranges.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/ppc/ppc.c#da1b038a</link>
        <description>Use uintmax_t (typedef&apos;d to rman_res_t type) for rman ranges.On some architectures, u_long isn&apos;t large enough for resource definitions.Particularly, powerpc and arm allow 36-bit (or larger) physical addresses, buttype `long&apos; is only 32-bit.  This extends rman&apos;s resources to uintmax_t.  Withthis 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&apos;spossible for uintmax_t to grow, it&apos;s highly unlikely it will become 128-bit on32-bit architectures.  64-bit architectures should have plenty of RAM to absorbthe increase on resource sizes if and when this occurs, and the number ofresources on memory-constrained systems should be sufficiently small as to notpose a drastic overhead.  That being said, uintmax_t was chosen for sourceclarity.  If it&apos;s specified as uint64_t, all printf()-like calls would eitherneed casts to uintmax_t, or be littered with PRI*64 macros.  Casts to uintmax_taren&apos;t horrible, but it would also bake into the API forresource_list_print_type() either a hidden assumption that entries get cast touintmax_t for printing, or these calls would need the PRI*64 macros.  Sincesource code is meant to be read more often than written, I chose the clearestpath of simply using uintmax_t.Tested on a PowerPC p5020-based board, which places all device resources in0xfxxxxxxxx, and has 8GB RAM.Regression tested on qemu-system-i386Regression 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:	YesSponsored by:	Alex Perez/Inertial ComputingDifferential Revision: https://reviews.freebsd.org/D4544

            List of files:
            /freebsd-13.1/sys/dev/ppc/ppc.c</description>
        <pubDate>Fri, 18 Mar 2016 01:28:41 +0000</pubDate>
        <dc:creator>Justin Hibbits &lt;jhibbits@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>c47476d7 - Migrate many bus_alloc_resource() calls to bus_alloc_resource_anywhere().</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/ppc/ppc.c#c47476d7</link>
        <description>Migrate many bus_alloc_resource() calls to bus_alloc_resource_anywhere().Most calls to bus_alloc_resource() use &quot;anywhere&quot; as the range, with a givencount.  Migrate these to use the new bus_alloc_resource_anywhere() API.Reviewed by:	jhbDifferential Revision:	https://reviews.freebsd.org/D5370

            List of files:
            /freebsd-13.1/sys/dev/ppc/ppc.c</description>
        <pubDate>Sat, 27 Feb 2016 03:38:01 +0000</pubDate>
        <dc:creator>Justin Hibbits &lt;jhibbits@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>2dd1bdf1 - Convert rman to use rman_res_t instead of u_long</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/ppc/ppc.c#2dd1bdf1</link>
        <description>Convert rman to use rman_res_t instead of u_longSummary:Migrate to using the semi-opaque type rman_res_t to specify rman resources.  Fornow, this is still compatible with u_long.This is step one in migrating rman to use uintmax_t for resources instead ofu_long.Going forward, this could feasibly be used to specify architecture-specificdefinitions of resource ranges, rather than baking a specific integer type intothe API.This change has been broken out to facilitate MFC&apos;ing drivers back to 10 withoutbreaking ABI.Reviewed By: jhbSponsored by:	Alex Perez/Inertial ComputingDifferential Revision: https://reviews.freebsd.org/D5075

            List of files:
            /freebsd-13.1/sys/dev/ppc/ppc.c</description>
        <pubDate>Wed, 27 Jan 2016 02:23:54 +0000</pubDate>
        <dc:creator>Justin Hibbits &lt;jhibbits@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>d0741ed4 - Fix build.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/ppc/ppc.c#d0741ed4</link>
        <description>Fix build.

            List of files:
            /freebsd-13.1/sys/dev/ppc/ppc.c</description>
        <pubDate>Thu, 21 Feb 2013 12:40:52 +0000</pubDate>
        <dc:creator>Gleb Smirnoff &lt;glebius@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>1eb7e5fe - Replace splhigh() with critical_enter()/leave() to ensure we write the</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/ppc/ppc.c#1eb7e5fe</link>
        <description>Replace splhigh() with critical_enter()/leave() to ensure we write theconfig mode unlock sequence quickly enough. This likely isn&apos;t too critical,since splhigh() has been a noop for a decade...

            List of files:
            /freebsd-13.1/sys/dev/ppc/ppc.c</description>
        <pubDate>Thu, 21 Feb 2013 00:27:51 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>3b12bdb5 - Rename device_delete_all_children() into device_delete_children().</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/ppc/ppc.c#3b12bdb5</link>
        <description>Rename device_delete_all_children() into device_delete_children().Suggested by:	jhb @ and marius @MFC after:	1 week

            List of files:
            /freebsd-13.1/sys/dev/ppc/ppc.c</description>
        <pubDate>Tue, 22 Nov 2011 21:56:55 +0000</pubDate>
        <dc:creator>Hans Petter Selasky &lt;hselasky@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>11bcf702 - Move the device_delete_all_children() function from usb_util.c</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/ppc/ppc.c#11bcf702</link>
        <description>Move the device_delete_all_children() function from usb_util.cto kern/subr_bus.c. Simplify this function so that it no longerdepends on malloc() to execute. Identify a few other places whereit makes sense to use device_delete_all_children().MFC after:	1 week

            List of files:
            /freebsd-13.1/sys/dev/ppc/ppc.c</description>
        <pubDate>Sat, 19 Nov 2011 10:11:50 +0000</pubDate>
        <dc:creator>Hans Petter Selasky &lt;hselasky@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>3fd85273 - reset_epp and ecp_sync both return int.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/ppc/ppc.c#3fd85273</link>
        <description>reset_epp and ecp_sync both return int.

            List of files:
            /freebsd-13.1/sys/dev/ppc/ppc.c</description>
        <pubDate>Thu, 05 Feb 2009 19:31:55 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>2067d312 - Add locking to ppc and ppbus and mark the whole lot MPSAFE:</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/ppc/ppc.c#2067d312</link>
        <description>Add locking to ppc and ppbus and mark the whole lot MPSAFE:- To avoid having a bunch of locks that end up always getting acquired as  a group, give each ppc(4) device a mutex which it shares with all the  child devices including ppbus(4), lpt(4), plip(4), etc.  This mutex  is then used for all the locking.- Rework the interrupt handling stuff yet again.  Now ppbus drivers setup  their interrupt handler during attach and tear it down during detach  like most other drivers.  ppbus(4) only invokes the interrupt handler  of the device that currently owns the bus (if any) when an interrupt  occurs, however.  Also, interrupt handlers in general now accept their  softc pointers as their argument rather than the device_t.  Another  feature of the ppbus interrupt handlers is that they are called with  the parent ppc device&apos;s lock already held.  This minimizes the number  of lock operations during an interrupt.- Mark plip(4), lpt(4), pcfclock(4), ppi(4), vpo(4) MPSAFE.- lpbb(4) uses the ppc lock instead of Giant.- Other plip(4) changes:  - Add a mutex to protect the global tables in plip(4) and free them on    module unload.  - Add a detach routine.  - Split out the init/stop code from the ioctl routine into separate    functions.- Other lpt(4) changes:  - Use device_printf().  - Use a dedicated callout for the lptout timer.  - Allocate the I/O buffers at attach and detach rather than during    open and close as this simplifies the locking at the cost of    1024+32 bytes when the driver is attached.- Other ppi(4) changes:  - Use an sx lock to serialize open and close.  - Remove unused HADBUS flag.  - Add a detach routine.  - Use a malloc&apos;d buffer for each read and write to avoid races with    concurrent read/write.- Other pps(4) changes:  - Use a callout rather than a callout handle with timeout().  - Conform to the new ppbus requirements (regular mutex, non-filter    interrupt handler).  pps(4) is probably going to have to become a    standalone driver that doesn&apos;t use ppbus(4) to satisfy it&apos;s    requirements for low latency as a result.  - Use an sx lock to serialize open and close.- Other vpo(4) changes:  - Use the parent ppc device&apos;s lock to create the CAM sim instead of    Giant.- Other ppc(4) changes:  - Fix ppc_isa&apos;s detach method to detach instead of calling attach.Tested by:	  no one :-(

            List of files:
            /freebsd-13.1/sys/dev/ppc/ppc.c</description>
        <pubDate>Wed, 21 Jan 2009 23:10:06 +0000</pubDate>
        <dc:creator>John Baldwin &lt;jhb@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>284c87f6 - Various whitespace and style fixes.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/ppc/ppc.c#284c87f6</link>
        <description>Various whitespace and style fixes.

            List of files:
            /freebsd-13.1/sys/dev/ppc/ppc.c</description>
        <pubDate>Sun, 16 Nov 2008 17:42:02 +0000</pubDate>
        <dc:creator>John Baldwin &lt;jhb@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>ff809674 - Fix build with PPC_PROBE_CHIPSET enabled.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/ppc/ppc.c#ff809674</link>
        <description>Fix build with PPC_PROBE_CHIPSET enabled.

            List of files:
            /freebsd-13.1/sys/dev/ppc/ppc.c</description>
        <pubDate>Wed, 22 Oct 2008 19:39:16 +0000</pubDate>
        <dc:creator>John Baldwin &lt;jhb@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>ae6b868a - Several cleanups to remove the need for explicit unit numbers and a few</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/ppc/ppc.c#ae6b868a</link>
        <description>Several cleanups to remove the need for explicit unit numbers and a fewother fixes:- Add pointers back to device_t objects in softc structures instead  of storing the unit and using devclass_get_device().- Add &apos;lpbb&apos;, &apos;pcf&apos;, &apos;pps&apos;, and &apos;vpo&apos; child devices to every &apos;ppbus&apos; device  instead of just the first one.- Store softc pointers in si_drv1 of character devices instead of  pulling the unit number from the minor number and using  devclass_get_softc() and devclass_get_device().- Store the LP_BYPASS flag in si_drv2 instead of encoding it in the minor  number.- Destroy character devices for lpt(4) when detaching the device.- Use bus_print_child_footer() instead of duplicating it in  ppbus_print_child() and fix ppbus_print_child()&apos;s return value.- Remove unused AVM ivar from ppbus.- Don&apos;t store the &apos;mode&apos; ivar in the ppbus ivars since we always fetch it  from the parent anyway.- Try to detach all the child devices before deleting them in  ppbus_detach().- Use pause() instead of a tsleep() on a dummy address when polling the  ppbus.- Use if_printf() and device_printf() instead of explicit names with unit  numbers.Silence on:	current@

            List of files:
            /freebsd-13.1/sys/dev/ppc/ppc.c</description>
        <pubDate>Tue, 21 Oct 2008 18:30:10 +0000</pubDate>
        <dc:creator>John Baldwin &lt;jhb@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>ca3d3795 - Rework the handling of interrupt handlers for children of ppc and ppbus:</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/ppc/ppc.c#ca3d3795</link>
        <description>Rework the handling of interrupt handlers for children of ppc and ppbus:- Retire IVARs for passing IRQs around.  Instead, ppbus and ppc now allow  child devices to access the interrupt by via a rid 0 IRQ resource  using bus_alloc_resource_any().- ppc creates its own interrupt event to manage the interrupt handlers of  child devices.  ppc does not allow child devices to use filters.  It  could allow this if needed, but none of the current drivers use them  and it adds a good bit of complication.  It uses  intr_event_execute_handlers() to fire the child device interrupt handlers  from its threaded interrupt handler.- Remove the ppbus_dummy_intr() hack.  Now the ppc device always has an  interrupt handler registered and we no longer bounce all the way up to  nexus to manage adding/removing ppbus child interrupt handlers.  Instead,  the child handlers are added and removed to the private interrupt event  in the ppc device.

            List of files:
            /freebsd-13.1/sys/dev/ppc/ppc.c</description>
        <pubDate>Mon, 15 Sep 2008 22:26:32 +0000</pubDate>
        <dc:creator>John Baldwin &lt;jhb@FreeBSD.org&gt;</dc:creator>
    </item>
</channel>
</rss>
