Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix build for QEMU board and PPC 970. #4

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

jhamby
Copy link

@jhamby jhamby commented Apr 8, 2021

I recently discovered that the SLOF ROM supplied with QEMU crashes when I emulate a G5 (PPC 970), or when running on a real G5 in KVM, if the pSeries version is 2.6 or higher. The first boot failure is with the OF xHCI driver added in pseries-2.6, but the VM crashes even earlier, before the screen is initialized, when I use newer pSeries versions.

By rebuilding SLOF for qemu with the CPU type changed from "ppcp7" to "ppc970", I can now boot Linux on a G5 (real or emulated) with pSeries versions 2.6 to 4.2 (the highest I tested). I assume that the crashes at boot with the P7 ROM are due to the different cache flushing code selected for ppc970 vs. POWER7, which only affect some OF drivers.

The first commit fixes the build failures when changing the arch to ppc970 (missing definitions, and a temp variable was needed for a loop). The second commit changes the default QEMU board config to ppc970 and also patches the make rules to work better on both native and cross-compiled Linux. Feel free to take either or both commits. Thanks!

Fix compile errors from missing definitions for PPC970.
- Change the QEMU board config to build for PPC970.
- Change make rules to use the right uname flag.
- Change make rules to use a more common cross-compiler prefix.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant