diff mbox

[0/5] PPC: Mac99 emulation fixes

Message ID 1405268253-33465-1-git-send-email-agraf@suse.de
State New
Headers show

Commit Message

Alexander Graf July 13, 2014, 4:17 p.m. UTC
While trying to get Mac OS X booting with our -M mac99 emulation I stumbled
over a few issues that prevented it from doing so.

With these patches applied I still can't properly boot Mac OS X with -M mac99,
but I get a lot further than before. The biggest issue that's left now is to
properly fake Mac OS X into believing our timebase frequency. If I hack up the
cuda timer I can successfully boot Mac OS X on mac99:


===========

Please bear in mind that this patch set depends on an OpenBIOS update.

Alexander Graf (5):
  PPC: mac99: Fix core99 timer frequency
  PPC: mac_nvram: Remove unused functions
  PPC: mac_nvram: Allow 2 and 4 byte accesses
  PPC: mac_nvram: Split NVRAM into OF and OSX parts
  PPC: mac99: Expose NVRAM linearly

 hw/misc/macio/macio.c |   9 ++++-
 hw/nvram/mac_nvram.c  | 109 +++++++++++++++++++++++++++++++++-----------------
 hw/ppc/mac.h          |   2 -
 hw/ppc/mac_newworld.c |   7 ++--
 include/hw/ppc/ppc.h  |   1 +
 5 files changed, 84 insertions(+), 44 deletions(-)

Comments

Programmingkid July 13, 2014, 5:51 p.m. UTC | #1
On Jul 13, 2014, at 12:17 PM, Alexander Graf wrote:

> While trying to get Mac OS X booting with our -M mac99 emulation I stumbled
> over a few issues that prevented it from doing so.
> 
> With these patches applied I still can't properly boot Mac OS X with -M mac99,
> but I get a lot further than before. The biggest issue that's left now is to
> properly fake Mac OS X into believing our timebase frequency. If I hack up the
> cuda timer I can successfully boot Mac OS X on mac99:
> 

Which version of Mac OS X are you testing out with this patch?
Alexander Graf July 13, 2014, 6:01 p.m. UTC | #2
> Am 13.07.2014 um 19:51 schrieb Programmingkid <programmingkidx@gmail.com>:
> 
> 
>> On Jul 13, 2014, at 12:17 PM, Alexander Graf wrote:
>> 
>> While trying to get Mac OS X booting with our -M mac99 emulation I stumbled
>> over a few issues that prevented it from doing so.
>> 
>> With these patches applied I still can't properly boot Mac OS X with -M mac99,
>> but I get a lot further than before. The biggest issue that's left now is to
>> properly fake Mac OS X into believing our timebase frequency. If I hack up the
>> cuda timer I can successfully boot Mac OS X on mac99:
> 
> Which version of Mac OS X are you testing out with this patch?

10.2.something and 10.4.11.

Alex
Mark Cave-Ayland July 14, 2014, 1:58 p.m. UTC | #3
On 13/07/14 17:17, Alexander Graf wrote:

> While trying to get Mac OS X booting with our -M mac99 emulation I stumbled
> over a few issues that prevented it from doing so.
>
> With these patches applied I still can't properly boot Mac OS X with -M mac99,
> but I get a lot further than before. The biggest issue that's left now is to
> properly fake Mac OS X into believing our timebase frequency. If I hack up the
> cuda timer I can successfully boot Mac OS X on mac99:

No complaints from me on this series (I see Paolo has already commented 
suggested some MemoryRegion changes). Is this part of a bug-fix series 
to fix a -M mac99 regression on KVM or is it 2.2 material?


ATB,

Mark.
Alexander Graf July 14, 2014, 2 p.m. UTC | #4
On 14.07.14 15:58, Mark Cave-Ayland wrote:
> On 13/07/14 17:17, Alexander Graf wrote:
>
>> While trying to get Mac OS X booting with our -M mac99 emulation I 
>> stumbled
>> over a few issues that prevented it from doing so.
>>
>> With these patches applied I still can't properly boot Mac OS X with 
>> -M mac99,
>> but I get a lot further than before. The biggest issue that's left 
>> now is to
>> properly fake Mac OS X into believing our timebase frequency. If I 
>> hack up the
>> cuda timer I can successfully boot Mac OS X on mac99:
>
> No complaints from me on this series (I see Paolo has already 
> commented suggested some MemoryRegion changes). Is this part of a 
> bug-fix series to fix a -M mac99 regression on KVM or is it 2.2 material?

Mac99 never really worked for me, so I think this can easily be 2.2 
material. Maybe we can get the PCI bus working during the 2.2 
development time frame too then.

I mostly CC'ed you for the NVRAM patch, as that depends on an OpenBIOS 
change :).


Alex
Mark Cave-Ayland July 14, 2014, 2:07 p.m. UTC | #5
On 14/07/14 15:00, Alexander Graf wrote:

> On 14.07.14 15:58, Mark Cave-Ayland wrote:
>> On 13/07/14 17:17, Alexander Graf wrote:
>>
>>> While trying to get Mac OS X booting with our -M mac99 emulation I
>>> stumbled
>>> over a few issues that prevented it from doing so.
>>>
>>> With these patches applied I still can't properly boot Mac OS X with
>>> -M mac99,
>>> but I get a lot further than before. The biggest issue that's left
>>> now is to
>>> properly fake Mac OS X into believing our timebase frequency. If I
>>> hack up the
>>> cuda timer I can successfully boot Mac OS X on mac99:
>>
>> No complaints from me on this series (I see Paolo has already
>> commented suggested some MemoryRegion changes). Is this part of a
>> bug-fix series to fix a -M mac99 regression on KVM or is it 2.2 material?
>
> Mac99 never really worked for me, so I think this can easily be 2.2
> material. Maybe we can get the PCI bus working during the 2.2
> development time frame too then.
>
> I mostly CC'ed you for the NVRAM patch, as that depends on an OpenBIOS
> change :).

Yup, saw that commit go into SVN trunk. Okay so no need to worry about 
re-running my OpenBIOS boot tests before the 2.1 release then :)


ATB,

Mark.
diff mbox

Patch

===========

diff --git a/hw/misc/macio/cuda.c b/hw/misc/macio/cuda.c
index ff6051d..3d40534 100644
--- a/hw/misc/macio/cuda.c
+++ b/hw/misc/macio/cuda.c
@@ -102,7 +102,7 @@ 
 #define CUDA_TIMER_TICKLE		0x24
 #define CUDA_COMBINED_FORMAT_IIC	0x25

-#define CUDA_TIMER_FREQ (4700000 / 6)
+#define CUDA_TIMER_FREQ ((4700000 / 6) / 64)
 #define CUDA_ADB_POLL_FREQ 50

 /* CUDA returns time_t's offset from Jan 1, 1904, not 1970 */