#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: linux32_mman.c,v 1.8 2008/11/19 18:36:04 ad Exp $");
#include <sys/types.h>
#include <sys/param.h>
#include <sys/fstypes.h>
#include <sys/signal.h>
#include <sys/dirent.h>
#include <sys/kernel.h>
#include <sys/fcntl.h>
#include <sys/select.h>
#include <sys/proc.h>
#include <sys/ucred.h>
#include <sys/swap.h>
#include <machine/types.h>
#include <sys/syscallargs.h>
#include <compat/netbsd32/netbsd32.h>
#include <compat/netbsd32/netbsd32_conv.h>
#include <compat/netbsd32/netbsd32_syscallargs.h>
#include <compat/linux/common/linux_types.h>
#include <compat/linux/common/linux_signal.h>
#include <compat/linux/common/linux_machdep.h>
#include <compat/linux/common/linux_misc.h>
#include <compat/linux/common/linux_oldolduname.h>
#include <compat/linux/common/linux_ipc.h>
#include <compat/linux/common/linux_sem.h>
#include <compat/linux/linux_syscallargs.h>
#include <compat/linux/common/linux_mmap.h>
#include <compat/linux32/common/linux32_types.h>
#include <compat/linux32/common/linux32_signal.h>
#include <compat/linux32/common/linux32_machdep.h>
#include <compat/linux32/common/linux32_sysctl.h>
#include <compat/linux32/common/linux32_socketcall.h>
#include <compat/linux32/linux32_syscallargs.h>
int
linux32_sys_old_mmap(struct lwp *l, const struct linux32_sys_old_mmap_args *uap, register_t *retval)
{
struct linux_sys_old_mmap_args ua;
NETBSD32TOP_UAP(lmp, struct linux_oldmmap);
return linux_sys_old_mmap(l, &ua, retval);
}
int
linux32_sys_mprotect(struct lwp *l, const struct linux32_sys_mprotect_args *uap, register_t *retval)
{
struct linux_sys_mprotect_args ua;
NETBSD32TOP_UAP(start, void);
NETBSD32TOX_UAP(len, long);
NETBSD32TO64_UAP(prot);
return (linux_sys_mprotect(l, &ua, retval));
}
int
linux32_sys_mremap(struct lwp *l, const struct linux32_sys_mremap_args *uap, register_t *retval)
{
struct linux_sys_mremap_args ua;
NETBSD32TOP_UAP(old_address, void);
NETBSD32TOX_UAP(old_size, size_t);
NETBSD32TOX_UAP(new_size, size_t);
NETBSD32TOX_UAP(flags, u_long);
return linux_sys_mremap(l, &ua, retval);
}
int
linux32_sys_mmap2(struct lwp *l, const struct linux32_sys_mmap2_args *uap, register_t *retval)
{
struct linux_sys_mmap_args ua;
NETBSD32TOX64_UAP(addr, u_long);
NETBSD32TOX64_UAP(len, size_t);
NETBSD32TO64_UAP(prot);
NETBSD32TO64_UAP(flags);
NETBSD32TO64_UAP(fd);
NETBSD32TOX64_UAP(offset, linux_off_t);
return linux_sys_mmap2(l, &ua, retval);
}