head	1.6;
access;
symbols
	netbsd-11-0-RC5:1.6
	netbsd-11-0-RC4:1.6
	netbsd-11-0-RC3:1.6
	netbsd-11-0-RC2:1.6
	netbsd-11-0-RC1:1.6
	perseant-exfatfs-base-20250801:1.6
	netbsd-11:1.6.0.38
	netbsd-11-base:1.6
	netbsd-10-1-RELEASE:1.6
	perseant-exfatfs-base-20240630:1.6
	perseant-exfatfs:1.6.0.36
	perseant-exfatfs-base:1.6
	netbsd-8-3-RELEASE:1.5
	netbsd-9-4-RELEASE:1.6
	netbsd-10-0-RELEASE:1.6
	netbsd-10-0-RC6:1.6
	netbsd-10-0-RC5:1.6
	netbsd-10-0-RC4:1.6
	netbsd-10-0-RC3:1.6
	netbsd-10-0-RC2:1.6
	thorpej-ifq:1.6.0.34
	thorpej-ifq-base:1.6
	thorpej-altq-separation:1.6.0.32
	thorpej-altq-separation-base:1.6
	netbsd-10-0-RC1:1.6
	netbsd-10:1.6.0.30
	netbsd-10-base:1.6
	bouyer-sunxi-drm:1.6.0.28
	bouyer-sunxi-drm-base:1.6
	netbsd-9-3-RELEASE:1.6
	thorpej-i2c-spi-conf2:1.6.0.26
	thorpej-i2c-spi-conf2-base:1.6
	thorpej-futex2:1.6.0.24
	thorpej-futex2-base:1.6
	thorpej-cfargs2:1.6.0.22
	thorpej-cfargs2-base:1.6
	cjep_sun2x-base1:1.6
	cjep_sun2x:1.6.0.20
	cjep_sun2x-base:1.6
	cjep_staticlib_x-base1:1.6
	netbsd-9-2-RELEASE:1.6
	cjep_staticlib_x:1.6.0.18
	cjep_staticlib_x-base:1.6
	thorpej-i2c-spi-conf:1.6.0.16
	thorpej-i2c-spi-conf-base:1.6
	thorpej-cfargs:1.6.0.14
	thorpej-cfargs-base:1.6
	thorpej-futex:1.6.0.12
	thorpej-futex-base:1.6
	netbsd-9-1-RELEASE:1.6
	bouyer-xenpvh-base2:1.6
	phil-wifi-20200421:1.6
	bouyer-xenpvh-base1:1.6
	phil-wifi-20200411:1.6
	bouyer-xenpvh:1.6.0.10
	bouyer-xenpvh-base:1.6
	is-mlppp:1.6.0.8
	is-mlppp-base:1.6
	phil-wifi-20200406:1.6
	netbsd-8-2-RELEASE:1.5
	ad-namecache-base3:1.6
	netbsd-9-0-RELEASE:1.6
	netbsd-9-0-RC2:1.6
	ad-namecache-base2:1.6
	ad-namecache-base1:1.6
	ad-namecache:1.6.0.6
	ad-namecache-base:1.6
	netbsd-9-0-RC1:1.6
	phil-wifi-20191119:1.6
	netbsd-9:1.6.0.4
	netbsd-9-base:1.6
	phil-wifi-20190609:1.6
	netbsd-8-1-RELEASE:1.5
	netbsd-8-1-RC1:1.5
	isaki-audio2:1.6.0.2
	isaki-audio2-base:1.6
	pgoyette-compat-merge-20190127:1.5
	pgoyette-compat-20190127:1.5
	pgoyette-compat-20190118:1.5
	pgoyette-compat-1226:1.5
	pgoyette-compat-1126:1.5
	pgoyette-compat-1020:1.5
	pgoyette-compat-0930:1.5
	pgoyette-compat-0906:1.5
	netbsd-7-2-RELEASE:1.5
	pgoyette-compat-0728:1.5
	netbsd-8-0-RELEASE:1.5
	phil-wifi:1.5.0.30
	phil-wifi-base:1.5
	pgoyette-compat-0625:1.5
	netbsd-8-0-RC2:1.5
	pgoyette-compat-0521:1.5
	pgoyette-compat-0502:1.5
	pgoyette-compat-0422:1.5
	netbsd-8-0-RC1:1.5
	pgoyette-compat-0415:1.5
	pgoyette-compat-0407:1.5
	pgoyette-compat-0330:1.5
	pgoyette-compat-0322:1.5
	pgoyette-compat-0315:1.5
	netbsd-7-1-2-RELEASE:1.5
	pgoyette-compat:1.5.0.28
	pgoyette-compat-base:1.5
	netbsd-7-1-1-RELEASE:1.5
	tls-maxphys-base-20171202:1.5
	matt-nb8-mediatek:1.5.0.26
	matt-nb8-mediatek-base:1.5
	nick-nhusb-base-20170825:1.5
	perseant-stdc-iso10646:1.5.0.24
	perseant-stdc-iso10646-base:1.5
	netbsd-8:1.5.0.22
	netbsd-8-base:1.5
	prg-localcount2-base3:1.5
	prg-localcount2-base2:1.5
	prg-localcount2-base1:1.5
	prg-localcount2:1.5.0.20
	prg-localcount2-base:1.5
	pgoyette-localcount-20170426:1.5
	bouyer-socketcan-base1:1.5
	jdolecek-ncq:1.5.0.18
	jdolecek-ncq-base:1.5
	pgoyette-localcount-20170320:1.5
	netbsd-7-1:1.5.0.16
	netbsd-7-1-RELEASE:1.5
	netbsd-7-1-RC2:1.5
	nick-nhusb-base-20170204:1.5
	netbsd-7-nhusb-base-20170116:1.5
	bouyer-socketcan:1.5.0.14
	bouyer-socketcan-base:1.5
	pgoyette-localcount-20170107:1.5
	netbsd-7-1-RC1:1.5
	nick-nhusb-base-20161204:1.5
	pgoyette-localcount-20161104:1.5
	netbsd-7-0-2-RELEASE:1.5
	nick-nhusb-base-20161004:1.5
	localcount-20160914:1.5
	netbsd-7-nhusb:1.5.0.12
	netbsd-7-nhusb-base:1.5
	pgoyette-localcount-20160806:1.5
	pgoyette-localcount-20160726:1.5
	pgoyette-localcount:1.5.0.10
	pgoyette-localcount-base:1.5
	nick-nhusb-base-20160907:1.5
	nick-nhusb-base-20160529:1.5
	netbsd-7-0-1-RELEASE:1.5
	nick-nhusb-base-20160422:1.5
	nick-nhusb-base-20160319:1.5
	nick-nhusb-base-20151226:1.5
	netbsd-7-0:1.5.0.8
	netbsd-7-0-RELEASE:1.5
	nick-nhusb-base-20150921:1.5
	netbsd-7-0-RC3:1.5
	netbsd-7-0-RC2:1.5
	netbsd-7-0-RC1:1.5
	nick-nhusb-base-20150606:1.5
	nick-nhusb-base-20150406:1.5
	nick-nhusb:1.5.0.6
	nick-nhusb-base:1.5
	netbsd-6-0-6-RELEASE:1.2
	netbsd-6-1-5-RELEASE:1.2
	netbsd-7:1.5.0.4
	netbsd-7-base:1.5
	yamt-pagecache-base9:1.5
	yamt-pagecache-tag8:1.2.4.3
	netbsd-6-1-4-RELEASE:1.2
	netbsd-6-0-5-RELEASE:1.2
	tls-earlyentropy:1.5.0.2
	tls-earlyentropy-base:1.5
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.5
	riastradh-drm2-base3:1.5
	netbsd-6-1-3-RELEASE:1.2
	netbsd-6-0-4-RELEASE:1.2
	netbsd-6-1-2-RELEASE:1.2
	netbsd-6-0-3-RELEASE:1.2
	rmind-smpnet-nbase:1.5
	netbsd-6-1-1-RELEASE:1.2
	riastradh-drm2-base2:1.3
	riastradh-drm2-base1:1.3
	riastradh-drm2:1.3.0.10
	riastradh-drm2-base:1.3
	rmind-smpnet:1.3.0.4
	rmind-smpnet-base:1.5
	netbsd-6-1:1.2.0.10
	netbsd-6-0-2-RELEASE:1.2
	netbsd-6-1-RELEASE:1.2
	khorben-n900:1.3.0.8
	netbsd-6-1-RC4:1.2
	netbsd-6-1-RC3:1.2
	agc-symver:1.3.0.6
	agc-symver-base:1.3
	netbsd-6-1-RC2:1.2
	netbsd-6-1-RC1:1.2
	yamt-pagecache-base8:1.3
	netbsd-6-0-1-RELEASE:1.2
	yamt-pagecache-base7:1.3
	matt-nb6-plus-nbase:1.2
	yamt-pagecache-base6:1.3
	netbsd-6-0:1.2.0.8
	netbsd-6-0-RELEASE:1.2
	netbsd-6-0-RC2:1.2
	tls-maxphys:1.3.0.2
	tls-maxphys-base:1.5
	matt-nb6-plus:1.2.0.6
	matt-nb6-plus-base:1.2
	netbsd-6-0-RC1:1.2
	jmcneill-usbmp-base10:1.2
	yamt-pagecache-base5:1.2
	jmcneill-usbmp-base9:1.2
	yamt-pagecache:1.2.0.4
	yamt-pagecache-base4:1.2
	jmcneill-usbmp-base8:1.2
	jmcneill-usbmp-base7:1.2
	jmcneill-usbmp-base6:1.2
	jmcneill-usbmp-base5:1.2
	jmcneill-usbmp-base4:1.2
	jmcneill-usbmp-base3:1.2
	jmcneill-usbmp-base2:1.2
	netbsd-6:1.2.0.2
	netbsd-6-base:1.2;
