On 01/24/18 22:20 +0200, Michael S. Tsirkin wrote: > > index 50385e3f81..dd5876471f 100644 > > --- a/include/qemu/mmap-alloc.h > > +++ b/include/qemu/mmap-alloc.h > > @@ -7,7 +7,8 @@ size_t qemu_fd_getpagesize(int fd); > > > > size_t qemu_mempath_getpagesize(const char *mem_path); > > > > -void *qemu_ram_mmap(int fd, size_t size, size_t align, bool shared); > > +void *qemu_ram_mmap(int fd, size_t size, size_t align, bool shared, > > + OnOffAuto sync); > > > > void qemu_ram_munmap(void *ptr, size_t size); > > > > And Marcel plans to add a remappable flag ... Is it time we > switched to a flags field?
Yes. Some patches on my hands are going to add another field to this function, so let's switch to flags. > > > diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h > > index adb3758275..0ff10cb529 100644 > > --- a/include/qemu/osdep.h > > +++ b/include/qemu/osdep.h > > @@ -372,6 +372,24 @@ void qemu_anon_ram_free(void *ptr, size_t size); > > # define QEMU_VMALLOC_ALIGN getpagesize() > > #endif > > > > +/* > > + * MAP_SHARED_VALIDATE and MAP_SYNC were introduced in Linux kernel > > + * 4.15, so they may not be defined when compiling on older kernels. > > + */ > > +#ifdef CONFIG_LINUX > > +#ifndef MAP_SHARED_VALIDATE > > +#define MAP_SHARED_VALIDATE 0x3 > > +#endif > > +#ifndef MAP_SYNC > > +#define MAP_SYNC 0x80000 > > +#endif > > +#define QEMU_HAS_MAP_SYNC true > > +#else /* !CONFIG_LINUX */ > > +#define MAP_SHARED_VALIDATE 0x0 > > +#define MAP_SYNC 0x0 > > +#define QEMU_HAS_MAP_SYNC false > > +#endif /* CONFIG_LINUX */ > > + > > #ifdef CONFIG_POSIX > > struct qemu_signalfd_siginfo { > > uint32_t ssi_signo; /* Signal number */ > > Please just import this into standard-headers from Linux. > Sure, I'll move it to a new file include/standard-headers/linux/mman.h. Thanks, Haozhong