Jens von der Heydt
2006-06-02 13:15:23 UTC
Hi,
I manged to get the hwmmu - branch to boot OS X Tiger (G3 !) and
Panther without problems
and am able to verify that it actually does work for me. I tried to
combine the normal PearPC and HWMMU
branch but ended up having to manually fix problems here and there,
but that did not make mmu work.
I noticed that when booting with the unmodified hwmmu - branch
sources OS X would stall right after
the first blue screen appeared. I was able to track this down to a
problem with the Framebuffer. The
system was trying to write to the framebuffer though it was read and/
or write protected sometimes.
I know that Sebastian used this mechanism to get the damage areas of
the framebuffer but OS X seems
to have problems with his implemenation because it constantly tried
to access the same memory position
I tracked this down with a small code change that recorded the memory
position of the last SEGV
and counted them when their were identical. I made it give up after
around 4096 accesses to the
same memory position and debuged the code and jitc.log. It turned out
that it always was a
Framebuffer position regardless of the ppc opcode being uses to
access memory.
What I did was this: Remove every part of Framebuffer - Stuff that
was written into HWMMU and
have the System access the Framebuffer by IO again. Does work for me,
reasonable fast as well.
I've uploaded my current sources onto my homepage, I'd like people to
test this stuff:
http://www.vdh-webservice.de/hwmmu-working3.zip
The code contains some private patches and would need some major work
to get it clean and up2date
with the main PearPC branch. Therefore I'm not submitting a patch but
a source-zip. Please test
and report.
Jens
PS: By the way. My test system was a amd athlon x2, LINUX, kernel
2.6.16, PearPC built for 32bit
I manged to get the hwmmu - branch to boot OS X Tiger (G3 !) and
Panther without problems
and am able to verify that it actually does work for me. I tried to
combine the normal PearPC and HWMMU
branch but ended up having to manually fix problems here and there,
but that did not make mmu work.
I noticed that when booting with the unmodified hwmmu - branch
sources OS X would stall right after
the first blue screen appeared. I was able to track this down to a
problem with the Framebuffer. The
system was trying to write to the framebuffer though it was read and/
or write protected sometimes.
I know that Sebastian used this mechanism to get the damage areas of
the framebuffer but OS X seems
to have problems with his implemenation because it constantly tried
to access the same memory position
I tracked this down with a small code change that recorded the memory
position of the last SEGV
and counted them when their were identical. I made it give up after
around 4096 accesses to the
same memory position and debuged the code and jitc.log. It turned out
that it always was a
Framebuffer position regardless of the ppc opcode being uses to
access memory.
What I did was this: Remove every part of Framebuffer - Stuff that
was written into HWMMU and
have the System access the Framebuffer by IO again. Does work for me,
reasonable fast as well.
I've uploaded my current sources onto my homepage, I'd like people to
test this stuff:
http://www.vdh-webservice.de/hwmmu-working3.zip
The code contains some private patches and would need some major work
to get it clean and up2date
with the main PearPC branch. Therefore I'm not submitting a patch but
a source-zip. Please test
and report.
Jens
PS: By the way. My test system was a amd athlon x2, LINUX, kernel
2.6.16, PearPC built for 32bit