[PULL 00/11] C3700 patches

deller@kernel.org posted 11 patches 1 year, 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20231018204030.391572-1-deller@kernel.org
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, Helge Deller <deller@gmx.de>, Sven Schnelle <svens@stackframe.org>, Jason Wang <jasowang@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
There is a newer version of this series
MAINTAINERS                 |   5 +-
hw/hppa/Kconfig             |   1 +
hw/hppa/hppa_hardware.h     |   1 -
hw/hppa/machine.c           | 367 +++++++++++----
hw/input/lasips2.c          |  10 +
hw/net/tulip.c              |   2 +-
hw/pci-host/Kconfig         |   4 +
hw/pci-host/astro.c         | 876 ++++++++++++++++++++++++++++++++++++
hw/pci-host/meson.build     |   1 +
hw/pci-host/trace-events    |  11 +
include/hw/pci-host/astro.h |  92 ++++
include/hw/pci/pci_ids.h    |   2 +
pc-bios/hppa-firmware.img   | Bin 732376 -> 755480 bytes
roms/seabios-hppa           |   2 +-
14 files changed, 1292 insertions(+), 82 deletions(-)
create mode 100644 hw/pci-host/astro.c
create mode 100644 include/hw/pci-host/astro.h
[PULL 00/11] C3700 patches
Posted by deller@kernel.org 1 year, 1 month ago
From: Helge Deller <deller@gmx.de>

The following changes since commit 63011373ad22c794a013da69663c03f1297a5c56:

  Merge tag 'pull-riscv-to-apply-20231012-1' of https://github.com/alistair23/qemu into staging (2023-10-12 10:24:44 -0400)

are available in the Git repository at:

  https://github.com/hdeller/qemu-hppa.git tags/C3700-pull-request

for you to fetch changes up to 6120e493c9c5b7d2b122f2501ea1c2cc2b64d1e3:

  hw/hppa: Add new HP C3700 machine (2023-10-17 23:13:19 +0200)

----------------------------------------------------------------
target/hppa: Add emulation of a C3700 HP-PARISC workstation

This series adds a new PA-RISC machine emulation for the HP-PARISC
C3700 workstation.

The physical HP C3700 machine has a PA2.0 (64-bit) CPU, in contrast to
the existing emulation of a B160L workstation which is a 32-bit only
machine and where it's Dino PCI controller isn't 64-bit capable.

With the HP C3700 machine emulation (together with the emulated Astro
Memory controller and the Elroy PCI bridge) it's now possible to
enhance the hppa CPU emulation to support the 64-bit instruction set
in upcoming patches.

Helge

v4 changes:
- moved HP VENDOR PCI ID numerically into list (suggested by BALATON Zoltan)

v3 changes:
based on feedback from BALATON Zoltan <balaton@eik.bme.hu>:
- apply paches in different order to bring them logically closer to each other
- update comments in lasips2
- rephrased title and commit message of MAINTAINERS patch

v2 changes:
suggestions by BALATON Zoltan <balaton@eik.bme.hu>:
- merged pci_ids and tulip patch
- dropped comments in lasips2
- mention additional cleanups in patch "Require at least SeaBIOS-hppa version 10"
suggestions by Philippe Mathieu-Daudé <philmd@linaro.org>:
- dropped static pci_bus variable

----------------------------------------------------------------

Helge Deller (11):
  target/hppa: Update to SeaBIOS-hppa version 10
  hw/hppa: Require at least SeaBIOS-hppa version 10
  pci_ids/tulip: Add PCI vendor ID for HP and use it in tulip
  lasips2: LASI PS/2 devices are not user-createable
  hw/pci-host: Add Astro system bus adapter found on PA-RISC machines
  pci-host: Wire up new Astro/Elroy PCI bridge
  MAINTAINERS: Update HP-PARISC entries
  hw/hppa: Export machine name, BTLBs, power-button address via fw_cfg
  hw/hppa: Provide RTC and DebugOutputPort on CPU #0
  hw/hppa: Split out machine creation
  hw/hppa: Add new HP C3700 machine

 MAINTAINERS                 |   5 +-
 hw/hppa/Kconfig             |   1 +
 hw/hppa/hppa_hardware.h     |   1 -
 hw/hppa/machine.c           | 367 +++++++++++----
 hw/input/lasips2.c          |  10 +
 hw/net/tulip.c              |   2 +-
 hw/pci-host/Kconfig         |   4 +
 hw/pci-host/astro.c         | 876 ++++++++++++++++++++++++++++++++++++
 hw/pci-host/meson.build     |   1 +
 hw/pci-host/trace-events    |  11 +
 include/hw/pci-host/astro.h |  92 ++++
 include/hw/pci/pci_ids.h    |   2 +
 pc-bios/hppa-firmware.img   | Bin 732376 -> 755480 bytes
 roms/seabios-hppa           |   2 +-
 14 files changed, 1292 insertions(+), 82 deletions(-)
 create mode 100644 hw/pci-host/astro.c
 create mode 100644 include/hw/pci-host/astro.h

-- 
2.41.0


