<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/powerpc/powermac, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>powerpc: explicitly cast the timebase printfs</title>
<updated>2026-01-30T06:36:33+00:00</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2026-01-30T06:36:33+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=03e4cc9fdeb2a6445f13cd41b471927a0f722fff'/>
<id>03e4cc9fdeb2a6445f13cd41b471927a0f722fff</id>
<content type='text'>
This is causing compilation issues on powerpc:powerpc GENERIC.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is causing compilation issues on powerpc:powerpc GENERIC.
</pre>
</div>
</content>
</entry>
<entry>
<title>powerpc: add a best-effort SMP time base sync for G5's that need it</title>
<updated>2026-01-27T04:38:23+00:00</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2026-01-20T02:38:43+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=422c8719eab2b8a01b49f748a88dd372db25f888'/>
<id>422c8719eab2b8a01b49f748a88dd372db25f888</id>
<content type='text'>
There's no timebase freeze platform routine registered on my dual 2.3GHz
G5 PPC970FX Apple PowerMac.

For platforms without an explicit timebase freeze/unfreeze, we'll have to
make do with what we have - which for now is an explicit hand-crafted
spinlock/rendezvous method.

* For existing platforms, they'll still continue to clock freeze /
  rendezvous; albeit with some stronger atomic bits now (from jhibbits@.)
* Instead of the fallback being "no timesync", implement a
  best-effort one which does a similar rendezvous barrier between
  BSP and APs, but instead of freeze/unfreeze the first instruction
  after the CPUs all register they're ready is to set the timebase.

This has resulted in many reboots of my Powermac G5 dual-socket device
correctly starting and running in SMP mode.

Differential Revision:  https://reviews.freebsd.org/D54821
Reviewed by:	jhibbits
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There's no timebase freeze platform routine registered on my dual 2.3GHz
G5 PPC970FX Apple PowerMac.

For platforms without an explicit timebase freeze/unfreeze, we'll have to
make do with what we have - which for now is an explicit hand-crafted
spinlock/rendezvous method.

* For existing platforms, they'll still continue to clock freeze /
  rendezvous; albeit with some stronger atomic bits now (from jhibbits@.)
* Instead of the fallback being "no timesync", implement a
  best-effort one which does a similar rendezvous barrier between
  BSP and APs, but instead of freeze/unfreeze the first instruction
  after the CPUs all register they're ready is to set the timebase.

This has resulted in many reboots of my Powermac G5 dual-socket device
correctly starting and running in SMP mode.

Differential Revision:  https://reviews.freebsd.org/D54821
Reviewed by:	jhibbits
</pre>
</div>
</content>
</entry>
<entry>
<title>bus_alloc_resource: Pass rid by value to BUS_ALLOC_RESOURCE DEVMETHOD</title>
<updated>2025-12-09T20:00:06+00:00</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2025-12-09T19:59:21+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=575639548cef58590a1d70c29e47aae0e8d44153'/>
<id>575639548cef58590a1d70c29e47aae0e8d44153</id>
<content type='text'>
The wrapper functions such as bus_alloc_resource_any() still support
passing the rid by value or pointer, but the underlying implementation
now passes by value.

Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D53402
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The wrapper functions such as bus_alloc_resource_any() still support
passing the rid by value or pointer, but the underlying implementation
now passes by value.

Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D53402
</pre>
</div>
</content>
</entry>
<entry>
<title>intr/powerpc: create openpic_class kobj</title>
<updated>2025-10-30T01:02:15+00:00</updated>
<author>
<name>Elliott Mitchell</name>
<email>ehem+freebsd@m5p.com</email>
</author>
<published>2025-01-02T19:03:40+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=8fb17896120d8e7c499a13f4459f9894c20c6131'/>
<id>8fb17896120d8e7c499a13f4459f9894c20c6131</id>
<content type='text'>
Using kobj allows implementing most PIC functions merely by inheriting
from the parent class.  As there are multiple OpenPIC implementations,
this ensures all common hooks go through by default.

Note, this adds the suspend/resume functions to other PICs.  This should
be harmless as suspend/resume isn't working on the devices anyway.

Reviewed by:	jhibbits
MFC after:	2 weeks
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using kobj allows implementing most PIC functions merely by inheriting
from the parent class.  As there are multiple OpenPIC implementations,
this ensures all common hooks go through by default.

Note, this adds the suspend/resume functions to other PICs.  This should
be harmless as suspend/resume isn't working on the devices anyway.

