Add rasctl(2). Thanks to the regression tests for that syscall, I was able

to discover the bugs in netbsd32_setitimer() and netbsd32_execve().
This commit is contained in:
cube 2005-07-11 20:18:05 +00:00
parent 355bcba766
commit 241e7db4d5
2 changed files with 21 additions and 4 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: netbsd32_netbsd.c,v 1.94 2005/07/10 14:32:16 cube Exp $ */
/* $NetBSD: netbsd32_netbsd.c,v 1.95 2005/07/11 20:18:05 cube Exp $ */
/*
* Copyright (c) 1998, 2001 Matthew R. Green
@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.94 2005/07/10 14:32:16 cube Exp $");
__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.95 2005/07/11 20:18:05 cube Exp $");
#if defined(_KERNEL_OPT)
#include "opt_ddb.h"
@ -2575,3 +2575,19 @@ netbsd32_fsync_range(struct lwp *l, void *v, register_t *retval)
NETBSD32TO64_UAP(length);
return (sys_fsync_range(l, &ua, retval));
}
int
netbsd32_rasctl(struct lwp *l, void *v, register_t *retval)
{
struct netbsd32_rasctl_args /* {
syscallarg(netbsd32_caddr_t) addr;
syscallarg(netbsd32_size_t) len;
syscallarg(int) op;
} */ *uap = v;
struct sys_rasctl_args ua;
NETBSD32TOX64_UAP(addr, caddr_t);
NETBSD32TOX_UAP(len, size_t);
NETBSD32TO64_UAP(op);
return sys_rasctl(l, &ua, retval);
}

View File

@ -1,4 +1,4 @@
$NetBSD: syscalls.master,v 1.33 2005/07/10 14:32:16 cube Exp $
$NetBSD: syscalls.master,v 1.34 2005/07/11 20:18:05 cube Exp $
; from: NetBSD: syscalls.master,v 1.81 1998/07/05 08:49:50 jonathan Exp
; @(#)syscalls.master 8.2 (Berkeley) 1/13/94
@ -540,7 +540,8 @@
netbsd32_voidp tramp, int vers); }
341 UNIMPL
342 UNIMPL
343 UNIMPL
343 STD { int netbsd32_rasctl(netbsd32_caddr_t addr, netbsd32_size_t len, \
int op); }
344 UNIMPL
345 UNIMPL
346 UNIMPL