head	1.63;
access;
symbols
	netbsd-9-5-RELEASE:1.34.4.2
	netbsd-11-0-RELEASE:1.61
	netbsd-11-0-RC7:1.61
	netbsd-11-0-RC6:1.61
	netbsd-11-0-RC5:1.61
	netbsd-11-0-RC4:1.61
	netbsd-11-0-RC3:1.61
	netbsd-11-0-RC2:1.61
	netbsd-11-0-RC1:1.61
	perseant-exfatfs-base-20250801:1.61
	netbsd-11:1.61.0.2
	netbsd-11-base:1.61
	netbsd-10-1-RELEASE:1.57
	perseant-exfatfs-base-20240630:1.60
	perseant-exfatfs:1.60.0.6
	perseant-exfatfs-base:1.60
	netbsd-8-3-RELEASE:1.15.2.1
	netbsd-9-4-RELEASE:1.34.4.2
	netbsd-10-0-RELEASE:1.57
	netbsd-10-0-RC6:1.57
	netbsd-10-0-RC5:1.57
	netbsd-10-0-RC4:1.57
	netbsd-10-0-RC3:1.57
	netbsd-10-0-RC2:1.57
	thorpej-ifq:1.60.0.4
	thorpej-ifq-base:1.60
	thorpej-altq-separation:1.60.0.2
	thorpej-altq-separation-base:1.60
	netbsd-10-0-RC1:1.57
	netbsd-10:1.57.0.4
	netbsd-10-base:1.57
	bouyer-sunxi-drm:1.57.0.2
	bouyer-sunxi-drm-base:1.57
	netbsd-9-3-RELEASE:1.34.4.2
	thorpej-i2c-spi-conf2:1.56.0.8
	thorpej-i2c-spi-conf2-base:1.56
	thorpej-futex2:1.56.0.6
	thorpej-futex2-base:1.56
	thorpej-cfargs2:1.56.0.4
	thorpej-cfargs2-base:1.56
	cjep_sun2x-base1:1.56
	cjep_sun2x:1.56.0.2
	cjep_sun2x-base:1.56
	cjep_staticlib_x-base1:1.56
	netbsd-9-2-RELEASE:1.34.4.2
	cjep_staticlib_x:1.54.0.6
	cjep_staticlib_x-base:1.54
	thorpej-i2c-spi-conf:1.54.0.4
	thorpej-i2c-spi-conf-base:1.56
	thorpej-cfargs:1.54.0.2
	thorpej-cfargs-base:1.54
	thorpej-futex:1.53.0.2
	thorpej-futex-base:1.54
	netbsd-9-1-RELEASE:1.34.4.2
	bouyer-xenpvh-base2:1.45
	phil-wifi-20200421:1.44
	bouyer-xenpvh-base1:1.44
	phil-wifi-20200411:1.44
	bouyer-xenpvh:1.44.0.4
	bouyer-xenpvh-base:1.44
	is-mlppp:1.44.0.2
	is-mlppp-base:1.44
	phil-wifi-20200406:1.44
	netbsd-8-2-RELEASE:1.15.2.1
	ad-namecache-base3:1.43
	netbsd-9-0-RELEASE:1.34.4.1
	netbsd-9-0-RC2:1.34.4.1
	ad-namecache-base2:1.42
	ad-namecache-base1:1.42
	ad-namecache:1.42.0.2
	ad-namecache-base:1.42
	netbsd-9-0-RC1:1.34
	phil-wifi-20191119:1.37
	netbsd-9:1.34.0.4
	netbsd-9-base:1.34
	phil-wifi-20190609:1.34
	netbsd-8-1-RELEASE:1.15
	netbsd-8-1-RC1:1.15
	isaki-audio2:1.34.0.2
	isaki-audio2-base:1.34
	pgoyette-compat-merge-20190127:1.16.2.12
	pgoyette-compat-20190127:1.30
	pgoyette-compat-20190118:1.30
	pgoyette-compat-1226:1.29
	pgoyette-compat-1126:1.25
	pgoyette-compat-1020:1.23
	pgoyette-compat-0930:1.23
	pgoyette-compat-0906:1.22
	pgoyette-compat-0728:1.20
	netbsd-8-0-RELEASE:1.15
	phil-wifi:1.16.0.4
	phil-wifi-base:1.16
	pgoyette-compat-0625:1.16
	netbsd-8-0-RC2:1.15
	pgoyette-compat-0521:1.16
	pgoyette-compat-0502:1.16
	pgoyette-compat-0422:1.16
	netbsd-8-0-RC1:1.15
	pgoyette-compat-0415:1.16
	pgoyette-compat-0407:1.16
	pgoyette-compat-0330:1.16
	pgoyette-compat-0322:1.16
	pgoyette-compat-0315:1.16
	pgoyette-compat:1.16.0.2
	pgoyette-compat-base:1.16
	tls-maxphys:1.15.0.8
	tls-maxphys-base-20171202:1.15
	matt-nb8-mediatek:1.15.0.6
	matt-nb8-mediatek-base:1.15
	nick-nhusb-base-20170825:1.15
	perseant-stdc-iso10646:1.15.0.4
	perseant-stdc-iso10646-base:1.15
	netbsd-8:1.15.0.2
	netbsd-8-base:1.15
	prg-localcount2-base3:1.14
	prg-localcount2-base2:1.14
	prg-localcount2-base1:1.14
	prg-localcount2:1.14.0.2
	prg-localcount2-base:1.14
	pgoyette-localcount-20170426:1.14
	bouyer-socketcan-base1:1.14
	jdolecek-ncq:1.13.0.4
	jdolecek-ncq-base:1.13
	pgoyette-localcount-20170320:1.13
	nick-nhusb-base-20170204:1.13
	bouyer-socketcan:1.13.0.2
	bouyer-socketcan-base:1.13
	pgoyette-localcount-20170107:1.13
	nick-nhusb-base-20161204:1.13
	pgoyette-localcount-20161104:1.13
	nick-nhusb-base-20161004:1.12
	localcount-20160914:1.11
	pgoyette-localcount-20160806:1.11
	pgoyette-localcount-20160726:1.11
	pgoyette-localcount:1.11.0.2
	pgoyette-localcount-base:1.11
	nick-nhusb-base-20160907:1.11
	nick-nhusb-base-20160529:1.11
	nick-nhusb-base-20160422:1.11
	nick-nhusb-base-20160319:1.10
	nick-nhusb-base-20151226:1.10
	nick-nhusb-base-20150921:1.9
	nick-nhusb-base-20150606:1.6
	nick-nhusb-base-20150406:1.3
	nick-nhusb:1.2.0.2
	nick-nhusb-base:1.2;
locks; strict;
comment	@# @;


1.63
date	2026.07.17.02.18.56;	author thorpej;	state Exp;
branches;
next	1.62;
commitid	ilwcxvImpqjdYWNG;

1.62
date	2026.07.17.01.09.27;	author thorpej;	state Exp;
branches;
next	1.61;
commitid	yiVgBqxtxAjnAWNG;

1.61
date	2024.12.22.23.24.20;	author riastradh;	state Exp;
branches;
next	1.60;
commitid	gj6hxLASBPakmyCF;

1.60
date	2023.07.28.18.19.01;	author christos;	state Exp;
branches
	1.60.6.1;
next	1.59;
commitid	v5JxtHEHo0Vx9ByE;

1.59
date	2023.07.10.06.42.33;	author mrg;	state Exp;
branches;
next	1.58;
commitid	mUs1PIWwv0mRSdwE;

1.58
date	2023.07.07.12.34.50;	author riastradh;	state Exp;
branches;
next	1.57;
commitid	J06U0kNNX4QHVRvE;

1.57
date	2021.09.19.15.51.27;	author thorpej;	state Exp;
branches;
next	1.56;
commitid	xdBXxF7c1mSW5A9D;

1.56
date	2021.05.18.05.16.09;	author mrg;	state Exp;
branches;
next	1.55;
commitid	JScNqnwdzOqwzATC;

1.55
date	2021.05.17.08.50.36;	author mrg;	state Exp;
branches;
next	1.54;
commitid	BKaIGcEdyh58NtTC;

1.54
date	2020.11.01.18.51.02;	author pgoyette;	state Exp;
branches
	1.54.4.1
	1.54.6.1;
next	1.53;
commitid	KHyeBNHD1wverduC;

1.53
date	2020.10.19.19.33.02;	author christos;	state Exp;
branches
	1.53.2.1;
next	1.52;
commitid	sYCiqoUJjmwR5ysC;

1.52
date	2020.09.07.03.50.41;	author thorpej;	state Exp;
branches;
next	1.51;
commitid	Qc6rPkXTNBSje4nC;

1.51
date	2020.08.14.00.53.16;	author riastradh;	state Exp;
branches;
next	1.50;
commitid	WrVbm3KoFFQxZXjC;

1.50
date	2020.07.28.20.15.07;	author riastradh;	state Exp;
branches;
next	1.49;
commitid	OD3YAxpRSjqXZShC;

1.49
date	2020.06.07.09.45.19;	author maxv;	state Exp;
branches;
next	1.48;
commitid	bpmOlwHKqZXv9hbC;

1.48
date	2020.05.16.18.31.50;	author christos;	state Exp;
branches;
next	1.47;
commitid	AayHkepHy6nSLu8C;

1.47
date	2020.04.30.03.28.18;	author riastradh;	state Exp;
branches;
next	1.46;
commitid	cPJImU3MZz0Vhm6C;

1.46
date	2020.04.26.18.53.33;	author thorpej;	state Exp;
branches;
next	1.45;
commitid	xaklHg2Aa3B2wV5C;

1.45
date	2020.04.22.09.18.42;	author rin;	state Exp;
branches;
next	1.44;
commitid	wxBIuJyAqQgLtm5C;

1.44
date	2020.03.02.16.00.54;	author riastradh;	state Exp;
branches
	1.44.4.1;
next	1.43;
commitid	IjHU3XJOATkJlQYB;

1.43
date	2020.02.08.07.07.07;	author maxv;	state Exp;
branches;
next	1.42;
commitid	hrT7QtWlfwnG7QVB;

1.42
date	2020.01.04.03.46.19;	author kamil;	state Exp;
branches
	1.42.2.1;
next	1.41;
commitid	u82VZ8ZbapW68kRB;

1.41
date	2019.12.26.08.52.38;	author kamil;	state Exp;
branches;
next	1.40;
commitid	nZ2nH9PqUVCy7cQB;

1.40
date	2019.12.20.21.20.09;	author ad;	state Exp;
branches;
next	1.39;
commitid	eX0UKulzkuIwsuPB;

1.39
date	2019.12.12.22.55.20;	author pgoyette;	state Exp;
branches;
next	1.38;
commitid	oCLheeitcycFetOB;

1.38
date	2019.11.20.19.37.53;	author pgoyette;	state Exp;
branches;
next	1.37;
commitid	klD35BQ0ZsdrRCLB;

1.37
date	2019.11.14.16.23.52;	author maxv;	state Exp;
branches;
next	1.36;
commitid	BJshPFE9sjVJXPKB;

1.36
date	2019.11.05.20.19.17;	author maxv;	state Exp;
branches;
next	1.35;
commitid	bssC0sL0CJikyHJB;

