[PATCH v6 00/10] hw/riscv: Add the Tenstorrent Atlantis machine

Nicholas Piggin posted 10 patches 1 week, 2 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260516004206.169035-1-npiggin@gmail.com
Maintainers: Joel Stanley <joel@jms.id.au>, Nicholas Piggin <npiggin@gmail.com>, Michael Ellerman <mpe@kernel.org>, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>, Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Chao Liu <chao.liu.zevorn@gmail.com>, Paolo Bonzini <pbonzini@redhat.com>, Chris Rauer <crauer@google.com>, Alano Song <alanosong@163.com>, Sunil V L <sunilvl@ventanamicro.com>, Ran Wang <wangran@bosc.ac.cn>
MAINTAINERS                                  |  19 +
docs/system/riscv/tt_atlantis.rst            |  32 +
docs/system/target-riscv.rst                 |   1 +
hw/i2c/Kconfig                               |   5 +
hw/i2c/designware_i2c.c                      | 742 +++++++++++++++++++
hw/i2c/meson.build                           |   1 +
hw/i2c/trace-events                          |   4 +
hw/riscv/Kconfig                             |  13 +
hw/riscv/aia.c                               |  93 +++
hw/riscv/aia.h                               |  25 +
hw/riscv/boot.c                              |  34 +-
hw/riscv/meson.build                         |   3 +-
hw/riscv/microchip_pfsoc.c                   |   8 +-
hw/riscv/opentitan.c                         |   6 +-
hw/riscv/shakti_c.c                          |   6 +-
hw/riscv/sifive_u.c                          |   6 +-
hw/riscv/spike.c                             |   6 +-
hw/riscv/tt_atlantis.c                       | 663 +++++++++++++++++
hw/riscv/virt-acpi-build.c                   |  27 +-
hw/riscv/virt.c                              |  96 +--
hw/riscv/xiangshan_kmh.c                     |   6 +-
include/hw/i2c/designware_i2c.h              |  56 ++
include/hw/riscv/boot.h                      |  12 +-
include/hw/riscv/tt_atlantis.h               |  65 ++
include/hw/riscv/virt.h                      |   2 +-
tests/functional/riscv64/meson.build         |   1 +
tests/functional/riscv64/test_opensbi.py     |   4 +
tests/functional/riscv64/test_tt_atlantis.py |  57 ++
28 files changed, 1886 insertions(+), 107 deletions(-)
create mode 100644 docs/system/riscv/tt_atlantis.rst
create mode 100644 hw/i2c/designware_i2c.c
create mode 100644 hw/riscv/aia.c
create mode 100644 hw/riscv/aia.h
create mode 100644 hw/riscv/tt_atlantis.c
create mode 100644 include/hw/i2c/designware_i2c.h
create mode 100644 include/hw/riscv/tt_atlantis.h
create mode 100755 tests/functional/riscv64/test_tt_atlantis.py
[PATCH v6 00/10] hw/riscv: Add the Tenstorrent Atlantis machine
Posted by Nicholas Piggin 1 week, 2 days ago
Introducing Tenstorrent Atlantis!

 The Tenstorrent Atlantis platform is a collaboration between Tenstorrent
 and CoreLab Technology. It is based on the Atlantis SoC, which includes
 the Ascalon-X CPU and other IP from Tenstorrent and CoreLab Technology.

 The Tenstorrent Ascalon-X is a high performance 64-bit RVA23 compliant
 RISC-V CPU.

Many thanks to the reviewers on v5 and I2C patches.

v5:
https://lore.kernel.org/qemu-devel/20260507043838.45652-1-npiggin@gmail.com/

I2C controller:
https://lore.kernel.org/qemu-devel/20260507120524.111056-1-npiggin@gmail.com/

Changes since v5:
- Dropped the tt-ascalon extension changes, Drew had concerns
  about Svadu/Svade, so we'll work on that independently.
- Re-added I2C since Corey gave an ack for the controller patch.

Thanks,
Nick

Chris Rauer (1):
  hw/i2c: Add DesignWare I2C Controller

Joel Stanley (5):
  hw/riscv/virt: Move AIA initialisation to helper file
  hw/riscv/aia: Provide number of irq sources
  hw/riscv: Add Tenstorrent Atlantis machine
  hw/riscv/atlantis: Integrate i2c controllers
  hw/riscv/atlantis: Add some i2c peripherals

Nicholas Piggin (4):
  hw/riscv/boot: Describe discontiguous memory in boot_info
  hw/riscv/boot: Account for discontiguous memory when loading firmware
  hw/riscv/atlantis: Provide a simple halting payload
  tests/functional/riscv64: Add tt-atlantis tests

 MAINTAINERS                                  |  19 +
 docs/system/riscv/tt_atlantis.rst            |  32 +
 docs/system/target-riscv.rst                 |   1 +
 hw/i2c/Kconfig                               |   5 +
 hw/i2c/designware_i2c.c                      | 742 +++++++++++++++++++
 hw/i2c/meson.build                           |   1 +
 hw/i2c/trace-events                          |   4 +
 hw/riscv/Kconfig                             |  13 +
 hw/riscv/aia.c                               |  93 +++
 hw/riscv/aia.h                               |  25 +
 hw/riscv/boot.c                              |  34 +-
 hw/riscv/meson.build                         |   3 +-
 hw/riscv/microchip_pfsoc.c                   |   8 +-
 hw/riscv/opentitan.c                         |   6 +-
 hw/riscv/shakti_c.c                          |   6 +-
 hw/riscv/sifive_u.c                          |   6 +-
 hw/riscv/spike.c                             |   6 +-
 hw/riscv/tt_atlantis.c                       | 663 +++++++++++++++++
 hw/riscv/virt-acpi-build.c                   |  27 +-
 hw/riscv/virt.c                              |  96 +--
 hw/riscv/xiangshan_kmh.c                     |   6 +-
 include/hw/i2c/designware_i2c.h              |  56 ++
 include/hw/riscv/boot.h                      |  12 +-
 include/hw/riscv/tt_atlantis.h               |  65 ++
 include/hw/riscv/virt.h                      |   2 +-
 tests/functional/riscv64/meson.build         |   1 +
 tests/functional/riscv64/test_opensbi.py     |   4 +
 tests/functional/riscv64/test_tt_atlantis.py |  57 ++
 28 files changed, 1886 insertions(+), 107 deletions(-)
 create mode 100644 docs/system/riscv/tt_atlantis.rst
 create mode 100644 hw/i2c/designware_i2c.c
 create mode 100644 hw/riscv/aia.c
 create mode 100644 hw/riscv/aia.h
 create mode 100644 hw/riscv/tt_atlantis.c
 create mode 100644 include/hw/i2c/designware_i2c.h
 create mode 100644 include/hw/riscv/tt_atlantis.h
 create mode 100755 tests/functional/riscv64/test_tt_atlantis.py

-- 
2.53.0