qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Alexander Graf <agraf@suse.de>
To: BALATON Zoltan <balaton@eik.bme.hu>
Cc: qemu-ppc@nongnu.org, qemu-devel@nongnu.org, afaerber@suse.de
Subject: Re: [Qemu-devel] [PATCH v2] mac99: Change memory layout to better match PowerMac3, 1
Date: Tue, 17 Jun 2014 11:39:31 +0200	[thread overview]
Message-ID: <53A00CD3.7000201@suse.de> (raw)
In-Reply-To: <alpine.LMD.2.02.1406171134310.2477@jedlik.phy.bme.hu>


On 17.06.14 11:36, BALATON Zoltan wrote:
> On Tue, 17 Jun 2014, Alexander Graf wrote:
>> On 12.04.14 11:20, BALATON Zoltan wrote:
>>> Bring the memory map closer to a PowerMac3,1 model by removing unused
>>> areas and adding the VGA and network cards after the macio to let the
>>> latter be mapped from 0x80000000 like on real hardware. (On real
>>> hardware the graphics and network cards are on separate buses but we
>>> don't model that yet.)
>>>
>>> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
>>> ---
>>>
>>> This patch is intended to bring memory layout closer to what's seen in
>>> these dumps:
>>>
>>> http://nandra.segv.jp/NetBSD/G4.dump-device-tree.txt
>>> http://raveland.org/ports/eeprom.txt
>>> http://mail-index.netbsd.org/port-macppc/2007/10/24/0000.html
>>> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=604134
>>>
>>> v2: Added back unin2_memory region that Darwin seems to like better
>>>
>>> ---
>>>   hw/pci-host/uninorth.c |  2 +-
>>>   hw/ppc/mac_newworld.c  | 14 +++++++-------
>>>   2 files changed, 8 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/hw/pci-host/uninorth.c b/hw/pci-host/uninorth.c
>>> index e72fe2a..21f805f 100644
>>> --- a/hw/pci-host/uninorth.c
>>> +++ b/hw/pci-host/uninorth.c
>>> @@ -230,7 +230,7 @@ PCIBus *pci_pmac_init(qemu_irq *pic,
>>>       d = UNI_NORTH_PCI_HOST_BRIDGE(dev);
>>>       memory_region_init(&d->pci_mmio, OBJECT(d), "pci-mmio", 
>>> 0x100000000ULL);
>>>       memory_region_init_alias(&d->pci_hole, OBJECT(d), "pci-hole", 
>>> &d->pci_mmio,
>>> -                             0x80000000ULL, 0x70000000ULL);
>>> +                             0x80000000ULL, 0x10000000ULL);
>>
>> Doesn't OpenBIOS need to know about this change so it can update its 
>> device tree?
>
> No.

We don't expose the pci-hole size in device tree?

>
>>> memory_region_add_subregion(address_space_mem, 0x80000000ULL,
>>>                                   &d->pci_hole);
>>>   diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c
>>> index 4bdaa8d..a4e5044 100644
>>> --- a/hw/ppc/mac_newworld.c
>>> +++ b/hw/ppc/mac_newworld.c
>>> @@ -371,18 +371,11 @@ static void ppc_core99_init(MachineState 
>>> *machine)
>>>           machine_arch = ARCH_MAC99;
>>>       }
>>>       /* init basic PC hardware */
>>> -    pci_vga_init(pci_bus);
>>> -
>>>       escc_mem = escc_init(0, pic[0x25], pic[0x24],
>>>                            serial_hds[0], serial_hds[1], ESCC_CLOCK, 
>>> 4);
>>>       memory_region_init_alias(escc_bar, NULL, "escc-bar",
>>>                                escc_mem, 0, 
>>> memory_region_size(escc_mem));
>>>   -    for(i = 0; i < nb_nics; i++)
>>> -        pci_nic_init_nofail(&nd_table[i], pci_bus, "ne2k_pci", NULL);
>>> -
>>> -    ide_drive_get(hd, MAX_IDE_BUS);
>>> -
>>>       macio = pci_create(pci_bus, -1, TYPE_NEWWORLD_MACIO);
>>>       dev = DEVICE(macio);
>>>       qdev_connect_gpio_out(dev, 0, pic[0x19]); /* CUDA */
>>> @@ -393,6 +386,8 @@ static void ppc_core99_init(MachineState *machine)
>>>       macio_init(macio, pic_mem, escc_bar);
>>>         /* We only emulate 2 out of 3 IDE controllers for now */
>>> +    ide_drive_get(hd, MAX_IDE_BUS);
>>> +
>>>       macio_ide = 
>>> MACIO_IDE(object_resolve_path_component(OBJECT(macio),
>>> "ide[0]"));
>>>       macio_ide_init_drives(macio_ide, hd);
>>> @@ -418,9 +413,14 @@ static void ppc_core99_init(MachineState *machine)
>>>           }
>>>       }
>>>   +    pci_vga_init(pci_bus);
>>> +
>>>       if (graphic_depth != 15 && graphic_depth != 32 && 
>>> graphic_depth != 8)
>>>           graphic_depth = 15;
>>>   +    for(i = 0; i < nb_nics; i++)
>>> +        pci_nic_init_nofail(&nd_table[i], pci_bus, "ne2k_pci", NULL);
>>> +
>>>       /* The NewWorld NVRAM is not located in the MacIO device */
>>>       dev = qdev_create(NULL, TYPE_MACIO_NVRAM);
>>>       qdev_prop_set_uint32(dev, "size", 0x2000);
>>
>> I presume all the changes above only change the devfn ordering?
>
> It changes the addresses assigned to devices which is needed for 
> MorphOS to work as it hardcodes the mmio locations of some (actually 
> most) devices.

I don't see how the ordering change here could possibly change MMIO 
locations for anything?


Alex

  reply	other threads:[~2014-06-17  9:39 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-02 23:12 [Qemu-devel] [PATCH v2] mac99: Change memory layout to better match PowerMac3, 1 BALATON Zoltan
2014-06-09 20:26 ` [Qemu-devel] [Qemu-ppc] " BALATON Zoltan
2014-06-16 23:37   ` BALATON Zoltan
2014-06-17  8:46 ` [Qemu-devel] " Alexander Graf
2014-06-17  9:36   ` BALATON Zoltan
2014-06-17  9:39     ` Alexander Graf [this message]
2014-06-17 10:24       ` BALATON Zoltan
2014-06-22  9:14         ` [Qemu-devel] [Qemu-ppc] " BALATON Zoltan
2014-06-23 16:27         ` [Qemu-devel] " Alexander Graf
2014-06-23 19:25           ` BALATON Zoltan
2014-06-23 21:33             ` Mark Cave-Ayland
2014-06-23 22:32               ` BALATON Zoltan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53A00CD3.7000201@suse.de \
    --to=agraf@suse.de \
    --cc=afaerber@suse.de \
    --cc=balaton@eik.bme.hu \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).