1.35
date	2019.08.15.12.24.08;	author maxv;	state Exp;
branches;
next	1.34;
commitid	rFZs5yQZGs7Lz7zB;

1.34
date	2019.04.04.20.19.07;	author christos;	state Exp;
branches
	1.34.4.1;
next	1.33;
commitid	EbTj1GlL7g8St4iB;

1.33
date	2019.02.23.03.10.06;	author kamil;	state Exp;
branches;
next	1.32;
commitid	I1ydg9kW8xavZPcB;

1.32
date	2019.02.13.18.04.35;	author kamil;	state Exp;
branches;
next	1.31;
commitid	iXX0KB5GD5M4jDbB;

1.31
date	2019.01.27.02.08.43;	author pgoyette;	state Exp;
branches;
next	1.30;
commitid	ipPva1Pj3xTcBm9B;

1.30
date	2019.01.09.04.01.20;	author mrg;	state Exp;
branches;
next	1.29;
commitid	qcf7iJnkVgGIN37B;

1.29
date	2018.12.24.16.58.54;	author thorpej;	state Exp;
branches;
next	1.28;
commitid	Zxp8j7PMe1aYx45B;

1.28
date	2018.12.16.14.06.56;	author rmind;	state Exp;
branches;
next	1.27;
commitid	xgLycQcigQhhV14B;

1.27
date	2018.12.03.00.11.02;	author christos;	state Exp;
branches;
next	1.26;
commitid	ljtE7kNRMNAmIh2B;

1.26
date	2018.12.02.21.00.13;	author maxv;	state Exp;
branches;
next	1.25;
commitid	2FElgv11KoHQEg2B;

1.25
date	2018.11.15.09.38.57;	author maxv;	state Exp;
branches;
next	1.24;
commitid	jsDbbvkQgEODq10B;

1.24
date	2018.10.31.06.26.26;	author maxv;	state Exp;
branches;
next	1.23;
commitid	pc4fH0gpmGnLP4YA;

1.23
date	2018.09.14.01.55.19;	author mrg;	state Exp;
branches;
next	1.22;
commitid	yK3sdC5GzFapR0SA;

1.22
date	2018.08.20.11.35.28;	author maxv;	state Exp;
branches;
next	1.21;
commitid	Adxg4Gx9MkoASQOA;

1.21
date	2018.08.03.04.35.20;	author kamil;	state Exp;
branches;
next	1.20;
commitid	nGM8SgFnTn776DMA;

1.20
date	2018.07.18.07.06.40;	author msaitoh;	state Exp;
branches;
next	1.19;
commitid	BPyKsADqvNa9sAKA;

1.19
date	2018.07.17.05.52.07;	author msaitoh;	state Exp;
branches;
next	1.18;
commitid	OQSr0kWy5ShK3sKA;

1.18
date	2018.07.12.10.46.48;	author maxv;	state Exp;
branches;
next	1.17;
commitid	zv0Sckxqs4y3RPJA;

1.17
date	2018.06.30.00.37.38;	author christos;	state Exp;
branches;
next	1.16;
commitid	h65EBbxbatCASeIA;

1.16
date	2017.12.16.10.15.12;	author maxv;	state Exp;
branches
	1.16.2.1
	1.16.4.1;
next	1.15;
commitid	d5leGRVzArcmn6jA;

1.15
date	2017.05.19.00.01.33;	author pgoyette;	state Exp;
branches
	1.15.2.1
	1.15.8.1;
next	1.14;
commitid	hMo0RDYnlhcaLVRz;

1.14
date	2017.04.12.20.05.54;	author christos;	state Exp;
branches
	1.14.2.1;
next	1.13;
commitid	Xhgkb7Y6SOpfChNz;

1.13
date	2016.11.02.00.11.59;	author pgoyette;	state Exp;
branches
	1.13.2.1;
next	1.12;
commitid	7fzelcnrglvjbusz;

1.12
date	2016.09.16.03.10.45;	author pgoyette;	state Exp;
branches;
next	1.11;
commitid	62E2PYVW1dd9Gsmz;

1.11
date	2016.04.09.06.21.16;	author riastradh;	state Exp;
branches
	1.11.2.1;
next	1.10;
commitid	1EIL5VPc9OnfRU1z;

1.10
date	2015.12.03.02.51.00;	author pgoyette;	state Exp;
branches;
next	1.9;
commitid	kCtR8J59sy1rPrLy;

1.9
date	2015.09.03.01.09.38;	author uebayasi;	state Exp;
branches;
next	1.8;
commitid	UGuLzLITIKnkcKzy;

1.8
date	2015.08.21.02.18.18;	author uebayasi;	state Exp;
branches;
next	1.7;
commitid	a4Ly0sF1vclNZ4yy;

1.7
date	2015.08.17.06.16.03;	author knakahara;	state Exp;
branches;
next	1.6;
commitid	iXg3jCDGxWEjrAxy;

1.6
date	2015.05.10.07.41.15;	author pgoyette;	state Exp;
branches;
next	1.5;
commitid	AfRemwEAFpE14Sky;

1.5
date	2015.05.06.15.57.08;	author hannken;	state Exp;
branches;
next	1.4;
commitid	dCtY2N5ZDmWiXoky;

1.4
date	2015.05.02.12.57.19;	author mlelstv;	state Exp;
branches;
next	1.3;
commitid	6oTtVJ3wV5O96Sjy;

1.3
date	2015.03.07.16.35.37;	author christos;	state Exp;
branches;
next	1.2;
commitid	n8E08isCRcqF6Hcy;

1.2
date	2014.10.12.04.38.28;	author uebayasi;	state Exp;
branches
	1.2.2.1;
next	1.1;
commitid	pczZlTiEz5oEPRTx;

1.1
date	2014.10.12.04.30.42;	author uebayasi;	state Exp;
branches;
next	;
commitid	RnlMfFToLukZMRTx;

1.60.6.1
date	2025.08.02.05.57.40;	author perseant;	state Exp;
branches;
next	;
commitid	23j6GFaDws3O875G;

1.54.4.1
date	2021.06.17.04.46.33;	author thorpej;	state Exp;
branches;
next	;
commitid	d7CrUzY34skBrrXC;

1.54.6.1
date	2021.05.31.22.15.20;	author cjep;	state Exp;
branches;
next	;
commitid	eWz9SBW0XqKjJlVC;

1.53.2.1
date	2020.12.14.14.38.13;	author thorpej;	state Exp;
branches;
next	1.53.2.2;
commitid	S4HwP6n7zzL3FIzC;

1.53.2.2
date	2020.12.14.16.00.51;	author thorpej;	state Exp;
branches;
next	1.53.2.3;
commitid	pgyOelhj0W5C7JzC;

1.53.2.3
date	2020.12.14.16.53.36;	author thorpej;	state Exp;
branches;
next	;
commitid	HZbnsUV4VSkNpJzC;

1.44.4.1
date	2020.04.25.11.24.05;	author bouyer;	state Exp;
branches;
next	;
commitid	d0banFLkg9JL4L5C;

1.42.2.1
date	2020.02.29.20.21.02;	author ad;	state Exp;
branches;
next	;
commitid	OjSb8ro7YQETQBYB;

1.34.4.1
date	2020.01.21.15.33.33;	author martin;	state Exp;
branches;
next	1.34.4.2;
commitid	XSrSIAvYr2gtvzTB;

1.34.4.2
date	2020.03.03.18.51.03;	author martin;	state Exp;
branches;
next	;
commitid	6EwjWerTFTY7gZYB;

1.16.2.1
date	2018.03.06.05.44.37;	author pgoyette;	state Exp;
branches;
next	1.16.2.2;
commitid	0qpHvvklc4MVimtA;

1.16.2.2
date	2018.03.06.09.43.06;	author pgoyette;	state Exp;
branches;
next	1.16.2.3;
commitid	aq4s2xxKLNEGCntA;

1.16.2.3
date	2018.03.06.10.37.41;	author pgoyette;	state Exp;
branches;
next	1.16.2.4;
commitid	LHyNWa4dQsh9VntA;

1.16.2.4
date	2018.03.07.09.33.26;	author pgoyette;	state Exp;
branches;
next	1.16.2.5;
commitid	bpagRed0rvY8xvtA;

1.16.2.5
date	2018.03.20.08.11.25;	author pgoyette;	state Exp;
branches;
next	1.16.2.6;
commitid	0WHyLIf2OWbbFavA;

1.16.2.6
date	2018.07.28.04.38.08;	author pgoyette;	state Exp;
branches;
next	1.16.2.7;
commitid	1UP1xAIUxv1ZgRLA;

1.16.2.7
date	2018.08.02.05.34.09;	author pgoyette;	state Exp;
branches;
next	1.16.2.8;
commitid	LJsCshR1x36ysvMA;

1.16.2.8
date	2018.09.06.06.56.41;	author pgoyette;	state Exp;
branches;
next	1.16.2.9;
commitid	HCi1bXD317XIK0RA;

1.16.2.9
date	2018.09.30.01.45.55;	author pgoyette;	state Exp;
branches;
next	1.16.2.10;
commitid	SQ44grEPCeKPh4UA;

1.16.2.10
date	2018.11.26.01.52.50;	author pgoyette;	state Exp;
branches;
next	1.16.2.11;
commitid	Zj4q5SspGdKXto1B;

1.16.2.11
date	2018.12.26.14.02.03;	author pgoyette;	state Exp;
branches;
next	1.16.2.12;
commitid	xUhK8IAeBM1azj5B;

1.16.2.12
date	2019.01.18.08.50.57;	author pgoyette;	state Exp;
branches;
next	;
commitid	Lmlzg3OVT2cd6f8B;

1.16.4.1
date	2018.07.12.16.35.34;	author phil;	state Exp;
branches;
next	1.16.4.2;
commitid	US0n8axK0fqSKRJA;

1.16.4.2
date	2019.06.10.22.09.03;	author christos;	state Exp;
branches;
next	1.16.4.3;
commitid	jtc8rnCzWiEEHGqB;

1.16.4.3
date	2020.04.08.14.08.51;	author martin;	state Exp;
branches;
next	1.16.4.4;
commitid	Qli2aW9E74UFuA3C;

1.16.4.4
date	2020.04.13.08.05.03;	author martin;	state Exp;
branches;
next	;
commitid	X01YhRUPVUDaec4C;

1.15.2.1
date	2020.01.21.16.59.57;	author martin;	state Exp;
branches;
next	;
commitid	6Usgy6yFkpSuZzTB;

1.15.8.1
date	2017.05.19.00.01.33;	author jdolecek;	state dead;
branches;
next	1.15.8.2;
commitid	XcIYRZTAh1LmerhA;

1.15.8.2
date	2017.12.03.11.38.44;	author jdolecek;	state Exp;
branches;
next	;
commitid	XcIYRZTAh1LmerhA;

1.14.2.1
date	2017.04.27.05.36.37;	author pgoyette;	state Exp;
branches;
next	;
commitid	Px6GUicTh67rj8Pz;

1.13.2.1
date	2017.04.21.16.54.02;	author bouyer;	state Exp;
branches;
next	;
commitid	dUG7nkTKALCadqOz;

1.11.2.1
date	2016.07.15.02.29.19;	author pgoyette;	state Exp;
branches;
next	1.11.2.2;
commitid	R1nvX23mo5zEtmez;

