On Fri, Jul 31, 2009 at 10:28 AM, Alexander Grafagraf@suse.de wrote:
On 31.07.2009, at 08:22, Igor Kovalenko wrote:
On Thu, Jul 30, 2009 at 8:00 PM, Alexander Grafagraf@suse.de wrote:
Using this patch stacked on Steven Noonan's I was able to make BootX from Mac OS X 10.4 load XNU successfully in qemu-system-ppc.
Unfortunately, most of this patch is nothing but a mere hack to find out what we really need to get this working.
Also I didn't manage to get anything but 10.4 running. Other versions broke in the partition table interpretation.
I would not feel good taking the patch as is, because it would be better to implement the correct Forth magic to make the real callbacks work. Here is what I found to be broken:
- unselect-dev is missing - local variables don't work ({ ... }) - I ran into an endless loop, getting isi and dsi faults on the same 2 addresses all the time
Also, Qemu's only usable Desktop PPC target is a G3 Beige which is only supported up to 10.2.8 IIRC. So even getting the bootloader running for 10.4 didn't exactly buy me much.
While working on sparc64 ofmem patch I used ppc/qemu ofmem implementation as reference. What I noticed is there are several corner cases not handled by range lists code; I fixed several ones for sparc64.
It looked like the real problem was the low level hash entry mechanism, which is the one I changed.
Hope we can work out good common ofmem base soon.
That would still be great. In fact, hearing that all other targets broke anyways, it might make sense to take the qemu/ directory and just make it the default for all of ppc.
If you mean building for ppc, it is already the default (only ppc/qemu is enabled in configuration examples.)
The build problem for others was introduced in commit r362 "Really create a tree for PCI devices (Laurent Vivier)" I cannot figure out what exactly caused a problem.
From there on going towards merging different architectures as well sounds like a really good idea.
I like reducing code duplication :)