Reviewed by:	jhibbits
MFC after:	2 weeks
</pre>
</div>
</content>
</entry>
<entry>
<title>intr/powerpc: cleanup extraneous spaces in PowerMAC CPC HT driver</title>
<updated>2025-10-30T01:01:00+00:00</updated>
<author>
<name>Elliott Mitchell</name>
<email>ehem+freebsd@m5p.com</email>
</author>
<published>2025-01-10T00:52:52+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=319a1dbcf46f4afd2d32234d6936bb9e9e006a74'/>
<id>319a1dbcf46f4afd2d32234d6936bb9e9e006a74</id>
<content type='text'>
Spotted while examing this driver.  Remove some end of line spaces/tabs.
Replace some spaces which should instead be tabs.

Reviewed by:	jhibbits
MFC after:	2 weeks
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Spotted while examing this driver.  Remove some end of line spaces/tabs.
Replace some spaces which should instead be tabs.

Reviewed by:	jhibbits
MFC after:	2 weeks
</pre>
</div>
</content>
</entry>
<entry>
<title>newbus: replace leftover device unit wildcards</title>
<updated>2025-06-21T02:57:45+00:00</updated>
<author>
<name>Ahmad Khalifa</name>
<email>vexeduxr@FreeBSD.org</email>
</author>
<published>2025-06-11T00:25:08+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=b670c9bafc0e31c7609969bf374b2e80bdc00211'/>
<id>b670c9bafc0e31c7609969bf374b2e80bdc00211</id>
<content type='text'>
Reviewed by:	imp, jhb
Approved by:	imp (mentor)
Differential Revision:	https://reviews.freebsd.org/D50913
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed by:	imp, jhb
Approved by:	imp (mentor)
Differential Revision:	https://reviews.freebsd.org/D50913
</pre>
</div>
</content>
</entry>
<entry>
<title>machine/stdarg.h -&gt; sys/stdarg.h</title>
<updated>2025-06-11T16:39:02+00:00</updated>
<author>
<name>Brooks Davis</name>
<email>brooks@FreeBSD.org</email>
</author>
<published>2025-06-11T16:39:02+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=e453e498cbb88570a3ff7b3679de65c88707da95'/>
<id>e453e498cbb88570a3ff7b3679de65c88707da95</id>
<content type='text'>
Switch to using sys/stdarg.h for va_list type and va_* builtins.

Make an attempt to insert the include in a sensible place.  Where
style(9) was followed this is easy, where it was ignored, aim for the
first block of sys/*.h headers and don't get too fussy or try to fix
other style bugs.

Reviewed by:	imp
Exp-run by:	antoine (PR 286274)
Pull Request:	https://github.com/freebsd/freebsd-src/pull/1595
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Switch to using sys/stdarg.h for va_list type and va_* builtins.

Make an attempt to insert the include in a sensible place.  Where
style(9) was followed this is easy, where it was ignored, aim for the
first block of sys/*.h headers and don't get too fussy or try to fix
other style bugs.

Reviewed by:	imp
Exp-run by:	antoine (PR 286274)
Pull Request:	https://github.com/freebsd/freebsd-src/pull/1595
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace calls to bus_generic_attach with bus_attach_children</title>
<updated>2024-12-06T22:26:16+00:00</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2024-12-06T22:26:16+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=18250ec6c089c0c50cbd9fd87d78e03ff89916df'/>
<id>18250ec6c089c0c50cbd9fd87d78e03ff89916df</id>
<content type='text'>
Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D47675
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D47675
</pre>
</div>
</content>
</entry>
<entry>
<title>Check for errors when detaching children first, not last</title>
<updated>2024-11-05T01:30:33+00:00</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2024-11-05T01:30:33+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d412c07617eb35435668b024bc2cecda05f57f1f'/>
<id>d412c07617eb35435668b024bc2cecda05f57f1f</id>
<content type='text'>
These detach routines in these drivers all ended with 'return
(bus_generic_detach())' meaning that if any child device failed to
detach, the parent driver was left in a mostly destroyed state, but
still marked attached.  Instead, bus drivers should detach child
drivers first and return errors before destroying driver state in the
parent.

Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D47387
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These detach routines in these drivers all ended with 'return
(bus_generic_detach())' meaning that if any child device failed to
detach, the parent driver was left in a mostly destroyed state, but
still marked attached.  Instead, bus drivers should detach child
drivers first and return errors before destroying driver state in the
parent.

Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D47387
</pre>
</div>
</content>
</entry>
<entry>
<title>newbus: globally replace device_add_child(..., -1) with DEVICE_UNIT_ANY</title>
<updated>2024-07-25T04:22:58+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2024-07-25T04:22:58+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=5b56413d04e608379c9a306373554a8e4d321bc0'/>
<id>5b56413d04e608379c9a306373554a8e4d321bc0</id>
<content type='text'>
Sponsored by:		Netflix
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sponsored by:		Netflix
</pre>
</div>
</content>
</entry>
</feed>
