mirror of
https://github.com/RhapsodiOS/RhapsodiOS.git
synced 2026-11-03 22:01:40 -07:00
[GH-ISSUE #5] ppc barebones drivers #5
Labels
No labels
bug
documentation
enhancement
enhancement
good first issue
help wanted
help wanted
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
github-starred/RhapsodiOS#5
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @raynorpat on GitHub (Oct 10, 2025).
Original GitHub issue: https://github.com/RhapsodiOS/RhapsodiOS/issues/5
Originally assigned to: @raynorpat on GitHub.
The PPC port has many more drivers than the i386 port, there are still several missing drivers that need to be created and tested
ppc driver list
This compares Mac OS X Server 1.2v3 (kernel 5.6) with our tree, as of 2026-10-18 (branch
ppc-qemu). In 1.2v3 a driver is either compiled intomach_kernel(its class is in the kernel and listed in the built-in config table inautoconf_ppc.m) or loaded from/private/Drivers/ppc/*.config/*_relocby BootX/driverLoader. Many have both forms; the on-disk copy of an in-kernel driver goes unused while the kernel's class matches."QEMU" means seen working on our kernel under
qemu-system-ppc -M mac99(vm/ppc-guest.py). On-M g3beige(Gossamer), both stock 5.6 and our kernel get Cuda/ADB and the display up and detect the Heathrow IDE. Our kernel has not yet booted past that point there; see #62.Built into the 5.6 kernel
bmac bmac+kernel-7/bsd/dev/ppc/drvBMacEnetgmackernel-7/bsd/dev/ppc/drvUniNEnetmacekernel-7/.../drvMaceEnetapple21143, 21x4x PCI IDskernel-7/.../drvDEC21x4(reconstructed from 5.6)pci1011,14kernel-7/.../drvDECchip2104053c94kernel-7/.../drvApple96_SCSImeshkernel-7/.../drvAppleMesh_SCSIide ata ATA pci1095,646kernel-7/.../drvPPCATA,drvATADiskvia-pmukernel-7/.../drvPMUvia-cudakernel-7/.../drvCudakernel-7/.../drvUSBCMDpci106b,7kernel-7/.../drvOHareapple53C8xx Apple53C875Cardkernel-7/.../drvSymbios8xxATTO,ExpressPCIProLVD ATTO,ExpressPCIProUL2Dkernel-7/.../drvAttoScsiController(reconstructed from Sym8xx and 5.6)ADPT,2940U2B … ADPT,2940U2W ADPT,2940UWkernel-7/.../drvAdaptecU2SCSI(OSM and CHIM reconstructed from 5.6)redundant-power-supplykernel-7/.../drvPowerSupply(reconstructed, withhw.powersupplysysctl)bandit uni-north/chaos/grackle/pci-bridgedriverkit-3/libDriver/ppcdisplaydriverkit-3/libDriver/ppcLoadable drivers in
/private/Drivers/ppcdrivers-ppc/input/drvIOADBDevicedriverkit-3drivers-ppc/scsi/drvPPC53c96drivers-ppc/scsi/drvPPCMeshdrivers-ppc/scsi/drvPPCSym8xxdrivers-ppc/ide/drvPPCATA(kernel ATA sources, disk class renamed to IdeDisk; ppc package builds sincef972a4be7)drivers-ppc/network/drvPPCBMacdrivers-ppc/network/drvPPCMacedrivers-ppc/network/drvPPCDec21040drivers-ppc/network/drvDEC21x4Ethernet(stub replaced by the reconstructed driver)drivers-ppc/network/drvPPCGem(register encodings match the stock binary sincec3e7c2920;_startChipand the counter clear fixed)drivers-ppc/network/drvPPCGNicdrivers-ppc/input/drvPPCCuda,input/drvPPCPMU,bus/drvPPCOHaredrivers-ppc/input/drvPPCSerialPortdrivers-ppc/sound/drvPPCAwacsdrivers-ppc/sound/drvPPCBurgundydrivers-ppc/sound/drvPPCTASAudiodrivers-ppc/ide/drvPPCSwimFloppysrc/drvSCSITape,drvSCSIServer,drvPortServer,drvBPFOpen items
ppc-qemu(AttoScsi and AdaptecU2SCSI were the last).@raynorpat commented on GitHub (Oct 15, 2025):
I've got most of the driver frameworks complete for the ppc specific items
@raynorpat commented on GitHub (Oct 23, 2026):
The last two built-in 5.6 drivers are reconstructed and built into the ppc kernel on
ppc-qemu.ADPT,2940U2W ADPT,2940UW.MinSEPeriodunset, the LVD flag cleared instead of set, and the async SDTR message given the sync period.ProbeTarget, the parity-retry double completion inNormalPostRoutine, and an IOB leak inthreadExecuteRequest:.Neither driver has been run on hardware or under QEMU, since mac99 has no matching SCSI card. Serial interrupts (#63) and the g3beige boot (#62) stay open in their own issues.