Message ID | 1320006193-15219-1-git-send-email-agraf@suse.de |
---|---|
State | New |
Headers | show |
On 30.10.2011, at 21:22, Alexander Graf wrote: > Hi Blue, > > This is my current patch queue for ppc. Please pull. > > Alex > > > The following changes since commit 375847a6c0330e3de0fd1589eeb5a364692b791e: > Max Filippov (1): > MAINTAINERS: update wiki URL and machine names for target-xtensa > > are available in the git repository at: > > git://repo.or.cz/qemu/agraf.git ppc-next > > Alexander Graf (4): > PPC: Bump qemu-system-ppc to 64-bit physical address space > PPC: Disable non-440 CPUs for ppcemb target > PPC: Fail configure when libfdt is not available > KVM: PPC: Override host vmx/vsx/dfp only when information known > > David Gibson (15): > pseries: Support SMT systems for KVM Book3S-HV > pseries: Allow KVM Book3S-HV on PPC970 CPUS > pseries: Use Book3S-HV TCE acceleration capabilities > pseries: Update SLOF firmware image > ppc: Generalize the kvmppc_get_clockfreq() function > pseries: Add device tree properties for VMX/VSX and DFP under kvm > pseries: Update SLOF firmware image > ppc: Remove broken partial PVR matching > ppc: First cut implementation of -cpu host > ppc: Add cpu defs for POWER7 revisions 2.1 and 2.3 > pseries: Under kvm use guest cpu = host cpu by default > ppc: Avoid decrementer related kvm exits > pseries: Correct vmx/dfp handling in both KVM and TCG cases > ppc: Fix up usermode only builds > pseries: Allow writes to KVM accelerated TCE table I added these patches in between as well: ppc: Alter CPU state to mask out TCG unimplemented instructions as appropriate pseries: Add partial support for PCI Alex
Thanks, pulled and reverted libfdt patch. On Sun, Oct 30, 2011 at 20:22, Alexander Graf <agraf@suse.de> wrote: > Hi Blue, > > This is my current patch queue for ppc. Please pull. > > Alex > > > The following changes since commit 375847a6c0330e3de0fd1589eeb5a364692b791e: > Max Filippov (1): > MAINTAINERS: update wiki URL and machine names for target-xtensa > > are available in the git repository at: > > git://repo.or.cz/qemu/agraf.git ppc-next > > Alexander Graf (4): > PPC: Bump qemu-system-ppc to 64-bit physical address space > PPC: Disable non-440 CPUs for ppcemb target > PPC: Fail configure when libfdt is not available > KVM: PPC: Override host vmx/vsx/dfp only when information known > > David Gibson (15): > pseries: Support SMT systems for KVM Book3S-HV > pseries: Allow KVM Book3S-HV on PPC970 CPUS > pseries: Use Book3S-HV TCE acceleration capabilities > pseries: Update SLOF firmware image > ppc: Generalize the kvmppc_get_clockfreq() function > pseries: Add device tree properties for VMX/VSX and DFP under kvm > pseries: Update SLOF firmware image > ppc: Remove broken partial PVR matching > ppc: First cut implementation of -cpu host > ppc: Add cpu defs for POWER7 revisions 2.1 and 2.3 > pseries: Under kvm use guest cpu = host cpu by default > ppc: Avoid decrementer related kvm exits > pseries: Correct vmx/dfp handling in both KVM and TCG cases > ppc: Fix up usermode only builds > pseries: Allow writes to KVM accelerated TCE table > > Fabien Chouteau (1): > Set an invalid-bits mask for each SPE instructions > > Liu Yu-B13201 (2): > ppc/e500_pci: Fix code style > ppc/e500_pci: Fix an array overflow issue > > configure | 13 +- > hw/ppc.c | 6 + > hw/ppce500_pci.c | 82 ++++++-- > hw/spapr.c | 99 +++++++-- > hw/spapr_vio.c | 8 +- > hw/spapr_vio.h | 1 + > pc-bios/README | 2 +- > pc-bios/slof.bin | Bin 579072 -> 738744 bytes > roms/SLOF | 2 +- > target-ppc/cpu.h | 23 ++- > target-ppc/helper.c | 11 + > target-ppc/kvm.c | 197 ++++++++++++++++- > target-ppc/kvm_ppc.h | 50 +++++ > target-ppc/translate.c | 500 +++++++++++++++++++++++-------------------- > target-ppc/translate_init.c | 90 ++++---- > 15 files changed, 755 insertions(+), 329 deletions(-) >
On 11/01/2011 04:05 PM, Blue Swirl wrote: > Thanks, pulled and reverted libfdt patch. Er, this broke the build: CC ppc64-softmmu/spapr_pci.o /home/anthony/git/qemu/hw/spapr_pci.c: In function ‘find_dev’: /home/anthony/git/qemu/hw/spapr_pci.c:54:9: error: ‘struct ChildrenHead’ has no member named ‘lh_first’ /home/anthony/git/qemu/hw/spapr_pci.c:54:9: error: ‘struct <anonymous>’ has no member named ‘le_next’ /home/anthony/git/qemu/hw/spapr_pci.c: In function ‘spapr_populate_pci_devices’: /home/anthony/git/qemu/hw/spapr_pci.c:400:5: error: ‘struct ChildrenHead’ has no member named ‘lh_first’ /home/anthony/git/qemu/hw/spapr_pci.c:400:5: error: ‘struct <anonymous>’ has no member named ‘le_next’ make[1]: *** [spapr_pci.o] Error 1 make: *** [subdir-ppc64-softmmu] Error 2 This is from commit: commit 3384f95c59e5db381cf3e605c8acec71baf0e6b8 Author: David Gibson <david@gibson.dropbear.id.au> Date: Sun Oct 30 17:16:46 2011 +0000 pseries: Add partial support for PCI And specifically: QLIST_FOREACH(qdev, &phb->host_state.bus->qbus.children, sibling) { PCIDevice *dev = (PCIDevice *)qdev; if (dev->devfn == devfn) { return dev; } } QBus::children is a QTAILQ, not a QLIST. Was this code tested at all? Regards, Anthony Liguori > > On Sun, Oct 30, 2011 at 20:22, Alexander Graf<agraf@suse.de> wrote: >> Hi Blue, >> >> This is my current patch queue for ppc. Please pull. >> >> Alex >> >> >> The following changes since commit 375847a6c0330e3de0fd1589eeb5a364692b791e: >> Max Filippov (1): >> MAINTAINERS: update wiki URL and machine names for target-xtensa >> >> are available in the git repository at: >> >> git://repo.or.cz/qemu/agraf.git ppc-next >> >> Alexander Graf (4): >> PPC: Bump qemu-system-ppc to 64-bit physical address space >> PPC: Disable non-440 CPUs for ppcemb target >> PPC: Fail configure when libfdt is not available >> KVM: PPC: Override host vmx/vsx/dfp only when information known >> >> David Gibson (15): >> pseries: Support SMT systems for KVM Book3S-HV >> pseries: Allow KVM Book3S-HV on PPC970 CPUS >> pseries: Use Book3S-HV TCE acceleration capabilities >> pseries: Update SLOF firmware image >> ppc: Generalize the kvmppc_get_clockfreq() function >> pseries: Add device tree properties for VMX/VSX and DFP under kvm >> pseries: Update SLOF firmware image >> ppc: Remove broken partial PVR matching >> ppc: First cut implementation of -cpu host >> ppc: Add cpu defs for POWER7 revisions 2.1 and 2.3 >> pseries: Under kvm use guest cpu = host cpu by default >> ppc: Avoid decrementer related kvm exits >> pseries: Correct vmx/dfp handling in both KVM and TCG cases >> ppc: Fix up usermode only builds >> pseries: Allow writes to KVM accelerated TCE table >> >> Fabien Chouteau (1): >> Set an invalid-bits mask for each SPE instructions >> >> Liu Yu-B13201 (2): >> ppc/e500_pci: Fix code style >> ppc/e500_pci: Fix an array overflow issue >> >> configure | 13 +- >> hw/ppc.c | 6 + >> hw/ppce500_pci.c | 82 ++++++-- >> hw/spapr.c | 99 +++++++-- >> hw/spapr_vio.c | 8 +- >> hw/spapr_vio.h | 1 + >> pc-bios/README | 2 +- >> pc-bios/slof.bin | Bin 579072 -> 738744 bytes >> roms/SLOF | 2 +- >> target-ppc/cpu.h | 23 ++- >> target-ppc/helper.c | 11 + >> target-ppc/kvm.c | 197 ++++++++++++++++- >> target-ppc/kvm_ppc.h | 50 +++++ >> target-ppc/translate.c | 500 +++++++++++++++++++++++-------------------- >> target-ppc/translate_init.c | 90 ++++---- >> 15 files changed, 755 insertions(+), 329 deletions(-) >> >
On 01.11.2011, at 14:41, Anthony Liguori <anthony@codemonkey.ws> wrote: > On 11/01/2011 04:05 PM, Blue Swirl wrote: >> Thanks, pulled and reverted libfdt patch. > > Er, this broke the build: > > CC ppc64-softmmu/spapr_pci.o > /home/anthony/git/qemu/hw/spapr_pci.c: In function ‘find_dev’: > /home/anthony/git/qemu/hw/spapr_pci.c:54:9: error: ‘struct ChildrenHead’ has no member named ‘lh_first’ > /home/anthony/git/qemu/hw/spapr_pci.c:54:9: error: ‘struct <anonymous>’ has no member named ‘le_next’ > /home/anthony/git/qemu/hw/spapr_pci.c: In function ‘spapr_populate_pci_devices’: > /home/anthony/git/qemu/hw/spapr_pci.c:400:5: error: ‘struct ChildrenHead’ has no member named ‘lh_first’ > /home/anthony/git/qemu/hw/spapr_pci.c:400:5: error: ‘struct <anonymous>’ has no member named ‘le_next’ > make[1]: *** [spapr_pci.o] Error 1 > make: *** [subdir-ppc64-softmmu] Error 2 > > This is from commit: > > commit 3384f95c59e5db381cf3e605c8acec71baf0e6b8 > Author: David Gibson <david@gibson.dropbear.id.au> > Date: Sun Oct 30 17:16:46 2011 +0000 > > pseries: Add partial support for PCI > > And specifically: > > QLIST_FOREACH(qdev, &phb->host_state.bus->qbus.children, sibling) { > PCIDevice *dev = (PCIDevice *)qdev; > if (dev->devfn == devfn) { > return dev; > } > } > > QBus::children is a QTAILQ, not a QLIST. > > Was this code tested at all? Uh, yeah. Compile and execution tested O_o. Alex
On 11/01/2011 05:14 PM, Alexander Graf wrote: >> And specifically: >> >> QLIST_FOREACH(qdev,&phb->host_state.bus->qbus.children, sibling) { >> PCIDevice *dev = (PCIDevice *)qdev; >> if (dev->devfn == devfn) { >> return dev; >> } >> } >> >> QBus::children is a QTAILQ, not a QLIST. >> >> Was this code tested at all? > > Uh, yeah. Compile and execution tested O_o. Do you not have libfdt installed? Regards, Anthony Liguori > > Alex > >
On 01.11.2011, at 15:16, Anthony Liguori <anthony@codemonkey.ws> wrote: > On 11/01/2011 05:14 PM, Alexander Graf wrote: >>> And specifically: >>> >>> QLIST_FOREACH(qdev,&phb->host_state.bus->qbus.children, sibling) { >>> PCIDevice *dev = (PCIDevice *)qdev; >>> if (dev->devfn == devfn) { >>> return dev; >>> } >>> } >>> >>> QBus::children is a QTAILQ, not a QLIST. >>> >>> Was this code tested at all? >> >> Uh, yeah. Compile and execution tested O_o. > > Do you not have libfdt installed? I have libfdt installed on all boxes. I also verified that I could see a PCI device in the guest, so the code worked. Maybe the list type was changed between the pullreq and now? Alex > > Regards, > > Anthony Liguori > >> >> Alex >> >> >
On 11/01/2011 05:28 PM, Alexander Graf wrote: > > On 01.11.2011, at 15:16, Anthony Liguori<anthony@codemonkey.ws> wrote: > >> On 11/01/2011 05:14 PM, Alexander Graf wrote: >>>> And specifically: >>>> >>>> QLIST_FOREACH(qdev,&phb->host_state.bus->qbus.children, sibling) { >>>> PCIDevice *dev = (PCIDevice *)qdev; >>>> if (dev->devfn == devfn) { >>>> return dev; >>>> } >>>> } >>>> >>>> QBus::children is a QTAILQ, not a QLIST. >>>> >>>> Was this code tested at all? >>> >>> Uh, yeah. Compile and execution tested O_o. >> >> Do you not have libfdt installed? > > I have libfdt installed on all boxes. I also verified that I could see a PCI device in the guest, so the code worked. > > Maybe the list type was changed between the pullreq and now? Yes. The patch that did it was old but only recently got into the tree. Regards, Anthony Liguori > > Alex > >> >> Regards, >> >> Anthony Liguori >> >>> >>> Alex >>> >>> >> >
On Tue, Nov 01, 2011 at 03:28:05PM -0700, Alexander Graf wrote: > > On 01.11.2011, at 15:16, Anthony Liguori <anthony@codemonkey.ws> wrote: > > > On 11/01/2011 05:14 PM, Alexander Graf wrote: > >>> And specifically: > >>> > >>> QLIST_FOREACH(qdev,&phb->host_state.bus->qbus.children, sibling) { > >>> PCIDevice *dev = (PCIDevice *)qdev; > >>> if (dev->devfn == devfn) { > >>> return dev; > >>> } > >>> } > >>> > >>> QBus::children is a QTAILQ, not a QLIST. > >>> > >>> Was this code tested at all? > >> > >> Uh, yeah. Compile and execution tested O_o. > > > > Do you not have libfdt installed? > > I have libfdt installed on all boxes. I also verified that I could > see a PCI device in the guest, so the code worked. > > Maybe the list type was changed between the pullreq and now? It did. I actually found this one yesterday when I rebased agraf's series, but didn't get around to sending the fix out.
On Tue, Nov 1, 2011 at 21:41, Anthony Liguori <anthony@codemonkey.ws> wrote: > On 11/01/2011 04:05 PM, Blue Swirl wrote: >> >> Thanks, pulled and reverted libfdt patch. > > Er, this broke the build: > > CC ppc64-softmmu/spapr_pci.o > /home/anthony/git/qemu/hw/spapr_pci.c: In function ‘find_dev’: > /home/anthony/git/qemu/hw/spapr_pci.c:54:9: error: ‘struct ChildrenHead’ has > no member named ‘lh_first’ > /home/anthony/git/qemu/hw/spapr_pci.c:54:9: error: ‘struct <anonymous>’ has > no member named ‘le_next’ > /home/anthony/git/qemu/hw/spapr_pci.c: In function > ‘spapr_populate_pci_devices’: > /home/anthony/git/qemu/hw/spapr_pci.c:400:5: error: ‘struct ChildrenHead’ > has no member named ‘lh_first’ > /home/anthony/git/qemu/hw/spapr_pci.c:400:5: error: ‘struct <anonymous>’ has > no member named ‘le_next’ > make[1]: *** [spapr_pci.o] Error 1 > make: *** [subdir-ppc64-softmmu] Error 2 > > This is from commit: > > commit 3384f95c59e5db381cf3e605c8acec71baf0e6b8 > Author: David Gibson <david@gibson.dropbear.id.au> > Date: Sun Oct 30 17:16:46 2011 +0000 > > pseries: Add partial support for PCI > > And specifically: > > QLIST_FOREACH(qdev, &phb->host_state.bus->qbus.children, sibling) { > PCIDevice *dev = (PCIDevice *)qdev; > if (dev->devfn == devfn) { > return dev; > } > } > > QBus::children is a QTAILQ, not a QLIST. > > Was this code tested at all? I built it and ran a quick test for PPC. 7f7623662781fa152c5aa39fd63a2e8766516a2c still builds fine here. Though I don't have libfdt and no test for pseries. > Regards, > > Anthony Liguori > >> >> On Sun, Oct 30, 2011 at 20:22, Alexander Graf<agraf@suse.de> wrote: >>> >>> Hi Blue, >>> >>> This is my current patch queue for ppc. Please pull. >>> >>> Alex >>> >>> >>> The following changes since commit >>> 375847a6c0330e3de0fd1589eeb5a364692b791e: >>> Max Filippov (1): >>> MAINTAINERS: update wiki URL and machine names for target-xtensa >>> >>> are available in the git repository at: >>> >>> git://repo.or.cz/qemu/agraf.git ppc-next >>> >>> Alexander Graf (4): >>> PPC: Bump qemu-system-ppc to 64-bit physical address space >>> PPC: Disable non-440 CPUs for ppcemb target >>> PPC: Fail configure when libfdt is not available >>> KVM: PPC: Override host vmx/vsx/dfp only when information known >>> >>> David Gibson (15): >>> pseries: Support SMT systems for KVM Book3S-HV >>> pseries: Allow KVM Book3S-HV on PPC970 CPUS >>> pseries: Use Book3S-HV TCE acceleration capabilities >>> pseries: Update SLOF firmware image >>> ppc: Generalize the kvmppc_get_clockfreq() function >>> pseries: Add device tree properties for VMX/VSX and DFP under kvm >>> pseries: Update SLOF firmware image >>> ppc: Remove broken partial PVR matching >>> ppc: First cut implementation of -cpu host >>> ppc: Add cpu defs for POWER7 revisions 2.1 and 2.3 >>> pseries: Under kvm use guest cpu = host cpu by default >>> ppc: Avoid decrementer related kvm exits >>> pseries: Correct vmx/dfp handling in both KVM and TCG cases >>> ppc: Fix up usermode only builds >>> pseries: Allow writes to KVM accelerated TCE table >>> >>> Fabien Chouteau (1): >>> Set an invalid-bits mask for each SPE instructions >>> >>> Liu Yu-B13201 (2): >>> ppc/e500_pci: Fix code style >>> ppc/e500_pci: Fix an array overflow issue >>> >>> configure | 13 +- >>> hw/ppc.c | 6 + >>> hw/ppce500_pci.c | 82 ++++++-- >>> hw/spapr.c | 99 +++++++-- >>> hw/spapr_vio.c | 8 +- >>> hw/spapr_vio.h | 1 + >>> pc-bios/README | 2 +- >>> pc-bios/slof.bin | Bin 579072 -> 738744 bytes >>> roms/SLOF | 2 +- >>> target-ppc/cpu.h | 23 ++- >>> target-ppc/helper.c | 11 + >>> target-ppc/kvm.c | 197 ++++++++++++++++- >>> target-ppc/kvm_ppc.h | 50 +++++ >>> target-ppc/translate.c | 500 >>> +++++++++++++++++++++++-------------------- >>> target-ppc/translate_init.c | 90 ++++---- >>> 15 files changed, 755 insertions(+), 329 deletions(-) >>> >> > >
On 11/02/2011 02:59 PM, Blue Swirl wrote: > On Tue, Nov 1, 2011 at 21:41, Anthony Liguori<anthony@codemonkey.ws> wrote: >> On 11/01/2011 04:05 PM, Blue Swirl wrote: >>> >>> Thanks, pulled and reverted libfdt patch. >> >> Er, this broke the build: >> >> CC ppc64-softmmu/spapr_pci.o >> /home/anthony/git/qemu/hw/spapr_pci.c: In function ‘find_dev’: >> /home/anthony/git/qemu/hw/spapr_pci.c:54:9: error: ‘struct ChildrenHead’ has >> no member named ‘lh_first’ >> /home/anthony/git/qemu/hw/spapr_pci.c:54:9: error: ‘struct<anonymous>’ has >> no member named ‘le_next’ >> /home/anthony/git/qemu/hw/spapr_pci.c: In function >> ‘spapr_populate_pci_devices’: >> /home/anthony/git/qemu/hw/spapr_pci.c:400:5: error: ‘struct ChildrenHead’ >> has no member named ‘lh_first’ >> /home/anthony/git/qemu/hw/spapr_pci.c:400:5: error: ‘struct<anonymous>’ has >> no member named ‘le_next’ >> make[1]: *** [spapr_pci.o] Error 1 >> make: *** [subdir-ppc64-softmmu] Error 2 >> >> This is from commit: >> >> commit 3384f95c59e5db381cf3e605c8acec71baf0e6b8 >> Author: David Gibson<david@gibson.dropbear.id.au> >> Date: Sun Oct 30 17:16:46 2011 +0000 >> >> pseries: Add partial support for PCI >> >> And specifically: >> >> QLIST_FOREACH(qdev,&phb->host_state.bus->qbus.children, sibling) { >> PCIDevice *dev = (PCIDevice *)qdev; >> if (dev->devfn == devfn) { >> return dev; >> } >> } >> >> QBus::children is a QTAILQ, not a QLIST. >> >> Was this code tested at all? > > I built it and ran a quick test for PPC. > 7f7623662781fa152c5aa39fd63a2e8766516a2c still builds fine here. > Though I don't have libfdt and no test for pseries. Yeah, libfdt isn't packaged widely still so it's understandable. We run into this a lot. Pulling it in as a submodule is probably a good idea. Regards, Anthony Liguori
Blue Swirl wrote: > On Tue, Nov 1, 2011 at 21:41, Anthony Liguori <anthony@codemonkey.ws> wrote: > >> On 11/01/2011 04:05 PM, Blue Swirl wrote: >> >>> Thanks, pulled and reverted libfdt patch. >>> >> Er, this broke the build: >> >> CC ppc64-softmmu/spapr_pci.o >> /home/anthony/git/qemu/hw/spapr_pci.c: In function ‘find_dev’: >> /home/anthony/git/qemu/hw/spapr_pci.c:54:9: error: ‘struct ChildrenHead’ has >> no member named ‘lh_first’ >> /home/anthony/git/qemu/hw/spapr_pci.c:54:9: error: ‘struct <anonymous>’ has >> no member named ‘le_next’ >> /home/anthony/git/qemu/hw/spapr_pci.c: In function >> ‘spapr_populate_pci_devices’: >> /home/anthony/git/qemu/hw/spapr_pci.c:400:5: error: ‘struct ChildrenHead’ >> has no member named ‘lh_first’ >> /home/anthony/git/qemu/hw/spapr_pci.c:400:5: error: ‘struct <anonymous>’ has >> no member named ‘le_next’ >> make[1]: *** [spapr_pci.o] Error 1 >> make: *** [subdir-ppc64-softmmu] Error 2 >> >> This is from commit: >> >> commit 3384f95c59e5db381cf3e605c8acec71baf0e6b8 >> Author: David Gibson <david@gibson.dropbear.id.au> >> Date: Sun Oct 30 17:16:46 2011 +0000 >> >> pseries: Add partial support for PCI >> >> And specifically: >> >> QLIST_FOREACH(qdev, &phb->host_state.bus->qbus.children, sibling) { >> PCIDevice *dev = (PCIDevice *)qdev; >> if (dev->devfn == devfn) { >> return dev; >> } >> } >> >> QBus::children is a QTAILQ, not a QLIST. >> >> Was this code tested at all? >> > > I built it and ran a quick test for PPC. > 7f7623662781fa152c5aa39fd63a2e8766516a2c still builds fine here. > Though I don't have libfdt and no test for pseries. > Testing is easy. You can either run it without -kernel which should boot up SLOF. Or you find a random ppc64 kernel and boot it with -kernel :). Anthony did fix the problem immediately after though. It was basically a merge conflict. Alex