Plan 9 from Bell Labs’s /usr/web/sources/contrib/cinap_lenrek/old/linuxemu.old/sysmmap.c

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


#include <u.h>
#include <libc.h>
#include <ureg.h>
#include "linuxsys.h"
#include "linux.h"

struct mmap_arg_struct {
 	ulong addr;
	ulong len;
	ulong prot;
	ulong flags;
	ulong fd;
	ulong offset;
};

SYSCALL(sys_mprotect)
{
	RETURN(0);
}

SYSCALL(sys_mmap2)
{
	ulong addr;
	int len;
	ulong prot;
	ulong flags;
	int fd;
	ulong pgoff;

	addr = ARG1;
	len = ARG2;
	prot = ARG3;
	flags = ARG4;
	fd = ARG5;
	pgoff = ARG6;

	DPRINT("mmap2(%lux, %d, %lux, %lux, %d, %lud)...", 
		addr, len, prot, flags, fd, pgoff);

	RETURN((ulong)mmap((void*)addr, len, prot, flags, fd, pgoff*PAGE_SIZE));
}

SYSCALL(sys_old_mmap)
{
	struct mmap_arg_struct *a;

	a = (struct mmap_arg_struct*)ARG1;
	DPRINT("old_mmap(%lux, %d, %lux, %lux, %d, %d)...", 
		a->addr, (int)a->len, a->prot, a->flags, (int)a->fd, 
		(int)a->offset);

	RETURN((ulong)mmap((void*)a->addr, a->len, a->prot, a->flags, a->fd, a->offset));
}

SYSCALL(sys_munmap)
{
	void *p;
	int n;

	p = (void*)ARG1;
	n = ARG2;

	DPRINT("munmap(%p, %d)...", p, n);
	RETURN(munmap(p, n));
}

SYSCALL(sys_msync)
{
	void *a;

	a = (void*)ARG1;
	RETURN(msync(a));
}

SYSCALL(sys_brk)
{
	ulong bk = ARG1;
	DPRINT("brk(0x%lux)...", bk);
	if(bk)
		brk((void*)bk);
	RETURN(sbrk(0));
}

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].