qemu-ppc
[Top][All Lists]
Advanced

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

Re: [Qemu-ppc] (What happened to the pci_databases.c?) Adding Voodoo2 em


From: Mark Cave-Ayland
Subject: Re: [Qemu-ppc] (What happened to the pci_databases.c?) Adding Voodoo2 emulation.
Date: Mon, 13 Feb 2017 21:24:10 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.6.0

On 13/02/17 18:13, Jd Lyons wrote:

>> Do you have a git repository somewhere showing your changes to both
>> OpenBIOS and QEMU? It's a bit difficult to provide some pointers when
>> it's not possible to see how far you've got.
>
> I’ve not gotten very far, I’m just enumerating the device on the device
> tree. I haven’t done anything about emulating the Voodoo2 Chipset,
> itself. I’m not really a programmer, more of a hacker. I figured first
> step is to get the pci121a,2 into the device tree, then get the OS 9
> Voodoo Extension to load, then work on emulating the actual Voodoo chip,
> ram, and ringbus, the the second may not be possible without the third.
> I don’t really understand how Driver Matching works in the classic Mac
> OS’s. I know I can hand OS X the ATY, Rage 128 Pro, in the device tree,
> and it loads the drivers, even the OpenGL drivers, but I have done
> nothing about emulating the actual Rage 128 Chip.

If you've changed the PCI vendor/device id in QEMU then you'll need to
do the same in OpenBIOS:

static const pci_dev_t vga_devices[] = {
    {
        PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RAGE128_PF,
        NULL, "ATY",      "ATY Rage128", "VGA\0",
        0, 0, 0,
        NULL, NULL,
    },
    {
        PCI_VENDOR_ID_QEMU, PCI_DEVICE_ID_QEMU_VGA,
        NULL, "QEMU,VGA", "Qemu VGA",    "VGA\0",
        0, 0, 0,
        NULL, NULL,
    },
    {
        0xFFFF, 0xFFFF,
        NULL, NULL, NULL, NULL,
        -1, -1, -1,
        NULL, NULL,
    },
};

For starters if you've simply changed the IDs in QEMU, change the
corresponding values for QEMU,VGA in the section above to make sure that
OpenBIOS initialises the display correctly (don't worry about the
PCI_SUBCLASS_DISPLAY_3D for the moment) and that should get you further.

The key part is to check with ".properties" that the PCI device has the
correct vendor/device IDs along with a "display" device_type property.
If the display doesn't initialise correctly then you should still be
able to test this by starting QEMU with -nographic.


ATB,

Mark.




reply via email to

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