[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: |
Programmingkid |
Subject: |
Re: [Qemu-ppc] [PATCH] Changes default cdrom options to work better with Mac OS X. |
Date: |
Sun, 23 Jun 2013 08:37:08 -0400 |
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.
Re: [Qemu-ppc] [PATCH] Changes default cdrom options to work better with Mac OS X., Mark Cave-Ayland, 2013/06/24