1.11.2.2
date	2016.11.04.14.49.17;	author pgoyette;	state Exp;
branches;
next	1.11.2.3;
commitid	2m1JRwYmpwPkOOsz;

1.11.2.3
date	2017.04.26.02.53.26;	author pgoyette;	state Exp;
branches;
next	;
commitid	ojV02aOSdzvBqZOz;

1.2.2.1
date	2015.04.06.15.18.20;	author skrll;	state Exp;
branches;
next	1.2.2.2;
commitid	pz01Zhy7RP6iGxgy;

1.2.2.2
date	2015.06.06.14.40.21;	author skrll;	state Exp;
branches;
next	1.2.2.3;
commitid	O6LVO5i6UulOvnoy;

1.2.2.3
date	2015.09.22.12.06.07;	author skrll;	state Exp;
branches;
next	1.2.2.4;
commitid	CpNWKp3ozVNTafCy;

1.2.2.4
date	2015.12.27.12.10.05;	author skrll;	state Exp;
branches;
next	1.2.2.5;
commitid	BTSqUD4SdJ5k7AOy;

1.2.2.5
date	2016.04.22.15.44.16;	author skrll;	state Exp;
branches;
next	1.2.2.6;
commitid	bbo6x38wuxyZyD3z;

1.2.2.6
date	2016.10.05.20.56.02;	author skrll;	state Exp;
branches;
next	1.2.2.7;
commitid	uuAdz3JYHQmaWZoz;

1.2.2.7
date	2016.12.05.10.55.26;	author skrll;	state Exp;
branches;
next	1.2.2.8;
commitid	4H3tiQVJXN6oEMwz;

1.2.2.8
date	2017.08.28.17.53.07;	author skrll;	state Exp;
branches;
next	;
commitid	UQQpnjvcNkUZn05A;


desc
@@


1.63
log
@Elide subr_ipi.c for non-MP configurations.
@
text
@#	$NetBSD: files.kern,v 1.62 2026/07/17 01:09:27 thorpej Exp $

#
# kernel sources
#
define	kern:	cprng_fast, machdep, uvm
defflag	opt_heartbeat.h			HEARTBEAT
defflag	opt_kern.h			KERN
defflag	opt_script.h			SETUIDSCRIPTS FDSCRIPTS
defflag					KASLR
defparam opt_cnmagic.h			CNMAGIC
defparam heartbeat.h			HEARTBEAT_MAX_PERIOD_DEFAULT

file	conf/debugsyms.c		kern
file	conf/param.c			kern
file	kern/bufq_disksort.c		bufq_disksort
file	kern/bufq_fcfs.c		bufq_fcfs
file	kern/bufq_priocscan.c		bufq_priocscan
file	kern/bufq_readprio.c		bufq_readprio | new_bufq_strategy
file	kern/compat_stub.c		kern
file	kern/core_elf32.c		exec_elf32 & coredump
file	kern/core_elf64.c		exec_elf64 & coredump
file	kern/core_netbsd.c		coredump
file	kern/cnmagic.c			kern
file	kern/exec_aout.c		exec_aout
file	kern/exec_ecoff.c		exec_ecoff
file	kern/exec_elf32.c		exec_elf32
file	kern/exec_elf64.c		exec_elf64
file	kern/exec_script.c		exec_script
file	kern/exec_subr.c		kern
file	kern/init_main.c		kern
file	kern/init_sysctl.c		kern
file	kern/init_sysctl_base.c		kern
file	kern/init_sysent.c		kern
file	kern/kern_acct.c		kern
file	kern/kern_auth.c		kern
file	kern/kern_cfglock.c		kern
file	kern/kern_clock.c		kern
file	kern/kern_condvar.c		kern
file	kern/kern_core.c		coredump
file	kern/kern_cpu.c			kern

#kern/kern_ctf.c is only needed as part of dtrace_fbt module
#file	kern/kern_ctf.c			kdtrace_hooks

file	kern/kern_descrip.c		kern
file	kern/kern_entropy.c		kern
file	kern/kern_event.c		kern
file	kern/kern_exec.c		kern
file	kern/kern_exit.c		kern
file	kern/kern_fork.c		kern
file	kern/kern_idle.c		kern
file	kern/kern_heartbeat.c		kern & heartbeat
file	kern/kern_hook.c		kern
file	kern/kern_kthread.c		kern
file	kern/kern_ktrace.c		ktrace
file	kern/kern_ktrace_vfs.c		ktrace
file	kern/kern_ksyms.c		ksyms | ddb | modular needs-flag
file	kern/kern_lock.c		kern
file	kern/kern_lwp.c			kern
file	kern/kern_malloc.c		kern
file	kern/kern_module.c		kern
file	kern/kern_module_hook.c		kern
file	kern/kern_module_vfs.c		kern
file	kern/kern_mutex.c		kern
file	kern/kern_mutex_obj.c		kern
file	kern/kern_fileassoc.c		fileassoc
file	kern/kern_ntptime.c		kern
file	kern/kern_pax.c			pax_mprotect | pax_segvguard | pax_aslr
file	kern/kern_physio.c		kern
file	kern/kern_pmf.c			kern
file	kern/kern_proc.c		kern
file	kern/kern_prot.c		kern
file	kern/kern_ras.c			kern
file	kern/kern_rate.c		kern
file	kern/kern_reboot.c		kern
file	kern/kern_resource.c		kern
file	kern/kern_runq.c		kern
file	kern/kern_rwlock.c		kern
file	kern/kern_rwlock_obj.c		kern
file	kern/kern_scdebug.c		kern
file	kern/kern_sdt.c			kdtrace_hooks
file	kern/kern_crashme.c		kern
file	kern/kern_sig.c			kern
file	kern/kern_sleepq.c		kern
file	kern/kern_softint.c		kern
file	kern/kern_ssp.c			kern
file	kern/kern_stub.c		kern
file	kern/kern_subr.c		kern
file	kern/kern_synch.c		kern
file	kern/kern_syscall.c		kern
file	kern/kern_sysctl.c		kern
file	kern/kern_tc.c			kern
file	kern/kern_threadpool.c		kern
file	kern/kern_time.c		kern
file	kern/kern_timeout.c		kern
file	kern/kern_turnstile.c		kern
file	kern/kern_todr.c		kern
file	kern/kern_uidinfo.c		kern
file	kern/kern_uuid.c		kern
file	kern/kgdb_stub.c		kgdb
file	kern/sched_4bsd.c		sched_4bsd
file	kern/sched_m2.c			sched_m2
file	kern/subr_acl_posix1e.c		kern
file	kern/subr_acl_nfs4.c		kern
file	kern/subr_asan.c		kasan
file	kern/subr_autoconf.c		kern
file	kern/subr_blist.c		vmswap
file	kern/subr_bufq.c		kern
file	kern/subr_callback.c		kern
file	kern/subr_cprng.c		kern
file	kern/subr_cpu.c			kern
file	kern/subr_cpufreq.c		kern
file	kern/subr_copy.c		kern
file	kern/subr_csan.c		kcsan
file	kern/subr_debug.c		debug
file	kern/subr_device.c		kern
file	kern/subr_devsw.c		kern
file	kern/subr_disk.c		kern
file	kern/subr_disklabel.c		kern
defflag opt_disklabel.h			DISKLABEL_EI
file	kern/subr_disk_open.c		kern
file	kern/subr_emul.c		kern
file	kern/subr_evcnt.c		kern
file	kern/subr_exec_fd.c		kern
file	kern/subr_extent.c		kern
file	kern/subr_fault.c		fault
file	kern/subr_hash.c		kern
file	kern/subr_humanize.c		kern
file	kern/subr_interrupt.c		kern & multiprocessor
file	kern/subr_iostat.c		kern
file	kern/subr_ipi.c			kern & multiprocessor
file	kern/subr_kcpuset.c		kern
file	kern/subr_kcov.c		kcov
defflag	opt_kmem.h			KMEM_SIZE
file	kern/subr_kmem.c		kern
file	kern/subr_kobj.c		kern
file	kern/subr_kobj_vfs.c		kern
file	kern/subr_localcount.c		kern
file	kern/subr_lockdebug.c		kern
file	kern/subr_log.c			kern
file	kern/subr_lwp_specificdata.c	kern
file	kern/subr_msan.c		kmsan
file	kern/subr_once.c		kern
file	kern/subr_optstr.c		kern
file	kern/subr_pcq.c			kern
file	kern/subr_pcu.c			kern
file	kern/subr_percpu.c		kern
file	kern/subr_pool.c		kern
file	kern/subr_prf.c			kern
file	kern/subr_prof.c		kern
file	kern/subr_pserialize.c		kern
file	kern/subr_psref.c		kern
file	kern/subr_specificdata.c	kern
file	kern/subr_tftproot.c		tftproot
file	kern/subr_time.c		kern
file	kern/subr_time_arith.c		kern
file	kern/subr_thmap.c		kern
file	kern/subr_userconf.c		userconf
file	kern/subr_vmem.c		kern
file	kern/subr_workqueue.c		kern
file	kern/subr_xcall.c		kern
file	kern/sys_aio.c			aio
file	kern/sys_descrip.c		kern
file	kern/sys_epoll.c		kern
file	kern/sys_eventfd.c		kern
file	kern/sys_futex.c		kern
file	kern/sys_generic.c		kern
file	kern/sys_getrandom.c		kern
file	kern/sys_memfd.c		kern
file	kern/sys_module.c		kern
file	kern/sys_mqueue.c		mqueue
file	kern/sys_lwp.c			kern
file	kern/sys_pipe.c			!pipe_socketpair
file	kern/sys_process.c		ptrace_hooks | ktrace
file	kern/sys_process_lwpstatus.c	kern
file	kern/sys_ptrace.c		ptrace
file	kern/sys_ptrace_common.c	ptrace | procfs
file	kern/sys_pset.c			kern
file	kern/sys_select.c		kern
file	kern/sys_sig.c			kern
file	kern/sys_sched.c		kern
file	kern/sys_socket.c		kern
file	kern/sys_timerfd.c		kern
file	kern/syscalls.c			syscall_debug | kdtrace_hooks
file	kern/sysv_ipc.c			sysvshm | sysvsem | sysvmsg
file	kern/sysv_msg.c			sysvmsg
file	kern/sysv_sem.c			sysvsem
file	kern/sysv_shm.c			sysvshm
file	kern/tty.c			kern
file	kern/tty_conf.c			kern
file	kern/tty_bsdpty.c		compat_bsdpty
file	kern/tty_pty.c			pty 			needs-flag
file	kern/tty_ptm.c			pty
file	kern/tty_subr.c			kern
file	kern/tty_tty.c			kern
file	kern/uipc_accf.c		kern
file	kern/uipc_domain.c		kern
file	kern/uipc_mbuf.c		kern
file	kern/uipc_mbufdebug.c		kern & ether & ddb
file	net/link_proto.c		kern	# XXX
file	kern/uipc_proto.c		kern
file	kern/uipc_sem.c			kern
file	kern/uipc_socket.c		kern
file	kern/uipc_socket2.c		kern
file	kern/uipc_syscalls.c		kern
file	kern/uipc_usrreq.c		kern

