* Re: [Qemu-devel] [PATCH v3 09/10] raven: fix PCI bus accesses with size > 1 @ 2014-02-10 22:46 Artyom Tarasenko 2014-02-10 22:55 ` [Qemu-devel] [Qemu-ppc] " Mark Cave-Ayland 2014-03-16 22:27 ` [Qemu-devel] " Artyom Tarasenko 0 siblings, 2 replies; 11+ messages in thread From: Artyom Tarasenko @ 2014-02-10 22:46 UTC (permalink / raw) To: Andreas Färber Cc: Hervé Poussineau, Andreas Färber, qemu-ppc, qemu-devel On Tue, Nov 5, 2013 at 12:09 AM, Hervé Poussineau <hpoussin@reactos.org> wrote: > Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> Without this patch PReP is broken really bad. Was going to submit the same fix, and then found that the bug was already fixed 4 months ago. Hope it helps getting it closer to master: Tested-by: Artyom Tarasenko <atar4qemu@gmail.com> > --- > hw/pci-host/prep.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/hw/pci-host/prep.c b/hw/pci-host/prep.c > index c11679a..4eabe31 100644 > --- a/hw/pci-host/prep.c > +++ b/hw/pci-host/prep.c > @@ -222,12 +222,12 @@ static void raven_pcihost_realizefn(DeviceState *d, Error **errp) > > pci_bus_irqs(&s->pci_bus, prep_set_irq, prep_map_irq, s->irq, PCI_NUM_PINS); > > - memory_region_init_io(&h->conf_mem, OBJECT(h), &pci_host_conf_be_ops, s, > - "pci-conf-idx", 1); > + memory_region_init_io(&h->conf_mem, OBJECT(h), &pci_host_conf_le_ops, s, > + "pci-conf-idx", 4); > memory_region_add_subregion(&s->pci_io, 0xcf8, &h->conf_mem); > > - memory_region_init_io(&h->data_mem, OBJECT(h), &pci_host_data_be_ops, s, > - "pci-conf-data", 1); > + memory_region_init_io(&h->data_mem, OBJECT(h), &pci_host_data_le_ops, s, > + "pci-conf-data", 4); > memory_region_add_subregion(&s->pci_io, 0xcfc, &h->data_mem); > > memory_region_init_io(&h->mmcfg, OBJECT(s), &PPC_PCIIO_ops, s, "pciio", 0x00400000); > -- > 1.7.10.4 > > -- Regards, Artyom Tarasenko linux/sparc and solaris/sparc under qemu blog: http://tyom.blogspot.com/search/label/qemu ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [Qemu-ppc] [PATCH v3 09/10] raven: fix PCI bus accesses with size > 1 2014-02-10 22:46 [Qemu-devel] [PATCH v3 09/10] raven: fix PCI bus accesses with size > 1 Artyom Tarasenko @ 2014-02-10 22:55 ` Mark Cave-Ayland 2014-02-11 23:32 ` Andreas Färber 2014-03-16 22:27 ` [Qemu-devel] " Artyom Tarasenko 1 sibling, 1 reply; 11+ messages in thread From: Mark Cave-Ayland @ 2014-02-10 22:55 UTC (permalink / raw) To: Artyom Tarasenko Cc: qemu-ppc, Andreas Färber, Hervé Poussineau, Andreas Färber, qemu-devel On 10/02/14 22:46, Artyom Tarasenko wrote: > On Tue, Nov 5, 2013 at 12:09 AM, Hervé Poussineau<hpoussin@reactos.org> wrote: >> Signed-off-by: Hervé Poussineau<hpoussin@reactos.org> > > Without this patch PReP is broken really bad. Was going to submit the > same fix, and then found that the bug was already fixed 4 months ago. > > Hope it helps getting it closer to master: > > Tested-by: Artyom Tarasenko<atar4qemu@gmail.com> What happened to the rest of the PReP patchset in the end? Is it still stuck waiting on someone to rebuild OHW? ATB, Mark. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [Qemu-ppc] [PATCH v3 09/10] raven: fix PCI bus accesses with size > 1 2014-02-10 22:55 ` [Qemu-devel] [Qemu-ppc] " Mark Cave-Ayland @ 2014-02-11 23:32 ` Andreas Färber 0 siblings, 0 replies; 11+ messages in thread From: Andreas Färber @ 2014-02-11 23:32 UTC (permalink / raw) To: Mark Cave-Ayland, Artyom Tarasenko Cc: qemu-ppc, Hervé Poussineau, qemu-devel Am 10.02.2014 23:55, schrieb Mark Cave-Ayland: > On 10/02/14 22:46, Artyom Tarasenko wrote: > >> On Tue, Nov 5, 2013 at 12:09 AM, Hervé >> Poussineau<hpoussin@reactos.org> wrote: >>> Signed-off-by: Hervé Poussineau<hpoussin@reactos.org> >> >> Without this patch PReP is broken really bad. Was going to submit the >> same fix, and then found that the bug was already fixed 4 months ago. >> >> Hope it helps getting it closer to master: >> >> Tested-by: Artyom Tarasenko<atar4qemu@gmail.com> > > What happened to the rest of the PReP patchset in the end? Is it still > stuck waiting on someone to rebuild OHW? Unfortunately yes. Earlier this week I made some progress towards a buildable and commitable patchset for OHW - once agreed on, we'll need to go through the same process as you do for OpenBIOS for a submodule before we can continue with the remainder of the patchset that relies on it. http://repo.or.cz/w/openhackware.git does not yet link for me. If there's any part of the Raven patchset or other PReP patches that don't rely on changes to our unholy OHW blob, do let me know. Regards, Andreas ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH v3 09/10] raven: fix PCI bus accesses with size > 1 2014-02-10 22:46 [Qemu-devel] [PATCH v3 09/10] raven: fix PCI bus accesses with size > 1 Artyom Tarasenko 2014-02-10 22:55 ` [Qemu-devel] [Qemu-ppc] " Mark Cave-Ayland @ 2014-03-16 22:27 ` Artyom Tarasenko 2014-03-17 19:59 ` Andreas Färber 1 sibling, 1 reply; 11+ messages in thread From: Artyom Tarasenko @ 2014-03-16 22:27 UTC (permalink / raw) To: Andreas Färber Cc: Hervé Poussineau, Andreas Färber, qemu-ppc, qemu-devel Hi Andreas, Hervé, this patch seems still be missing in master. Is it causing any problems? Artyom On Mon, Feb 10, 2014 at 11:46 PM, Artyom Tarasenko <atar4qemu@gmail.com> wrote: > On Tue, Nov 5, 2013 at 12:09 AM, Hervé Poussineau <hpoussin@reactos.org> wrote: >> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> > > Without this patch PReP is broken really bad. Was going to submit the > same fix, and then found that the bug was already fixed 4 months ago. > > Hope it helps getting it closer to master: > > Tested-by: Artyom Tarasenko <atar4qemu@gmail.com> > >> --- >> hw/pci-host/prep.c | 8 ++++---- >> 1 file changed, 4 insertions(+), 4 deletions(-) >> >> diff --git a/hw/pci-host/prep.c b/hw/pci-host/prep.c >> index c11679a..4eabe31 100644 >> --- a/hw/pci-host/prep.c >> +++ b/hw/pci-host/prep.c >> @@ -222,12 +222,12 @@ static void raven_pcihost_realizefn(DeviceState *d, Error **errp) >> >> pci_bus_irqs(&s->pci_bus, prep_set_irq, prep_map_irq, s->irq, PCI_NUM_PINS); >> >> - memory_region_init_io(&h->conf_mem, OBJECT(h), &pci_host_conf_be_ops, s, >> - "pci-conf-idx", 1); >> + memory_region_init_io(&h->conf_mem, OBJECT(h), &pci_host_conf_le_ops, s, >> + "pci-conf-idx", 4); >> memory_region_add_subregion(&s->pci_io, 0xcf8, &h->conf_mem); >> >> - memory_region_init_io(&h->data_mem, OBJECT(h), &pci_host_data_be_ops, s, >> - "pci-conf-data", 1); >> + memory_region_init_io(&h->data_mem, OBJECT(h), &pci_host_data_le_ops, s, >> + "pci-conf-data", 4); >> memory_region_add_subregion(&s->pci_io, 0xcfc, &h->data_mem); >> >> memory_region_init_io(&h->mmcfg, OBJECT(s), &PPC_PCIIO_ops, s, "pciio", 0x00400000); ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH v3 09/10] raven: fix PCI bus accesses with size > 1 2014-03-16 22:27 ` [Qemu-devel] " Artyom Tarasenko @ 2014-03-17 19:59 ` Andreas Färber 2014-03-17 21:55 ` Artyom Tarasenko 0 siblings, 1 reply; 11+ messages in thread From: Andreas Färber @ 2014-03-17 19:59 UTC (permalink / raw) To: Artyom Tarasenko, Hervé Poussineau Cc: Mark Cave-Ayland, qemu-ppc, qemu-devel Hi Artyom, Am 16.03.2014 23:27, schrieb Artyom Tarasenko: > Hi Andreas, Hervé, > > this patch seems still be missing in master. Is it causing any problems? It does not apply without the preceding patches. Here's my cherry-pick result: diff --cc hw/pci-host/prep.c index 94fdffa,fed6c26..0000000 --- a/hw/pci-host/prep.c +++ b/hw/pci-host/prep.c @@@ -133,17 -219,17 +133,27 @@@ static void raven_pcihost_realizefn(Dev sysbus_init_irq(dev, &s->irq[i]); } - qdev_init_gpio_in(d, raven_change_gpio, 1); - pci_bus_irqs(&s->pci_bus, prep_set_irq, prep_map_irq, s->irq, PCI_NUM_PINS ); ++<<<<<<< HEAD + memory_region_init_io(&h->conf_mem, OBJECT(h), &pci_host_conf_be_ops, s, + "pci-conf-idx", 1); + sysbus_add_io(dev, 0xcf8, &h->conf_mem); + sysbus_init_ioports(&h->busdev, 0xcf8, 1); + + memory_region_init_io(&h->data_mem, OBJECT(h), &pci_host_data_be_ops, s, + "pci-conf-data", 1); + sysbus_add_io(dev, 0xcfc, &h->data_mem); + sysbus_init_ioports(&h->busdev, 0xcfc, 1); ++======= + memory_region_init_io(&h->conf_mem, OBJECT(h), &pci_host_conf_le_ops, s, + "pci-conf-idx", 4); + memory_region_add_subregion(&s->pci_io, 0xcf8, &h->conf_mem); + + memory_region_init_io(&h->data_mem, OBJECT(h), &pci_host_data_le_ops, s, + "pci-conf-data", 4); + memory_region_add_subregion(&s->pci_io, 0xcfc, &h->data_mem); ++>>>>>>> 67472dc... raven: fix PCI bus accesses with size > 1 memory_region_init_io(&h->mmcfg, OBJECT(s), &PPC_PCIIO_ops, s, "pciio", 0x00400000); memory_region_add_subregion(address_space_mem, 0x80800000, &h->mmcfg); I.e. we might change 1 -> 4 in the SysBus API, but would that work given that endianness is being changed alongside? If either of you could submit a version limited to bug fixes or explain why the whole refactoring is needed as bug fix and provide a bisectable version, I can certainly apply it for -rc1 if my test cases continue working. BTW another unresolved issue that's been discussed is whether we should change the default CPU for -M prep. I've been open to doing so for 2.0 but would like some pointer that such a machine did exist rather than just happens to work better with OpenBIOS. Regards, Andreas > On Mon, Feb 10, 2014 at 11:46 PM, Artyom Tarasenko <atar4qemu@gmail.com> wrote: >> On Tue, Nov 5, 2013 at 12:09 AM, Hervé Poussineau <hpoussin@reactos.org> wrote: >>> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> >> >> Without this patch PReP is broken really bad. Was going to submit the >> same fix, and then found that the bug was already fixed 4 months ago. >> >> Hope it helps getting it closer to master: >> >> Tested-by: Artyom Tarasenko <atar4qemu@gmail.com> >> >>> --- >>> hw/pci-host/prep.c | 8 ++++---- >>> 1 file changed, 4 insertions(+), 4 deletions(-) >>> >>> diff --git a/hw/pci-host/prep.c b/hw/pci-host/prep.c >>> index c11679a..4eabe31 100644 >>> --- a/hw/pci-host/prep.c >>> +++ b/hw/pci-host/prep.c >>> @@ -222,12 +222,12 @@ static void raven_pcihost_realizefn(DeviceState *d, Error **errp) >>> >>> pci_bus_irqs(&s->pci_bus, prep_set_irq, prep_map_irq, s->irq, PCI_NUM_PINS); >>> >>> - memory_region_init_io(&h->conf_mem, OBJECT(h), &pci_host_conf_be_ops, s, >>> - "pci-conf-idx", 1); >>> + memory_region_init_io(&h->conf_mem, OBJECT(h), &pci_host_conf_le_ops, s, >>> + "pci-conf-idx", 4); >>> memory_region_add_subregion(&s->pci_io, 0xcf8, &h->conf_mem); >>> >>> - memory_region_init_io(&h->data_mem, OBJECT(h), &pci_host_data_be_ops, s, >>> - "pci-conf-data", 1); >>> + memory_region_init_io(&h->data_mem, OBJECT(h), &pci_host_data_le_ops, s, >>> + "pci-conf-data", 4); >>> memory_region_add_subregion(&s->pci_io, 0xcfc, &h->data_mem); >>> >>> memory_region_init_io(&h->mmcfg, OBJECT(s), &PPC_PCIIO_ops, s, "pciio", 0x00400000); ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH v3 09/10] raven: fix PCI bus accesses with size > 1 2014-03-17 19:59 ` Andreas Färber @ 2014-03-17 21:55 ` Artyom Tarasenko 2014-03-17 22:25 ` Hervé Poussineau ` (2 more replies) 0 siblings, 3 replies; 11+ messages in thread From: Artyom Tarasenko @ 2014-03-17 21:55 UTC (permalink / raw) To: Andreas Färber Cc: qemu-ppc, Mark Cave-Ayland, Hervé Poussineau, qemu-devel Hi Andreas, On Mon, Mar 17, 2014 at 8:59 PM, Andreas Färber <andreas.faerber@web.de> wrote: >> this patch seems still be missing in master. Is it causing any problems? > > It does not apply without the preceding patches. Here's my cherry-pick > result: >[...] > I.e. we might change 1 -> 4 in the SysBus API, but would that work given > that endianness is being changed alongside? Yes, and that's the point of this patch. PCI configuration space is little-endian. With 1 byte access size, no byte swapping happens, so the bug is hidden. But on 32- and 16- bit accesses the bytes are swapped. > If either of you could submit a version limited to bug fixes or explain > why the whole refactoring is needed as bug fix and provide a bisectable > version, I can certainly apply it for -rc1 if my test cases continue > working. No refactoring is necessary: only be->le and 1->4, and this is a pure bugfix, which has no side effects because OHW seems to use 1 byte accesses only. > BTW another unresolved issue that's been discussed is whether we should > change the default CPU for -M prep. I've been open to doing so for 2.0 > but would like some pointer that such a machine did exist That's fair. I don't have any preference here though, as long as the necessary cpu can be selected via the command line. > rather than just happens to work better with OpenBIOS. Oh, there is a compatible version of OpenBIOS available?! Are the binaries shared somewhere? BTW is there any Linux distribution newer than Debian Woody available for PReP? Artyom >> On Mon, Feb 10, 2014 at 11:46 PM, Artyom Tarasenko <atar4qemu@gmail.com> wrote: >>> On Tue, Nov 5, 2013 at 12:09 AM, Hervé Poussineau <hpoussin@reactos.org> wrote: >>>> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> >>> >>> Without this patch PReP is broken really bad. Was going to submit the >>> same fix, and then found that the bug was already fixed 4 months ago. >>> >>> Hope it helps getting it closer to master: >>> >>> Tested-by: Artyom Tarasenko <atar4qemu@gmail.com> >>> >>>> --- >>>> hw/pci-host/prep.c | 8 ++++---- >>>> 1 file changed, 4 insertions(+), 4 deletions(-) >>>> >>>> diff --git a/hw/pci-host/prep.c b/hw/pci-host/prep.c >>>> index c11679a..4eabe31 100644 >>>> --- a/hw/pci-host/prep.c >>>> +++ b/hw/pci-host/prep.c >>>> @@ -222,12 +222,12 @@ static void raven_pcihost_realizefn(DeviceState *d, Error **errp) >>>> >>>> pci_bus_irqs(&s->pci_bus, prep_set_irq, prep_map_irq, s->irq, PCI_NUM_PINS); >>>> >>>> - memory_region_init_io(&h->conf_mem, OBJECT(h), &pci_host_conf_be_ops, s, >>>> - "pci-conf-idx", 1); >>>> + memory_region_init_io(&h->conf_mem, OBJECT(h), &pci_host_conf_le_ops, s, >>>> + "pci-conf-idx", 4); >>>> memory_region_add_subregion(&s->pci_io, 0xcf8, &h->conf_mem); >>>> >>>> - memory_region_init_io(&h->data_mem, OBJECT(h), &pci_host_data_be_ops, s, >>>> - "pci-conf-data", 1); >>>> + memory_region_init_io(&h->data_mem, OBJECT(h), &pci_host_data_le_ops, s, >>>> + "pci-conf-data", 4); >>>> memory_region_add_subregion(&s->pci_io, 0xcfc, &h->data_mem); >>>> >>>> memory_region_init_io(&h->mmcfg, OBJECT(s), &PPC_PCIIO_ops, s, "pciio", 0x00400000); > -- Regards, Artyom Tarasenko linux/sparc and solaris/sparc under qemu blog: http://tyom.blogspot.com/search/label/qemu ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH v3 09/10] raven: fix PCI bus accesses with size > 1 2014-03-17 21:55 ` Artyom Tarasenko @ 2014-03-17 22:25 ` Hervé Poussineau 2014-03-19 22:44 ` Andreas Färber 2014-03-17 22:28 ` Mark Cave-Ayland 2014-03-19 22:47 ` Andreas Färber 2 siblings, 1 reply; 11+ messages in thread From: Hervé Poussineau @ 2014-03-17 22:25 UTC (permalink / raw) To: Artyom Tarasenko Cc: Mark Cave-Ayland, Andreas Färber, qemu-ppc, qemu-devel Hi, Le lun. 17 mars 2014 22:55:37 CET, Artyom Tarasenko a écrit : [...] >> BTW another unresolved issue that's been discussed is whether we should >> change the default CPU for -M prep. I've been open to doing so for 2.0 >> but would like some pointer that such a machine did exist > > That's fair. I don't have any preference here though, as long as the > necessary cpu can be selected via the command line. > >> rather than just happens to work better with OpenBIOS. > > Oh, there is a compatible version of OpenBIOS available?! Are the > binaries shared somewhere? You can check http://repo.or.cz/w/qemu/hpoussin.git , branch raven. It contains the patchset I just sent, and a few more patches to switch to OpenBIOS on PReP. The required binary is already committed in QEMU (pc-bios/openbios-ppc) > BTW is there any Linux distribution newer than Debian Woody available for PReP? My PReP machine is running Debian Woody with a custom 2.4.22 kernel. Enough for most things :) Hervé ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH v3 09/10] raven: fix PCI bus accesses with size > 1 2014-03-17 22:25 ` Hervé Poussineau @ 2014-03-19 22:44 ` Andreas Färber 0 siblings, 0 replies; 11+ messages in thread From: Andreas Färber @ 2014-03-19 22:44 UTC (permalink / raw) To: Hervé Poussineau, Mark Cave-Ayland Cc: qemu-ppc, qemu-devel, Artyom Tarasenko Am 17.03.2014 23:25, schrieb Hervé Poussineau: > Hi, > Le lun. 17 mars 2014 22:55:37 CET, Artyom Tarasenko a écrit : > [...] >>> BTW another unresolved issue that's been discussed is whether we should >>> change the default CPU for -M prep. I've been open to doing so for 2.0 >>> but would like some pointer that such a machine did exist >> >> That's fair. I don't have any preference here though, as long as the >> necessary cpu can be selected via the command line. >> >>> rather than just happens to work better with OpenBIOS. >> >> Oh, there is a compatible version of OpenBIOS available?! Are the >> binaries shared somewhere? > > You can check http://repo.or.cz/w/qemu/hpoussin.git , branch raven. > It contains the patchset I just sent, and a few more patches to switch > to OpenBIOS on PReP. > The required binary is already committed in QEMU (pc-bios/openbios-ppc) Do you or Mark want to mention that in the 2.0 release notes somehow? http://wiki.qemu.org/ChangeLog/2.0#Power On the other hand, do your patches differ from my two? If so, how? I think I still have an ugly #if 0 somewhere... Regards, Andreas ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH v3 09/10] raven: fix PCI bus accesses with size > 1 2014-03-17 21:55 ` Artyom Tarasenko 2014-03-17 22:25 ` Hervé Poussineau @ 2014-03-17 22:28 ` Mark Cave-Ayland 2014-03-19 22:47 ` Andreas Färber 2 siblings, 0 replies; 11+ messages in thread From: Mark Cave-Ayland @ 2014-03-17 22:28 UTC (permalink / raw) To: Artyom Tarasenko Cc: qemu-ppc, Andreas Färber, Hervé Poussineau, qemu-devel On 17/03/14 21:55, Artyom Tarasenko wrote: > Hi Andreas, > > On Mon, Mar 17, 2014 at 8:59 PM, Andreas Färber<andreas.faerber@web.de> wrote: >>> this patch seems still be missing in master. Is it causing any problems? >> >> It does not apply without the preceding patches. Here's my cherry-pick >> result: >> [...] >> I.e. we might change 1 -> 4 in the SysBus API, but would that work given >> that endianness is being changed alongside? > > Yes, and that's the point of this patch. PCI configuration space is > little-endian. With 1 byte access size, no byte swapping happens, so > the bug is hidden. > But on 32- and 16- bit accesses the bytes are swapped. > >> If either of you could submit a version limited to bug fixes or explain >> why the whole refactoring is needed as bug fix and provide a bisectable >> version, I can certainly apply it for -rc1 if my test cases continue >> working. > > No refactoring is necessary: only be->le and 1->4, and this is a pure > bugfix, which has no side effects because OHW seems to use 1 byte > accesses only. Yes, this is my understanding of the patch. However I also see that Hervé has just posted a revised raven patchset. If this patchset passes testing, I'd be inclined to apply it for 2.0 mainly because Hervé has done a great deal of testing on real OSs during development over the last 4 months and I'd bet that this fixes many more bugs than it would likely introduce. Andreas, what's your test harness for PReP look like? Can you point us towards specific ISOs so that we can try these patches out? >> BTW another unresolved issue that's been discussed is whether we should >> change the default CPU for -M prep. I've been open to doing so for 2.0 >> but would like some pointer that such a machine did exist > > That's fair. I don't have any preference here though, as long as the > necessary cpu can be selected via the command line. I think I'd prefer to stick with the 600 series as I know there has been some talk of people wanting to run BeOS under QEMU, and given that OHW runs fine under an emulated 600 series processor then we should try and keep compatibility with that. Given where we are time-wise, my preference would be to do the switch to OpenBIOS during the 2.1 cycle. >> rather than just happens to work better with OpenBIOS. > > Oh, there is a compatible version of OpenBIOS available?! Are the > binaries shared somewhere? Yes - it's called git master ;) Make sure you apply Hervé's patcheset just posted to the list, plus the last 3 [RFC] OpenBIOS patches at http://repo.or.cz/w/qemu/hpoussin.git/shortlog/refs/heads/raven. With those in place you should be able to launch something like this: ./qemu-system-ppc -M prep -cpu 750 -bios openbios-ppc As I mentioned above, the main problem with switching is that OpenBIOS doesn't seem to (yet) work with the PReP machine's default 604 processor. ATB, Mark. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH v3 09/10] raven: fix PCI bus accesses with size > 1 2014-03-17 21:55 ` Artyom Tarasenko 2014-03-17 22:25 ` Hervé Poussineau 2014-03-17 22:28 ` Mark Cave-Ayland @ 2014-03-19 22:47 ` Andreas Färber 2 siblings, 0 replies; 11+ messages in thread From: Andreas Färber @ 2014-03-19 22:47 UTC (permalink / raw) To: Artyom Tarasenko Cc: Mark Cave-Ayland, qemu-ppc, qemu-devel, Hervé Poussineau Am 17.03.2014 22:55, schrieb Artyom Tarasenko: > Hi Andreas, > > On Mon, Mar 17, 2014 at 8:59 PM, Andreas Färber <andreas.faerber@web.de> wrote: >>> this patch seems still be missing in master. Is it causing any problems? >> >> It does not apply without the preceding patches. Here's my cherry-pick >> result: >> [...] >> I.e. we might change 1 -> 4 in the SysBus API, but would that work given >> that endianness is being changed alongside? > > Yes, and that's the point of this patch. PCI configuration space is > little-endian. With 1 byte access size, no byte swapping happens, so > the bug is hidden. > But on 32- and 16- bit accesses the bytes are swapped. I think you misunderstood my question: I wanted to know whether switching from SysBus API to pure MemoryRegion API was part of the fix or an independent cleanup. But now that I'm going through the respun series it doesn't really matter any more... Andreas ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH v3 00/10] prep: improve Raven PCI host emulation @ 2013-11-04 23:09 Hervé Poussineau 2013-11-04 23:09 ` [Qemu-devel] [PATCH v3 09/10] raven: fix PCI bus accesses with size > 1 Hervé Poussineau 0 siblings, 1 reply; 11+ messages in thread From: Hervé Poussineau @ 2013-11-04 23:09 UTC (permalink / raw) To: qemu-devel; +Cc: Hervé Poussineau, Andreas Färber, qemu-ppc This patchset improves Raven PCI host emulation, found in some PPC platforms, like the QEMU 'prep' one, and for example the IBM RS/6000 40p. Some features added to raven emulation were already present in prep board (non contiguous I/O, firmware loading), while some other are new (PCI bus mastering memory region). This patchset has been tested against Linux 2.4 PPC and IBM RS/6000 40p firmware. Notable achievements are PCI bus mastering (tested with lsi53c895a SCSI adapter), lots of cleanup and emulation correctness, and also documentation of current hacks required by Open Hack'Ware. This gives us a good base to replace OpenHack'Ware by a possible upcoming OpenBIOS release. Changes since v2: - rebased and fixed conflicts in patches 5 and 6 Changes since v1: - reworked a dubious memcpy to make it work on big endian hosts - split onto multiple patches Hervé Poussineau (10): prep: kill get_system_io() usage raven: use constant PCI_NUM_PINS instead of 4 raven: move BIOS loading from board code to PCI host raven: rename intack region to pci_intack raven: set a correct PCI I/O memory region raven: set a correct PCI memory region raven: add PCI bus mastering address space raven: implement non-contiguous I/O region raven: fix PCI bus accesses with size > 1 raven: use raven_ for all function prefixes hw/pci-host/prep.c | 235 ++++++++++++++++++++++++++++++++++++++++++++-------- hw/ppc/prep.c | 155 ++++++---------------------------- 2 files changed, 226 insertions(+), 164 deletions(-) -- 1.7.10.4 ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH v3 09/10] raven: fix PCI bus accesses with size > 1 2013-11-04 23:09 [Qemu-devel] [PATCH v3 00/10] prep: improve Raven PCI host emulation Hervé Poussineau @ 2013-11-04 23:09 ` Hervé Poussineau 0 siblings, 0 replies; 11+ messages in thread From: Hervé Poussineau @ 2013-11-04 23:09 UTC (permalink / raw) To: qemu-devel; +Cc: Hervé Poussineau, Andreas Färber, qemu-ppc Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> --- hw/pci-host/prep.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/pci-host/prep.c b/hw/pci-host/prep.c index c11679a..4eabe31 100644 --- a/hw/pci-host/prep.c +++ b/hw/pci-host/prep.c @@ -222,12 +222,12 @@ static void raven_pcihost_realizefn(DeviceState *d, Error **errp) pci_bus_irqs(&s->pci_bus, prep_set_irq, prep_map_irq, s->irq, PCI_NUM_PINS); - memory_region_init_io(&h->conf_mem, OBJECT(h), &pci_host_conf_be_ops, s, - "pci-conf-idx", 1); + memory_region_init_io(&h->conf_mem, OBJECT(h), &pci_host_conf_le_ops, s, + "pci-conf-idx", 4); memory_region_add_subregion(&s->pci_io, 0xcf8, &h->conf_mem); - memory_region_init_io(&h->data_mem, OBJECT(h), &pci_host_data_be_ops, s, - "pci-conf-data", 1); + memory_region_init_io(&h->data_mem, OBJECT(h), &pci_host_data_le_ops, s, + "pci-conf-data", 4); memory_region_add_subregion(&s->pci_io, 0xcfc, &h->data_mem); memory_region_init_io(&h->mmcfg, OBJECT(s), &PPC_PCIIO_ops, s, "pciio", 0x00400000); -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 11+ messages in thread
end of thread, other threads:[~2014-03-19 22:48 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-02-10 22:46 [Qemu-devel] [PATCH v3 09/10] raven: fix PCI bus accesses with size > 1 Artyom Tarasenko 2014-02-10 22:55 ` [Qemu-devel] [Qemu-ppc] " Mark Cave-Ayland 2014-02-11 23:32 ` Andreas Färber 2014-03-16 22:27 ` [Qemu-devel] " Artyom Tarasenko 2014-03-17 19:59 ` Andreas Färber 2014-03-17 21:55 ` Artyom Tarasenko 2014-03-17 22:25 ` Hervé Poussineau 2014-03-19 22:44 ` Andreas Färber 2014-03-17 22:28 ` Mark Cave-Ayland 2014-03-19 22:47 ` Andreas Färber -- strict thread matches above, loose matches on Subject: below -- 2013-11-04 23:09 [Qemu-devel] [PATCH v3 00/10] prep: improve Raven PCI host emulation Hervé Poussineau 2013-11-04 23:09 ` [Qemu-devel] [PATCH v3 09/10] raven: fix PCI bus accesses with size > 1 Hervé Poussineau
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).