From: Ramesh Thomas <ramesh.thomas@intel.com>
To: alex.williamson@redhat.com, jgg@ziepe.ca, schnelle@linux.ibm.com,
gbayer@linux.ibm.com
Cc: kvm@vger.kernel.org, linux-s390@vger.kernel.org,
ankita@nvidia.com, yishaih@nvidia.com, pasic@linux.ibm.com,
julianr@linux.ibm.com, bpsegal@us.ibm.com,
ramesh.thomas@intel.com, kevin.tian@intel.com, cho@microsoft.com
Subject: [PATCH v2 1/2] vfio/pci: Enable iowrite64 and ioread64 for vfio pci
Date: Tue, 3 Dec 2024 10:41:57 -0800 [thread overview]
Message-ID: <20241203184158.172492-2-ramesh.thomas@intel.com> (raw)
In-Reply-To: <20241203184158.172492-1-ramesh.thomas@intel.com>
Definitions of ioread64 and iowrite64 macros in asm/io.h called by vfio
pci implementations are enclosed inside check for CONFIG_GENERIC_IOMAP.
They don't get defined if CONFIG_GENERIC_IOMAP is defined. Include
linux/io-64-nonatomic-lo-hi.h to define iowrite64 and ioread64 macros
when they are not defined. io-64-nonatomic-lo-hi.h maps the macros to
generic implementation in lib/iomap.c. The generic implementation does
64 bit rw if readq/writeq is defined for the architecture, otherwise it
would do 32 bit back to back rw.
Note that there are two versions of the generic implementation that
differs in the order the 32 bit words are written if 64 bit support is
not present. This is not the little/big endian ordering, which is
handled separately. This patch uses the lo followed by hi word ordering
which is consistent with current back to back implementation in the
vfio/pci code.
Signed-off-by: Ramesh Thomas <ramesh.thomas@intel.com>
---
drivers/vfio/pci/vfio_pci_rdwr.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/vfio/pci/vfio_pci_rdwr.c b/drivers/vfio/pci/vfio_pci_rdwr.c
index 66b72c289284..a0595c745732 100644
--- a/drivers/vfio/pci/vfio_pci_rdwr.c
+++ b/drivers/vfio/pci/vfio_pci_rdwr.c
@@ -16,6 +16,7 @@
#include <linux/io.h>
#include <linux/vfio.h>
#include <linux/vgaarb.h>
+#include <linux/io-64-nonatomic-lo-hi.h>
#include "vfio_pci_priv.h"
--
2.34.1
next prev parent reply other threads:[~2024-12-03 18:47 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-03 18:41 [PATCH v2 0/2] Extend 8-byte PCI load/store support to x86 arch Ramesh Thomas
2024-12-03 18:41 ` Ramesh Thomas [this message]
2024-12-04 17:13 ` [PATCH v2 1/2] vfio/pci: Enable iowrite64 and ioread64 for vfio pci Niklas Schnelle
2024-12-03 18:41 ` [PATCH v2 2/2] vfio/pci: Remove #ifdef iowrite64 and #ifdef ioread64 Ramesh Thomas
2024-12-09 18:19 ` Jason Gunthorpe
2024-12-10 13:22 ` Thomas, Ramesh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241203184158.172492-2-ramesh.thomas@intel.com \
--to=ramesh.thomas@intel.com \
--cc=alex.williamson@redhat.com \
--cc=ankita@nvidia.com \
--cc=bpsegal@us.ibm.com \
--cc=cho@microsoft.com \
--cc=gbayer@linux.ibm.com \
--cc=jgg@ziepe.ca \
--cc=julianr@linux.ibm.com \
--cc=kevin.tian@intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=pasic@linux.ibm.com \
--cc=schnelle@linux.ibm.com \
--cc=yishaih@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox