Closed rakslice closed 3 years ago
Awesome, with this patch I can boot a Mac OS 8.6 CD to the desktop, with direct addressing mode and JIT disabled, and no having to disable security. JIT results in a PPC backtrace.
Merging this and #142 should give us a working default build on current Linux x86_64 systems with no fiddling.
Is there a way that we could write unit tests (for the process you described in #142) to verify these launches as part of CI?
I was going to say, if people want to make CI really useful, implement an automated test that fires up a real Mac OS disk and confirm it boots. :)
Is that something that can be done in the shell or is that a UI-focused activity? (or something entirely new that needs to be coded up)?
Getting off topic but you could, for example rig up a test harness that fires up an emulator, hashes the video memory every few seconds, and signals a pass when it matches a properly booted desktop. :)
If you want to be real fancy, have your reference MacOS disk image auto start a full hardware test suite and confirm it ran properly. like say https://macintoshgarden.org/apps/snooper-20
Merging this and #142 should give us a working default build on current Linux x86_64 systems with no fiddling.
Well, just the fiddling of having to turn JIT off so it doesn't crash.
That's a fiddle that doesn't need sudo. :)
For whats its worth, don't know if it was broke before but I saw the fix for Basilisk II, JIT seems to work just fine on BII on x86_64 with this patch so no worries there. Speedometer 4 benchmarks it at around 100x faster than a Quadra 605.
you could, for example rig up a test harness
Let's open a separate issue for this exact thing. I think there are enough bells and whistles in GitHub Actions for me to pull this off, I just need guidance on how one would do that on a local machine.
In the meantime, am I hearing that this is tested & ready for merge?
Yeah, I meant: turn off the JIT in SheepShaver so it doesn't crash. The generated stuff I was referring to is from the dyngen, is only used for the JIT for PowerPC, and so doesn't apply to BII. Sorry for the ambiguity.
As far as the change in this pull request goes, the one we are talking in the comments of, yes it is tested and ready to merge.
Added #146 to track the emulator idea
In the sigsegv instruction skipping for x86_64, skip the
0x67
32-bit address mode "legacy prefix" (see https://wiki.osdev.org/X86-64_Instruction_Encoding#Legacy_Prefixes)Fixes #143