qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-ppc] [PATCH] Changes default cdrom options to work better with


From: Alexander Graf
Subject: Re: [Qemu-ppc] [PATCH] Changes default cdrom options to work better with Mac OS X.
Date: Sun, 23 Jun 2013 18:38:58 +0200


Am 23.06.2013 um 14:37 schrieb Programmingkid <address@hidden>:

> 
> On Jun 22, 2013, at 9:20 PM, Alexander Graf wrote:
> 
>> 
>> On 23.06.2013, at 03:14, Programmingkid wrote:
>> 
>>> 
>>> On Jun 22, 2013, at 9:08 PM, Alexander Graf wrote:
>>> 
>>>> 
>>>> On 23.06.2013, at 03:04, Programmingkid wrote:
>>>> 
>>>>> This patch makes the default cdrom options more compatible with Mac OS X.
>>>>> 
>>>>> With this patch I was finally able to see "Got boot device" printed by 
>>>>> Darwin 8! This made the installer for Darwin 8 actually show up in QEMU. 
>>>>> 
>>>>> signed-off-by: John Arbuckle <address@hidden>
>>>>> 
>>>>> ---
>>>>> vl.c |    2 +-
>>>>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>>>> 
>>>>> diff --git a/vl.c b/vl.c
>>>>> index a8dc73d..cb53656 100644
>>>>> --- a/vl.c
>>>>> +++ b/vl.c
>>>>> @@ -3085,7 +3085,7 @@ int main(int argc, char **argv, char **envp)
>>>>>             qemu_opts_set(qemu_find_opts("machine"), 0, "dtb", optarg);
>>>>>             break;
>>>>>         case QEMU_OPTION_cdrom:
>>>>> -                drive_add(IF_DEFAULT, 2, optarg, CDROM_OPTS);
>>>>> +                drive_add(IF_IDE, 0, optarg, CDROM_OPTS);
>>>> 
>>>> Consider me puzzled. Why is IF_DEFAULT and different from IF_IDE on 
>>>> g3beige?
>>>> 
>>>> 
>>>> Alex
>>> 
>>> 
>>> Because IF_DEFAULT is equal to -1 and IF_IDE is equal to 0. Their 
>>> definition is in blockdev.h.
>> 
>> So? The default block bus on g3beige is IDE, so IF_DEFAULT should behave 
>> identical to IF_IDE.
> 
> Sounds like a good idea. 
> 
>> 
>> The real change you did was to go from "2" to "0". So instead of attaching 
>> the CD-ROM to hdc (on cmd646) you now attach it to hda (on mac-io).
>> 
>> So the real underlying problem is that we expose the second IDE channel on a 
>> cmd646 IDE controller, not mac-io. I think we did this back then to support 
>> booting at all, because the mac-io emulation was so broken that booting from 
>> CD-ROM simply didn't work. I guess it's time to switch back ...
> 
> Yes, using mac-io is the best thing to do now. 
> 
> One of the last major problems with making Mac OS X boot in QEMU is with a 
> function called IOSleep(). This is an XNU function that does not work 
> correctly. Whenever a call to this function is made, the kernel pauses for a 
> much longer time than it should. This will have to be fixed somehow.

This is probably because you have a local patch to override tbfreq, right? :)

Alex


reply via email to

[Prev in Thread] Current Thread [Next in Thread]