locks; strict;
comment	@# @;


1.6
date	2019.02.17.05.32.35;	author rin;	state Exp;
branches;
next	1.5;
commitid	AOyxFhvKtWe935cB;

1.5
date	2013.11.10.22.08.58;	author jmcneill;	state Exp;
branches
	1.5.30.1;
next	1.4;
commitid	A6n7NWXrsniErMcx;

1.4
date	2013.11.10.19.58.38;	author jmcneill;	state Exp;
branches;
next	1.3;
commitid	22bgTVqwEhIWILcx;

1.3
date	2012.07.03.21.07.41;	author christos;	state Exp;
branches
	1.3.2.1
	1.3.4.1;
next	1.2;

1.2
date	2012.01.06.13.16.20;	author jmcneill;	state Exp;
branches
	1.2.4.1;
next	1.1;

1.1
date	2012.01.05.13.26.51;	author jmcneill;	state Exp;
branches;
next	;

1.5.30.1
date	2019.06.10.22.06.50;	author christos;	state Exp;
branches;
next	;
commitid	jtc8rnCzWiEEHGqB;

1.3.2.1
date	2014.08.20.00.03.27;	author tls;	state Exp;
branches;
next	;
commitid	jTnpym9Qu0o4R1Nx;

1.3.4.1
date	2014.05.18.17.45.28;	author rmind;	state Exp;
branches;
next	;
commitid	mL5ZYSzpqK6QS2Bx;

