Subject: Re: port-i386/3920: linux emulation doesn't support mremap()
To: None <current-users@NetBSD.ORG>
From: Matthias Scheler <tron@lyssa.owl.de>
List: current-users
Date: 07/28/1997 20:43:25
In article <32384.870109347@dnaunix.pa.dec.com>,
"Chris G. Demetriou" <cgd@pa.dec.com> writes:
> I've encountered several occasions in which i'd wanted such a syscall
> for general use in NetBSD, but have never gotten around to writing it.
Of course it would be better to have a real implementation on which a
real emulation could be based own.
> .. it'd probably be more generally useful ...
But until then my patch will help to improve linux compatibility.
> don't know what it's supposed to do under linux,
>From mremap(2):
SYNOPSIS
#include <unistd.h>
#include <sys/mman.h>
void * mremap(void * old_address, size_t old_size , size_t
new_size, unsigned long flags);
DESCRIPTION
mremap expands (or shrinks) an existing memory mapping,
potentially moving it at the same time (controlled by the
flags argument and the available virtual address space).
old_address is the old address of the virtual memory block
that you want to expand (or shrink). Note that
old_address has to be page aligned. old_size is the old
size of the virtual memory block. new_size is the
requested size of the virtual memory block after the
resize.
The flags argument is a bitmap of flags.
--
Matthias Scheler http://home.owl.de/~tron/