All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/13]  hw/riscv: Add the Tenstorrent Atlantis machine
@ 2026-04-21  5:31 Joel Stanley
  2026-04-21  5:31 ` [PATCH v3 01/13] hw/i2c: Add designware i2c controller Joel Stanley
                   ` (12 more replies)
  0 siblings, 13 replies; 35+ messages in thread
From: Joel Stanley @ 2026-04-21  5:31 UTC (permalink / raw)
  To: Alistair Francis, Daniel Henrique Barboza
  Cc: Michael Ellerman, Nicholas Piggin, Joel Stanley,
	Anirudh Srinivasan, qemu-riscv, qemu-devel

v3 brings the atlantis work back into one patch set following review and
off-list discussion with Alistair. There have been a bunch of
improvements made since the last posting:

  - Narrow the AIA refactor, virt-specific code stays in virt.c rather
    than moving to aia.c
  - riscv_boot_info_init must be called before
    riscv_find_and_load_firmware in sifive_u
  - Fix fw_cfg_init_mem_dma API change in the Atlantis machine
  - Fix create_fdt_pmu copying RISCVCPUs by value
  - Fix memory leaks in PCIe DT string allocation
  - Fix functional test file paths and remove unused import
  - Add trace events to the DesignWare I2C driver
  - Add device tree clock to I2C integration
  - Remove unused MachineState argument from halting payload helper
  - Remove unused platform_bus from Atlantis machine
  - Use HWADDR_PRIX consistently

Original cover letter:

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.

This initial series adds the base machine support including:

 - AIA (Advanced Interrupt Architecture) support
 - PCIe controller and DesignWare I2C integration
 - Serial console and device tree generation
 - Functional tests for OpenSBI+Linux boot

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 buses
  hw/riscv/atlantis: Add some i2c peripherals

Nicholas Piggin (7):
  hw/riscv/boot: Describe discontiguous memory in boot_info
  hw/riscv/boot: Account for discontiguous memory when loading firmware
  hw/riscv/boot: Provide a simple halting payload
  target/riscv: tt-ascalon: Enable Zkr extension
  target/riscv: tt-ascalon: Add Svadu extension
  hw/riscv/atlantis: Add PCIe controller
  tests/functional/riscv64: Add tt-atlantis tests

 MAINTAINERS                                  |  20 +
 docs/system/riscv/tt_atlantis.rst            |  38 +
 docs/system/target-riscv.rst                 |   1 +
 hw/riscv/aia.h                               |  25 +
 include/hw/i2c/designware_i2c.h              | 101 ++
 include/hw/riscv/boot.h                      |  13 +-
 include/hw/riscv/tt_atlantis.h               |  92 ++
 include/hw/riscv/virt.h                      |   2 +-
 hw/i2c/designware_i2c.c                      | 818 ++++++++++++++++
 hw/riscv/aia.c                               |  93 ++
 hw/riscv/boot.c                              |  49 +-
 hw/riscv/microchip_pfsoc.c                   |   6 +-
 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                       | 932 +++++++++++++++++++
 hw/riscv/virt-acpi-build.c                   |  27 +-
 hw/riscv/virt.c                              |  96 +-
 hw/riscv/xiangshan_kmh.c                     |   6 +-
 target/riscv/cpu.c                           |   2 +-
 hw/i2c/Kconfig                               |   4 +
 hw/i2c/meson.build                           |   1 +
 hw/i2c/trace-events                          |   4 +
 hw/riscv/Kconfig                             |  20 +
 hw/riscv/meson.build                         |   3 +-
 tests/functional/riscv64/meson.build         |   1 +
 tests/functional/riscv64/test_opensbi.py     |   4 +
 tests/functional/riscv64/test_tt_atlantis.py |  63 ++
 29 files changed, 2337 insertions(+), 108 deletions(-)
 create mode 100644 docs/system/riscv/tt_atlantis.rst
 create mode 100644 hw/riscv/aia.h
 create mode 100644 include/hw/i2c/designware_i2c.h
 create mode 100644 include/hw/riscv/tt_atlantis.h
 create mode 100644 hw/i2c/designware_i2c.c
 create mode 100644 hw/riscv/aia.c
 create mode 100644 hw/riscv/tt_atlantis.c
 create mode 100755 tests/functional/riscv64/test_tt_atlantis.py

-- 
2.47.3



^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2026-04-23  8:30 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-21  5:31 [PATCH v3 00/13] hw/riscv: Add the Tenstorrent Atlantis machine Joel Stanley
2026-04-21  5:31 ` [PATCH v3 01/13] hw/i2c: Add designware i2c controller Joel Stanley
2026-04-21  5:31 ` [PATCH v3 02/13] hw/riscv/boot: Describe discontiguous memory in boot_info Joel Stanley
2026-04-22  0:04   ` Alistair Francis
2026-04-21  5:31 ` [PATCH v3 03/13] hw/riscv/boot: Account for discontiguous memory when loading firmware Joel Stanley
2026-04-21  5:47   ` Philippe Mathieu-Daudé
2026-04-23  1:58     ` Joel Stanley
2026-04-21  5:31 ` [PATCH v3 04/13] hw/riscv/boot: Provide a simple halting payload Joel Stanley
2026-04-21  5:48   ` Philippe Mathieu-Daudé
2026-04-23  2:04     ` Joel Stanley
2026-04-23  8:29       ` Philippe Mathieu-Daudé
2026-04-21  5:31 ` [PATCH v3 05/13] hw/riscv/virt: Move AIA initialisation to helper file Joel Stanley
2026-04-21  6:11   ` Philippe Mathieu-Daudé
2026-04-21  5:31 ` [PATCH v3 06/13] hw/riscv/aia: Provide number of irq sources Joel Stanley
2026-04-21  5:49   ` Philippe Mathieu-Daudé
2026-04-21  5:31 ` [PATCH v3 07/13] target/riscv: tt-ascalon: Enable Zkr extension Joel Stanley
2026-04-22  8:24   ` Chao Liu
2026-04-21  5:31 ` [PATCH v3 08/13] target/riscv: tt-ascalon: Add Svadu extension Joel Stanley
2026-04-21  5:31 ` [PATCH v3 09/13] hw/riscv: Add Tenstorrent Atlantis machine Joel Stanley
2026-04-21  5:52   ` Philippe Mathieu-Daudé
2026-04-22  9:12   ` Chao Liu
2026-04-21  5:31 ` [PATCH v3 10/13] hw/riscv/atlantis: Add PCIe controller Joel Stanley
2026-04-21  5:59   ` Philippe Mathieu-Daudé
2026-04-21  9:10     ` Nicholas Piggin
2026-04-21 12:59       ` Philippe Mathieu-Daudé
2026-04-21  5:31 ` [PATCH v3 11/13] tests/functional/riscv64: Add tt-atlantis tests Joel Stanley
2026-04-21  6:05   ` Philippe Mathieu-Daudé
2026-04-21  9:45     ` Nicholas Piggin
2026-04-21 15:35       ` Philippe Mathieu-Daudé
2026-04-23  2:25         ` Joel Stanley
2026-04-21  5:31 ` [PATCH v3 12/13] hw/riscv/atlantis: Integrate i2c buses Joel Stanley
2026-04-21  6:07   ` Philippe Mathieu-Daudé
2026-04-21  5:31 ` [PATCH v3 13/13] hw/riscv/atlantis: Add some i2c peripherals Joel Stanley
2026-04-21  6:09   ` Philippe Mathieu-Daudé
2026-04-23  2:23     ` Joel Stanley

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.