[PATCH v2] Define MAP_SYNC and MAP_SHARED_VALIDATE on needed linux systems

Khem Raj posted 1 patch 2 years, 1 month ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220322154658.1687620-1-raj.khem@gmail.com
util/mmap-alloc.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
[PATCH v2] Define MAP_SYNC and MAP_SHARED_VALIDATE on needed linux systems
Posted by Khem Raj 2 years, 1 month ago
linux only wires MAP_SYNC for architectures which include
asm-generic/mman-common.h and mips is one such architecture which is not
including this file via linux/mman.h, therefore as a fall back
these constants should be defined for such architectures on Linux
as well.

This fixes build on mips/musl/linux

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Zhang Yi <yi.z.zhang@linux.intel.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
---
v2: Improve commit message

 util/mmap-alloc.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/util/mmap-alloc.c b/util/mmap-alloc.c
index 893d864354..86d3cda248 100644
--- a/util/mmap-alloc.c
+++ b/util/mmap-alloc.c
@@ -10,14 +10,18 @@
  * later.  See the COPYING file in the top-level directory.
  */
 
+#include "qemu/osdep.h"
 #ifdef CONFIG_LINUX
 #include <linux/mman.h>
-#else  /* !CONFIG_LINUX */
+#endif  /* CONFIG_LINUX */
+
+#ifndef MAP_SYNC
 #define MAP_SYNC              0x0
+#endif /* MAP_SYNC */
+#ifndef MAP_SHARED_VALIDATE
 #define MAP_SHARED_VALIDATE   0x0
-#endif /* CONFIG_LINUX */
+#endif /* MAP_SHARED_VALIDATE */
 
-#include "qemu/osdep.h"
 #include "qemu/mmap-alloc.h"
 #include "qemu/host-utils.h"
 #include "qemu/cutils.h"
-- 
2.35.1
Re: [PATCH v2] Define MAP_SYNC and MAP_SHARED_VALIDATE on needed linux systems
Posted by Michael S. Tsirkin 2 years, 1 month ago
On Tue, Mar 22, 2022 at 08:46:58AM -0700, Khem Raj wrote:
> linux only wires MAP_SYNC for architectures which include
> asm-generic/mman-common.h and mips is one such architecture which is not
> including this file via linux/mman.h, therefore as a fall back
> these constants should be defined for such architectures on Linux
> as well.
> 
> This fixes build on mips/musl/linux
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> Cc: Zhang Yi <yi.z.zhang@linux.intel.com>
> Cc: Michael S. Tsirkin <mst@redhat.com>

Acked-by: Michael S. Tsirkin <mst@redhat.com>

who's merging this? mips tree?

> ---
> v2: Improve commit message
> 
>  util/mmap-alloc.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/util/mmap-alloc.c b/util/mmap-alloc.c
> index 893d864354..86d3cda248 100644
> --- a/util/mmap-alloc.c
> +++ b/util/mmap-alloc.c
> @@ -10,14 +10,18 @@
>   * later.  See the COPYING file in the top-level directory.
>   */
>  
> +#include "qemu/osdep.h"
>  #ifdef CONFIG_LINUX
>  #include <linux/mman.h>
> -#else  /* !CONFIG_LINUX */
> +#endif  /* CONFIG_LINUX */
> +
> +#ifndef MAP_SYNC
>  #define MAP_SYNC              0x0
> +#endif /* MAP_SYNC */
> +#ifndef MAP_SHARED_VALIDATE
>  #define MAP_SHARED_VALIDATE   0x0
> -#endif /* CONFIG_LINUX */
> +#endif /* MAP_SHARED_VALIDATE */
>  
> -#include "qemu/osdep.h"
>  #include "qemu/mmap-alloc.h"
>  #include "qemu/host-utils.h"
>  #include "qemu/cutils.h"
> -- 
> 2.35.1
Re: [PATCH v2] Define MAP_SYNC and MAP_SHARED_VALIDATE on needed linux systems
Posted by Richard Henderson 2 years, 1 month ago
On 3/22/22 08:46, Khem Raj wrote:
> linux only wires MAP_SYNC for architectures which include
> asm-generic/mman-common.h and mips is one such architecture which is not
> including this file via linux/mman.h, therefore as a fall back
> these constants should be defined for such architectures on Linux
> as well.
> 
> This fixes build on mips/musl/linux
> 
> Signed-off-by: Khem Raj<raj.khem@gmail.com>
> Cc: Zhang Yi<yi.z.zhang@linux.intel.com>
> Cc: Michael S. Tsirkin<mst@redhat.com>
> ---
> v2: Improve commit message

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~