define	vfs: kern
file	kern/vfs_acl.c			vfs
file	kern/vfs_bio.c			vfs
file	kern/vfs_cache.c		vfs
file	kern/vfs_cwd.c			vfs
file	kern/vfs_dirhash.c		vfs
file	kern/vfs_getcwd.c		vfs
file	kern/vfs_hooks.c		vfs
file	kern/vfs_init.c			vfs
file	kern/vfs_lockf.c		vfs
file	kern/vfs_lookup.c		vfs
file	kern/vfs_mount.c		vfs
file	kern/vfs_quotactl.c		vfs
file	kern/vfs_subr.c			vfs
file	kern/vfs_syscalls.c		vfs
file	kern/vfs_trans.c		vfs
file	kern/vfs_vnode.c		vfs
file	kern/vfs_vnops.c		vfs
file	kern/vfs_wapbl.c		wapbl
file	kern/vfs_xattr.c		vfs
file	kern/vnode_if.c			vfs
file	miscfs/deadfs/dead_vfsops.c	vfs
file	miscfs/deadfs/dead_vnops.c	vfs
file	miscfs/fifofs/fifo_vnops.c	vfs
file	miscfs/genfs/genfs_io.c		vfs
file	miscfs/genfs/genfs_rename.c	vfs
file	miscfs/genfs/genfs_vfsops.c	vfs
file	miscfs/genfs/genfs_vnops.c	vfs

define	layerfs
file	miscfs/genfs/layer_subr.c	layerfs
file	miscfs/genfs/layer_vfsops.c	layerfs
file	miscfs/genfs/layer_vnops.c	layerfs

file	miscfs/specfs/spec_vnops.c	vfs

defflag	KUBSAN
prefix	../common/lib/libc/misc
file	ubsan.c				kubsan
prefix
makeoptions	kubsan	CFLAGS+="-fsanitize=undefined"
makeoptions	kubsan	CPPFLAGS+="-DACPI_MISALIGNMENT_NOT_SUPPORTED"
@


1.62
log
@Elide subr_interrupt.c on non-MP configurations.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.61 2024/12/22 23:24:20 riastradh Exp $
d132 1
a132 1
file	kern/subr_ipi.c			kern
@


1.61
log
@kern: Move some purely arithmetic routines to subr_time_arith.c.

Preparation for testing and fixing:

PR kern/58922: itimer(9): arithmetic overflow
PR kern/58925: itimer(9) responds erratically to clock wound back
PR kern/58926: itimer(9) integer overflow in overrun counting
PR kern/58927: itimer(9): overrun accounting is broken
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.60 2023/07/28 18:19:01 christos Exp $
d130 1
a130 1
file	kern/subr_interrupt.c		kern
@


1.60
log
@Add epoll(2) from Theodore Preduta as part of GSoC 2023
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.59 2023/07/10 06:42:33 mrg Exp $
d157 1
@


1.60.6.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.61 2024/12/22 23:24:20 riastradh Exp $
a156 1
file	kern/subr_time_arith.c		kern
@


1.59
log
@add missing sys_memfd.c.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.58 2023/07/07 12:34:50 riastradh Exp $
d164 1
@


1.58
log
@heartbeat(9): New mechanism to check progress of kernel.

This uses hard interrupts to check progress of low-priority soft
interrupts, and one CPU to check progress of another CPU.

If no progress has been made after a configurable number of seconds
(kern.heartbeat.max_period, default 15), then the system panics --
preferably on the CPU that is stuck so we get a stack trace in dmesg
of where it was stuck, but if the stuckness was detected by another
CPU and the stuck CPU doesn't acknowledge the request to panic within
one second, the detecting CPU panics instead.

This doesn't supplant hardware watchdog timers.  It is possible for
hard interrupts to be stuck on all CPUs for some reason too; in that
case heartbeat(9) has no opportunity to complete.

Downside: heartbeat(9) relies on hardclock to run at a reasonably
consistent rate, which might cause trouble for the glorious tickless
future.  However, it could be adapted to take a parameter for an
approximate number of units that have elapsed since the last call on
the current CPU, rather than treating that as a constant 1.

XXX kernel revbump -- changes struct cpu_info layout
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.57 2021/09/19 15:51:27 thorpej Exp $
d168 1
@


1.57
log
@Add native implementations of eventfd(2) and timerfd(2), compatible with
the Linux interfaces of the same name.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.56 2021/05/18 05:16:09 mrg Exp $
d7 1
d12 1
d53 1
@


1.56
log
@s/defopt/defflag/.  2021 called to remind me it's still 2021.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.55 2021/05/17 08:50:36 mrg Exp $
d161 1
d178 1
@


1.55
log
@move bi-endian disklabel support from the kernel and libsa into libkern.

- dkcksum() and dkcksum_sized() move from subr_disk.c and from
  libsa into libkern/dkcksum.c (which is missing _sized() version),
  using the version from usr.sbin/disklabel.

- swap_disklabel() moves from subr_disk_mbr.c into libkern, now called
  disklabel_swap().  (the sh3 version should be updated to use this.)

- DISKLABEL_EI becomes a first-class option with opt_disklabel.h.

- add libkern.h to libsa/disklabel.c.

this enables future work for bi-endian libsa/ufs.c (relevant for ffsv1,
ffsv2, lfsv1, and lfsv2), as well as making it possible for ports not
using subr_disk_mbr.c to include bi-endian disklabel support (which,
afaict, includes any disk on mbr-supporting platforms that do not have
an mbr as well as disklabel.)

builds successsfully on: alpha, i386, amd64, sun2, sun3, evbarm64,
evbarm64-eb, sparc, and sparc64.  tested in anita on i386 and sparc,
testing in hardware on evbarm64*.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.54 2020/11/01 18:51:02 pgoyette Exp $
d118 1
a118 1
defopt opt_disklabel.h			DISKLABEL_EI
@


1.54
log
@Separate the compat_netbsd32_coredump from the compat_netbsd32 and
coredump modules, into its own module.

Welcome to 7.99.75 !!!
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.53 2020/10/19 19:33:02 christos Exp $
d118 1
@


1.54.4.1
log
@Sync w/ HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.56 2021/05/18 05:16:09 mrg Exp $
a117 1
defflag opt_disklabel.h			DISKLABEL_EI
@


1.54.6.1
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.56 2021/05/18 05:16:09 mrg Exp $
a117 1
defflag opt_disklabel.h			DISKLABEL_EI
@


1.53
log
@Arrange so that no options COREDUMP and no options PTRACE work together.
Thanks to Paul Goyette for testing.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.52 2020/09/07 03:50:41 thorpej Exp $
d170 1
a170 1
file	kern/sys_ptrace_common.c	ptrace
@


1.53.2.1
log
@Sync w/ HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.54 2020/11/01 18:51:02 pgoyette Exp $
d170 1
a170 1
file	kern/sys_ptrace_common.c	ptrace | procfs
@


1.53.2.2
log
@Native implementation of the Linux eventfd(2) API.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.53.2.1 2020/12/14 14:38:13 thorpej Exp $
a159 1
file	kern/sys_eventfd.c		kern
@


1.53.2.3
log
@Native implementation of the Linux timerfd API.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.53.2.2 2020/12/14 16:00:51 thorpej Exp $
a176 1
file	kern/sys_timerfd.c		kern
@


1.52
log
@Add the ability to set an alternate cnmagic in the kernel config
file, e.g.:

options    CNMAGIC="\"+++++\""
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.51 2020/08/14 00:53:16 riastradh Exp $
d19 2
a20 2
file	kern/core_elf32.c		exec_elf32
file	kern/core_elf64.c		exec_elf64
@


1.51
log
@New system call getrandom() compatible with Linux and others.

Three ways to call:

getrandom(p, n, 0)              Blocks at boot until full entropy.
                                Returns up to n bytes at p; guarantees
                                up to 256 bytes even if interrupted
                                after blocking.  getrandom(0,0,0)
                                serves as an entropy barrier: return
                                only after system has full entropy.

getrandom(p, n, GRND_INSECURE)  Never blocks.  Guarantees up to 256
                                bytes even if interrupted.  Equivalent
                                to /dev/urandom.  Safe only after
                                successful getrandom(...,0),
                                getrandom(...,GRND_RANDOM), or read
                                from /dev/random.

getrandom(p, n, GRND_RANDOM)    May block at any time.  Returns up to n
                                bytes at p, but no guarantees about how
                                many -- may return as short as 1 byte.
                                Equivalent to /dev/random.  Legacy.
                                Provided only for source compatibility
                                with Linux.

Can also use flags|GRND_NONBLOCK to fail with EWOULDBLOCK/EAGAIN
without producing any output instead of blocking.

- The combination GRND_INSECURE|GRND_NONBLOCK is the same as
  GRND_INSECURE, since GRND_INSECURE never blocks anyway.

- The combinations GRND_INSECURE|GRND_RANDOM and
  GRND_INSECURE|GRND_RANDOM|GRND_NONBLOCK are nonsensical and fail
  with EINVAL.

As proposed on tech-userlevel, tech-crypto, tech-security, and
tech-kern, and subsequently adopted by core (minus the getentropy part
of the proposal, because other operating systems and participants in
the discussion couldn't come to an agreement about getentropy and
blocking semantics):

https://mail-index.netbsd.org/tech-userlevel/2020/05/02/msg012333.html
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.50 2020/07/28 20:15:07 riastradh Exp $
d10 2
@


1.50
log
@Rewrite cprng_fast in terms of new ChaCha API.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.49 2020/06/07 09:45:19 maxv Exp $
d160 1
@


1.49
log
@Add fault(4).
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.48 2020/05/16 18:31:50 christos Exp $
d6 1
a6 1
define	kern:	machdep, uvm
@


1.48
log
@Add ACL support for FFS. From FreeBSD.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.47 2020/04/30 03:28:18 riastradh Exp $
d121 1
@


1.47
log
@Rewrite entropy subsystem.

Primary goals:

1. Use cryptography primitives designed and vetted by cryptographers.
2. Be honest about entropy estimation.
3. Propagate full entropy as soon as possible.
4. Simplify the APIs.
5. Reduce overhead of rnd_add_data and cprng_strong.
6. Reduce side channels of HWRNG data and human input sources.
7. Improve visibility of operation with sysctl and event counters.

Caveat: rngtest is no longer used generically for RND_TYPE_RNG
rndsources.  Hardware RNG devices should have hardware-specific
health tests.  For example, checking for two repeated 256-bit outputs
works to detect AMD's 2019 RDRAND bug.  Not all hardware RNGs are
necessarily designed to produce exactly uniform output.

ENTROPY POOL

- A Keccak sponge, with test vectors, replaces the old LFSR/SHA-1
  kludge as the cryptographic primitive.

- `Entropy depletion' is available for testing purposes with a sysctl
  knob kern.entropy.depletion; otherwise it is disabled, and once the
  system reaches full entropy it is assumed to stay there as far as
  modern cryptography is concerned.

- No `entropy estimation' based on sample values.  Such `entropy
  estimation' is a contradiction in terms, dishonest to users, and a
  potential source of side channels.  It is the responsibility of the
  driver author to study the entropy of the process that generates
  the samples.

- Per-CPU gathering pools avoid contention on a global queue.

- Entropy is occasionally consolidated into global pool -- as soon as
  it's ready, if we've never reached full entropy, and with a rate
  limit afterward.  Operators can force consolidation now by running
  sysctl -w kern.entropy.consolidate=1.