1.2.4.1
date	2012.01.06.13.16.20;	author yamt;	state dead;
branches;
next	1.2.4.2;

1.2.4.2
date	2012.04.17.00.07.00;	author yamt;	state Exp;
branches;
next	1.2.4.3;

1.2.4.3
date	2012.10.30.17.20.28;	author yamt;	state Exp;
branches;
next	1.2.4.4;

1.2.4.4
date	2014.05.22.11.40.11;	author yamt;	state Exp;
branches;
next	;
commitid	VUUXuyNWnt3AKwBx;


desc
@@


1.6
log
@Set WARN=3 for sing-compare.
@
text
@#	$NetBSD: Makefile,v 1.5 2013/11/10 22:08:58 jmcneill Exp $

.include <bsd.own.mk>

S?=	${NETBSDSRCDIR}/sys
M?=	${S}/modules

.include "${M}/Makefile.inc"
.include "${M}/Makefile.assym"

KMOD=	syscallemu

SRCS=	syscallemu.c
.if ${MACHINE_CPU} == "i386" || ${MACHINE_CPU} == "x86_64"
SRCS+=	syscallemu_x86.c
.elif ${MACHINE_CPU} == "arm"
SRCS+=	syscallemu_arm.c
.else
.error ${MACHINE_CPU} not implemented
.endif

