[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240827130829.43632-1-alex.bennee@linaro.org>
Date: Tue, 27 Aug 2024 14:08:26 +0100
From: Alex Bennée <alex.bennee@...aro.org>
To: linux-kernel@...r.kernel.org
Cc: kvm@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
kvmarm@...ts.linux.dev,
maz@...nel.org,
arnd@...aro.org,
Alex Bennée <alex.bennee@...aro.org>
Subject: [PATCH 0/3] altra workarounds for PCIE_64 with instrumentation
While testing virtio-vulkan on the AVA platform we needed to include
some fixups for its PCI handling. As far as I know these have only
been included in various downstream kernel repos:
https://community.amperecomputing.com/t/gpu-support-for-ampere-altra/274
The initial two patches are as we found them save for a fix to
align_ldst_regoff_simdfp in the alignment handler. The third and new
patch is trace point instrumentation so we could see how often the
workaround is being invoked.
Combined with Sean's PFN patches:
https://lore.kernel.org/all/20240726235234.228822-1-seanjc@google.com/
And the Vulkan/Venus support for QEMU:
https://patchew.org/QEMU/20240822185110.1757429-1-dmitry.osipenko@collabora.com/
I was able to test virtio-vulkan running in a Aarch64 KVM guest hosted
on my AVA platform with an AMD Radeon graphics card plugged into the
PCI bus.
I don't know if there is any interest in getting these upstream but I
figured it was worth posting to the lists for wider visibility and
discussion. For now I'll just carry these patches locally on my AVA
until I get a better system for PCI GPU experiments.
Thanks,
Alex.
Alex Bennée (1):
ampere/arm64: instrument the altra workarounds
D Scott Phillips (2):
ampere/arm64: Add a fixup handler for alignment faults in aarch64 code
ampere/arm64: Work around Ampere Altra erratum #82288 PCIE_65
arch/arm64/Kconfig | 22 +-
arch/arm64/include/asm/insn.h | 1 +
arch/arm64/include/asm/io.h | 3 +
arch/arm64/include/asm/pgtable.h | 29 +-
arch/arm64/mm/Makefile | 3 +-
arch/arm64/mm/fault.c | 726 +++++++++++++++++++++++++++++
arch/arm64/mm/fault_neon.c | 59 +++
arch/arm64/mm/ioremap.c | 38 ++
drivers/pci/quirks.c | 9 +
include/asm-generic/io.h | 4 +
include/trace/events/altra_fixup.h | 57 +++
mm/ioremap.c | 2 +-
12 files changed, 945 insertions(+), 8 deletions(-)
create mode 100644 arch/arm64/mm/fault_neon.c
create mode 100644 include/trace/events/altra_fixup.h
--
2.39.2
Powered by blists - more mailing lists