Hi,

On 08/06/2018 11:51 AM, Thomas Huth wrote:
On 07/28/2018 05:50 AM, Rebecca Cran wrote:
On 7/25/18 5:14 AM, Thomas Huth wrote:

Note that the error has been reported to happen on FreeBSD - so I doubt
that this <linux/types.h> header should be here.

Anyway, our include/standard-headers/linux/types.h is also empty ... so
could you try whether it compiles if you simply remove this #include
line, Rebecca?

Sorry for the delay, I'm just getting back to this. Removing the include
causes it to fail later on, with:

/home/bcran/workspace/qemu/hw/rdma/vmw/pvrdma_cmd.c:60:17: warning:
implicit declaration of function 'mremap' is invalid in C99
[-Wimplicit-function-declaration]
     host_virt = mremap(curr_page, 0, length, MREMAP_MAYMOVE);
OK, thanks for checking. According to

  https://www.freebsd.org/cgi/man.cgi?query=mremap&manpath=NetBSD+5.0

that syscall should also be available on FreeBSD. So could you please do
one more test and see whether it works when you add the following line
somewhere at the beginning of the file:

   #include <sys/mman.h>

It took some time, but I finally have a FreeBSD VM with RDMA enabled.

My findings:
- The RDMA libraries are there, so the flag  "RDMA"=yes is set correctly.
- include of <linux/types.h> is not needed, I will remove it.
- In FreeBSD mremap is not implemented in all configurations, it depends
  on some SANITIZER_LINUX flag (Linux emulation?), I think;
  so pvrdma cannot be compiled.  I think we should have a different QEMU configuration   flag --enable-pvrdma that will specifically check it is not a "bsd" platform.
  I'll send a patch for that too.

Thanks,
Marcel



  Thanks,
   Thomas


Reply via email to