Message ID | 20220321172006.3014516-1-raj.khem@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Define MAP_SYNC and MAP_SHARED_VALIDATE on needed linux systems | expand |
On 3/21/22 10:20, Khem Raj wrote: > linux only wires MAP_SYNC and MAP_SHARED_VALIDATE for architectures > which include asm-generic/mman.h and mips/powerpc are not including this > file in linux/mman.h, therefore these should be defined for such > architectures on Linux as well. This is not precisely correct. MAP_SHARED_VALIDATE is defined in <linux/mman.h> for all architectures. MAP_SYNC is defined in <asm-generic/mman-common.h>, which is included by powerpc <asm/mman.h>. But you are correct that this is missing for mips. > @@ -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" The patch is correct, just need to fix the description. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
On Tue, Mar 22, 2022 at 07:05:05AM -0700, Richard Henderson wrote: > On 3/21/22 10:20, Khem Raj wrote: > > linux only wires MAP_SYNC and MAP_SHARED_VALIDATE for architectures > > which include asm-generic/mman.h and mips/powerpc are not including this > > file in linux/mman.h, therefore these should be defined for such > > architectures on Linux as well. > > This is not precisely correct. > > MAP_SHARED_VALIDATE is defined in <linux/mman.h> for all architectures. > > MAP_SYNC is defined in <asm-generic/mman-common.h>, which is included by > powerpc <asm/mman.h>. But you are correct that this is missing for mips. OK, sounds like the commit log should be tweaked and the patch reposted. The patch itself looks ok to me Acked-by: Michael S. Tsirkin <mst@redhat.com> mips tree I guess? > > @@ -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" > > The patch is correct, just need to fix the description. > > Reviewed-by: Richard Henderson <richard.henderson@linaro.org> > > r~
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"
linux only wires MAP_SYNC and MAP_SHARED_VALIDATE for architectures which include asm-generic/mman.h and mips/powerpc are not including this file in linux/mman.h, therefore these 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> --- util/mmap-alloc.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)