qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Nicolin Chen <nicolinc@nvidia.com>
To: Eric Auger <eric.auger@redhat.com>
Cc: <eric.auger.pro@gmail.com>, <yi.l.liu@intel.com>,
	<yi.y.sun@intel.com>, <alex.williamson@redhat.com>,
	<clg@redhat.com>, <qemu-devel@nongnu.org>,
	<david@gibson.dropbear.id.au>, <thuth@redhat.com>,
	<farman@linux.ibm.com>, <mjrosato@linux.ibm.com>,
	<akrowiak@linux.ibm.com>, <pasic@linux.ibm.com>,
	<jjherne@linux.ibm.com>, <jasowang@redhat.com>,
	<kvm@vger.kernel.org>, <jgg@nvidia.com>, <kevin.tian@intel.com>,
	<chao.p.peng@intel.com>, <peterx@redhat.com>,
	<shameerali.kolothum.thodi@huawei.com>, <zhangfei.gao@linaro.org>,
	<berrange@redhat.com>, <apopple@nvidia.com>,
	<suravee.suthikulpanit@amd.com>
Subject: Re: [RFC v3 14/18] backends/iommufd: Introduce the iommufd object
Date: Wed, 15 Feb 2023 15:48:06 -0800	[thread overview]
Message-ID: <Y+1vNgoGJJw40+9C@Asurada-Nvidia> (raw)
In-Reply-To: <20230131205305.2726330-15-eric.auger@redhat.com>

Hi Eric,

On Tue, Jan 31, 2023 at 09:53:01PM +0100, Eric Auger wrote:

> diff --git a/include/sysemu/iommufd.h b/include/sysemu/iommufd.h
> new file mode 100644
> index 0000000000..06a866d1bd
> --- /dev/null
> +++ b/include/sysemu/iommufd.h
> @@ -0,0 +1,47 @@
> +#ifndef SYSEMU_IOMMUFD_H
> +#define SYSEMU_IOMMUFD_H
> +
> +#include "qom/object.h"
> +#include "qemu/thread.h"
> +#include "exec/hwaddr.h"
> +#include "exec/ram_addr.h"

After rebasing nesting patches on top of this, I see a build error:

====================================================================
[47/876] Compiling C object libcommon.fa.p/hw_arm_smmu-common.c.o
FAILED: libcommon.fa.p/hw_arm_smmu-common.c.o 
cc -Ilibcommon.fa.p -I../src/3rdparty/qemu/dtc/libfdt -I/usr/include/pixman-1 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -I/usr/include/gio-unix-2.0 -fdiagnostics-color=auto -Wall -Winvalid-pch -std=gnu11 -O2 -g -isystem /src/3rdparty/qemu/linux-headers -isystem linux-headers -iquote . -iquote /src/3rdparty/qemu -iquote /src/3rdparty/qemu/include -iquote /src/3rdparty/qemu/tcg/aarch64 -pthread -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fno-common -fwrapv -Wundef -Wwrite-strings -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wold-style-declaration -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wimplicit-fallthrough=2 -Wmissing-format-attribute -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi -fstack-protector-strong -fPIE -MD -MQ libcommon.fa.p/hw_arm_smmu-common.c.o -MF libcommon.fa.p/hw_arm_smmu-common.c.o.d -o libcommon.fa.p/hw_arm_smmu-common.c.o -c ../src/3rdparty/qemu/hw/arm/smmu-common.c
In file included from /src/3rdparty/qemu/include/sysemu/iommufd.h:7,
                 from ../src/3rdparty/qemu/hw/arm/smmu-common.c:29:
/src/3rdparty/qemu/include/exec/ram_addr.h:23:10: fatal error: cpu.h: No such file or directory
   23 | #include "cpu.h"
      |          ^~~~~~~
compilation terminated.
====================================================================

I guess it's resulted from the module inter-dependency. Though our
nesting patches aren't finalized yet, the possibility of including
iommufd.h is still there. Meanwhile, the ram_addr.h here is added
for "ram_addr_t" type, I think. So, could we include "cpu-common.h"
instead, where the "ram_addr_t" type is actually defined?

The build error is gone after this replacement:
====================================================================
diff --git a/include/sysemu/iommufd.h b/include/sysemu/iommufd.h
index 45540de63986..86d370c221b3 100644
--- a/include/sysemu/iommufd.h
+++ b/include/sysemu/iommufd.h
@@ -4,7 +4,7 @@
 #include "qom/object.h"
 #include "qemu/thread.h"
 #include "exec/hwaddr.h"