WARNS=	3

.include <bsd.kmodule.mk>
@


1.5
log
@use MACHINE_CPU instead of MACHINE_ARCH
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.4 2013/11/10 19:58:38 jmcneill Exp $
d22 2
@


1.5.30.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.6 2019/02/17 05:32:35 rin Exp $
a21 2
WARNS=	3

@


1.4
log
@arm support for syscallemu, not tested
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.3 2012/07/03 21:07:41 christos Exp $
d14 1
a14 1
.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
d16 1
a16 1
.elif ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "earm"
d19 1
a19 1
.error ${MACHINE_ARCH} not implemented
@


1.3
log
@no home-brewed NETBSDSRCDIR please (fix the build)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.2 2012/01/06 13:16:20 jmcneill Exp $
d16 2
@


1.3.2.1
log
@Rebase to HEAD as of a few days ago.
@
text
@d1 1
a1 1
#	$NetBSD$
d14 1
a14 1
.if ${MACHINE_CPU} == "i386" || ${MACHINE_CPU} == "x86_64"
a15 2
.elif ${MACHINE_CPU} == "arm"
SRCS+=	syscallemu_arm.c
d17 1
a17 1
.error ${MACHINE_CPU} not implemented
@


1.3.4.1
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.3 2012/07/03 21:07:41 christos Exp $
d14 1
a14 1
.if ${MACHINE_CPU} == "i386" || ${MACHINE_CPU} == "x86_64"
a15 2
.elif ${MACHINE_CPU} == "arm"
SRCS+=	syscallemu_arm.c
d17 1
a17 1
.error ${MACHINE_CPU} not implemented
@


1.2
log
@i386 and x86_64 versions of this code are the same, rename to syscallemu_x86.c
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.1 2012/01/05 13:26:51 jmcneill Exp $
d3 1
a3 1
NETBSDSRCDIR?=	../../../../..
@


1.2.4.1
log
@file Makefile was added on branch yamt-pagecache on 2012-04-17 00:07:00 +0000
@
text
@d1 20
@


1.2.4.2
log
@sync with head
@
text
@a0 20
#	$NetBSD$

NETBSDSRCDIR?=	../../../../..

S?=	${NETBSDSRCDIR}/sys
M?=	${S}/modules

.include "${M}/Makefile.inc"
.include "${M}/Makefile.assym"

KMOD=	syscallemu

SRCS=	syscallemu.c
.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
SRCS+=	syscallemu_x86.c
.else
.error ${MACHINE_ARCH} not implemented
.endif

.include <bsd.kmodule.mk>
@


1.2.4.3
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.2.4.2 2012/04/17 00:07:00 yamt Exp $
d3 1
a3 1
.include <bsd.own.mk>
@


1.2.4.4
log
@sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.2.4.3 2012/10/30 17:20:28 yamt Exp $
d14 1
a14 1
.if ${MACHINE_CPU} == "i386" || ${MACHINE_CPU} == "x86_64"
a15 2
.elif ${MACHINE_CPU} == "arm"
SRCS+=	syscallemu_arm.c
d17 1
a17 1
.error ${MACHINE_CPU} not implemented
@


1.1
log
@Add 'syscallemu' module, required by usermode kernel.

This module registers a syscall that takes a user_start and user_end address.
When a process calls SYS_syscallemu, the start and end address are recorded
and the syscall installs a filter on p->p_md.md_syscall. The filter then
uses the specified start and end addresses to determine where the syscall
should be routed (either host by calling the original md_syscall function,
or process by posting SIGILL).
@
text
@d1 1
a1 1
#	$NetBSD$
d14 5
a18 1
SRCS+=	syscallemu_${MACHINE_ARCH}.c
@