Re: [PULL 00/11] C3700 patches
Posted by Stefan Hajnoczi 1 year, 1 month ago
On Wed, 18 Oct 2023 at 13:42, <deller@kernel.org> wrote:
>
> From: Helge Deller <deller@gmx.de>
>
> The following changes since commit 63011373ad22c794a013da69663c03f1297a5c56:
>
>   Merge tag 'pull-riscv-to-apply-20231012-1' of https://github.com/alistair23/qemu into staging (2023-10-12 10:24:44 -0400)
>
> are available in the Git repository at:
>
>   https://github.com/hdeller/qemu-hppa.git tags/C3700-pull-request
>
> for you to fetch changes up to 6120e493c9c5b7d2b122f2501ea1c2cc2b64d1e3:
>
>   hw/hppa: Add new HP C3700 machine (2023-10-17 23:13:19 +0200)

Please take a look at the following CI failure:

266/841 ERROR:../tests/qtest/device-introspect-test.c:262:test_device_intro_concrete:
assertion failed (qom_tree_start == qom_tree_end): ("/machine
(none-machine)\r\n /peripheral (container)\r\n /peripheral-anon
(container)\r\n /qtest (qtest)\r\n /unattached (container)\r\n /io[0]
(memory-region)\r\n /sysbus (System)\r\n /system[0]
(memory-region)\r\n" == "/machine (none-machine)\r\n /peripheral
(container)\r\n /peripheral-anon (container)\r\n /qtest (qtest)\r\n
/unattached (container)\r\n /device[0] (elroy-pcihost)\r\n /elroy[0]
(memory-region)\r\n /pci (PCI)\r\n /pci-conf-data[0]
(memory-region)\r\n /pci-conf-idx[0] (memory-region)\r\n
/pci-isa-mmio[0] (memory-region)\r\n /pci-mmio-alias[0]
(memory-region)\r\n /pci-mmio[0] (memory-region)\r\n
/unnamed-gpio-in[0] (irq)\r\n /unnamed-gpio-in[1] (irq)\r\n
/unnamed-gpio-in[2] (irq)\r\n /unnamed-gpio-in[3] (irq)\r\n
/unnamed-gpio-in[4] (irq)\r\n /unnamed-gpio-in[5] (irq)\r\n
/unnamed-gpio-in[6] (irq)\r\n /unnamed-gpio-in[7] (irq)\r\n /device[1]
(elroy-pcihost)\r\n /elroy[0] (memory-region)\r\n /pci (PCI)\r\n
/pci-conf-data[0] (memory-region)\r\n /pci-conf-idx[0]
(memory-region)\r\n /pci-isa-mmio[0] (memory-region)\r\n
/pci-mmio-alias[0] (memory-region)\r\n /pci-mmio[0]
(memory-region)\r\n /unnamed-gpio-in[0] (irq)\r\n /unnamed-gpio-in[1]
(irq)\r\n /unnamed-gpio-in[2] (irq)\r\n /unnamed-gpio-in[3] (irq)\r\n
/unnamed-gpio-in[4] (irq)\r\n /unnamed-gpio-in[5] (irq)\r\n
/unnamed-gpio-in[6] (irq)\r\n /unnamed-gpio-in[7] (irq)\r\n /device[2]
(elroy-pcihost)\r\n /elroy[0] (memory-region)\r\n /pci (PCI)\r\n
/pci-conf-data[0] (memory-region)\r\n /pci-conf-idx[0]
(memory-region)\r\n /pci-isa-mmio[0] (memory-region)\r\n
/pci-mmio-alias[0] (memory-region)\r\n /pci-mmio[0]
(memory-region)\r\n /unnamed-gpio-in[0] (irq)\r\n /unnamed-gpio-in[1]
(irq)\r\n /unnamed-gpio-in[2] (irq)\r\n /unnamed-gpio-in[3] (irq)\r\n
/unnamed-gpio-in[4] (irq)\r\n /unnamed-gpio-in[5] (irq)\r\n
/unnamed-gpio-in[6] (irq)\r\n /unnamed-gpio-in[7] (irq)\r\n /device[3]
(elroy-pcihost)\r\n /elroy[0] (memory-region)\r\n /pci (PCI)\r\n
/pci-conf-data[0] (memory-region)\r\n /pci-conf-idx[0]
(memory-region)\r\n /pci-isa-mmio[0] (memory-region)\r\n
/pci-mmio-alias[0] (memory-region)\r\n /pci-mmio[0]
(memory-region)\r\n /unnamed-gpio-in[0] (irq)\r\n /unnamed-gpio-in[1]
(irq)\r\n /unnamed-gpio-in[2] (irq)\r\n /unnamed-gpio-in[3] (irq)\r\n
/unnamed-gpio-in[4] (irq)\r\n /unnamed-gpio-in[5] (irq)\r\n
/unnamed-gpio-in[6] (irq)\r\n /unnamed-gpio-in[7] (irq)\r\n /device[4]
(elroy-pcihost)\r\n /elroy[0] (memory-region)\r\n /pci (PCI)\r\n
/pci-conf-data[0] (memory-region)\r\n /pci-conf-idx[0]
(memory-region)\r\n /pci-isa-mmio[0] (memory-region)\r\n
/pci-mmio-alias[0] (memory-region)\r\n /pci-mmio[0]
(memory-region)\r\n /unnamed-gpio-in[0] (irq)\r\n /unnamed-gpio-in[1]
(irq)\r\n /unnamed-gpio-in[2] (irq)\r\n /unnamed-gpio-in[3] (irq)\r\n
/unnamed-gpio-in[4] (irq)\r\n /unnamed-gpio-in[5] (irq)\r\n
/unnamed-gpio-in[6] (irq)\r\n /unnamed-gpio-in[7] (irq)\r\n /device[5]
(elroy-pcihost)\r\n /elroy[0] (memory-region)\r\n /pci (PCI)\r\n
/pci-conf-data[0] (memory-region)\r\n /pci-conf-idx[0]
(memory-region)\r\n /pci-isa-mmio[0] (memory-region)\r\n
/pci-mmio-alias[0] (memory-region)\r\n /pci-mmio[0]
(memory-region)\r\n /unnamed-gpio-in[0] (irq)\r\n /unnamed-gpio-in[1]
(irq)\r\n /unnamed-gpio-in[2] (irq)\r\n /unnamed-gpio-in[3] (irq)\r\n
/unnamed-gpio-in[4] (irq)\r\n /unnamed-gpio-in[5] (irq)\r\n
/unnamed-gpio-in[6] (irq)\r\n /unnamed-gpio-in[7] (irq)\r\n /device[6]
(elroy-pcihost)\r\n /elroy[0] (memory-region)\r\n /pci (PCI)\r\n
/pci-conf-data[0] (memory-region)\r\n /pci-conf-idx[0]
(memory-region)\r\n /pci-isa-mmio[0] (memory-region)\r\n
/pci-mmio-alias[0] (memory-region)\r\n /pci-mmio[0]
(memory-region)\r\n /unnamed-gpio-in[0] (irq)\r\n /unnamed-gpio-in[1]
(irq)\r\n /unnamed-gpio-in[2] (irq)\r\n /unnamed-gpio-in[3] (irq)\r\n
/unnamed-gpio-in[4] (irq)\r\n /unnamed-gpio-in[5] (irq)\r\n
/unnamed-gpio-in[6] (irq)\r\n /unnamed-gpio-in[7] (irq)\r\n /device[7]
(elroy-pcihost)\r\n /elroy[0] (memory-region)\r\n /pci (PCI)\r\n
/pci-conf-data[0] (memory-region)\r\n /pci-conf-idx[0]
(memory-region)\r\n /pci-isa-mmio[0] (memory-region)\r\n
/pci-mmio-alias[0] (memory-region)\r\n /pci-mmio[0]
(memory-region)\r\n /unnamed-gpio-in[0] (irq)\r\n /unnamed-gpio-in[1]
(irq)\r\n /unnamed-gpio-in[2] (irq)\r\n /unnamed-gpio-in[3] (irq)\r\n
/unnamed-gpio-in[4] (irq)\r\n /unnamed-gpio-in[5] (irq)\r\n
/unnamed-gpio-in[6] (irq)\r\n /unnamed-gpio-in[7] (irq)\r\n /io[0]
(memory-region)\r\n /sysbus (System)\r\n /system[0]
(memory-region)\r\n") ERROR

266/841 qemu:qtest+qtest-hppa / qtest-hppa/device-introspect-test
ERROR 1.60s killed by signal 6 SIGABRT

https://gitlab.com/qemu-project/qemu/-/jobs/5332200642

Stefan
Re: [PULL 00/11] C3700 patches
Posted by Helge Deller 1 year, 1 month ago
On 10/19/23 19:19, Stefan Hajnoczi wrote:
> On Wed, 18 Oct 2023 at 13:42, <deller@kernel.org> wrote:
>>
>> From: Helge Deller <deller@gmx.de>
>>
>> The following changes since commit 63011373ad22c794a013da69663c03f1297a5c56:
>>
>>    Merge tag 'pull-riscv-to-apply-20231012-1' of https://github.com/alistair23/qemu into staging (2023-10-12 10:24:44 -0400)
>>
>> are available in the Git repository at:
>>
>>    https://github.com/hdeller/qemu-hppa.git tags/C3700-pull-request
>>
>> for you to fetch changes up to 6120e493c9c5b7d2b122f2501ea1c2cc2b64d1e3:
>>
>>    hw/hppa: Add new HP C3700 machine (2023-10-17 23:13:19 +0200)
>
> Please take a look at the following CI failure:
>
> 266/841 ERROR:../tests/qtest/device-introspect-test.c:262:test_device_intro_concrete:
> assertion failed (qom_tree_start == qom_tree_end): ("/machine
> (none-machine)\r\n /peripheral (container)\r\n /peripheral-anon
....

Oh, yes!
I missed to split up the creation of astro into a realize function.
It's now fixed in the new pull request I just sent out and the
test suite now passes for me.
Can you please recheck?

Thanks!
Helge