-#include "exec/ram_addr.h"
+#include "exec/cpu-common.h"
 #include <linux/iommufd.h>
 
 #define TYPE_IOMMUFD_BACKEND "iommufd"
====================================================================

Thanks
Nic


  reply	other threads:[~2023-02-15 23:54 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-31 20:52 [RFC v3 00/18] vfio: Adopt iommufd Eric Auger
2023-01-31 20:52 ` [RFC v3 01/18] scripts/update-linux-headers: Add iommufd.h Eric Auger
2023-01-31 20:52 ` [RFC v3 02/18] linux-headers: Import vfio.h and iommufd.h Eric Auger
2023-01-31 20:52 ` [RFC v3 03/18] vfio/common: Move IOMMU agnostic helpers to a separate file Eric Auger
2023-01-31 20:52 ` [RFC v3 04/18] vfio/common: Introduce vfio_container_add|del_section_window() Eric Auger
2023-01-31 20:52 ` [RFC v3 05/18] vfio/common: Move legacy VFIO backend code into separate container.c Eric Auger
2023-01-31 20:52 ` [RFC v3 06/18] vfio/common: Rename into as.c Eric Auger
2023-01-31 20:52 ` [RFC v3 07/18] vfio: Add base container Eric Auger
2023-01-31 20:52 ` [RFC v3 08/18] vfio/container: Introduce vfio_[attach/detach]_device Eric Auger
2023-01-31 20:52 ` [RFC v3 09/18] vfio/platform: Use vfio_[attach/detach]_device Eric Auger
2023-01-31 20:52 ` [RFC v3 10/18] vfio/ap: " Eric Auger
2023-01-31 20:52 ` [RFC v3 11/18] vfio/ccw: " Eric Auger
2023-03-03 17:30   ` Matthew Rosato
2023-03-08 10:56     ` Eric Auger
2023-01-31 20:52 ` [RFC v3 12/18] vfio/container-base: Introduce [attach/detach]_device container callbacks Eric Auger
2023-01-31 20:53 ` [RFC v3 13/18] vfio/container-base: Introduce VFIOContainer reset callback Eric Auger
2023-01-31 20:53 ` [RFC v3 14/18] backends/iommufd: Introduce the iommufd object Eric Auger
2023-02-15 23:48   ` Nicolin Chen [this message]
2023-02-16  7:58     ` Eric Auger
2023-01-31 20:53 ` [RFC v3 15/18] util/char_dev: Add open_cdev() Eric Auger
2023-01-31 20:53 ` [RFC v3 16/18] vfio/iommufd: Implement the iommufd backend Eric Auger
2023-01-31 23:30   ` Jason Gunthorpe
2023-02-01 15:42     ` Eric Auger
2023-01-31 20:53 ` [RFC v3 17/18] vfio/iommufd: Add IOAS_COPY_DMA support Eric Auger
2023-01-31 20:53 ` [RFC v3 18/18] vfio/as: Allow the selection of a given iommu backend Eric Auger
2023-02-03 12:51   ` Jason Gunthorpe
2023-02-03 17:57     ` Eric Auger
2023-02-03 18:01       ` Jason Gunthorpe
2023-02-03 12:57 ` [RFC v3 00/18] vfio: Adopt iommufd Jason Gunthorpe
2023-02-03 18:03   ` Eric Auger
2023-02-03 18:07     ` Jason Gunthorpe

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=Y+1vNgoGJJw40+9C@Asurada-Nvidia \
    --to=nicolinc@nvidia.com \
    --cc=akrowiak@linux.ibm.com \
    --cc=alex.williamson@redhat.com \
    --cc=apopple@nvidia.com \
    --cc=berrange@redhat.com \
    --cc=chao.p.peng@intel.com \
    --cc=clg@redhat.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=eric.auger.pro@gmail.com \
    --cc=eric.auger@redhat.com \
    --cc=farman@linux.ibm.com \
    --cc=jasowang@redhat.com \
    --cc=jgg@nvidia.com \
    --cc=jjherne@linux.ibm.com \
    --cc=kevin.tian@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=mjrosato@linux.ibm.com \
    --cc=pasic@linux.ibm.com \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=shameerali.kolothum.thodi@huawei.com \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=thuth@redhat.com \
    --cc=yi.l.liu@intel.com \
    --cc=yi.y.sun@intel.com \
    --cc=zhangfei.gao@linaro.org \
    /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;
as well as URLs for NNTP newsgroup(s).