- rndsink(9) API has been replaced by an epoch counter which changes
  whenever entropy is consolidated into the global pool.
  . Usage: Cache entropy_epoch() when you seed.  If entropy_epoch()
    has changed when you're about to use whatever you seeded, reseed.
  . Epoch is never zero, so initialize cache to 0 if you want to reseed
    on first use.
  . Epoch is -1 iff we have never reached full entropy -- in other
    words, the old rnd_initial_entropy is (entropy_epoch() != -1) --
    but it is better if you check for changes rather than for -1, so
    that if the system estimated its own entropy incorrectly, entropy
    consolidation has the opportunity to prevent future compromise.

- Sysctls and event counters provide operator visibility into what's
  happening:
  . kern.entropy.needed - bits of entropy short of full entropy
  . kern.entropy.pending - bits known to be pending in per-CPU pools,
    can be consolidated with sysctl -w kern.entropy.consolidate=1
  . kern.entropy.epoch - number of times consolidation has happened,
    never 0, and -1 iff we have never reached full entropy

CPRNG_STRONG

- A cprng_strong instance is now a collection of per-CPU NIST
  Hash_DRBGs.  There are only two in the system: user_cprng for
  /dev/urandom and sysctl kern.?random, and kern_cprng for kernel
  users which may need to operate in interrupt context up to IPL_VM.

  (Calling cprng_strong in interrupt context does not strike me as a
  particularly good idea, so I added an event counter to see whether
  anything actually does.)

- Event counters provide operator visibility into when reseeding
  happens.

INTEL RDRAND/RDSEED, VIA C3 RNG (CPU_RNG)

- Unwired for now; will be rewired in a subsequent commit.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.46 2020/04/26 18:53:33 thorpej Exp $
d99 2
d197 1
@


1.46
log
@Add a NetBSD native futex implementation, mostly written by riastradh@@.
Map the COMPAT_LINUX futex calls to the native ones.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.45 2020/04/22 09:18:42 rin Exp $
d43 1
a72 3
file	kern/kern_rndpool.c		kern
file	kern/kern_rndq.c		kern
file	kern/kern_rndsink.c		kern
@


1.45
log
@At the moment, we need kern/uipc_mbufdebug.c only if DDB is enabled.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.44 2020/03/02 16:00:54 riastradh Exp $
d157 1
@


1.44
log
@Include kern_crashme.c in non-DEBUG kernels.

This is useful for simulating crashes in production to test failover.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.43 2020/02/08 07:07:07 maxv Exp $
d186 1
a186 1
file	kern/uipc_mbufdebug.c		kern & ether
@


1.44.4.1
log
@Sync with bouyer-xenpvh-base2 (HEAD)
@
text
@d1 1
a1 1
#	$NetBSD$
d186 1
a186 1
file	kern/uipc_mbufdebug.c		kern & ether & ddb
@


1.43
log
@Retire KLEAK.

KLEAK was a nice feature and served its purpose; it allowed us to detect
dozens of info leaks on the kernel->userland boundary, and thanks to it we
tackled a good part of the infoleak problem 1.5 years ago.

Nowadays however, we have kMSan, which can detect uninitialized memory in
the kernel. kMSan supersedes KLEAK: it can detect what KLEAK was able to
detect, but in addition, (1) it operates in all of the kernel and not just
the kernel->userland boundary, (2) it requires no user interaction, and (3)
it is deterministic and not statistical.

That makes kMSan the feature of choice to detect info leaks nowadays;
people interested in detecting info leaks should boot a kMSan kernel and
just wait for the magic to happen.

KLEAK was a good ride, and a fun project, but now is time for it to go.

Discussed with several people, including Thomas Barabosch.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.42 2020/01/04 03:46:19 kamil Exp $
d80 1
a80 1
file	kern/kern_crashme.c		debug
@


1.42
log
@Rename sys_ptrace_lwpstatus.c to sys_process_lwpstatus.c

Keep the names of functions internally as ptrace intact as this code
is shared with core_elf32.c that already reaches ptrace(2) specifc symbols.

No functional change intended.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.41 2019/12/26 08:52:38 kamil Exp $
a126 1
file	kern/subr_kleak.c		kleak
@


1.42.2.1
log
@Sync with head.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.43 2020/02/08 07:07:07 maxv Exp $
d127 1
@


1.41
log
@Put ptrace_read_lwpstatus() and process_read_lwpstatus() to a new file

Fixes "no PTRACE" kernel build, in particular zaurus kernel=INSTALL_C700.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.40 2019/12/20 21:20:09 ad Exp $
d164 1
a166 1
file	kern/sys_ptrace_lwpstatus.c	kern
@


1.40
log
@Split subr_cpu.c out of kern_cpu.c, to contain routines shared with rump.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.39 2019/12/12 22:55:20 pgoyette Exp $
d166 1
@


1.39
log
@Eliminate per-hook duplication of common code as suggested by
(and with major contributions from) riastradh@@

Welcome to 9.99.23
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.38 2019/11/20 19:37:53 pgoyette Exp $
d107 1
@


1.38
log
@Move all non-emulation-specific coredump code into the coredump module,
and remove all #ifdef COREDUMP conditional compilation.  Now, the
coredump module is completely separated from the emulation modules, and
they can all be independently loaded and unloaded.

Welcome to 9.99.18 !
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.37 2019/11/14 16:23:52 maxv Exp $
d57 1
@


1.37
log
@Add support for Kernel Memory Sanitizer (kMSan). It detects uninitialized
memory used by the kernel at run time, and just like kASan and kCSan, it
is an excellent feature. It has already detected 38 uninitialized variables
in the kernel during my testing, which I have since discreetly fixed.

We use two shadows:
 - "shad", to track uninitialized memory with a bit granularity (1:1).
   Each bit set to 1 in the shad corresponds to one uninitialized bit of
   real kernel memory.
 - "orig", to track the origin of the memory with a 4-byte granularity
   (1:1). Each uint32_t cell in the orig indicates the origin of the
   associated uint32_t of real kernel memory.

The memory consumption of these shadows is consequent, so at least 4GB of
RAM is recommended to run kMSan.

The compiler inserts calls to specific __msan_* functions on each memory
access, to manage both the shad and the orig and detect uninitialized
memory accesses that change the execution flow (like an "if" on an
uninitialized variable).

We mark as uninit several types of memory buffers (stack, pools, kmem,
malloc, uvm_km), and check each buffer passed to copyout, copyoutstr,
bwrite, if_transmit_lock and DMA operations, to detect uninitialized memory
that leaves the system. This allows us to detect kernel info leaks in a way
that is more efficient and also more user-friendly than KLEAK.

Contrary to kASan, kMSan requires comprehensive coverage, ie we cannot
tolerate having one non-instrumented function, because this could cause
false positives. kMSan cannot instrument ASM functions, so I converted
most of them to __asm__ inlines, which kMSan is able to instrument. Those
that remain receive special treatment.

Contrary to kASan again, kMSan uses a TLS, so we must context-switch this
TLS during interrupts. We use different contexts depending on the interrupt
level.

The orig tracks precisely the origin of a buffer. We use a special encoding
for the orig values, and pack together in each uint32_t cell of the orig:
 - a code designating the type of memory (Stack, Pool, etc), and
 - a compressed pointer, which points either (1) to a string containing
   the name of the variable associated with the cell, or (2) to an area
   in the kernel .text section which we resolve to a symbol name + offset.

This encoding allows us not to consume extra memory for associating
information with each cell, and produces a precise output, that can tell
for example the name of an uninitialized variable on the stack, the
function in which it was pushed on the stack, and the function where we
accessed this uninitialized variable.

kMSan is available with LLVM, but not with GCC.

The code is organized in a way that is similar to kASan and kCSan, so it
means that other architectures than amd64 can be supported.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.36 2019/11/05 20:19:17 maxv Exp $
d19 1
a19 1
file	kern/core_netbsd.c		exec_aout | exec_coff | exec_ecoff
@


1.36
log
@Add Kernel Concurrency Sanitizer (kCSan) support. This sanitizer allows us
to detect race conditions at runtime. It is a variation of TSan that is
easy to implement and more suited to kernel internals, albeit theoretically
less precise than TSan's happens-before.

We do basically two things:

 - On every KCSAN_NACCESSES (=2000) memory accesses, we create a cell
   describing the access, and delay the calling CPU (10ms).

 - On all memory accesses, we verify if the memory we're reading/writing
   is referenced in a cell already.

The combination of the two means that, if for example cpu0 does a read that
is selected and cpu1 does a write at the same address, kCSan will fire,
because cpu1's write collides with cpu0's read cell.

The coverage of the instrumentation is the same as that of kASan. Also, the
code is organized in a way similar to kASan, so it is easy to add support
for more architectures than amd64. kCSan is compatible with KCOV.

Reviewed by Kamil.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.35 2019/08/15 12:24:08 maxv Exp $
d135 1
@


1.35
log
@Unlink KMEM_GUARD leftovers.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.34 2019/04/04 20:19:07 christos Exp $
d108 1
@


1.34
log
@move setdisklabel(9) into a separate file.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.33 2019/02/23 03:10:06 kamil Exp $
d126 1
a126 3
defflag	opt_kmem.h			KMEM_GUARD
					KMEM_SIZE
defparam opt_kmem.h			KMEM_GUARD_DEPTH
@


1.34.4.1
log
@Apply patch, requested by pgoyette in ticket #633:

PR kern/54874: fix load failure of the exec_aout kernel module.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.34 2019/04/04 20:19:07 christos Exp $
d19 1
a19 2
file	kern/core_netbsd.c		exec_aout | exec_coff | exec_ecoff |
					modular
@


1.34.4.2
log
@Pull up following revision(s) (requested by rin in ticket #754):

	sys/kern/files.kern: revision 1.44

Include kern_crashme.c in non-DEBUG kernels.
This is useful for simulating crashes in production to test failover.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.34.4.1 2020/01/21 15:33:33 martin Exp $
d80 1
a80 1
file	kern/kern_crashme.c		kern
@


1.33
log
@Add KCOV - kernel code coverage tracing device

The KCOV driver implements collection of code coverage inside the kernel.
It can be enabled on a per process basis from userland, allowing the kernel
program counter to be collected during syscalls triggered by the same
process.

The device is oriented towards kernel fuzzers, in particular syzkaller.

Currently the only supported coverage type is -fsanitize-coverage=trace-pc.

The KCOV driver was initially developed in Linux. A driver based on the
same concept was then implemented in FreeBSD and OpenBSD.

Documentation is borrowed from OpenBSD and ATF tests from FreeBSD.

This patch has been prepared by Siddharth Muralee, improved by <maxv>
and polished by myself before importing into the mainline tree.

All ATF tests pass.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.32 2019/02/13 18:04:35 kamil Exp $
d112 1
@


1.32
log
@Silent UB alignment issues in acpica under kUBSan

Pass -DACPI_MISALIGNMENT_NOT_SUPPORTED under kUBSan enabled. This option
is dedicated for alignment sensitive CPUs in acpica. It was originally
designed for Itanium CPUs, but nowadays it's wanted for aarch64 as well.

Define it in acpica code under kUBSan in order to pacify Undefined Behavior
reports on all ports (in particular x86). The number of reports is now
halved with this patch applied. The remaining alignment alarms in acpica
will be addressed in future.

Patch contributed by <Akul Pillai>
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.31 2019/01/27 02:08:43 pgoyette Exp $
d124 1
@


1.31
log
@Merge the [pgoyette-compat] branch
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.30 2019/01/09 04:01:20 mrg Exp $
d231 1
@


1.30
log
@crashme: a framework to test kernel faults.

so far, only a basic panic() and null deref nodes are added.
with options DEBUG, one can now use:

   # sysctl -w kern.crashme_enable=1

   # sysctl -w kern.crashme.panic=1
   # sysctl -w kern.crashme.null_deref=1

to trigger a crash.  crashme_enable must be set to 1 before any
of the nodes will be writeable.

supports dynamic additional/removal of crashme nodes.


(obsoletes kern.panic_now, which will be removed later.)
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.29 2018/12/24 16:58:54 thorpej Exp $
a9 2
file	compat/common/compat_util.c	kern
file	compat/common/compat_mod.c	compat_netbsd | compat_netbsd32
d16 1
d113 1
@


1.29
log
@Add threadpool(9), an abstraction that provides shared pools of kernel
threads running at specific priorities, with support for unbound pools
and per-cpu pools.

Written by riastradh@@, and based on the May 2014 draft, with a few changes
by me:
- Working on the assumption that a relative few priorities will actually
  be used, reduce the memory footprint by using linked lists, rather than
  2 large (and mostly empty) tables.  The performance impact is essentially
  nil, since these lists are consulted only when pools are created (and
  destroyed, for DIAGNOSTIC checks), and the lists will have at most 225
  entries.
- Make threadpool job object, which the caller must allocate storage for,
  really opaque.
- Use typedefs for the threadpool types, to reduce the verbosity of the
  API somewhat.
- Fix a bunch of pool / worker thread / job object lifecycle bugs.

Also include an ATF unit test, written by me, that exercises the basics
of the API by loading a kernel module that exposes several sysctls that
allow the ATF test script to create and destroy threadpools, schedule a
basic job, and verify that it ran.

And thus NetBSD 8.99.29 has arrived.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.28 2018/12/16 14:06:56 rmind Exp $
d80 1
@


1.28
log
@Import thmap -- a concurrent trie-hash map, combining the elements of
hashing and radix trie.  It supports lock-free lookups and concurrent
inserts/deletes.  It is designed to be optimal as a general purpose
*concurrent* associative array.

Upstream: https://github.com/rmind/thmap
Discussed on tech-kern@@
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.27 2018/12/03 00:11:02 christos Exp $
d90 1
@


1.27
log
@Expose addresses depending on the KASLR setting (from mrg@@). Restores the
status quo of exposing kernel addresses if there is no KASLR.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.26 2018/12/02 21:00:13 maxv Exp $
d145 1
@


1.26
log
@Introduce KLEAK, a new feature that can detect kernel information leaks.

It works by tainting memory sources with marker values, letting the data
travel through the kernel, and scanning the kernel<->user frontier for
these marker values. Combined with compiler instrumentation and rotation
of the markers, it is able to yield relevant results with little effort.

We taint the pools and the stack, and scan copyout/copyoutstr. KLEAK is
supported on amd64 only for now, but it is not complicated to add more
architectures (just a matter of having the address of .text, and a stack
unwinder).

A userland tool is provided, that allows to execute a command in rounds
and monitor the leaks generated all the while.

KLEAK already detected directly 12 kernel info leaks, and prompted changes
that in total fixed 25+ leaks.

Based on an idea developed jointly with Thomas Barabosch (of Fraunhofer
FKIE).
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.25 2018/11/15 09:38:57 maxv Exp $
d9 1
@


1.25
log
@Merge uipc_mbuf2.c into uipc_mbuf.c. Reorder the latter a little to gather
similar functions. No functional change.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.24 2018/10/31 06:26:26 maxv Exp $
d120 1
@


1.24
log
@Move the MI parts of KASAN into kern/subr_asan.c. This file includes
machine/asan.h, which contains the MD functions. We use an include rather
than a plain C file, because we want GCC to optimize/inline some functions
into one single block.

The amd64 MD parts of KASAN are moved accordingly.

The naming convention we use is:

	kasan_*
		a generic kasan object, declared in subr_asan.c
	kasan_md_*
		an MD kasan object, declared in machine/asan.h, and used
		in subr_asan.c
	__md_*
		an MD object, declared in machine/asan.h, and not used
		outside

Overall this makes it easier to add KASAN support on more architectures.

Discussed with several people.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.23 2018/09/14 01:55:19 mrg Exp $
a176 1
file	kern/uipc_mbuf2.c		kern
@


1.23
log
@retire kern_xxx.c.  long live kern_xxx.c.

split it into kern_reboot.c and kern_scdebug.c.  while here,
add my copyright to kern_scdebug.c as it was largely rewritten
for kernhist support.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.22 2018/08/20 11:35:28 maxv Exp $
d98 1
@


1.22
log
@Retire KMEM_REDZONE and KMEM_POISON.

KMEM_REDZONE is not very efficient and cannot detect read overflows. KASAN
can, and will be used instead.

KMEM_POISON is enabled along with KMEM_GUARD, but it is redundant, since
the latter can detect read UAFs contrary to the former. In fact maybe
KMEM_GUARD should be retired too, because there are many cases where it
doesn't apply.

Simplifies the code.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.21 2018/08/03 04:35:20 kamil Exp $
d69 1
d77 1
a94 1
file	kern/kern_xxx.c			kern
@


1.21
log
@Register kUBSan in the GENERIC amd64 kernel config

Tested with GCC.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.20 2018/07/18 07:06:40 msaitoh Exp $
a118 2
					KMEM_POISON
					KMEM_REDZONE
@


1.20
log
@- Fix compile error for kernel configuration file which has no any Ethernet
  device driver.
- Add missing default label.
- Fix NetBSD RCS Id.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.19 2018/07/17 05:52:07 msaitoh Exp $
d221 6
@


1.19
log
@ Add /d(dump) and /v(verbose) modifiers to DDB's "show mbuf" command. Mainly
written by Hiroki SUENAGA. Currently, /v supports Ethernet, PPP, PPPoE, ARP,
IPv4, ICMP, IPv6, ICMPv6, TCP and UDP.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.18 2018/07/12 10:46:48 maxv Exp $
d178 1
a178 1
file	kern/uipc_mbufdebug.c		kern
@


1.18
log
@Remove the kernel PMC code. Sent yesterday on tech-kern@@.

This change:

 * Removes "options PERFCTRS", the associated includes, and the associated
   ifdefs. In doing so, it removes several XXXSMPs in the MI code, which is
   good.

 * Removes the PMC code of ARM XSCALE.

 * Removes all the pmc.h files. They were all empty, except for ARM XSCALE.

 * Reorders the x86 PMC code not to rely on the legacy pmc.h file. The
   definitions are put in sysarch.h.

 * Removes the kern/sys_pmc.c file, and along with it, the sys_pmc_control
   and sys_pmc_get_info syscalls. They are marked as OBSOL in kern,
   netbsd32 and rump.

 * Removes the pmc_evid_t and pmc_ctr_t types.

 * Removes all the associated man pages. The sets are marked as obsolete.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.17 2018/06/30 00:37:38 christos Exp $
d178 1
@


1.17
log
@defflag {SETUID,FD}SCRIPTS
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.16 2017/12/16 10:15:12 maxv Exp $
a153 1
file	kern/sys_pmc.c			kern
@


1.16
log
@compat_util.c must be compiled by default in the kernel. It is needed by
generic non-compat code, so it must not depend on anything (libcompat or
whatever option we choose to associate it to).
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.15 2017/05/19 00:01:33 pgoyette Exp $
d8 1
@


1.16.4.1
log
@State save.  New kernel config for this brach only.  TESTWIFI does
produce a kernel.  It is not working.  athn files not compiling yet
and commented out of the TESTWIFI kernel, which only has urtwn 802.11
driver enabled.  ieee80211_alq.c and ieee80211_ddb.c not compiling yet.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.16 2017/12/16 10:15:12 maxv Exp $
a138 1
file	kern/subr_sbuf.c		wlan
@


1.16.4.2
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.34 2019/04/04 20:19:07 christos Exp $
d8 2
a9 2
defflag	opt_script.h			SETUIDSCRIPTS FDSCRIPTS
defflag					KASLR
a15 1
file	kern/compat_stub.c		kern
a67 1
file	kern/kern_reboot.c		kern
a74 1
file	kern/kern_scdebug.c		kern
a75 1
file	kern/kern_crashme.c		debug
a85 1
file	kern/kern_threadpool.c		kern
d92 1
a95 1
file	kern/subr_asan.c		kasan
a106 1
file	kern/subr_disklabel.c		kern
a107 1
file	kern/subr_emul.c		kern
a116 2
file	kern/subr_kleak.c		kleak
file	kern/subr_kcov.c		kcov
d118 2
a142 1
file	kern/subr_thmap.c		kern
d154 1
d178 1
a178 1
file	kern/uipc_mbufdebug.c		kern & ether
a220 7

defflag	KUBSAN
prefix	../common/lib/libc/misc
file	ubsan.c				kubsan
prefix
makeoptions	kubsan	CFLAGS+="-fsanitize=undefined"
makeoptions	kubsan	CPPFLAGS+="-DACPI_MISALIGNMENT_NOT_SUPPORTED"
@


1.16.4.3
log
@Merge changes from current as of 20200406
@
text
@d1 1
a1 1
#	$NetBSD$
d19 1
a19 1
file	kern/core_netbsd.c		coredump
a56 1
file	kern/kern_module_hook.c		kern
d79 1
a79 1
file	kern/kern_crashme.c		kern
a105 1
file	kern/subr_cpu.c			kern
d124 1
a162 1
file	kern/sys_process_lwpstatus.c	kern
@


1.16.4.4
log
@Mostly merge changes from HEAD upto 20200411
@
text
@a109 1
file	kern/subr_csan.c		kcsan
d127 3
a129 1
defflag	opt_kmem.h			KMEM_SIZE
a136 1
file	kern/subr_msan.c		kmsan
@


1.16.2.1
log
@Don't include the compat_mod.c here
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.16 2017/12/16 10:15:12 maxv Exp $
d8 2
a9 1
#file	compat/common/compat_util.c	kern
@


1.16.2.2
log
@Routine emulexec() in kern_exec.c needs emul_find_root().  Since
kern_exec.c is included in every kernel, so compat_util.c needs to
be included, too.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.16.2.1 2018/03/06 05:44:37 pgoyette Exp $
d8 1
a8 1
file	compat/common/compat_util.c	kern
@


1.16.2.3
log
@Move necessary routines out of compat_util.c and into exec_elf.c

Once again, compat_util.c is only for modules, so move it back into
compat/common/files.common and out of kern/files.kern
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.16.2.2 2018/03/06 09:43:06 pgoyette Exp $
d8 1
@


1.16.2.4
log
@Move the emul_find_root() and emul_find_interp() to a new file
subr_emul.c

The previous location was in exec_elf.c but that can get built
multiple times for a single kernel, so we could end up with
duplicate symbols.

Thanks to ,rg@@ for the heads-up.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.16.2.3 2018/03/06 10:37:41 pgoyette Exp $
a105 1
file	kern/subr_emul.c		kern
@


1.16.2.5
log
@Initial implementation of sys/kern/kern_stup.c as discussed on tech-kern

For now, we only handle the dev/ccd and NTP needs;  more to follow.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.16.2.4 2018/03/07 09:33:26 pgoyette Exp $
a13 1
file	kern/compat_stub.c		kern
@


1.16.2.6
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.20 2018/07/18 07:06:40 msaitoh Exp $
a7 3
defflag	opt_script.h			SETUIDSCRIPTS FDSCRIPTS
file	compat/common/compat_util.c	kern
file	compat/common/compat_mod.c	compat_netbsd | compat_netbsd32
d153 1
a177 1
file	kern/uipc_mbufdebug.c		kern & ether
@


1.16.2.7
log
@Clean up from sync-with-HEAD
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.16.2.6 2018/07/28 04:38:08 pgoyette Exp $
d9 2
@


1.16.2.8
log
@Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.22 2018/08/20 11:35:28 maxv Exp $
d119 2
a220 6

defflag	KUBSAN
prefix	../common/lib/libc/misc
file	ubsan.c				kubsan
prefix
makeoptions	kubsan	CFLAGS+="-fsanitize=undefined"
@


1.16.2.9
log
@Ssync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.23 2018/09/14 01:55:19 mrg Exp $
a67 1
file	kern/kern_reboot.c		kern
a74 1
file	kern/kern_scdebug.c		kern
d92 1
@


1.16.2.10
log
@Sync with HEAD, resolve a couple of conflicts
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.25 2018/11/15 09:38:57 maxv Exp $
a96 1
file	kern/subr_asan.c		kasan
d176 1
@


1.16.2.11
log
@Sync with HEAD, resolve a few conflicts
@
text
@d1 1
a1 1
#	$NetBSD$
a8 1
defflag					KASLR
a87 1
file	kern/kern_threadpool.c		kern
a119 1
file	kern/subr_kleak.c		kleak
a142 1
file	kern/subr_thmap.c		kern
@


1.16.2.12
log
@Synch with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.16.2.11 2018/12/26 14:02:03 pgoyette Exp $
a78 1
file	kern/kern_crashme.c		debug
@


1.15
log
@Introduce new localcount(9) reference-count primitives.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.14.2.1 2017/04/27 05:36:37 pgoyette Exp $
d8 1
@


1.15.2.1
log
@Apply patch, requested by pgoyette in ticket #1486:

PR kern/54874: fix load failure of the exec_aout kernel module.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.15 2017/05/19 00:01:33 pgoyette Exp $
d17 1
a17 2
file	kern/core_netbsd.c		exec_aout | exec_coff | exec_ecoff |
					modular
@


1.15.8.1
log
@file files.kern was added on branch tls-maxphys on 2017-12-03 11:38:44 +0000
@
text
@d1 218
@


1.15.8.2
log
@update from HEAD
@
text
@a0 218
#	$NetBSD$

#
# kernel sources
#
define	kern:	machdep, uvm
defflag	opt_kern.h			KERN
file	compat/common/compat_mod.c	compat_netbsd | compat_netbsd32
file	conf/debugsyms.c		kern
file	conf/param.c			kern
file	kern/bufq_disksort.c		bufq_disksort
file	kern/bufq_fcfs.c		bufq_fcfs
file	kern/bufq_priocscan.c		bufq_priocscan
file	kern/bufq_readprio.c		bufq_readprio | new_bufq_strategy
file	kern/core_elf32.c		exec_elf32
file	kern/core_elf64.c		exec_elf64
file	kern/core_netbsd.c		exec_aout | exec_coff | exec_ecoff
file	kern/cnmagic.c			kern
file	kern/exec_aout.c		exec_aout
file	kern/exec_ecoff.c		exec_ecoff
file	kern/exec_elf32.c		exec_elf32
file	kern/exec_elf64.c		exec_elf64
file	kern/exec_script.c		exec_script
file	kern/exec_subr.c		kern
file	kern/init_main.c		kern
file	kern/init_sysctl.c		kern
file	kern/init_sysctl_base.c		kern
file	kern/init_sysent.c		kern
file	kern/kern_acct.c		kern
file	kern/kern_auth.c		kern
file	kern/kern_cfglock.c		kern
file	kern/kern_clock.c		kern
file	kern/kern_condvar.c		kern
file	kern/kern_core.c		coredump
file	kern/kern_cpu.c			kern

#kern/kern_ctf.c is only needed as part of dtrace_fbt module
#file	kern/kern_ctf.c			kdtrace_hooks

file	kern/kern_descrip.c		kern
file	kern/kern_event.c		kern
file	kern/kern_exec.c		kern
file	kern/kern_exit.c		kern
file	kern/kern_fork.c		kern
file	kern/kern_idle.c		kern
file	kern/kern_hook.c		kern
file	kern/kern_kthread.c		kern
file	kern/kern_ktrace.c		ktrace
file	kern/kern_ktrace_vfs.c		ktrace
file	kern/kern_ksyms.c		ksyms | ddb | modular needs-flag
file	kern/kern_lock.c		kern
file	kern/kern_lwp.c			kern
file	kern/kern_malloc.c		kern
file	kern/kern_module.c		kern
file	kern/kern_module_vfs.c		kern
file	kern/kern_mutex.c		kern
file	kern/kern_mutex_obj.c		kern
file	kern/kern_fileassoc.c		fileassoc
file	kern/kern_ntptime.c		kern
file	kern/kern_pax.c			pax_mprotect | pax_segvguard | pax_aslr
file	kern/kern_physio.c		kern
file	kern/kern_pmf.c			kern
file	kern/kern_proc.c		kern
file	kern/kern_prot.c		kern
file	kern/kern_ras.c			kern
file	kern/kern_rate.c		kern
file	kern/kern_resource.c		kern
file	kern/kern_rndpool.c		kern
file	kern/kern_rndq.c		kern
file	kern/kern_rndsink.c		kern
file	kern/kern_runq.c		kern
file	kern/kern_rwlock.c		kern
file	kern/kern_rwlock_obj.c		kern
file	kern/kern_sdt.c			kdtrace_hooks
file	kern/kern_sig.c			kern
file	kern/kern_sleepq.c		kern
file	kern/kern_softint.c		kern
file	kern/kern_ssp.c			kern
file	kern/kern_stub.c		kern
file	kern/kern_subr.c		kern
file	kern/kern_synch.c		kern
file	kern/kern_syscall.c		kern
file	kern/kern_sysctl.c		kern
file	kern/kern_tc.c			kern
file	kern/kern_time.c		kern
file	kern/kern_timeout.c		kern
file	kern/kern_turnstile.c		kern
file	kern/kern_todr.c		kern
file	kern/kern_uidinfo.c		kern
file	kern/kern_uuid.c		kern
file	kern/kern_xxx.c			kern
file	kern/kgdb_stub.c		kgdb
file	kern/sched_4bsd.c		sched_4bsd
file	kern/sched_m2.c			sched_m2
file	kern/subr_autoconf.c		kern
file	kern/subr_blist.c		vmswap
file	kern/subr_bufq.c		kern
file	kern/subr_callback.c		kern
file	kern/subr_cprng.c		kern
file	kern/subr_cpufreq.c		kern
file	kern/subr_copy.c		kern
file	kern/subr_debug.c		debug
file	kern/subr_device.c		kern
file	kern/subr_devsw.c		kern
file	kern/subr_disk.c		kern
file	kern/subr_disk_open.c		kern
file	kern/subr_evcnt.c		kern
file	kern/subr_exec_fd.c		kern
file	kern/subr_extent.c		kern
file	kern/subr_hash.c		kern
file	kern/subr_humanize.c		kern
file	kern/subr_interrupt.c		kern
file	kern/subr_iostat.c		kern
file	kern/subr_ipi.c			kern
file	kern/subr_kcpuset.c		kern
defflag	opt_kmem.h			KMEM_GUARD
					KMEM_POISON
					KMEM_REDZONE
					KMEM_SIZE
defparam opt_kmem.h			KMEM_GUARD_DEPTH
file	kern/subr_kmem.c		kern
file	kern/subr_kobj.c		kern
file	kern/subr_kobj_vfs.c		kern
file	kern/subr_localcount.c		kern
file	kern/subr_lockdebug.c		kern
file	kern/subr_log.c			kern
file	kern/subr_lwp_specificdata.c	kern
file	kern/subr_once.c		kern
file	kern/subr_optstr.c		kern
file	kern/subr_pcq.c			kern
file	kern/subr_pcu.c			kern
file	kern/subr_percpu.c		kern
file	kern/subr_pool.c		kern
file	kern/subr_prf.c			kern
file	kern/subr_prof.c		kern
file	kern/subr_pserialize.c		kern
file	kern/subr_psref.c		kern
file	kern/subr_specificdata.c	kern
file	kern/subr_tftproot.c		tftproot
file	kern/subr_time.c		kern
file	kern/subr_userconf.c		userconf
file	kern/subr_vmem.c		kern
file	kern/subr_workqueue.c		kern
file	kern/subr_xcall.c		kern
file	kern/sys_aio.c			aio
file	kern/sys_descrip.c		kern
file	kern/sys_generic.c		kern
file	kern/sys_module.c		kern
file	kern/sys_mqueue.c		mqueue
file	kern/sys_lwp.c			kern
file	kern/sys_pipe.c			!pipe_socketpair
file	kern/sys_pmc.c			kern
file	kern/sys_process.c		ptrace_hooks | ktrace
file	kern/sys_ptrace.c		ptrace
file	kern/sys_ptrace_common.c	ptrace
file	kern/sys_pset.c			kern
file	kern/sys_select.c		kern
file	kern/sys_sig.c			kern
file	kern/sys_sched.c		kern
file	kern/sys_socket.c		kern
file	kern/syscalls.c			syscall_debug | kdtrace_hooks
file	kern/sysv_ipc.c			sysvshm | sysvsem | sysvmsg
file	kern/sysv_msg.c			sysvmsg
file	kern/sysv_sem.c			sysvsem
file	kern/sysv_shm.c			sysvshm
file	kern/tty.c			kern
file	kern/tty_conf.c			kern
file	kern/tty_bsdpty.c		compat_bsdpty
file	kern/tty_pty.c			pty 			needs-flag
file	kern/tty_ptm.c			pty
file	kern/tty_subr.c			kern
file	kern/tty_tty.c			kern
file	kern/uipc_accf.c		kern
file	kern/uipc_domain.c		kern
file	kern/uipc_mbuf.c		kern
file	kern/uipc_mbuf2.c		kern
file	net/link_proto.c		kern	# XXX
file	kern/uipc_proto.c		kern
file	kern/uipc_sem.c			kern
file	kern/uipc_socket.c		kern
file	kern/uipc_socket2.c		kern
file	kern/uipc_syscalls.c		kern
file	kern/uipc_usrreq.c		kern

define	vfs: kern
file	kern/vfs_bio.c			vfs
file	kern/vfs_cache.c		vfs
file	kern/vfs_cwd.c			vfs
file	kern/vfs_dirhash.c		vfs
file	kern/vfs_getcwd.c		vfs
file	kern/vfs_hooks.c		vfs
file	kern/vfs_init.c			vfs
file	kern/vfs_lockf.c		vfs
file	kern/vfs_lookup.c		vfs
file	kern/vfs_mount.c		vfs
file	kern/vfs_quotactl.c		vfs
file	kern/vfs_subr.c			vfs
file	kern/vfs_syscalls.c		vfs
file	kern/vfs_trans.c		vfs
file	kern/vfs_vnode.c		vfs
file	kern/vfs_vnops.c		vfs
file	kern/vfs_wapbl.c		wapbl
file	kern/vfs_xattr.c		vfs
file	kern/vnode_if.c			vfs
file	miscfs/deadfs/dead_vfsops.c	vfs
file	miscfs/deadfs/dead_vnops.c	vfs
file	miscfs/fifofs/fifo_vnops.c	vfs
file	miscfs/genfs/genfs_io.c		vfs
file	miscfs/genfs/genfs_rename.c	vfs
file	miscfs/genfs/genfs_vfsops.c	vfs
file	miscfs/genfs/genfs_vnops.c	vfs

define	layerfs
file	miscfs/genfs/layer_subr.c	layerfs
file	miscfs/genfs/layer_vfsops.c	layerfs
file	miscfs/genfs/layer_vnops.c	layerfs

file	miscfs/specfs/spec_vnops.c	vfs
@


1.14
log
@use opt_kmem.h for the KMEM_ variables.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.13 2016/11/02 00:11:59 pgoyette Exp $
d124 1
@


1.14.2.1
log
@Restore all work from the former pgoyette-localcount branch (which is
now abandoned doe to cvs merge botch).

The branch now builds, and installs via anita.  There are still some
problems (cgd is non-functional and all atf tests time-out) but they
will get resolved soon.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.14 2017/04/12 20:05:54 christos Exp $
a123 1
file	kern/subr_localcount.c		kern
@


1.13
log
@* Split sys/kern/sys_process.c into three parts:
        1 - ptrace(2) syscall for native emulation
        2 - common ptrace(2) syscall code (shared with compat_netbsd32)
        3 - support routines that are shared with PROCFS and/or KTRACE

* Add module glue for #1 and #2.  Both modules will be built-in to the
  kernel if "options PTRACE" is included in the config file (this is
  the default, defined in sys/conf/std).

* Mark the ptrace(2) syscall as modular in syscalls.master (generated
  files will be committed shortly).

* Conditionalize all remaining portions of PTRACE code on a new kernel
  option PTRACE_HOOKS.

XXX Instead of PROCFS depending on 'options PTRACE', we should probably
    just add a procfs attribute to the sys/kern/sys_process.c file's
    entry in files.kern, and add PROCFS to the "#if defineds" for
    process_domem().  It's really confusing to have two different ways
    of requiring this file.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.12 2016/09/16 03:10:45 pgoyette Exp $
d116 5
@


1.13.2.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.14 2017/04/12 20:05:54 christos Exp $
a115 5
defflag	opt_kmem.h			KMEM_GUARD
					KMEM_POISON
					KMEM_REDZONE
					KMEM_SIZE
defparam opt_kmem.h			KMEM_GUARD_DEPTH
@


1.12
log
@Move kern_ctf.c into the dtrace_fbt module (the only place it is used)
rather than including in kernels with KDTRACE_HOOKS defined.  Update
the dtrace_fbt module to depend on the zlib module.

Bump kernel version to avoid module mismatch.

Welcome to 7.99.38 !
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.11 2016/04/09 06:21:16 riastradh Exp $
d147 3
a149 1
file	kern/sys_process.c		ptrace | ktrace
@


1.11
log
@Add passive references, intermediate between pserialize and refcount.

Discussed on tech-kern:

https://mail-index.netbsd.org/tech-kern/2016/01/24/msg020069.html

API is still experimental and likely to change.  (Obvious changes:
either remove extra arguments everywhere, or shrink psref_target to a
single bit, at the expense of possibly valuable diagnostic checks.)
Should do some real testing before we use this in anger!
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.10 2015/12/03 02:51:00 pgoyette Exp $
d36 4
a39 1
file	kern/kern_ctf.c			kdtrace_hooks
@


1.11.2.1
log
@Initial import of localcount(9) as proposed by riastradh@@

This version compiles, but nothing uses it, yet.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.11 2016/04/09 06:21:16 riastradh Exp $
a115 1
file	kern/subr_localcount.c		kern
@


1.11.2.2
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.13 2016/11/02 00:11:59 pgoyette Exp $
d36 1
a36 4

#kern/kern_ctf.c is only needed as part of dtrace_fbt module
#file	kern/kern_ctf.c			kdtrace_hooks

d145 1
a145 3
file	kern/sys_process.c		ptrace_hooks | ktrace
file	kern/sys_ptrace.c		ptrace
file	kern/sys_ptrace_common.c	ptrace
@


1.11.2.3
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.14 2017/04/12 20:05:54 christos Exp $
a115 5
defflag	opt_kmem.h			KMEM_GUARD
					KMEM_POISON
					KMEM_REDZONE
					KMEM_SIZE
defparam opt_kmem.h			KMEM_GUARD_DEPTH
@


1.10
log
@Merge the compat_sysv module into the sysv_ipc module - it should
never have been a separate module in the first place (my bad).

Adjust dependencies as appropriate.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.9 2015/09/03 01:09:38 uebayasi Exp $
d128 1
@


1.9
log
@Build conf/param.c normally.
@
text
@d1 1
a1 1
#	$NetBSD$
a8 2
file	compat/common/compat_sysv_mod.c	(compat_netbsd | compat_netbsd32) &
					(sysvshm | sysvsem | sysvmsg)
@


1.8
log
@Move dev/ definitions out of files.kern.
@
text
@d12 1
@


1.7
log
@Add kernel code to support intrctl(8).
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.6 2015/05/10 07:41:15 pgoyette Exp $
a11 24
file	dev/bio.c			bio			needs-flag
file	dev/ccd.c			ccd
file	dev/cgd.c			cgd
file	dev/cgd_crypto.c		cgd
file	dev/clock_subr.c		kern	# XXX
file	dev/clockctl.c			clockctl
file	dev/dksubr.c			cgd | xbd | ccd | raid | dm | ld
file	dev/dkwedge/dk.c		kern	# XXX
file	dev/dkwedge/dkwedge_apple.c	dkwedge_method_apple
file	dev/dkwedge/dkwedge_bsdlabel.c	dkwedge_method_bsdlabel
file	dev/dkwedge/dkwedge_gpt.c	dkwedge_method_gpt
file	dev/dkwedge/dkwedge_mbr.c	dkwedge_method_mbr
file	dev/firmload.c			firmload
file	dev/fss.c			fss
file	dev/keylock.c			keylock
file	dev/lockstat.c			lockstat		needs-flag
file	dev/md.c			md
file	dev/mm.c			kern	# XXX
file	dev/nullcons_subr.c		nullcons		needs-flag
file	dev/radio.c			radio			needs-flag
file	dev/rndpseudo.c			rnd			needs-flag
file	dev/sequencer.c			sequencer		needs-flag
file	dev/video.c			video			needs-flag
file	dev/vnd.c			vnd
@


1.6
log
@Split the SYSV* compat code out into a separate compat_sysv module.

For monolithic kernels, both modules will be compiled as "built-ins",
while modular environments will be able to load the SYSVSEM, SYSVSHM,
and SYSVMSG code independant from the rest of compat.

This is a necessary precursor step to making the "STD" SYSV* code
into a separate module.

Tested in both monolithic and modular environments with no errors
seen.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.5 2015/05/06 15:57:08 hannken Exp $
d134 1
@


1.5
log
@Remove miscfs/syncfs and

- move the syncer into kern/vfs_subr.c.

- change the syncer to process the mountlist and VFS_SYNC as appropriate.

- use an API for mount points similiar to the API for vnodes:
  - vfs_syncer_add_to_worklist(struct mount *mp) to add
  - vfs_syncer_remove_from_worklist(struct mount *mp) to remove a mount.

No objections on tech-kern@@
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.4 2015/05/02 12:57:19 mlelstv Exp $
d9 2
@


1.4
log
@Merge dk_intf and dkdriver interfaces.
Merge common disk driver functionality in ld.c with dksubr.c.
Adjust the two previous users of dk_intf (cgd and xbd) to
the changes.

This file was missing from the commit.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.3 2015/03/07 16:35:37 christos Exp $
a228 2
file	miscfs/syncfs/sync_subr.c	vfs
file	miscfs/syncfs/sync_vnops.c	vfs
@


1.3
log
@syscallnames are needed by dtrace
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.2 2014/10/12 04:38:28 uebayasi Exp $
d16 1
a16 1
file	dev/dksubr.c			cgd | xbd | ccd | raid | dm
@


1.2
log
@Mark some stray files as kern for now.
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.1 2014/10/12 04:30:42 uebayasi Exp $
d171 1
a171 1
file	kern/syscalls.c			syscall_debug
@


1.2.2.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.3 2015/03/07 16:35:37 christos Exp $
d171 1
a171 1
file	kern/syscalls.c			syscall_debug | kdtrace_hooks
@


1.2.2.2
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.2.2.1 2015/04/06 15:18:20 skrll Exp $
a8 2
file	compat/common/compat_sysv_mod.c	(compat_netbsd | compat_netbsd32) &
					(sysvshm | sysvsem | sysvmsg)
d16 1
a16 1
file	dev/dksubr.c			cgd | xbd | ccd | raid | dm | ld
d229 2
@


1.2.2.3
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.2.2.2 2015/06/06 14:40:21 skrll Exp $
d12 24
a35 1
file	conf/param.c			kern
a133 1
file	kern/subr_interrupt.c		kern
@


1.2.2.4
log
@Sync with HEAD (as of 26th Dec)
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.2.2.3 2015/09/22 12:06:07 skrll Exp $
d9 2
@


1.2.2.5
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.2.2.4 2015/12/27 12:10:05 skrll Exp $
a127 1
file	kern/subr_psref.c		kern
@


1.2.2.6
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.2.2.5 2016/04/22 15:44:16 skrll Exp $
d36 1
a36 4

#kern/kern_ctf.c is only needed as part of dtrace_fbt module
#file	kern/kern_ctf.c			kdtrace_hooks

@


1.2.2.7
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.2.2.6 2016/10/05 20:56:02 skrll Exp $
d147 1
a147 3
file	kern/sys_process.c		ptrace_hooks | ktrace
file	kern/sys_ptrace.c		ptrace
file	kern/sys_ptrace_common.c	ptrace
@


1.2.2.8
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: files.kern,v 1.2.2.7 2016/12/05 10:55:26 skrll Exp $
a115 5
defflag	opt_kmem.h			KMEM_GUARD
					KMEM_POISON
					KMEM_REDZONE
					KMEM_SIZE
defparam opt_kmem.h			KMEM_GUARD_DEPTH
a118 1
file	kern/subr_localcount.c		kern
@


1.1
log
@Move kern definitions.
@
text
@d1 1
a1 1
#	$NetBSD$
d9 1
a9 1
file	conf/debugsyms.c
d14 1
a14 1
file	dev/clock_subr.c
d17 1
a17 1
file	dev/dkwedge/dk.c
d27 1
a27 1
file	dev/mm.c
d187 1
a187 1
file	net/link_proto.c
@

