Linux 5.11-rc1
-----BEGIN PGP SIGNATURE----- iQFSBAABCAA8FiEEq68RxlopcLEwq+PEeb4+QwBBGIYFAl/pGQ4eHHRvcnZhbGRz QGxpbnV4LWZvdW5kYXRpb24ub3JnAAoJEHm+PkMAQRiGSCsH/AmJzlif2P7bMT12 2SiVnl/BfK4iHVdGMQPaLZNJVrjFLzhRUj1WiOye0rKq0jp21IVJgwpshiWZeqEg 8BfT4UEMfdl5uaYIX/7G9AhD2JUy9UHs0VhQEf4oueDAmNl+q2btlXZh/tayqjqc DOqLtyJKYRswfBTh260w8/W5EPXJq5IlWf/vOpgGphFWMwolqIAgIlCTulE8pcO6 EiPuC3tOxBg8zkEkjV94Bvu4+73Hgr8O6beCbbqZlvuTpWci/X1hcVyA+IsGFvL8 h0YpMrEzvQoroJAVFh7u2KKrU6pObQWsjRb1F7LQIBIGC7hvnzXSzwH2IZQfyFJd p/ASNk8= =564c -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAl/p6ZcACgkQJNaLcl1U h9DLcAf/fo1Nolp7vA5xmz4MeTC88BB3yK63NxFX6n91zGGT/dsPzHxsIiaen/IL /eaIsZ8Hht5LQIDlMjqnIhso3ooizzppv9FJqZ11H35HIyX+ivxDhE52fUkzYTQY kA2euYXT0L8cYPYkJ5j5fPkxAMAhiT1uFSxDGtUfvajlA+QyrF6/sanPdoZjqFFX fI7xRsjQBGIWzY3wPbCNOJ5mSh/wlbXFSKtkGYIBt8wB6CaAz8YtyIPUXArz27wz MsMqsYJWYL4dDPjX/FwceYFGGgKerigUnjMiwYxWOrkntfpOKMb59IpuWW64YTKX VwpNywZD3gTXgLsdp4YRh4ca++PWGg== =Pv+C -----END PGP SIGNATURE----- Merge tag 'v5.11-rc1' into regulator-5.11 Linux 5.11-rc1
This commit is contained in:
commit
2ae6f64ce1
12130 changed files with 836365 additions and 232597 deletions
11
.mailmap
11
.mailmap
|
@ -82,7 +82,10 @@ Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@gmail.com>
|
||||||
Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@imgtec.com>
|
Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@imgtec.com>
|
||||||
Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@mips.com>
|
Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@mips.com>
|
||||||
<dev.kurt@vandijck-laurijssen.be> <kurt.van.dijck@eia.be>
|
<dev.kurt@vandijck-laurijssen.be> <kurt.van.dijck@eia.be>
|
||||||
Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
|
Dmitry Baryshkov <dbaryshkov@gmail.com>
|
||||||
|
Dmitry Baryshkov <dbaryshkov@gmail.com> <[dbaryshkov@gmail.com]>
|
||||||
|
Dmitry Baryshkov <dbaryshkov@gmail.com> <dmitry_baryshkov@mentor.com>
|
||||||
|
Dmitry Baryshkov <dbaryshkov@gmail.com> <dmitry_eremin@mentor.com>
|
||||||
Dmitry Safonov <0x7f454c46@gmail.com> <dima@arista.com>
|
Dmitry Safonov <0x7f454c46@gmail.com> <dima@arista.com>
|
||||||
Dmitry Safonov <0x7f454c46@gmail.com> <d.safonov@partner.samsung.com>
|
Dmitry Safonov <0x7f454c46@gmail.com> <d.safonov@partner.samsung.com>
|
||||||
Dmitry Safonov <0x7f454c46@gmail.com> <dsafonov@virtuozzo.com>
|
Dmitry Safonov <0x7f454c46@gmail.com> <dsafonov@virtuozzo.com>
|
||||||
|
@ -119,6 +122,8 @@ Henk Vergonet <Henk.Vergonet@gmail.com>
|
||||||
Henrik Kretzschmar <henne@nachtwindheim.de>
|
Henrik Kretzschmar <henne@nachtwindheim.de>
|
||||||
Henrik Rydberg <rydberg@bitmath.org>
|
Henrik Rydberg <rydberg@bitmath.org>
|
||||||
Herbert Xu <herbert@gondor.apana.org.au>
|
Herbert Xu <herbert@gondor.apana.org.au>
|
||||||
|
Huacai Chen <chenhuacai@kernel.org> <chenhc@lemote.com>
|
||||||
|
Huacai Chen <chenhuacai@kernel.org> <chenhuacai@loongson.cn>
|
||||||
Jacob Shin <Jacob.Shin@amd.com>
|
Jacob Shin <Jacob.Shin@amd.com>
|
||||||
Jaegeuk Kim <jaegeuk@kernel.org> <jaegeuk@google.com>
|
Jaegeuk Kim <jaegeuk@kernel.org> <jaegeuk@google.com>
|
||||||
Jaegeuk Kim <jaegeuk@kernel.org> <jaegeuk.kim@samsung.com>
|
Jaegeuk Kim <jaegeuk@kernel.org> <jaegeuk.kim@samsung.com>
|
||||||
|
@ -287,6 +292,7 @@ Santosh Shilimkar <ssantosh@kernel.org>
|
||||||
Sarangdhar Joshi <spjoshi@codeaurora.org>
|
Sarangdhar Joshi <spjoshi@codeaurora.org>
|
||||||
Sascha Hauer <s.hauer@pengutronix.de>
|
Sascha Hauer <s.hauer@pengutronix.de>
|
||||||
S.Çağlar Onur <caglar@pardus.org.tr>
|
S.Çağlar Onur <caglar@pardus.org.tr>
|
||||||
|
Sean Christopherson <seanjc@google.com> <sean.j.christopherson@intel.com>
|
||||||
Sean Nyekjaer <sean@geanix.com> <sean.nyekjaer@prevas.dk>
|
Sean Nyekjaer <sean@geanix.com> <sean.nyekjaer@prevas.dk>
|
||||||
Sebastian Reichel <sre@kernel.org> <sebastian.reichel@collabora.co.uk>
|
Sebastian Reichel <sre@kernel.org> <sebastian.reichel@collabora.co.uk>
|
||||||
Sebastian Reichel <sre@kernel.org> <sre@debian.org>
|
Sebastian Reichel <sre@kernel.org> <sre@debian.org>
|
||||||
|
@ -318,6 +324,8 @@ TripleX Chung <xxx.phy@gmail.com> <zhongyu@18mail.cn>
|
||||||
Tsuneo Yoshioka <Tsuneo.Yoshioka@f-secure.com>
|
Tsuneo Yoshioka <Tsuneo.Yoshioka@f-secure.com>
|
||||||
Tycho Andersen <tycho@tycho.pizza> <tycho@tycho.ws>
|
Tycho Andersen <tycho@tycho.pizza> <tycho@tycho.ws>
|
||||||
Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
|
Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
|
||||||
|
Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
|
||||||
|
Uwe Kleine-König <ukleinek@strlen.de>
|
||||||
Uwe Kleine-König <ukl@pengutronix.de>
|
Uwe Kleine-König <ukl@pengutronix.de>
|
||||||
Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
|
Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
|
||||||
Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
|
Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
|
||||||
|
@ -337,3 +345,4 @@ Wolfram Sang <wsa@kernel.org> <w.sang@pengutronix.de>
|
||||||
Wolfram Sang <wsa@kernel.org> <wsa@the-dreams.de>
|
Wolfram Sang <wsa@kernel.org> <wsa@the-dreams.de>
|
||||||
Yakir Yang <kuankuan.y@gmail.com> <ykk@rock-chips.com>
|
Yakir Yang <kuankuan.y@gmail.com> <ykk@rock-chips.com>
|
||||||
Yusuke Goda <goda.yusuke@renesas.com>
|
Yusuke Goda <goda.yusuke@renesas.com>
|
||||||
|
Zhu Yanjun <zyjzyj2000@gmail.com> <yanjunz@nvidia.com>
|
||||||
|
|
76
CREDITS
76
CREDITS
|
@ -98,7 +98,7 @@ N: Erik Andersen
|
||||||
E: andersen@codepoet.org
|
E: andersen@codepoet.org
|
||||||
W: https://www.codepoet.org/
|
W: https://www.codepoet.org/
|
||||||
P: 1024D/30D39057 1BC4 2742 E885 E4DE 9301 0C82 5F9B 643E 30D3 9057
|
P: 1024D/30D39057 1BC4 2742 E885 E4DE 9301 0C82 5F9B 643E 30D3 9057
|
||||||
D: Maintainer of ide-cd and Uniform CD-ROM driver,
|
D: Maintainer of ide-cd and Uniform CD-ROM driver,
|
||||||
D: ATAPI CD-Changer support, Major 2.1.x CD-ROM update.
|
D: ATAPI CD-Changer support, Major 2.1.x CD-ROM update.
|
||||||
S: 352 North 525 East
|
S: 352 North 525 East
|
||||||
S: Springville, Utah 84663
|
S: Springville, Utah 84663
|
||||||
|
@ -263,7 +263,7 @@ N: Paul Barton-Davis
|
||||||
E: pbd@op.net
|
E: pbd@op.net
|
||||||
D: Driver for WaveFront soundcards (Turtle Beach Maui, Tropez, Tropez+)
|
D: Driver for WaveFront soundcards (Turtle Beach Maui, Tropez, Tropez+)
|
||||||
D: Various bugfixes and changes to sound drivers
|
D: Various bugfixes and changes to sound drivers
|
||||||
S: USA
|
S: USA
|
||||||
|
|
||||||
N: Carlos Henrique Bauer
|
N: Carlos Henrique Bauer
|
||||||
E: chbauer@acm.org
|
E: chbauer@acm.org
|
||||||
|
@ -740,6 +740,11 @@ S: (ask for current address)
|
||||||
S: Portland, Oregon
|
S: Portland, Oregon
|
||||||
S: USA
|
S: USA
|
||||||
|
|
||||||
|
N: Jason Cooper
|
||||||
|
D: ARM/Marvell SOC co-maintainer
|
||||||
|
D: irqchip co-maintainer
|
||||||
|
D: MVEBU PCI DRIVER co-maintainer
|
||||||
|
|
||||||
N: Robin Cornelius
|
N: Robin Cornelius
|
||||||
E: robincornelius@users.sourceforge.net
|
E: robincornelius@users.sourceforge.net
|
||||||
D: Ralink rt2x00 WLAN driver
|
D: Ralink rt2x00 WLAN driver
|
||||||
|
@ -849,6 +854,12 @@ D: trivial hack to add variable address length routing to Rose.
|
||||||
D: AX25-HOWTO, HAM-HOWTO, IPX-HOWTO, NET-2-HOWTO
|
D: AX25-HOWTO, HAM-HOWTO, IPX-HOWTO, NET-2-HOWTO
|
||||||
D: ax25-utils maintainer.
|
D: ax25-utils maintainer.
|
||||||
|
|
||||||
|
N: Kamil Debski
|
||||||
|
E: kamil@wypas.org
|
||||||
|
D: Samsung S5P 2D graphics acceleration and Multi Format Codec drivers
|
||||||
|
D: Samsung USB2 phy drivers
|
||||||
|
D: PWM fan driver
|
||||||
|
|
||||||
N: Helge Deller
|
N: Helge Deller
|
||||||
E: deller@gmx.de
|
E: deller@gmx.de
|
||||||
W: http://www.parisc-linux.org/
|
W: http://www.parisc-linux.org/
|
||||||
|
@ -1199,7 +1210,7 @@ N: Daniel J. Frasnelli
|
||||||
E: dfrasnel@alphalinux.org
|
E: dfrasnel@alphalinux.org
|
||||||
W: http://www.alphalinux.org/
|
W: http://www.alphalinux.org/
|
||||||
P: 1024/3EF87611 B9 F1 44 50 D3 E8 C2 80 DA E5 55 AA 56 7C 42 DA
|
P: 1024/3EF87611 B9 F1 44 50 D3 E8 C2 80 DA E5 55 AA 56 7C 42 DA
|
||||||
D: DEC Alpha hacker
|
D: DEC Alpha hacker
|
||||||
D: Miscellaneous bug squisher
|
D: Miscellaneous bug squisher
|
||||||
|
|
||||||
N: Jim Freeman
|
N: Jim Freeman
|
||||||
|
@ -1299,7 +1310,7 @@ S: P.O. Box 76, Epping
|
||||||
S: New South Wales, 2121
|
S: New South Wales, 2121
|
||||||
S: Australia
|
S: Australia
|
||||||
|
|
||||||
N: Carlos E. Gorges
|
N: Carlos E. Gorges
|
||||||
E: carlos@techlinux.com.br
|
E: carlos@techlinux.com.br
|
||||||
D: fix smp support on cmpci driver
|
D: fix smp support on cmpci driver
|
||||||
P: 2048G/EA3C4B19 FF31 33A6 0362 4915 B7EB E541 17D0 0379 EA3C 4B19
|
P: 2048G/EA3C4B19 FF31 33A6 0362 4915 B7EB E541 17D0 0379 EA3C 4B19
|
||||||
|
@ -1340,7 +1351,7 @@ E: wgreathouse@smva.com
|
||||||
E: wgreathouse@myfavoritei.com
|
E: wgreathouse@myfavoritei.com
|
||||||
D: Current Belkin USB Serial Adapter F5U103 hacker
|
D: Current Belkin USB Serial Adapter F5U103 hacker
|
||||||
D: Kernel hacker, embedded systems
|
D: Kernel hacker, embedded systems
|
||||||
S: 7802 Fitzwater Road
|
S: 7802 Fitzwater Road
|
||||||
S: Brecksville, OH 44141-1334
|
S: Brecksville, OH 44141-1334
|
||||||
S: USA
|
S: USA
|
||||||
|
|
||||||
|
@ -1381,7 +1392,7 @@ N: Grant Guenther
|
||||||
E: grant@torque.net
|
E: grant@torque.net
|
||||||
W: http://www.torque.net/linux-pp.html
|
W: http://www.torque.net/linux-pp.html
|
||||||
D: original author of ppa driver for parallel port ZIP drive
|
D: original author of ppa driver for parallel port ZIP drive
|
||||||
D: original architect of the parallel-port sharing scheme
|
D: original architect of the parallel-port sharing scheme
|
||||||
D: PARIDE subsystem: drivers for parallel port IDE & ATAPI devices
|
D: PARIDE subsystem: drivers for parallel port IDE & ATAPI devices
|
||||||
S: 44 St. Joseph Street, Suite 506
|
S: 44 St. Joseph Street, Suite 506
|
||||||
S: Toronto, Ontario, M4Y 2W4
|
S: Toronto, Ontario, M4Y 2W4
|
||||||
|
@ -1523,7 +1534,7 @@ N: Benjamin Herrenschmidt
|
||||||
E: benh@kernel.crashing.org
|
E: benh@kernel.crashing.org
|
||||||
D: Various parts of PPC/PPC64 & PowerMac
|
D: Various parts of PPC/PPC64 & PowerMac
|
||||||
S: 312/107 Canberra Avenue
|
S: 312/107 Canberra Avenue
|
||||||
S: Griffith, ACT 2603
|
S: Griffith, ACT 2603
|
||||||
S: Australia
|
S: Australia
|
||||||
|
|
||||||
N: Andreas Herrmann
|
N: Andreas Herrmann
|
||||||
|
@ -1825,7 +1836,7 @@ S: Hungary
|
||||||
N: Bernhard Kaindl
|
N: Bernhard Kaindl
|
||||||
E: bkaindl@netway.at
|
E: bkaindl@netway.at
|
||||||
E: edv@bartelt.via.at
|
E: edv@bartelt.via.at
|
||||||
D: Author of a menu based configuration tool, kmenu, which
|
D: Author of a menu based configuration tool, kmenu, which
|
||||||
D: is the predecessor of 'make menuconfig' and 'make xconfig'.
|
D: is the predecessor of 'make menuconfig' and 'make xconfig'.
|
||||||
D: digiboard driver update(modularisation work and 2.1.x upd)
|
D: digiboard driver update(modularisation work and 2.1.x upd)
|
||||||
S: Tallak 95
|
S: Tallak 95
|
||||||
|
@ -2016,7 +2027,7 @@ W: http://www.xos.nl/
|
||||||
D: IP transparent proxy support
|
D: IP transparent proxy support
|
||||||
S: X/OS Experts in Open Systems BV
|
S: X/OS Experts in Open Systems BV
|
||||||
S: Kruislaan 419
|
S: Kruislaan 419
|
||||||
S: 1098 VA Amsterdam
|
S: 1098 VA Amsterdam
|
||||||
S: The Netherlands
|
S: The Netherlands
|
||||||
|
|
||||||
N: Goran Koruga
|
N: Goran Koruga
|
||||||
|
@ -2088,7 +2099,7 @@ S: Germany
|
||||||
|
|
||||||
N: Andrzej M. Krzysztofowicz
|
N: Andrzej M. Krzysztofowicz
|
||||||
E: ankry@mif.pg.gda.pl
|
E: ankry@mif.pg.gda.pl
|
||||||
D: Some 8-bit XT disk driver and devfs hacking
|
D: Some 8-bit XT disk driver and devfs hacking
|
||||||
D: Aladdin 1533/1543(C) chipset IDE
|
D: Aladdin 1533/1543(C) chipset IDE
|
||||||
D: PIIX chipset IDE
|
D: PIIX chipset IDE
|
||||||
S: ul. Matemblewska 1B/10
|
S: ul. Matemblewska 1B/10
|
||||||
|
@ -2463,7 +2474,7 @@ E: mge@EZ-Darmstadt.Telekom.de
|
||||||
D: Logical Volume Manager
|
D: Logical Volume Manager
|
||||||
S: Bartningstr. 12
|
S: Bartningstr. 12
|
||||||
S: 64289 Darmstadt
|
S: 64289 Darmstadt
|
||||||
S: Germany
|
S: Germany
|
||||||
|
|
||||||
N: Mark W. McClelland
|
N: Mark W. McClelland
|
||||||
E: mmcclell@bigfoot.com
|
E: mmcclell@bigfoot.com
|
||||||
|
@ -2499,15 +2510,6 @@ W: http://www.rdrop.com/users/paulmck/
|
||||||
D: RCU and variants
|
D: RCU and variants
|
||||||
D: rcutorture module
|
D: rcutorture module
|
||||||
|
|
||||||
N: Mike McLagan
|
|
||||||
E: mike.mclagan@linux.org
|
|
||||||
W: http://www.invlogic.com/~mmclagan
|
|
||||||
D: DLCI/FRAD drivers for Sangoma SDLAs
|
|
||||||
S: Innovative Logic Corp
|
|
||||||
S: Post Office Box 1068
|
|
||||||
S: Laurel, Maryland 20732
|
|
||||||
S: USA
|
|
||||||
|
|
||||||
N: Bradley McLean
|
N: Bradley McLean
|
||||||
E: brad@bradpc.gaylord.com
|
E: brad@bradpc.gaylord.com
|
||||||
D: Device driver hacker
|
D: Device driver hacker
|
||||||
|
@ -2547,7 +2549,7 @@ E: meskes@debian.org
|
||||||
P: 1024/04B6E8F5 6C 77 33 CA CC D6 22 03 AB AB 15 A3 AE AD 39 7D
|
P: 1024/04B6E8F5 6C 77 33 CA CC D6 22 03 AB AB 15 A3 AE AD 39 7D
|
||||||
D: Kernel hacker. PostgreSQL hacker. Software watchdog daemon.
|
D: Kernel hacker. PostgreSQL hacker. Software watchdog daemon.
|
||||||
D: Maintainer of several Debian packages
|
D: Maintainer of several Debian packages
|
||||||
S: Th.-Heuss-Str. 61
|
S: Th.-Heuss-Str. 61
|
||||||
S: D-41812 Erkelenz
|
S: D-41812 Erkelenz
|
||||||
S: Germany
|
S: Germany
|
||||||
|
|
||||||
|
@ -2785,7 +2787,7 @@ E: neuffer@goofy.zdv.uni-mainz.de
|
||||||
W: http://www.i-Connect.Net/~mike/
|
W: http://www.i-Connect.Net/~mike/
|
||||||
D: Developer and maintainer of the EATA-DMA SCSI driver
|
D: Developer and maintainer of the EATA-DMA SCSI driver
|
||||||
D: Co-developer EATA-PIO SCSI driver
|
D: Co-developer EATA-PIO SCSI driver
|
||||||
D: /proc/scsi and assorted other snippets
|
D: /proc/scsi and assorted other snippets
|
||||||
S: Zum Schiersteiner Grund 2
|
S: Zum Schiersteiner Grund 2
|
||||||
S: 55127 Mainz
|
S: 55127 Mainz
|
||||||
S: Germany
|
S: Germany
|
||||||
|
@ -2852,6 +2854,10 @@ D: IPX development and support
|
||||||
N: Venkatesh Pallipadi (Venki)
|
N: Venkatesh Pallipadi (Venki)
|
||||||
D: x86/HPET
|
D: x86/HPET
|
||||||
|
|
||||||
|
N: Kyungmin Park
|
||||||
|
E: kyungmin.park@samsung.com
|
||||||
|
D: Samsung S5Pv210 and Exynos4210 mobile platforms
|
||||||
|
|
||||||
N: David Parsons
|
N: David Parsons
|
||||||
E: orc@pell.chi.il.us
|
E: orc@pell.chi.il.us
|
||||||
D: improved memory detection code.
|
D: improved memory detection code.
|
||||||
|
@ -3019,7 +3025,7 @@ D: Embedded PowerPC 4xx/6xx/7xx/74xx support
|
||||||
S: Chandler, Arizona 85249
|
S: Chandler, Arizona 85249
|
||||||
S: USA
|
S: USA
|
||||||
|
|
||||||
N: Frederic Potter
|
N: Frederic Potter
|
||||||
E: fpotter@cirpack.com
|
E: fpotter@cirpack.com
|
||||||
D: Some PCI kernel support
|
D: Some PCI kernel support
|
||||||
|
|
||||||
|
@ -3452,21 +3458,21 @@ S: Klosterweg 28 / i309
|
||||||
S: 76131 Karlsruhe
|
S: 76131 Karlsruhe
|
||||||
S: Germany
|
S: Germany
|
||||||
|
|
||||||
N: James Simmons
|
N: James Simmons
|
||||||
E: jsimmons@infradead.org
|
E: jsimmons@infradead.org
|
||||||
E: jsimmons@users.sf.net
|
E: jsimmons@users.sf.net
|
||||||
D: Frame buffer device maintainer
|
D: Frame buffer device maintainer
|
||||||
D: input layer development
|
D: input layer development
|
||||||
D: tty/console layer
|
D: tty/console layer
|
||||||
D: various mipsel devices
|
D: various mipsel devices
|
||||||
S: 115 Carmel Avenue
|
S: 115 Carmel Avenue
|
||||||
S: El Cerrito CA 94530
|
S: El Cerrito CA 94530
|
||||||
S: USA
|
S: USA
|
||||||
|
|
||||||
N: Jaspreet Singh
|
N: Jaspreet Singh
|
||||||
E: jaspreet@sangoma.com
|
E: jaspreet@sangoma.com
|
||||||
W: www.sangoma.com
|
W: www.sangoma.com
|
||||||
D: WANPIPE drivers & API Support for Sangoma S508/FT1 cards
|
D: WANPIPE drivers & API Support for Sangoma S508/FT1 cards
|
||||||
S: Sangoma Technologies Inc.,
|
S: Sangoma Technologies Inc.,
|
||||||
S: 1001 Denison Street
|
S: 1001 Denison Street
|
||||||
S: Suite 101
|
S: Suite 101
|
||||||
|
@ -3490,7 +3496,7 @@ N: Craig Small
|
||||||
E: csmall@triode.apana.org.au
|
E: csmall@triode.apana.org.au
|
||||||
E: vk2xlz@gonzo.vk2xlz.ampr.org (packet radio)
|
E: vk2xlz@gonzo.vk2xlz.ampr.org (packet radio)
|
||||||
D: Gracilis PackeTwin device driver
|
D: Gracilis PackeTwin device driver
|
||||||
D: RSPF daemon
|
D: RSPF daemon
|
||||||
S: 10 Stockalls Place
|
S: 10 Stockalls Place
|
||||||
S: Minto, NSW, 2566
|
S: Minto, NSW, 2566
|
||||||
S: Australia
|
S: Australia
|
||||||
|
@ -3700,7 +3706,7 @@ N: Tsu-Sheng Tsao
|
||||||
E: tsusheng@scf.usc.edu
|
E: tsusheng@scf.usc.edu
|
||||||
D: IGMP(Internet Group Management Protocol) version 2
|
D: IGMP(Internet Group Management Protocol) version 2
|
||||||
S: 2F 14 ALY 31 LN 166 SEC 1 SHIH-PEI RD
|
S: 2F 14 ALY 31 LN 166 SEC 1 SHIH-PEI RD
|
||||||
S: Taipei
|
S: Taipei
|
||||||
S: Taiwan 112
|
S: Taiwan 112
|
||||||
S: Republic of China
|
S: Republic of China
|
||||||
S: 24335 Delta Drive
|
S: 24335 Delta Drive
|
||||||
|
@ -3861,7 +3867,7 @@ D: Produced the Slackware distribution, updated the SVGAlib
|
||||||
D: patches for ghostscript, worked on color 'ls', etc.
|
D: patches for ghostscript, worked on color 'ls', etc.
|
||||||
S: 301 15th Street S.
|
S: 301 15th Street S.
|
||||||
S: Moorhead, Minnesota 56560
|
S: Moorhead, Minnesota 56560
|
||||||
S: USA
|
S: USA
|
||||||
|
|
||||||
N: Jos Vos
|
N: Jos Vos
|
||||||
E: jos@xos.nl
|
E: jos@xos.nl
|
||||||
|
@ -3869,7 +3875,7 @@ W: http://www.xos.nl/
|
||||||
D: Various IP firewall updates, ipfwadm
|
D: Various IP firewall updates, ipfwadm
|
||||||
S: X/OS Experts in Open Systems BV
|
S: X/OS Experts in Open Systems BV
|
||||||
S: Kruislaan 419
|
S: Kruislaan 419
|
||||||
S: 1098 VA Amsterdam
|
S: 1098 VA Amsterdam
|
||||||
S: The Netherlands
|
S: The Netherlands
|
||||||
|
|
||||||
N: Jeroen Vreeken
|
N: Jeroen Vreeken
|
||||||
|
@ -4107,7 +4113,7 @@ S: People's Repulic of China
|
||||||
N: Victor Yodaiken
|
N: Victor Yodaiken
|
||||||
E: yodaiken@fsmlabs.com
|
E: yodaiken@fsmlabs.com
|
||||||
D: RTLinux (RealTime Linux)
|
D: RTLinux (RealTime Linux)
|
||||||
S: POB 1822
|
S: POB 1822
|
||||||
S: Socorro NM, 87801
|
S: Socorro NM, 87801
|
||||||
S: USA
|
S: USA
|
||||||
|
|
||||||
|
@ -4205,7 +4211,7 @@ D: EISA/sysfs subsystem
|
||||||
S: France
|
S: France
|
||||||
|
|
||||||
# Don't add your name here, unless you really _are_ after Marc
|
# Don't add your name here, unless you really _are_ after Marc
|
||||||
# alphabetically. Leonard used to be very proud of being the
|
# alphabetically. Leonard used to be very proud of being the
|
||||||
# last entry, and he'll get positively pissed if he can't even
|
# last entry, and he'll get positively pissed if he can't even
|
||||||
# be second-to-last. (and this file really _is_ supposed to be
|
# be second-to-last. (and this file really _is_ supposed to be
|
||||||
# in alphabetic order)
|
# in alphabetic order)
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
This ABI is deprecated and will be removed after 2021. It is
|
|
||||||
replaced with the batadv generic netlink family.
|
|
||||||
|
|
||||||
What: /sys/class/net/<iface>/batman-adv/elp_interval
|
|
||||||
Date: Feb 2014
|
|
||||||
Contact: Linus Lüssing <linus.luessing@web.de>
|
|
||||||
Description:
|
|
||||||
Defines the interval in milliseconds in which batman
|
|
||||||
emits probing packets for neighbor sensing (ELP).
|
|
||||||
|
|
||||||
What: /sys/class/net/<iface>/batman-adv/iface_status
|
|
||||||
Date: May 2010
|
|
||||||
Contact: Marek Lindner <mareklindner@neomailbox.ch>
|
|
||||||
Description:
|
|
||||||
Indicates the status of <iface> as it is seen by batman.
|
|
||||||
|
|
||||||
What: /sys/class/net/<iface>/batman-adv/mesh_iface
|
|
||||||
Date: May 2010
|
|
||||||
Contact: Marek Lindner <mareklindner@neomailbox.ch>
|
|
||||||
Description:
|
|
||||||
The /sys/class/net/<iface>/batman-adv/mesh_iface file
|
|
||||||
displays the batman mesh interface this <iface>
|
|
||||||
currently is associated with.
|
|
||||||
|
|
||||||
What: /sys/class/net/<iface>/batman-adv/throughput_override
|
|
||||||
Date: Feb 2014
|
|
||||||
Contact: Antonio Quartulli <a@unstable.cc>
|
|
||||||
description:
|
|
||||||
Defines the throughput value to be used by B.A.T.M.A.N. V
|
|
||||||
when estimating the link throughput using this interface.
|
|
||||||
If the value is set to 0 then batman-adv will try to
|
|
||||||
estimate the throughput by itself.
|
|
|
@ -1,110 +0,0 @@
|
||||||
This ABI is deprecated and will be removed after 2021. It is
|
|
||||||
replaced with the batadv generic netlink family.
|
|
||||||
|
|
||||||
What: /sys/class/net/<mesh_iface>/mesh/aggregated_ogms
|
|
||||||
Date: May 2010
|
|
||||||
Contact: Marek Lindner <mareklindner@neomailbox.ch>
|
|
||||||
Description:
|
|
||||||
Indicates whether the batman protocol messages of the
|
|
||||||
mesh <mesh_iface> shall be aggregated or not.
|
|
||||||
|
|
||||||
What: /sys/class/net/<mesh_iface>/mesh/<vlan_subdir>/ap_isolation
|
|
||||||
Date: May 2011
|
|
||||||
Contact: Antonio Quartulli <a@unstable.cc>
|
|
||||||
Description:
|
|
||||||
Indicates whether the data traffic going from a
|
|
||||||
wireless client to another wireless client will be
|
|
||||||
silently dropped. <vlan_subdir> is empty when referring
|
|
||||||
to the untagged lan.
|
|
||||||
|
|
||||||
What: /sys/class/net/<mesh_iface>/mesh/bonding
|
|
||||||
Date: June 2010
|
|
||||||
Contact: Simon Wunderlich <sw@simonwunderlich.de>
|
|
||||||
Description:
|
|
||||||
Indicates whether the data traffic going through the
|
|
||||||
mesh will be sent using multiple interfaces at the
|
|
||||||
same time (if available).
|
|
||||||
|
|
||||||
What: /sys/class/net/<mesh_iface>/mesh/bridge_loop_avoidance
|
|
||||||
Date: November 2011
|
|
||||||
Contact: Simon Wunderlich <sw@simonwunderlich.de>
|
|
||||||
Description:
|
|
||||||
Indicates whether the bridge loop avoidance feature
|
|
||||||
is enabled. This feature detects and avoids loops
|
|
||||||
between the mesh and devices bridged with the soft
|
|
||||||
interface <mesh_iface>.
|
|
||||||
|
|
||||||
What: /sys/class/net/<mesh_iface>/mesh/fragmentation
|
|
||||||
Date: October 2010
|
|
||||||
Contact: Andreas Langer <an.langer@gmx.de>
|
|
||||||
Description:
|
|
||||||
Indicates whether the data traffic going through the
|
|
||||||
mesh will be fragmented or silently discarded if the
|
|
||||||
packet size exceeds the outgoing interface MTU.
|
|
||||||
|
|
||||||
What: /sys/class/net/<mesh_iface>/mesh/gw_bandwidth
|
|
||||||
Date: October 2010
|
|
||||||
Contact: Marek Lindner <mareklindner@neomailbox.ch>
|
|
||||||
Description:
|
|
||||||
Defines the bandwidth which is propagated by this
|
|
||||||
node if gw_mode was set to 'server'.
|
|
||||||
|
|
||||||
What: /sys/class/net/<mesh_iface>/mesh/gw_mode
|
|
||||||
Date: October 2010
|
|
||||||
Contact: Marek Lindner <mareklindner@neomailbox.ch>
|
|
||||||
Description:
|
|
||||||
Defines the state of the gateway features. Can be
|
|
||||||
either 'off', 'client' or 'server'.
|
|
||||||
|
|
||||||
What: /sys/class/net/<mesh_iface>/mesh/gw_sel_class
|
|
||||||
Date: October 2010
|
|
||||||
Contact: Marek Lindner <mareklindner@neomailbox.ch>
|
|
||||||
Description:
|
|
||||||
Defines the selection criteria this node will use
|
|
||||||
to choose a gateway if gw_mode was set to 'client'.
|
|
||||||
|
|
||||||
What: /sys/class/net/<mesh_iface>/mesh/hop_penalty
|
|
||||||
Date: Oct 2010
|
|
||||||
Contact: Linus Lüssing <linus.luessing@web.de>
|
|
||||||
Description:
|
|
||||||
Defines the penalty which will be applied to an
|
|
||||||
originator message's tq-field on every hop.
|
|
||||||
|
|
||||||
What: /sys/class/net/<mesh_iface>/mesh/isolation_mark
|
|
||||||
Date: Nov 2013
|
|
||||||
Contact: Antonio Quartulli <a@unstable.cc>
|
|
||||||
Description:
|
|
||||||
Defines the isolation mark (and its bitmask) which
|
|
||||||
is used to classify clients as "isolated" by the
|
|
||||||
Extended Isolation feature.
|
|
||||||
|
|
||||||
What: /sys/class/net/<mesh_iface>/mesh/multicast_mode
|
|
||||||
Date: Feb 2014
|
|
||||||
Contact: Linus Lüssing <linus.luessing@web.de>
|
|
||||||
Description:
|
|
||||||
Indicates whether multicast optimizations are enabled
|
|
||||||
or disabled. If set to zero then all nodes in the
|
|
||||||
mesh are going to use classic flooding for any
|
|
||||||
multicast packet with no optimizations.
|
|
||||||
|
|
||||||
What: /sys/class/net/<mesh_iface>/mesh/network_coding
|
|
||||||
Date: Nov 2012
|
|
||||||
Contact: Martin Hundeboll <martin@hundeboll.net>
|
|
||||||
Description:
|
|
||||||
Controls whether Network Coding (using some magic
|
|
||||||
to send fewer wifi packets but still the same
|
|
||||||
content) is enabled or not.
|
|
||||||
|
|
||||||
What: /sys/class/net/<mesh_iface>/mesh/orig_interval
|
|
||||||
Date: May 2010
|
|
||||||
Contact: Marek Lindner <mareklindner@neomailbox.ch>
|
|
||||||
Description:
|
|
||||||
Defines the interval in milliseconds in which batman
|
|
||||||
sends its protocol messages.
|
|
||||||
|
|
||||||
What: /sys/class/net/<mesh_iface>/mesh/routing_algo
|
|
||||||
Date: Dec 2011
|
|
||||||
Contact: Marek Lindner <mareklindner@neomailbox.ch>
|
|
||||||
Description:
|
|
||||||
Defines the routing procotol this mesh instance
|
|
||||||
uses to find the optimal paths through the mesh.
|
|
|
@ -77,6 +77,13 @@ Contact: dmaengine@vger.kernel.org
|
||||||
Description: The operation capability bit mask specify the operation types
|
Description: The operation capability bit mask specify the operation types
|
||||||
supported by the this device.
|
supported by the this device.
|
||||||
|
|
||||||
|
What: /sys/bus/dsa/devices/dsa<m>/pasid_enabled
|
||||||
|
Date: Oct 27, 2020
|
||||||
|
KernelVersion: 5.11.0
|
||||||
|
Contact: dmaengine@vger.kernel.org
|
||||||
|
Description: To indicate if PASID (process address space identifier) is
|
||||||
|
enabled or not for this device.
|
||||||
|
|
||||||
What: /sys/bus/dsa/devices/dsa<m>/state
|
What: /sys/bus/dsa/devices/dsa<m>/state
|
||||||
Date: Oct 25, 2019
|
Date: Oct 25, 2019
|
||||||
KernelVersion: 5.6.0
|
KernelVersion: 5.6.0
|
||||||
|
@ -122,6 +129,13 @@ KernelVersion: 5.10.0
|
||||||
Contact: dmaengine@vger.kernel.org
|
Contact: dmaengine@vger.kernel.org
|
||||||
Description: The last executed device administrative command's status/error.
|
Description: The last executed device administrative command's status/error.
|
||||||
|
|
||||||
|
What: /sys/bus/dsa/devices/wq<m>.<n>/block_on_fault
|
||||||
|
Date: Oct 27, 2020
|
||||||
|
KernelVersion: 5.11.0
|
||||||
|
Contact: dmaengine@vger.kernel.org
|
||||||
|
Description: To indicate block on fault is allowed or not for the work queue
|
||||||
|
to support on demand paging.
|
||||||
|
|
||||||
What: /sys/bus/dsa/devices/wq<m>.<n>/group_id
|
What: /sys/bus/dsa/devices/wq<m>.<n>/group_id
|
||||||
Date: Oct 25, 2019
|
Date: Oct 25, 2019
|
||||||
KernelVersion: 5.6.0
|
KernelVersion: 5.6.0
|
||||||
|
@ -190,6 +204,13 @@ Contact: dmaengine@vger.kernel.org
|
||||||
Description: The max batch size for this workqueue. Cannot exceed device
|
Description: The max batch size for this workqueue. Cannot exceed device
|
||||||
max batch size. Configurable parameter.
|
max batch size. Configurable parameter.
|
||||||
|
|
||||||
|
What: /sys/bus/dsa/devices/wq<m>.<n>/ats_disable
|
||||||
|
Date: Nov 13, 2020
|
||||||
|
KernelVersion: 5.11.0
|
||||||
|
Contact: dmaengine@vger.kernel.org
|
||||||
|
Description: Indicate whether ATS disable is turned on for the workqueue.
|
||||||
|
0 indicates ATS is on, and 1 indicates ATS is off for the workqueue.
|
||||||
|
|
||||||
What: /sys/bus/dsa/devices/engine<m>.<n>/group_id
|
What: /sys/bus/dsa/devices/engine<m>.<n>/group_id
|
||||||
Date: Oct 25, 2019
|
Date: Oct 25, 2019
|
||||||
KernelVersion: 5.6.0
|
KernelVersion: 5.6.0
|
||||||
|
|
|
@ -1,29 +1,29 @@
|
||||||
What: sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/cap
|
What: /sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/cap
|
||||||
Date: December 3, 2009
|
Date: December 3, 2009
|
||||||
KernelVersion: 2.6.32
|
KernelVersion: 2.6.32
|
||||||
Contact: dmaengine@vger.kernel.org
|
Contact: dmaengine@vger.kernel.org
|
||||||
Description: Capabilities the DMA supports.Currently there are DMA_PQ, DMA_PQ_VAL,
|
Description: Capabilities the DMA supports.Currently there are DMA_PQ, DMA_PQ_VAL,
|
||||||
DMA_XOR,DMA_XOR_VAL,DMA_INTERRUPT.
|
DMA_XOR,DMA_XOR_VAL,DMA_INTERRUPT.
|
||||||
|
|
||||||
What: sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/ring_active
|
What: /sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/ring_active
|
||||||
Date: December 3, 2009
|
Date: December 3, 2009
|
||||||
KernelVersion: 2.6.32
|
KernelVersion: 2.6.32
|
||||||
Contact: dmaengine@vger.kernel.org
|
Contact: dmaengine@vger.kernel.org
|
||||||
Description: The number of descriptors active in the ring.
|
Description: The number of descriptors active in the ring.
|
||||||
|
|
||||||
What: sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/ring_size
|
What: /sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/ring_size
|
||||||
Date: December 3, 2009
|
Date: December 3, 2009
|
||||||
KernelVersion: 2.6.32
|
KernelVersion: 2.6.32
|
||||||
Contact: dmaengine@vger.kernel.org
|
Contact: dmaengine@vger.kernel.org
|
||||||
Description: Descriptor ring size, total number of descriptors available.
|
Description: Descriptor ring size, total number of descriptors available.
|
||||||
|
|
||||||
What: sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/version
|
What: /sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/version
|
||||||
Date: December 3, 2009
|
Date: December 3, 2009
|
||||||
KernelVersion: 2.6.32
|
KernelVersion: 2.6.32
|
||||||
Contact: dmaengine@vger.kernel.org
|
Contact: dmaengine@vger.kernel.org
|
||||||
Description: Version of ioatdma device.
|
Description: Version of ioatdma device.
|
||||||
|
|
||||||
What: sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/intr_coalesce
|
What: /sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/intr_coalesce
|
||||||
Date: August 8, 2017
|
Date: August 8, 2017
|
||||||
KernelVersion: 4.14
|
KernelVersion: 4.14
|
||||||
Contact: dmaengine@vger.kernel.org
|
Contact: dmaengine@vger.kernel.org
|
||||||
|
|
|
@ -7,7 +7,7 @@ Description:
|
||||||
ifname
|
ifname
|
||||||
- network device interface name associated with
|
- network device interface name associated with
|
||||||
this function instance
|
this function instance
|
||||||
qmult
|
qmult
|
||||||
- queue length multiplier for high and
|
- queue length multiplier for high and
|
||||||
super speed
|
super speed
|
||||||
host_addr
|
host_addr
|
||||||
|
|
20
Documentation/ABI/testing/procfs-attr-current
Normal file
20
Documentation/ABI/testing/procfs-attr-current
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
What: /proc/*/attr/current
|
||||||
|
Contact: linux-security-module@vger.kernel.org,
|
||||||
|
selinux@vger.kernel.org,
|
||||||
|
apparmor@lists.ubuntu.com
|
||||||
|
Description: The current security information used by a Linux
|
||||||
|
security module (LSM) that is active on the system.
|
||||||
|
The details of permissions required to read from
|
||||||
|
this interface and hence obtain the security state
|
||||||
|
of the task identified is LSM dependent.
|
||||||
|
A process cannot write to this interface unless it
|
||||||
|
refers to itself.
|
||||||
|
The other details of permissions required to write to
|
||||||
|
this interface and hence change the security state of
|
||||||
|
the task identified are LSM dependent.
|
||||||
|
The format of the data used by this interface is LSM
|
||||||
|
dependent.
|
||||||
|
SELinux, Smack and AppArmor provide this interface.
|
||||||
|
Users: SELinux user-space
|
||||||
|
Smack user-space
|
||||||
|
AppArmor user-space
|
20
Documentation/ABI/testing/procfs-attr-exec
Normal file
20
Documentation/ABI/testing/procfs-attr-exec
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
What: /proc/*/attr/exec
|
||||||
|
Contact: linux-security-module@vger.kernel.org,
|
||||||
|
selinux@vger.kernel.org,
|
||||||
|
apparmor@lists.ubuntu.com
|
||||||
|
Description: The security information to be used on the process
|
||||||
|
by a Linux security module (LSM) active on the system
|
||||||
|
after a subsequent exec() call.
|
||||||
|
The details of permissions required to read from
|
||||||
|
this interface and hence obtain the security state
|
||||||
|
of the task identified is LSM dependent.
|
||||||
|
A process cannot write to this interface unless it
|
||||||
|
refers to itself.
|
||||||
|
The other details of permissions required to write to
|
||||||
|
this interface and hence change the security state of
|
||||||
|
the task identified are LSM dependent.
|
||||||
|
The format of the data used by this interface is LSM
|
||||||
|
dependent.
|
||||||
|
SELinux and AppArmor provide this interface.
|
||||||
|
Users: SELinux user-space
|
||||||
|
AppArmor user-space
|
19
Documentation/ABI/testing/procfs-attr-prev
Normal file
19
Documentation/ABI/testing/procfs-attr-prev
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
What: /proc/*/attr/prev
|
||||||
|
Contact: linux-security-module@vger.kernel.org,
|
||||||
|
selinux@vger.kernel.org,
|
||||||
|
apparmor@lists.ubuntu.com
|
||||||
|
Description: The security information used on the process by
|
||||||
|
a Linux security module (LSM) active on the system
|
||||||
|
prior to the most recent exec() call.
|
||||||
|
The details of permissions required to read from
|
||||||
|
this interface is LSM dependent.
|
||||||
|
A process cannot write to this interface unless it
|
||||||
|
refers to itself.
|
||||||
|
The other details of permissions required to write to
|
||||||
|
this interface are LSM dependent.
|
||||||
|
The format of the data used by this interface is LSM
|
||||||
|
dependent.
|
||||||
|
SELinux and AppArmor provide this interface.
|
||||||
|
Users: SELinux user-space
|
||||||
|
AppArmor user-space
|
||||||
|
|
|
@ -1743,6 +1743,16 @@ Description:
|
||||||
|
|
||||||
Raw counter device counters direction for channel Y.
|
Raw counter device counters direction for channel Y.
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_voltageY_label
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/out_voltageY_label
|
||||||
|
KernelVersion: 5.8
|
||||||
|
Contact: linux-iio@vger.kernel.org
|
||||||
|
Description:
|
||||||
|
Optional symbolic label to a device channel.
|
||||||
|
If a label is defined for this channel add that to the channel
|
||||||
|
specific attributes. This is useful for userspace to be able to
|
||||||
|
better identify an individual channel.
|
||||||
|
|
||||||
What: /sys/bus/iio/devices/iio:deviceX/in_phaseY_raw
|
What: /sys/bus/iio/devices/iio:deviceX/in_phaseY_raw
|
||||||
KernelVersion: 4.18
|
KernelVersion: 4.18
|
||||||
Contact: linux-iio@vger.kernel.org
|
Contact: linux-iio@vger.kernel.org
|
||||||
|
|
78
Documentation/ABI/testing/sysfs-bus-iio-adc-mt6360
Normal file
78
Documentation/ABI/testing/sysfs-bus-iio-adc-mt6360
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_voltage0_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 USBID ADC which connected to connector ID pin.
|
||||||
|
Calculating with scale and offset returns voltage in uV
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_voltage1_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 VBUS ADC with lower accuracy(+-75mA)
|
||||||
|
higher measure range(1~22mV)
|
||||||
|
Calculating with scale and offset returns voltage in uV
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_voltage2_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 VBUS ADC with higher accuracy(+-30mA)
|
||||||
|
lower measure range(1~9.76V)
|
||||||
|
Calculating with scale and offset returns voltage in uV
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_voltage3_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 VSYS ADC
|
||||||
|
Calculating with scale and offset returns voltage in uV
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_voltage4_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 VBAT ADC
|
||||||
|
Calculating with scale and offset returns voltage in uV
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_current5_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 IBUS ADC
|
||||||
|
Calculating with scale and offset returns voltage in uA
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_current6_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 IBAT ADC
|
||||||
|
Calculating with scale and offset returns voltage in uA
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_current7_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 CHG_VDDP ADC
|
||||||
|
Calculating with scale and offset returns voltage in uV
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_temp8_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 IC junction temperature
|
||||||
|
Calculating with scale and offset returns temperature in degree
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_voltage9_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 VREF_TS ADC
|
||||||
|
Calculating with scale and offset returns voltage in uV
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_voltage10_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 TS ADC
|
||||||
|
Calculating with scale and offset returns voltage in uV
|
|
@ -109,30 +109,6 @@ Description:
|
||||||
When counting down the counter start from preset value
|
When counting down the counter start from preset value
|
||||||
and fire event when reach 0.
|
and fire event when reach 0.
|
||||||
|
|
||||||
What: /sys/bus/iio/devices/iio:deviceX/in_count_quadrature_mode_available
|
|
||||||
KernelVersion: 4.12
|
|
||||||
Contact: benjamin.gaignard@st.com
|
|
||||||
Description:
|
|
||||||
Reading returns the list possible quadrature modes.
|
|
||||||
|
|
||||||
What: /sys/bus/iio/devices/iio:deviceX/in_count0_quadrature_mode
|
|
||||||
KernelVersion: 4.12
|
|
||||||
Contact: benjamin.gaignard@st.com
|
|
||||||
Description:
|
|
||||||
Configure the device counter quadrature modes:
|
|
||||||
|
|
||||||
channel_A:
|
|
||||||
Encoder A input servers as the count input and B as
|
|
||||||
the UP/DOWN direction control input.
|
|
||||||
|
|
||||||
channel_B:
|
|
||||||
Encoder B input serves as the count input and A as
|
|
||||||
the UP/DOWN direction control input.
|
|
||||||
|
|
||||||
quadrature:
|
|
||||||
Encoder A and B inputs are mixed to get direction
|
|
||||||
and count with a scale of 0.25.
|
|
||||||
|
|
||||||
What: /sys/bus/iio/devices/iio:deviceX/in_count_enable_mode_available
|
What: /sys/bus/iio/devices/iio:deviceX/in_count_enable_mode_available
|
||||||
KernelVersion: 4.12
|
KernelVersion: 4.12
|
||||||
Contact: benjamin.gaignard@st.com
|
Contact: benjamin.gaignard@st.com
|
||||||
|
|
|
@ -366,3 +366,12 @@ Contact: Heiner Kallweit <hkallweit1@gmail.com>
|
||||||
Description: If ASPM is supported for an endpoint, these files can be
|
Description: If ASPM is supported for an endpoint, these files can be
|
||||||
used to disable or enable the individual power management
|
used to disable or enable the individual power management
|
||||||
states. Write y/1/on to enable, n/0/off to disable.
|
states. Write y/1/on to enable, n/0/off to disable.
|
||||||
|
|
||||||
|
What: /sys/bus/pci/devices/.../power_state
|
||||||
|
Date: November 2020
|
||||||
|
Contact: Linux PCI developers <linux-pci@vger.kernel.org>
|
||||||
|
Description:
|
||||||
|
This file contains the current PCI power state of the device.
|
||||||
|
The value comes from the PCI kernel device state and can be one
|
||||||
|
of: "unknown", "error", "D0", D1", "D2", "D3hot", "D3cold".
|
||||||
|
The file is read only.
|
||||||
|
|
|
@ -1,3 +1,31 @@
|
||||||
|
What: /sys/bus/thunderbolt/devices/<xdomain>/rx_speed
|
||||||
|
Date: Feb 2021
|
||||||
|
KernelVersion: 5.11
|
||||||
|
Contact: Isaac Hazan <isaac.hazan@intel.com>
|
||||||
|
Description: This attribute reports the XDomain RX speed per lane.
|
||||||
|
All RX lanes run at the same speed.
|
||||||
|
|
||||||
|
What: /sys/bus/thunderbolt/devices/<xdomain>/rx_lanes
|
||||||
|
Date: Feb 2021
|
||||||
|
KernelVersion: 5.11
|
||||||
|
Contact: Isaac Hazan <isaac.hazan@intel.com>
|
||||||
|
Description: This attribute reports the number of RX lanes the XDomain
|
||||||
|
is using simultaneously through its upstream port.
|
||||||
|
|
||||||
|
What: /sys/bus/thunderbolt/devices/<xdomain>/tx_speed
|
||||||
|
Date: Feb 2021
|
||||||
|
KernelVersion: 5.11
|
||||||
|
Contact: Isaac Hazan <isaac.hazan@intel.com>
|
||||||
|
Description: This attribute reports the XDomain TX speed per lane.
|
||||||
|
All TX lanes run at the same speed.
|
||||||
|
|
||||||
|
What: /sys/bus/thunderbolt/devices/<xdomain>/tx_lanes
|
||||||
|
Date: Feb 2021
|
||||||
|
KernelVersion: 5.11
|
||||||
|
Contact: Isaac Hazan <isaac.hazan@intel.com>
|
||||||
|
Description: This attribute reports number of TX lanes the XDomain
|
||||||
|
is using simultaneously through its upstream port.
|
||||||
|
|
||||||
What: /sys/bus/thunderbolt/devices/.../domainX/boot_acl
|
What: /sys/bus/thunderbolt/devices/.../domainX/boot_acl
|
||||||
Date: Jun 2018
|
Date: Jun 2018
|
||||||
KernelVersion: 4.17
|
KernelVersion: 4.17
|
||||||
|
|
|
@ -37,20 +37,6 @@ Description:
|
||||||
The /sys/class/devfreq/.../target_freq shows the next governor
|
The /sys/class/devfreq/.../target_freq shows the next governor
|
||||||
predicted target frequency of the corresponding devfreq object.
|
predicted target frequency of the corresponding devfreq object.
|
||||||
|
|
||||||
What: /sys/class/devfreq/.../polling_interval
|
|
||||||
Date: September 2011
|
|
||||||
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
|
||||||
Description:
|
|
||||||
The /sys/class/devfreq/.../polling_interval shows and sets
|
|
||||||
the requested polling interval of the corresponding devfreq
|
|
||||||
object. The values are represented in ms. If the value is
|
|
||||||
less than 1 jiffy, it is considered to be 0, which means
|
|
||||||
no polling. This value is meaningless if the governor is
|
|
||||||
not polling; thus. If the governor is not using
|
|
||||||
devfreq-provided central polling
|
|
||||||
(/sys/class/devfreq/.../central_polling is 0), this value
|
|
||||||
may be useless.
|
|
||||||
|
|
||||||
What: /sys/class/devfreq/.../trans_stat
|
What: /sys/class/devfreq/.../trans_stat
|
||||||
Date: October 2012
|
Date: October 2012
|
||||||
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
||||||
|
@ -66,14 +52,6 @@ Description:
|
||||||
|
|
||||||
echo 0 > /sys/class/devfreq/.../trans_stat
|
echo 0 > /sys/class/devfreq/.../trans_stat
|
||||||
|
|
||||||
What: /sys/class/devfreq/.../userspace/set_freq
|
|
||||||
Date: September 2011
|
|
||||||
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
|
||||||
Description:
|
|
||||||
The /sys/class/devfreq/.../userspace/set_freq shows and
|
|
||||||
sets the requested frequency for the devfreq object if
|
|
||||||
userspace governor is in effect.
|
|
||||||
|
|
||||||
What: /sys/class/devfreq/.../available_frequencies
|
What: /sys/class/devfreq/.../available_frequencies
|
||||||
Date: October 2012
|
Date: October 2012
|
||||||
Contact: Nishanth Menon <nm@ti.com>
|
Contact: Nishanth Menon <nm@ti.com>
|
||||||
|
@ -110,6 +88,35 @@ Description:
|
||||||
The max_freq overrides min_freq because max_freq may be
|
The max_freq overrides min_freq because max_freq may be
|
||||||
used to throttle devices to avoid overheating.
|
used to throttle devices to avoid overheating.
|
||||||
|
|
||||||
|
What: /sys/class/devfreq/.../polling_interval
|
||||||
|
Date: September 2011
|
||||||
|
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
||||||
|
Description:
|
||||||
|
The /sys/class/devfreq/.../polling_interval shows and sets
|
||||||
|
the requested polling interval of the corresponding devfreq
|
||||||
|
object. The values are represented in ms. If the value is
|
||||||
|
less than 1 jiffy, it is considered to be 0, which means
|
||||||
|
no polling. This value is meaningless if the governor is
|
||||||
|
not polling; thus. If the governor is not using
|
||||||
|
devfreq-provided central polling
|
||||||
|
(/sys/class/devfreq/.../central_polling is 0), this value
|
||||||
|
may be useless.
|
||||||
|
|
||||||
|
A list of governors that support the node:
|
||||||
|
- simple_ondmenad
|
||||||
|
- tegra_actmon
|
||||||
|
|
||||||
|
What: /sys/class/devfreq/.../userspace/set_freq
|
||||||
|
Date: September 2011
|
||||||
|
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
||||||
|
Description:
|
||||||
|
The /sys/class/devfreq/.../userspace/set_freq shows and
|
||||||
|
sets the requested frequency for the devfreq object if
|
||||||
|
userspace governor is in effect.
|
||||||
|
|
||||||
|
A list of governors that support the node:
|
||||||
|
- userspace
|
||||||
|
|
||||||
What: /sys/class/devfreq/.../timer
|
What: /sys/class/devfreq/.../timer
|
||||||
Date: July 2020
|
Date: July 2020
|
||||||
Contact: Chanwoo Choi <cw00.choi@samsung.com>
|
Contact: Chanwoo Choi <cw00.choi@samsung.com>
|
||||||
|
@ -122,3 +129,6 @@ Description:
|
||||||
|
|
||||||
echo deferrable > /sys/class/devfreq/.../timer
|
echo deferrable > /sys/class/devfreq/.../timer
|
||||||
echo delayed > /sys/class/devfreq/.../timer
|
echo delayed > /sys/class/devfreq/.../timer
|
||||||
|
|
||||||
|
A list of governors that support the node:
|
||||||
|
- simple_ondemand
|
||||||
|
|
23
Documentation/ABI/testing/sysfs-class-fc_host
Normal file
23
Documentation/ABI/testing/sysfs-class-fc_host
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
What: /sys/class/fc_host/hostX/statistics/fpin_cn_yyy
|
||||||
|
Date: July 2020
|
||||||
|
Contact: Shyam Sundar <ssundar@marvell.com>
|
||||||
|
Description:
|
||||||
|
These files contain the number of congestion notification
|
||||||
|
events recorded by the F_Port, reported using fabric
|
||||||
|
performance impact notification (FPIN) event.
|
||||||
|
|
||||||
|
What: /sys/class/fc_host/hostX/statistics/fpin_li_yyy
|
||||||
|
Date: July 2020
|
||||||
|
Contact: Shyam Sundar <ssundar@marvell.com>
|
||||||
|
Description:
|
||||||
|
These files contain the number of link integrity error
|
||||||
|
events recorded by the F_Port/Nx_Port, reported using fabric
|
||||||
|
performance impact notification (FPIN) event.
|
||||||
|
|
||||||
|
What: /sys/class/fc_host/hostX/statistics/fpin_dn_yyy
|
||||||
|
Date: July 2020
|
||||||
|
Contact: Shyam Sundar <ssundar@marvell.com>
|
||||||
|
Description:
|
||||||
|
These files contain the number of delivery related errors
|
||||||
|
recorded by the F_Port/Nx_Port, reported using fabric
|
||||||
|
performance impact notification (FPIN) event.
|
23
Documentation/ABI/testing/sysfs-class-fc_remote_ports
Normal file
23
Documentation/ABI/testing/sysfs-class-fc_remote_ports
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
What: /sys/class/fc_remote_ports/rport-X:Y-Z/statistics/fpin_cn_yyy
|
||||||
|
Date: July 2020
|
||||||
|
Contact: Shyam Sundar <ssundar@marvell.com>
|
||||||
|
Description:
|
||||||
|
These files contain the number of congestion notification
|
||||||
|
events recorded by the F_Port/Nx_Port, reported using fabric
|
||||||
|
performance impact notification (FPIN) event.
|
||||||
|
|
||||||
|
What: /sys/class/fc_remote_ports/rport-X:Y-Z/statistics/fpin_li_yyy
|
||||||
|
Date: July 2020
|
||||||
|
Contact: Shyam Sundar <ssundar@marvell.com>
|
||||||
|
Description:
|
||||||
|
These files contain the number of link integrity error
|
||||||
|
events recorded by the F_Port/Nx_Port, reported using fabric
|
||||||
|
performance impact notification (FPIN) event.
|
||||||
|
|
||||||
|
What: /sys/class/fc_remote_ports/rport-X:Y-Z/statistics/fpin_dn_yyy
|
||||||
|
Date: July 2020
|
||||||
|
Contact: Shyam Sundar <ssundar@marvell.com>
|
||||||
|
Description:
|
||||||
|
These files contain the number of delivery related errors
|
||||||
|
recorded by the F_Port/Nx_Port, reported using fabric
|
||||||
|
performance impact notification (FPIN) event.
|
258
Documentation/ABI/testing/sysfs-class-firmware-attributes
Normal file
258
Documentation/ABI/testing/sysfs-class-firmware-attributes
Normal file
|
@ -0,0 +1,258 @@
|
||||||
|
What: /sys/class/firmware-attributes/*/attributes/*/
|
||||||
|
Date: February 2021
|
||||||
|
KernelVersion: 5.11
|
||||||
|
Contact: Divya Bharathi <Divya.Bharathi@Dell.com>,
|
||||||
|
Mario Limonciello <mario.limonciello@dell.com>,
|
||||||
|
Prasanth KSR <prasanth.ksr@dell.com>
|
||||||
|
Description:
|
||||||
|
A sysfs interface for systems management software to enable
|
||||||
|
configuration capability on supported systems. This directory
|
||||||
|
exposes interfaces for interacting with configuration options.
|
||||||
|
|
||||||
|
Unless otherwise specified in an attribute description all attributes are optional
|
||||||
|
and will accept UTF-8 input.
|
||||||
|
|
||||||
|
type:
|
||||||
|
A file that can be read to obtain the type of attribute.
|
||||||
|
This attribute is mandatory.
|
||||||
|
|
||||||
|
The following are known types:
|
||||||
|
|
||||||
|
- enumeration: a set of pre-defined valid values
|
||||||
|
- integer: a range of numerical values
|
||||||
|
- string
|
||||||
|
|
||||||
|
All attribute types support the following values:
|
||||||
|
|
||||||
|
current_value:
|
||||||
|
A file that can be read to obtain the current
|
||||||
|
value of the <attr>.
|
||||||
|
|
||||||
|
This file can also be written to in order to update the value of a
|
||||||
|
<attr>
|
||||||
|
|
||||||
|
This attribute is mandatory.
|
||||||
|
|
||||||
|
default_value:
|
||||||
|
A file that can be read to obtain the default
|
||||||
|
value of the <attr>
|
||||||
|
|
||||||
|
display_name:
|
||||||
|
A file that can be read to obtain a user friendly
|
||||||
|
description of the at <attr>
|
||||||
|
|
||||||
|
display_name_language_code:
|
||||||
|
A file that can be read to obtain
|
||||||
|
the IETF language tag corresponding to the
|
||||||
|
"display_name" of the <attr>
|
||||||
|
|
||||||
|
"enumeration"-type specific properties:
|
||||||
|
|
||||||
|
possible_values:
|
||||||
|
A file that can be read to obtain the possible
|
||||||
|
values of the <attr>. Values are separated using
|
||||||
|
semi-colon (``;``).
|
||||||
|
|
||||||
|
"integer"-type specific properties:
|
||||||
|
|
||||||
|
min_value:
|
||||||
|
A file that can be read to obtain the lower
|
||||||
|
bound value of the <attr>
|
||||||
|
|
||||||
|
max_value:
|
||||||
|
A file that can be read to obtain the upper
|
||||||
|
bound value of the <attr>
|
||||||
|
|
||||||
|
scalar_increment:
|
||||||
|
A file that can be read to obtain the scalar value used for
|
||||||
|
increments of current_value this attribute accepts.
|
||||||
|
|
||||||
|
"string"-type specific properties:
|
||||||
|
|
||||||
|
max_length:
|
||||||
|
A file that can be read to obtain the maximum
|
||||||
|
length value of the <attr>
|
||||||
|
|
||||||
|
min_length:
|
||||||
|
A file that can be read to obtain the minimum
|
||||||
|
length value of the <attr>
|
||||||
|
|
||||||
|
Dell specific class extensions
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
On Dell systems the following additional attributes are available:
|
||||||
|
|
||||||
|
dell_modifier:
|
||||||
|
A file that can be read to obtain attribute-level
|
||||||
|
dependency rule. It says an attribute X will become read-only or
|
||||||
|
suppressed, if/if-not attribute Y is configured.
|
||||||
|
|
||||||
|
modifier rules can be in following format::
|
||||||
|
|
||||||
|
[ReadOnlyIf:<attribute>=<value>]
|
||||||
|
[ReadOnlyIfNot:<attribute>=<value>]
|
||||||
|
[SuppressIf:<attribute>=<value>]
|
||||||
|
[SuppressIfNot:<attribute>=<value>]
|
||||||
|
|
||||||
|
For example::
|
||||||
|
|
||||||
|
AutoOnFri/dell_modifier has value,
|
||||||
|
[SuppressIfNot:AutoOn=SelectDays]
|
||||||
|
|
||||||
|
This means AutoOnFri will be suppressed in BIOS setup if AutoOn
|
||||||
|
attribute is not "SelectDays" and its value will not be effective
|
||||||
|
through sysfs until this rule is met.
|
||||||
|
|
||||||
|
Enumeration attributes also support the following:
|
||||||
|
|
||||||
|
dell_value_modifier:
|
||||||
|
A file that can be read to obtain value-level dependency.
|
||||||
|
This file is similar to dell_modifier but here, an
|
||||||
|
attribute's current value will be forcefully changed based
|
||||||
|
dependent attributes value.
|
||||||
|
|
||||||
|
dell_value_modifier rules can be in following format::
|
||||||
|
|
||||||
|
<value>[ForceIf:<attribute>=<value>]
|
||||||
|
<value>[ForceIfNot:<attribute>=<value>]
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
LegacyOrom/dell_value_modifier has value:
|
||||||
|
Disabled[ForceIf:SecureBoot=Enabled]
|
||||||
|
|
||||||
|
This means LegacyOrom's current value will be forced to
|
||||||
|
"Disabled" in BIOS setup if SecureBoot is Enabled and its
|
||||||
|
value will not be effective through sysfs until this rule is
|
||||||
|
met.
|
||||||
|
|
||||||
|
What: /sys/class/firmware-attributes/*/authentication/
|
||||||
|
Date: February 2021
|
||||||
|
KernelVersion: 5.11
|
||||||
|
Contact: Divya Bharathi <Divya.Bharathi@Dell.com>,
|
||||||
|
Mario Limonciello <mario.limonciello@dell.com>,
|
||||||
|
Prasanth KSR <prasanth.ksr@dell.com>
|
||||||
|
Description:
|
||||||
|
Devices support various authentication mechanisms which can be exposed
|
||||||
|
as a separate configuration object.
|
||||||
|
|
||||||
|
For example a "BIOS Admin" password and "System" Password can be set,
|
||||||
|
reset or cleared using these attributes.
|
||||||
|
|
||||||
|
- An "Admin" password is used for preventing modification to the BIOS
|
||||||
|
settings.
|
||||||
|
- A "System" password is required to boot a machine.
|
||||||
|
|
||||||
|
Change in any of these two authentication methods will also generate an
|
||||||
|
uevent KOBJ_CHANGE.
|
||||||
|
|
||||||
|
is_enabled:
|
||||||
|
A file that can be read to obtain a 0/1 flag to see if
|
||||||
|
<attr> authentication is enabled.
|
||||||
|
This attribute is mandatory.
|
||||||
|
|
||||||
|
role:
|
||||||
|
The type of authentication used.
|
||||||
|
This attribute is mandatory.
|
||||||
|
|
||||||
|
Known types:
|
||||||
|
bios-admin:
|
||||||
|
Representing BIOS administrator password
|
||||||
|
power-on:
|
||||||
|
Representing a password required to use
|
||||||
|
the system
|
||||||
|
|
||||||
|
mechanism:
|
||||||
|
The means of authentication. This attribute is mandatory.
|
||||||
|
Only supported type currently is "password".
|
||||||
|
|
||||||
|
max_password_length:
|
||||||
|
A file that can be read to obtain the
|
||||||
|
maximum length of the Password
|
||||||
|
|
||||||
|
min_password_length:
|
||||||
|
A file that can be read to obtain the
|
||||||
|
minimum length of the Password
|
||||||
|
|
||||||
|
current_password:
|
||||||
|
A write only value used for privileged access such as
|
||||||
|
setting attributes when a system or admin password is set
|
||||||
|
or resetting to a new password
|
||||||
|
|
||||||
|
This attribute is mandatory when mechanism == "password".
|
||||||
|
|
||||||
|
new_password:
|
||||||
|
A write only value that when used in tandem with
|
||||||
|
current_password will reset a system or admin password.
|
||||||
|
|
||||||
|
Note, password management is session specific. If Admin password is set,
|
||||||
|
same password must be written into current_password file (required for
|
||||||
|
password-validation) and must be cleared once the session is over.
|
||||||
|
For example::
|
||||||
|
|
||||||
|
echo "password" > current_password
|
||||||
|
echo "disabled" > TouchScreen/current_value
|
||||||
|
echo "" > current_password
|
||||||
|
|
||||||
|
Drivers may emit a CHANGE uevent when a password is set or unset
|
||||||
|
userspace may check it again.
|
||||||
|
|
||||||
|
On Dell systems, if Admin password is set, then all BIOS attributes
|
||||||
|
require password validation.
|
||||||
|
|
||||||
|
What: /sys/class/firmware-attributes/*/attributes/pending_reboot
|
||||||
|
Date: February 2021
|
||||||
|
KernelVersion: 5.11
|
||||||
|
Contact: Divya Bharathi <Divya.Bharathi@Dell.com>,
|
||||||
|
Mario Limonciello <mario.limonciello@dell.com>,
|
||||||
|
Prasanth KSR <prasanth.ksr@dell.com>
|
||||||
|
Description:
|
||||||
|
A read-only attribute reads 1 if a reboot is necessary to apply
|
||||||
|
pending BIOS attribute changes. Also, an uevent_KOBJ_CHANGE is
|
||||||
|
generated when it changes to 1.
|
||||||
|
|
||||||
|
== =========================================
|
||||||
|
0 All BIOS attributes setting are current
|
||||||
|
1 A reboot is necessary to get pending BIOS
|
||||||
|
attribute changes applied
|
||||||
|
== =========================================
|
||||||
|
|
||||||
|
Note, userspace applications need to follow below steps for efficient
|
||||||
|
BIOS management,
|
||||||
|
|
||||||
|
1. Check if admin password is set. If yes, follow session method for
|
||||||
|
password management as briefed under authentication section above.
|
||||||
|
2. Before setting any attribute, check if it has any modifiers
|
||||||
|
or value_modifiers. If yes, incorporate them and then modify
|
||||||
|
attribute.
|
||||||
|
|
||||||
|
Drivers may emit a CHANGE uevent when this value changes and userspace
|
||||||
|
may check it again.
|
||||||
|
|
||||||
|
What: /sys/class/firmware-attributes/*/attributes/reset_bios
|
||||||
|
Date: February 2021
|
||||||
|
KernelVersion: 5.11
|
||||||
|
Contact: Divya Bharathi <Divya.Bharathi@Dell.com>,
|
||||||
|
Mario Limonciello <mario.limonciello@dell.com>,
|
||||||
|
Prasanth KSR <prasanth.ksr@dell.com>
|
||||||
|
Description:
|
||||||
|
This attribute can be used to reset the BIOS Configuration.
|
||||||
|
Specifically, it tells which type of reset BIOS configuration is being
|
||||||
|
requested on the host.
|
||||||
|
|
||||||
|
Reading from it returns a list of supported options encoded as:
|
||||||
|
|
||||||
|
- 'builtinsafe' (Built in safe configuration profile)
|
||||||
|
- 'lastknowngood' (Last known good saved configuration profile)
|
||||||
|
- 'factory' (Default factory settings configuration profile)
|
||||||
|
- 'custom' (Custom saved configuration profile)
|
||||||
|
|
||||||
|
The currently selected option is printed in square brackets as
|
||||||
|
shown below::
|
||||||
|
|
||||||
|
# echo "factory" > /sys/class/firmware-attributes/*/device/attributes/reset_bios
|
||||||
|
# cat /sys/class/firmware-attributes/*/device/attributes/reset_bios
|
||||||
|
# builtinsafe lastknowngood [factory] custom
|
||||||
|
|
||||||
|
Note that any changes to this attribute requires a reboot
|
||||||
|
for changes to take effect.
|
119
Documentation/ABI/testing/sysfs-class-intel_pmt
Normal file
119
Documentation/ABI/testing/sysfs-class-intel_pmt
Normal file
|
@ -0,0 +1,119 @@
|
||||||
|
What: /sys/class/intel_pmt/
|
||||||
|
Date: October 2020
|
||||||
|
KernelVersion: 5.10
|
||||||
|
Contact: David Box <david.e.box@linux.intel.com>
|
||||||
|
Description:
|
||||||
|
The intel_pmt/ class directory contains information for
|
||||||
|
devices that expose hardware telemetry using Intel Platform
|
||||||
|
Monitoring Technology (PMT)
|
||||||
|
|
||||||
|
What: /sys/class/intel_pmt/telem<x>
|
||||||
|
Date: October 2020
|
||||||
|
KernelVersion: 5.10
|
||||||
|
Contact: David Box <david.e.box@linux.intel.com>
|
||||||
|
Description:
|
||||||
|
The telem<x> directory contains files describing an instance of
|
||||||
|
a PMT telemetry device that exposes hardware telemetry. Each
|
||||||
|
telem<x> directory has an associated telem file. This file
|
||||||
|
may be opened and mapped or read to access the telemetry space
|
||||||
|
of the device. The register layout of the telemetry space is
|
||||||
|
determined from an XML file that matches the PCI device id and
|
||||||
|
GUID for the device.
|
||||||
|
|
||||||
|
What: /sys/class/intel_pmt/telem<x>/telem
|
||||||
|
Date: October 2020
|
||||||
|
KernelVersion: 5.10
|
||||||
|
Contact: David Box <david.e.box@linux.intel.com>
|
||||||
|
Description:
|
||||||
|
(RO) The telemetry data for this telemetry device. This file
|
||||||
|
may be mapped or read to obtain the data.
|
||||||
|
|
||||||
|
What: /sys/class/intel_pmt/telem<x>/guid
|
||||||
|
Date: October 2020
|
||||||
|
KernelVersion: 5.10
|
||||||
|
Contact: David Box <david.e.box@linux.intel.com>
|
||||||
|
Description:
|
||||||
|
(RO) The GUID for this telemetry device. The GUID identifies
|
||||||
|
the version of the XML file for the parent device that is to
|
||||||
|
be used to get the register layout.
|
||||||
|
|
||||||
|
What: /sys/class/intel_pmt/telem<x>/size
|
||||||
|
Date: October 2020
|
||||||
|
KernelVersion: 5.10
|
||||||
|
Contact: David Box <david.e.box@linux.intel.com>
|
||||||
|
Description:
|
||||||
|
(RO) The size of telemetry region in bytes that corresponds to
|
||||||
|
the mapping size for the telem file.
|
||||||
|
|
||||||
|
What: /sys/class/intel_pmt/telem<x>/offset
|
||||||
|
Date: October 2020
|
||||||
|
KernelVersion: 5.10
|
||||||
|
Contact: David Box <david.e.box@linux.intel.com>
|
||||||
|
Description:
|
||||||
|
(RO) The offset of telemetry region in bytes that corresponds to
|
||||||
|
the mapping for the telem file.
|
||||||
|
|
||||||
|
What: /sys/class/intel_pmt/crashlog<x>
|
||||||
|
Date: October 2020
|
||||||
|
KernelVersion: 5.10
|
||||||
|
Contact: Alexander Duyck <alexander.h.duyck@linux.intel.com>
|
||||||
|
Description:
|
||||||
|
The crashlog<x> directory contains files for configuring an
|
||||||
|
instance of a PMT crashlog device that can perform crash data
|
||||||
|
recording. Each crashlog<x> device has an associated crashlog
|
||||||
|
file. This file can be opened and mapped or read to access the
|
||||||
|
resulting crashlog buffer. The register layout for the buffer
|
||||||
|
can be determined from an XML file of specified GUID for the
|
||||||
|
parent device.
|
||||||
|
|
||||||
|
What: /sys/class/intel_pmt/crashlog<x>/crashlog
|
||||||
|
Date: October 2020
|
||||||
|
KernelVersion: 5.10
|
||||||
|
Contact: David Box <david.e.box@linux.intel.com>
|
||||||
|
Description:
|
||||||
|
(RO) The crashlog buffer for this crashlog device. This file
|
||||||
|
may be mapped or read to obtain the data.
|
||||||
|
|
||||||
|
What: /sys/class/intel_pmt/crashlog<x>/guid
|
||||||
|
Date: October 2020
|
||||||
|
KernelVersion: 5.10
|
||||||
|
Contact: Alexander Duyck <alexander.h.duyck@linux.intel.com>
|
||||||
|
Description:
|
||||||
|
(RO) The GUID for this crashlog device. The GUID identifies the
|
||||||
|
version of the XML file for the parent device that should be
|
||||||
|
used to determine the register layout.
|
||||||
|
|
||||||
|
What: /sys/class/intel_pmt/crashlog<x>/size
|
||||||
|
Date: October 2020
|
||||||
|
KernelVersion: 5.10
|
||||||
|
Contact: Alexander Duyck <alexander.h.duyck@linux.intel.com>
|
||||||
|
Description:
|
||||||
|
(RO) The length of the result buffer in bytes that corresponds
|
||||||
|
to the size for the crashlog buffer.
|
||||||
|
|
||||||
|
What: /sys/class/intel_pmt/crashlog<x>/offset
|
||||||
|
Date: October 2020
|
||||||
|
KernelVersion: 5.10
|
||||||
|
Contact: Alexander Duyck <alexander.h.duyck@linux.intel.com>
|
||||||
|
Description:
|
||||||
|
(RO) The offset of the buffer in bytes that corresponds
|
||||||
|
to the mapping for the crashlog device.
|
||||||
|
|
||||||
|
What: /sys/class/intel_pmt/crashlog<x>/enable
|
||||||
|
Date: October 2020
|
||||||
|
KernelVersion: 5.10
|
||||||
|
Contact: Alexander Duyck <alexander.h.duyck@linux.intel.com>
|
||||||
|
Description:
|
||||||
|
(RW) Boolean value controlling if the crashlog functionality
|
||||||
|
is enabled for the crashlog device.
|
||||||
|
|
||||||
|
What: /sys/class/intel_pmt/crashlog<x>/trigger
|
||||||
|
Date: October 2020
|
||||||
|
KernelVersion: 5.10
|
||||||
|
Contact: Alexander Duyck <alexander.h.duyck@linux.intel.com>
|
||||||
|
Description:
|
||||||
|
(RW) Boolean value controlling the triggering of the crashlog
|
||||||
|
device node. When read it provides data on if the crashlog has
|
||||||
|
been triggered. When written to it can be used to either clear
|
||||||
|
the current trigger by writing false, or to trigger a new
|
||||||
|
event if the trigger is not currently set.
|
|
@ -152,7 +152,7 @@ Description:
|
||||||
When an interface is under test, it cannot be expected
|
When an interface is under test, it cannot be expected
|
||||||
to pass packets as normal.
|
to pass packets as normal.
|
||||||
|
|
||||||
What: /sys/clas/net/<iface>/duplex
|
What: /sys/class/net/<iface>/duplex
|
||||||
Date: October 2009
|
Date: October 2009
|
||||||
KernelVersion: 2.6.33
|
KernelVersion: 2.6.33
|
||||||
Contact: netdev@vger.kernel.org
|
Contact: netdev@vger.kernel.org
|
||||||
|
|
|
@ -66,7 +66,7 @@ Description: Expected format is the following::
|
||||||
The rnbd_server prepends the <device_path> received from client
|
The rnbd_server prepends the <device_path> received from client
|
||||||
with <dev_search_path> and tries to open the
|
with <dev_search_path> and tries to open the
|
||||||
<dev_search_path>/<device_path> block device. On success,
|
<dev_search_path>/<device_path> block device. On success,
|
||||||
a /dev/rnbd<N> device file, a /sys/block/rnbd_client/rnbd<N>/
|
a /dev/rnbd<N> device file, a /sys/block/rnbd<N>/
|
||||||
directory and an entry in /sys/class/rnbd-client/ctl/devices
|
directory and an entry in /sys/class/rnbd-client/ctl/devices
|
||||||
will be created.
|
will be created.
|
||||||
|
|
||||||
|
@ -95,12 +95,12 @@ Description: Expected format is the following::
|
||||||
---------------------------------
|
---------------------------------
|
||||||
|
|
||||||
After mapping, the device file can be found by:
|
After mapping, the device file can be found by:
|
||||||
o The symlink /sys/class/rnbd-client/ctl/devices/<device_id>
|
o The symlink /sys/class/rnbd-client/ctl/devices/<device_id>@<session_name>
|
||||||
points to /sys/block/<dev-name>. The last part of the symlink destination
|
points to /sys/block/<dev-name>. The last part of the symlink destination
|
||||||
is the same as the device name. By extracting the last part of the
|
is the same as the device name. By extracting the last part of the
|
||||||
path the path to the device /dev/<dev-name> can be build.
|
path the path to the device /dev/<dev-name> can be build.
|
||||||
|
|
||||||
* /dev/block/$(cat /sys/class/rnbd-client/ctl/devices/<device_id>/dev)
|
* /dev/block/$(cat /sys/class/rnbd-client/ctl/devices/<device_id>@<session_name>/dev)
|
||||||
|
|
||||||
How to find the <device_id> of the device is described on the next
|
How to find the <device_id> of the device is described on the next
|
||||||
section.
|
section.
|
||||||
|
@ -110,7 +110,7 @@ Date: Feb 2020
|
||||||
KernelVersion: 5.7
|
KernelVersion: 5.7
|
||||||
Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com>
|
Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com>
|
||||||
Description: For each device mapped on the client a new symbolic link is created as
|
Description: For each device mapped on the client a new symbolic link is created as
|
||||||
/sys/class/rnbd-client/ctl/devices/<device_id>, which points
|
/sys/class/rnbd-client/ctl/devices/<device_id>@<session_name>, which points
|
||||||
to the block device created by rnbd (/sys/block/rnbd<N>/).
|
to the block device created by rnbd (/sys/block/rnbd<N>/).
|
||||||
The <device_id> of each device is created as follows:
|
The <device_id> of each device is created as follows:
|
||||||
|
|
||||||
|
|
|
@ -48,3 +48,11 @@ Date: Feb 2020
|
||||||
KernelVersion: 5.7
|
KernelVersion: 5.7
|
||||||
Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com>
|
Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com>
|
||||||
Description: Contains the device access mode: ro, rw or migration.
|
Description: Contains the device access mode: ro, rw or migration.
|
||||||
|
|
||||||
|
What: /sys/class/rnbd-server/ctl/devices/<device_name>/sessions/<session-name>/force_close
|
||||||
|
Date: Nov 2020
|
||||||
|
KernelVersion: 5.10
|
||||||
|
Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com>
|
||||||
|
Description: Write "1" to the file to close the device on server side. Please
|
||||||
|
note that the client side device will not be closed, read or
|
||||||
|
write to the device will get -ENOTCONN.
|
||||||
|
|
|
@ -139,6 +139,49 @@ Description:
|
||||||
Shows if the partner supports USB Power Delivery communication:
|
Shows if the partner supports USB Power Delivery communication:
|
||||||
Valid values: yes, no
|
Valid values: yes, no
|
||||||
|
|
||||||
|
What: /sys/class/typec/<port>-partner/number_of_alternate_modes
|
||||||
|
Date: November 2020
|
||||||
|
Contact: Prashant Malani <pmalani@chromium.org>
|
||||||
|
Description:
|
||||||
|
Shows the number of alternate modes which are advertised by the partner
|
||||||
|
during Power Delivery discovery. This file remains hidden until a value
|
||||||
|
greater than or equal to 0 is set by Type C port driver.
|
||||||
|
|
||||||
|
What: /sys/class/typec/<port>-partner/type
|
||||||
|
Date: December 2020
|
||||||
|
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||||
|
Description: USB Power Delivery Specification defines a set of product types
|
||||||
|
for the partner devices. This file will show the product type of
|
||||||
|
the partner if it is known. Dual-role capable partners will have
|
||||||
|
both UFP and DFP product types defined, but only one that
|
||||||
|
matches the current role will be active at the time. If the
|
||||||
|
product type of the partner is not visible to the device driver,
|
||||||
|
this file will not exist.
|
||||||
|
|
||||||
|
When the partner product type is detected, or changed with role
|
||||||
|
swap, uvevent is also raised that contains PRODUCT_TYPE=<product
|
||||||
|
type> (for example PRODUCT_TYPE=hub).
|
||||||
|
|
||||||
|
Valid values:
|
||||||
|
|
||||||
|
UFP / device role
|
||||||
|
====================== ==========================
|
||||||
|
undefined -
|
||||||
|
hub PDUSB Hub
|
||||||
|
peripheral PDUSB Peripheral
|
||||||
|
psd Power Bank
|
||||||
|
ama Alternate Mode Adapter
|
||||||
|
====================== ==========================
|
||||||
|
|
||||||
|
DFP / host role
|
||||||
|
====================== ==========================
|
||||||
|
undefined -
|
||||||
|
hub PDUSB Hub
|
||||||
|
host PDUSB Host
|
||||||
|
power_brick Power Brick
|
||||||
|
amc Alternate Mode Controller
|
||||||
|
====================== ==========================
|
||||||
|
|
||||||
What: /sys/class/typec/<port>-partner>/identity/
|
What: /sys/class/typec/<port>-partner>/identity/
|
||||||
Date: April 2017
|
Date: April 2017
|
||||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||||
|
@ -151,31 +194,6 @@ Description:
|
||||||
directory exists, it will have an attribute file for every VDO
|
directory exists, it will have an attribute file for every VDO
|
||||||
in Discover Identity command result.
|
in Discover Identity command result.
|
||||||
|
|
||||||
What: /sys/class/typec/<port>-partner/identity/id_header
|
|
||||||
Date: April 2017
|
|
||||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
|
||||||
Description:
|
|
||||||
ID Header VDO part of Discover Identity command result. The
|
|
||||||
value will show 0 until Discover Identity command result becomes
|
|
||||||
available. The value can be polled.
|
|
||||||
|
|
||||||
What: /sys/class/typec/<port>-partner/identity/cert_stat
|
|
||||||
Date: April 2017
|
|
||||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
|
||||||
Description:
|
|
||||||
Cert Stat VDO part of Discover Identity command result. The
|
|
||||||
value will show 0 until Discover Identity command result becomes
|
|
||||||
available. The value can be polled.
|
|
||||||
|
|
||||||
What: /sys/class/typec/<port>-partner/identity/product
|
|
||||||
Date: April 2017
|
|
||||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
|
||||||
Description:
|
|
||||||
Product VDO part of Discover Identity command result. The value
|
|
||||||
will show 0 until Discover Identity command result becomes
|
|
||||||
available. The value can be polled.
|
|
||||||
|
|
||||||
|
|
||||||
USB Type-C cable devices (eg. /sys/class/typec/port0-cable/)
|
USB Type-C cable devices (eg. /sys/class/typec/port0-cable/)
|
||||||
|
|
||||||
Note: Electronically Marked Cables will have a device also for one cable plug
|
Note: Electronically Marked Cables will have a device also for one cable plug
|
||||||
|
@ -187,9 +205,21 @@ described in USB Type-C and USB Power Delivery specifications.
|
||||||
What: /sys/class/typec/<port>-cable/type
|
What: /sys/class/typec/<port>-cable/type
|
||||||
Date: April 2017
|
Date: April 2017
|
||||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||||
Description:
|
Description: USB Power Delivery Specification defines a set of product types
|
||||||
Shows if the cable is active.
|
for the cables. This file will show the product type of the
|
||||||
Valid values: active, passive
|
cable if it is known. If the product type of the cable is not
|
||||||
|
visible to the device driver, this file will not exist.
|
||||||
|
|
||||||
|
When the cable product type is detected, uvevent is also raised
|
||||||
|
with PRODUCT_TYPE showing the product type of the cable.
|
||||||
|
|
||||||
|
Valid values:
|
||||||
|
|
||||||
|
====================== ==========================
|
||||||
|
undefined -
|
||||||
|
active Active Cable
|
||||||
|
passive Passive Cable
|
||||||
|
====================== ==========================
|
||||||
|
|
||||||
What: /sys/class/typec/<port>-cable/plug_type
|
What: /sys/class/typec/<port>-cable/plug_type
|
||||||
Date: April 2017
|
Date: April 2017
|
||||||
|
@ -202,17 +232,37 @@ Description:
|
||||||
- type-c
|
- type-c
|
||||||
- captive
|
- captive
|
||||||
|
|
||||||
What: /sys/class/typec/<port>-cable/identity/
|
What: /sys/class/typec/<port>-<plug>/number_of_alternate_modes
|
||||||
|
Date: November 2020
|
||||||
|
Contact: Prashant Malani <pmalani@chromium.org>
|
||||||
|
Description:
|
||||||
|
Shows the number of alternate modes which are advertised by the plug
|
||||||
|
associated with a particular cable during Power Delivery discovery.
|
||||||
|
This file remains hidden until a value greater than or equal to 0
|
||||||
|
is set by Type C port driver.
|
||||||
|
|
||||||
|
|
||||||
|
USB Type-C partner/cable Power Delivery Identity objects
|
||||||
|
|
||||||
|
NOTE: The following attributes will be applicable to both
|
||||||
|
partner (e.g /sys/class/typec/port0-partner/) and
|
||||||
|
cable (e.g /sys/class/typec/port0-cable/) devices. Consequently, the example file
|
||||||
|
paths below are prefixed with "/sys/class/typec/<port>-{partner|cable}/" to
|
||||||
|
reflect this.
|
||||||
|
|
||||||
|
What: /sys/class/typec/<port>-{partner|cable}/identity/
|
||||||
Date: April 2017
|
Date: April 2017
|
||||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||||
Description:
|
Description:
|
||||||
This directory appears only if the port device driver is capable
|
This directory appears only if the port device driver is capable
|
||||||
of showing the result of Discover Identity USB power delivery
|
of showing the result of Discover Identity USB power delivery
|
||||||
command. That will not always be possible even when USB power
|
command. That will not always be possible even when USB power
|
||||||
delivery is supported. If the directory exists, it will have an
|
delivery is supported, for example when USB power delivery
|
||||||
attribute for every VDO returned by Discover Identity command.
|
communication for the port is mostly handled in firmware. If the
|
||||||
|
directory exists, it will have an attribute file for every VDO
|
||||||
|
in Discover Identity command result.
|
||||||
|
|
||||||
What: /sys/class/typec/<port>-cable/identity/id_header
|
What: /sys/class/typec/<port>-{partner|cable}/identity/id_header
|
||||||
Date: April 2017
|
Date: April 2017
|
||||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||||
Description:
|
Description:
|
||||||
|
@ -220,7 +270,7 @@ Description:
|
||||||
value will show 0 until Discover Identity command result becomes
|
value will show 0 until Discover Identity command result becomes
|
||||||
available. The value can be polled.
|
available. The value can be polled.
|
||||||
|
|
||||||
What: /sys/class/typec/<port>-cable/identity/cert_stat
|
What: /sys/class/typec/<port>-{partner|cable}/identity/cert_stat
|
||||||
Date: April 2017
|
Date: April 2017
|
||||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||||
Description:
|
Description:
|
||||||
|
@ -228,7 +278,7 @@ Description:
|
||||||
value will show 0 until Discover Identity command result becomes
|
value will show 0 until Discover Identity command result becomes
|
||||||
available. The value can be polled.
|
available. The value can be polled.
|
||||||
|
|
||||||
What: /sys/class/typec/<port>-cable/identity/product
|
What: /sys/class/typec/<port>-{partner|cable}/identity/product
|
||||||
Date: April 2017
|
Date: April 2017
|
||||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||||
Description:
|
Description:
|
||||||
|
@ -236,6 +286,30 @@ Description:
|
||||||
will show 0 until Discover Identity command result becomes
|
will show 0 until Discover Identity command result becomes
|
||||||
available. The value can be polled.
|
available. The value can be polled.
|
||||||
|
|
||||||
|
What: /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo1
|
||||||
|
Date: October 2020
|
||||||
|
Contact: Prashant Malani <pmalani@chromium.org>
|
||||||
|
Description:
|
||||||
|
1st Product Type VDO of Discover Identity command result.
|
||||||
|
The value will show 0 until Discover Identity command result becomes
|
||||||
|
available and a valid Product Type VDO is returned.
|
||||||
|
|
||||||
|
What: /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo2
|
||||||
|
Date: October 2020
|
||||||
|
Contact: Prashant Malani <pmalani@chromium.org>
|
||||||
|
Description:
|
||||||
|
2nd Product Type VDO of Discover Identity command result.
|
||||||
|
The value will show 0 until Discover Identity command result becomes
|
||||||
|
available and a valid Product Type VDO is returned.
|
||||||
|
|
||||||
|
What: /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo3
|
||||||
|
Date: October 2020
|
||||||
|
Contact: Prashant Malani <pmalani@chromium.org>
|
||||||
|
Description:
|
||||||
|
3rd Product Type VDO of Discover Identity command result.
|
||||||
|
The value will show 0 until Discover Identity command result becomes
|
||||||
|
available and a valid Product Type VDO is returned.
|
||||||
|
|
||||||
|
|
||||||
USB Type-C port alternate mode devices.
|
USB Type-C port alternate mode devices.
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ Description:
|
||||||
identify removable sections of the memory before attempting
|
identify removable sections of the memory before attempting
|
||||||
potentially expensive hot-remove memory operation
|
potentially expensive hot-remove memory operation
|
||||||
Users: hotplug memory remove tools
|
Users: hotplug memory remove tools
|
||||||
http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils
|
http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils
|
||||||
|
|
||||||
What: /sys/devices/system/memory/memoryX/phys_device
|
What: /sys/devices/system/memory/memoryX/phys_device
|
||||||
Date: September 2008
|
Date: September 2008
|
||||||
|
|
|
@ -264,7 +264,8 @@ Description: Discover CPUs in the same CPU frequency coordination domain
|
||||||
attribute is useful for user space DVFS controllers to get better
|
attribute is useful for user space DVFS controllers to get better
|
||||||
power/performance results for platforms using acpi-cpufreq.
|
power/performance results for platforms using acpi-cpufreq.
|
||||||
|
|
||||||
This file is only present if the acpi-cpufreq driver is in use.
|
This file is only present if the acpi-cpufreq or the cppc-cpufreq
|
||||||
|
drivers are in use.
|
||||||
|
|
||||||
|
|
||||||
What: /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1}
|
What: /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1}
|
||||||
|
|
|
@ -14,7 +14,7 @@ Users: any user space application which wants to communicate with
|
||||||
w1_term device
|
w1_term device
|
||||||
|
|
||||||
|
|
||||||
What: /sys/bus/w1/devices/.../eeprom
|
What: /sys/bus/w1/devices/.../eeprom_cmd
|
||||||
Date: May 2020
|
Date: May 2020
|
||||||
Contact: Akira Shimahara <akira215corp@gmail.com>
|
Contact: Akira Shimahara <akira215corp@gmail.com>
|
||||||
Description:
|
Description:
|
||||||
|
|
35
Documentation/ABI/testing/sysfs-firmware-lefi-boardinfo
Normal file
35
Documentation/ABI/testing/sysfs-firmware-lefi-boardinfo
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
What: /sys/firmware/lefi/boardinfo
|
||||||
|
Date: October 2020
|
||||||
|
Contact: Tiezhu Yang <yangtiezhu@loongson.cn>
|
||||||
|
Description:
|
||||||
|
Get mainboard and BIOS info easily on the Loongson platform,
|
||||||
|
this is useful to point out the current used mainboard type
|
||||||
|
and BIOS version when there exists problems related with
|
||||||
|
hardware or firmware.
|
||||||
|
|
||||||
|
The related structures are already defined in the interface
|
||||||
|
specification about firmware and kernel which are common
|
||||||
|
requirement and specific for Loongson64, so only add a new
|
||||||
|
boardinfo.c file in arch/mips/loongson64.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
[loongson@linux ~]$ cat /sys/firmware/lefi/boardinfo
|
||||||
|
Board Info
|
||||||
|
Manufacturer : LEMOTE
|
||||||
|
Board Name : LEMOTE-LS3A4000-7A1000-1w-V01-pc
|
||||||
|
Family : LOONGSON3
|
||||||
|
|
||||||
|
BIOS Info
|
||||||
|
Vendor : Kunlun
|
||||||
|
Version : Kunlun-A1901-V4.1.3-20200414093938
|
||||||
|
ROM Size : 4 KB
|
||||||
|
Release Date : 2020-04-14
|
||||||
|
|
||||||
|
By the way, using dmidecode command can get the similar info if there
|
||||||
|
exists SMBIOS in firmware, but the fact is that there is no SMBIOS on
|
||||||
|
some machines, we can see nothing when execute dmidecode, like this:
|
||||||
|
|
||||||
|
[root@linux loongson]# dmidecode
|
||||||
|
# dmidecode 2.12
|
||||||
|
# No SMBIOS nor DMI entry point found, sorry.
|
|
@ -1,27 +1,159 @@
|
||||||
What: /sys/firmware/sgi_uv/
|
What: /sys/firmware/sgi_uv/
|
||||||
Date: August 2008
|
Date: September 2020
|
||||||
Contact: Russ Anderson <rja@sgi.com>
|
Contact: Justin Ernst <justin.ernst@hpe.com>
|
||||||
Description:
|
Description:
|
||||||
The /sys/firmware/sgi_uv directory contains information
|
The /sys/firmware/sgi_uv directory contains information
|
||||||
about the SGI UV platform.
|
about the UV platform.
|
||||||
|
|
||||||
Under that directory are a number of files::
|
Under that directory are a number of read-only attributes::
|
||||||
|
|
||||||
|
archtype
|
||||||
|
hub_type
|
||||||
|
hubless
|
||||||
partition_id
|
partition_id
|
||||||
coherence_id
|
coherence_id
|
||||||
|
uv_type
|
||||||
|
|
||||||
|
The archtype entry contains the UV architecture type that
|
||||||
|
is used to select arch-dependent addresses and features.
|
||||||
|
It can be set via the OEM_ID in the ACPI MADT table or by
|
||||||
|
UVsystab entry both passed from UV BIOS.
|
||||||
|
|
||||||
|
The hub_type entry is used to select the type of hub which is
|
||||||
|
similar to uv_type but encoded in a binary format. Include
|
||||||
|
the file uv_hub.h to get the definitions.
|
||||||
|
|
||||||
|
The hubless entry basically is present and set only if there
|
||||||
|
is no hub. In this case the hub_type entry is not present.
|
||||||
|
|
||||||
The partition_id entry contains the partition id.
|
The partition_id entry contains the partition id.
|
||||||
SGI UV systems can be partitioned into multiple physical
|
UV systems can be partitioned into multiple physical
|
||||||
machines, which each partition running a unique copy
|
machines, which each partition running a unique copy
|
||||||
of the operating system. Each partition will have a unique
|
of the operating system. Each partition will have a unique
|
||||||
partition id. To display the partition id, use the command::
|
partition id.
|
||||||
|
|
||||||
cat /sys/firmware/sgi_uv/partition_id
|
|
||||||
|
|
||||||
The coherence_id entry contains the coherence id.
|
The coherence_id entry contains the coherence id.
|
||||||
A partitioned SGI UV system can have one or more coherence
|
A partitioned UV system can have one or more coherence
|
||||||
domain. The coherence id indicates which coherence domain
|
domains. The coherence id indicates which coherence domain
|
||||||
this partition is in. To display the coherence id, use the
|
this partition is in.
|
||||||
command::
|
|
||||||
|
|
||||||
cat /sys/firmware/sgi_uv/coherence_id
|
The uv_type entry contains the hub revision number.
|
||||||
|
This value can be used to identify the UV system version::
|
||||||
|
"0.*" = Hubless UV ('*' is subtype)
|
||||||
|
|
||||||
|
"3.0" = UV2
|
||||||
|
"5.0" = UV3
|
||||||
|
"7.0" = UV4
|
||||||
|
"7.1" = UV4a
|
||||||
|
"9.0" = UV5
|
||||||
|
|
||||||
|
The /sys/firmware/sgi_uv directory also contains two directories::
|
||||||
|
|
||||||
|
hubs/
|
||||||
|
pcibuses/
|
||||||
|
|
||||||
|
The hubs directory contains a number of hub objects, each representing
|
||||||
|
a UV Hub visible to the BIOS. Each hub object's name is appended by a
|
||||||
|
unique ordinal value (ex. /sys/firmware/sgi_uv/hubs/hub_5)
|
||||||
|
|
||||||
|
Each hub object directory contains a number of read-only attributes::
|
||||||
|
|
||||||
|
cnode
|
||||||
|
location
|
||||||
|
name
|
||||||
|
nasid
|
||||||
|
shared
|
||||||
|
this_partition
|
||||||
|
|
||||||
|
The cnode entry contains the cnode number of the corresponding hub.
|
||||||
|
If a cnode value is not applicable, the value returned will be -1.
|
||||||
|
|
||||||
|
The location entry contains the location string of the corresponding hub.
|
||||||
|
This value is used to physically identify a hub within a system.
|
||||||
|
|
||||||
|
The name entry contains the name of the corresponding hub. This name can
|
||||||
|
be two variants::
|
||||||
|
|
||||||
|
"UVHub x.x" = A 'node' ASIC, connecting a CPU to the interconnect
|
||||||
|
fabric. The 'x.x' value represents the ASIC revision.
|
||||||
|
(ex. 'UVHub 5.0')
|
||||||
|
|
||||||
|
"NLxRouter" = A 'router ASIC, only connecting other ASICs to
|
||||||
|
the interconnect fabric. The 'x' value representing
|
||||||
|
the fabric technology version. (ex. 'NL8Router')
|
||||||
|
|
||||||
|
The nasid entry contains the nasid number of the corresponding hub.
|
||||||
|
If a nasid value is not applicable, the value returned will be -1.
|
||||||
|
|
||||||
|
The shared entry contains a boolean value describing whether the
|
||||||
|
corresponding hub is shared between system partitions.
|
||||||
|
|
||||||
|
The this_partition entry contains a boolean value describing whether
|
||||||
|
the corresponding hub is local to the current partition.
|
||||||
|
|
||||||
|
Each hub object directory also contains a number of port objects,
|
||||||
|
each representing a fabric port on the corresponding hub.
|
||||||
|
A port object's name is appended by a unique ordinal value
|
||||||
|
(ex. /sys/firmware/sgi_uv/hubs/hub_5/port_3)
|
||||||
|
|
||||||
|
Each port object directory contains a number of read-only attributes::
|
||||||
|
|
||||||
|
conn_hub
|
||||||
|
conn_port
|
||||||
|
|
||||||
|
The conn_hub entry contains a value representing the unique
|
||||||
|
oridinal value of the hub on the other end of the fabric
|
||||||
|
cable plugged into the port. If the port is disconnected,
|
||||||
|
the value returned will be -1.
|
||||||
|
|
||||||
|
The conn_port entry contains a value representing the unique
|
||||||
|
oridinal value of the port on the other end of the fabric cable
|
||||||
|
plugged into the port. If the port is disconnected, the value
|
||||||
|
returned will be -1.
|
||||||
|
|
||||||
|
Ex:
|
||||||
|
A value of '3' is read from:
|
||||||
|
/sys/firmware/sgi_uv/hubs/hub_5/port_3/conn_hub
|
||||||
|
|
||||||
|
and a value of '6' is read from:
|
||||||
|
/sys/firmware/sgi_uv/hubs/hub_5/port_3/conn_port
|
||||||
|
|
||||||
|
representing that this port is connected to:
|
||||||
|
/sys/firmware/sgi_uv/hubs/hub_3/port_6
|
||||||
|
|
||||||
|
The pcibuses directory contains a number of PCI bus objects.
|
||||||
|
Each PCI bus object's name is appended by its PCI bus address.
|
||||||
|
(ex. pcibus_0003:80)
|
||||||
|
|
||||||
|
Each pcibus object has a number of possible read-only attributes::
|
||||||
|
|
||||||
|
type
|
||||||
|
location
|
||||||
|
slot
|
||||||
|
ppb_addr
|
||||||
|
iio_stack
|
||||||
|
|
||||||
|
The type entry contains a value describing the type of IO at
|
||||||
|
the corresponding PCI bus address. Known possible values
|
||||||
|
across all UV versions are::
|
||||||
|
|
||||||
|
BASE IO
|
||||||
|
PCIe IO
|
||||||
|
PCIe SLOT
|
||||||
|
NODE IO
|
||||||
|
Riser
|
||||||
|
PPB
|
||||||
|
|
||||||
|
The location entry contains the location string of the UV Hub
|
||||||
|
of the CPU physically connected to the corresponding PCI bus.
|
||||||
|
|
||||||
|
The slot entry contains the physical slot number of the
|
||||||
|
corresponding PCI bus. This value is used to physically locate
|
||||||
|
PCI cards within a system.
|
||||||
|
|
||||||
|
The ppb_addr entry contains the PCI address string of the
|
||||||
|
bridged PCI bus. This entry is only present when the PCI bus
|
||||||
|
object type is 'PPB'.
|
||||||
|
|
||||||
|
The iio_stack entry contains a value describing the IIO stack
|
||||||
|
number that the corresponding PCI bus object is connected to.
|
||||||
|
|
|
@ -33,7 +33,7 @@ What: /sys/fs/ext4/<disk>/mb_order2_req
|
||||||
Date: March 2008
|
Date: March 2008
|
||||||
Contact: "Theodore Ts'o" <tytso@mit.edu>
|
Contact: "Theodore Ts'o" <tytso@mit.edu>
|
||||||
Description:
|
Description:
|
||||||
Tuning parameter which controls the minimum size for
|
Tuning parameter which controls the minimum size for
|
||||||
requests (as a power of 2) where the buddy cache is
|
requests (as a power of 2) where the buddy cache is
|
||||||
used
|
used
|
||||||
|
|
||||||
|
|
|
@ -370,3 +370,10 @@ Date: April 2020
|
||||||
Contact: "Daeho Jeong" <daehojeong@google.com>
|
Contact: "Daeho Jeong" <daehojeong@google.com>
|
||||||
Description: Give a way to change iostat_period time. 3secs by default.
|
Description: Give a way to change iostat_period time. 3secs by default.
|
||||||
The new iostat trace gives stats gap given the period.
|
The new iostat trace gives stats gap given the period.
|
||||||
|
What: /sys/fs/f2fs/<disk>/max_io_bytes
|
||||||
|
Date: December 2020
|
||||||
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
||||||
|
Description: This gives a control to limit the bio size in f2fs.
|
||||||
|
Default is zero, which will follow underlying block layer limit,
|
||||||
|
whereas, if it has a certain bytes value, f2fs won't submit a
|
||||||
|
bio larger than that size.
|
||||||
|
|
|
@ -15,3 +15,11 @@ Description:
|
||||||
information with description of all internal kernel types. See
|
information with description of all internal kernel types. See
|
||||||
Documentation/bpf/btf.rst for detailed description of format
|
Documentation/bpf/btf.rst for detailed description of format
|
||||||
itself.
|
itself.
|
||||||
|
|
||||||
|
What: /sys/kernel/btf/<module-name>
|
||||||
|
Date: Nov 2020
|
||||||
|
KernelVersion: 5.11
|
||||||
|
Contact: bpf@vger.kernel.org
|
||||||
|
Description:
|
||||||
|
Read-only binary attribute exposing kernel module's BTF type
|
||||||
|
information as an add-on to the kernel's BTF (/sys/kernel/btf/vmlinux).
|
||||||
|
|
|
@ -33,3 +33,33 @@ Description: In case an RMRR is used only by graphics or USB devices
|
||||||
it is now exposed as "direct-relaxable" instead of "direct".
|
it is now exposed as "direct-relaxable" instead of "direct".
|
||||||
In device assignment use case, for instance, those RMRR
|
In device assignment use case, for instance, those RMRR
|
||||||
are considered to be relaxable and safe.
|
are considered to be relaxable and safe.
|
||||||
|
|
||||||
|
What: /sys/kernel/iommu_groups/<grp_id>/type
|
||||||
|
Date: November 2020
|
||||||
|
KernelVersion: v5.11
|
||||||
|
Contact: Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>
|
||||||
|
Description: /sys/kernel/iommu_groups/<grp_id>/type shows the type of default
|
||||||
|
domain in use by iommu for this group. See include/linux/iommu.h
|
||||||
|
for possible read values. A privileged user could request kernel to
|
||||||
|
change the group type by writing to this file. Valid write values:
|
||||||
|
|
||||||
|
======== ======================================================
|
||||||
|
DMA All the DMA transactions from the device in this group
|
||||||
|
are translated by the iommu.
|
||||||
|
identity All the DMA transactions from the device in this group
|
||||||
|
are not translated by the iommu.
|
||||||
|
auto Change to the type the device was booted with.
|
||||||
|
======== ======================================================
|
||||||
|
|
||||||
|
The default domain type of a group may be modified only when
|
||||||
|
|
||||||
|
- The group has only one device.
|
||||||
|
- The device in the group is not bound to any device driver.
|
||||||
|
So, the users must unbind the appropriate driver before
|
||||||
|
changing the default domain type.
|
||||||
|
|
||||||
|
Unbinding a device driver will take away the driver's control
|
||||||
|
over the device and if done on devices that host root file
|
||||||
|
system could lead to catastrophic effects (the users might
|
||||||
|
need to reboot the machine to get it to normal state). So, it's
|
||||||
|
expected that the users understand what they're doing.
|
||||||
|
|
32
Documentation/ABI/testing/sysfs-kernel-reboot
Normal file
32
Documentation/ABI/testing/sysfs-kernel-reboot
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
What: /sys/kernel/reboot
|
||||||
|
Date: November 2020
|
||||||
|
KernelVersion: 5.11
|
||||||
|
Contact: Matteo Croce <mcroce@microsoft.com>
|
||||||
|
Description: Interface to set the kernel reboot behavior, similarly to
|
||||||
|
what can be done via the reboot= cmdline option.
|
||||||
|
(see Documentation/admin-guide/kernel-parameters.txt)
|
||||||
|
|
||||||
|
What: /sys/kernel/reboot/mode
|
||||||
|
Date: November 2020
|
||||||
|
KernelVersion: 5.11
|
||||||
|
Contact: Matteo Croce <mcroce@microsoft.com>
|
||||||
|
Description: Reboot mode. Valid values are: cold warm hard soft gpio
|
||||||
|
|
||||||
|
What: /sys/kernel/reboot/type
|
||||||
|
Date: November 2020
|
||||||
|
KernelVersion: 5.11
|
||||||
|
Contact: Matteo Croce <mcroce@microsoft.com>
|
||||||
|
Description: Reboot type. Valid values are: bios acpi kbd triple efi pci
|
||||||
|
|
||||||
|
What: /sys/kernel/reboot/cpu
|
||||||
|
Date: November 2020
|
||||||
|
KernelVersion: 5.11
|
||||||
|
Contact: Matteo Croce <mcroce@microsoft.com>
|
||||||
|
Description: CPU number to use to reboot.
|
||||||
|
|
||||||
|
What: /sys/kernel/reboot/force
|
||||||
|
Date: November 2020
|
||||||
|
KernelVersion: 5.11
|
||||||
|
Contact: Matteo Croce <mcroce@microsoft.com>
|
||||||
|
Description: Don't wait for any other CPUs on reboot and
|
||||||
|
avoid anything that could hang.
|
|
@ -25,7 +25,7 @@ Description: Maximum time allowed for periodic transfers per microframe (μs)
|
||||||
However there are cases, when 80% max isochronous bandwidth is
|
However there are cases, when 80% max isochronous bandwidth is
|
||||||
too limiting. For example two video streams could require 110
|
too limiting. For example two video streams could require 110
|
||||||
microseconds of isochronous bandwidth per microframe to work
|
microseconds of isochronous bandwidth per microframe to work
|
||||||
together.
|
together.
|
||||||
|
|
||||||
Through this setting it is possible to raise the limit so that
|
Through this setting it is possible to raise the limit so that
|
||||||
the host controller would allow allocating more than 100
|
the host controller would allow allocating more than 100
|
||||||
|
|
|
@ -12,6 +12,6 @@ Description:
|
||||||
- "peripheral" - switching mode from host to peripheral.
|
- "peripheral" - switching mode from host to peripheral.
|
||||||
|
|
||||||
Read the file, then it shows the following strings:
|
Read the file, then it shows the following strings:
|
||||||
|
|
||||||
- "host" - The mode is host now.
|
- "host" - The mode is host now.
|
||||||
- "peripheral" - The mode is peripheral now.
|
- "peripheral" - The mode is peripheral now.
|
||||||
|
|
|
@ -26,6 +26,10 @@ BUILDDIR = $(obj)/output
|
||||||
PDFLATEX = xelatex
|
PDFLATEX = xelatex
|
||||||
LATEXOPTS = -interaction=batchmode
|
LATEXOPTS = -interaction=batchmode
|
||||||
|
|
||||||
|
ifeq ($(KBUILD_VERBOSE),0)
|
||||||
|
SPHINXOPTS += "-q"
|
||||||
|
endif
|
||||||
|
|
||||||
# User-friendly check for sphinx-build
|
# User-friendly check for sphinx-build
|
||||||
HAVE_SPHINX := $(shell if which $(SPHINXBUILD) >/dev/null 2>&1; then echo 1; else echo 0; fi)
|
HAVE_SPHINX := $(shell if which $(SPHINXBUILD) >/dev/null 2>&1; then echo 1; else echo 0; fi)
|
||||||
|
|
||||||
|
|
|
@ -1929,16 +1929,46 @@ The Linux-kernel CPU-hotplug implementation has notifiers that are used
|
||||||
to allow the various kernel subsystems (including RCU) to respond
|
to allow the various kernel subsystems (including RCU) to respond
|
||||||
appropriately to a given CPU-hotplug operation. Most RCU operations may
|
appropriately to a given CPU-hotplug operation. Most RCU operations may
|
||||||
be invoked from CPU-hotplug notifiers, including even synchronous
|
be invoked from CPU-hotplug notifiers, including even synchronous
|
||||||
grace-period operations such as ``synchronize_rcu()`` and
|
grace-period operations such as (``synchronize_rcu()`` and
|
||||||
``synchronize_rcu_expedited()``.
|
``synchronize_rcu_expedited()``). However, these synchronous operations
|
||||||
|
do block and therefore cannot be invoked from notifiers that execute via
|
||||||
|
``stop_machine()``, specifically those between the ``CPUHP_AP_OFFLINE``
|
||||||
|
and ``CPUHP_AP_ONLINE`` states.
|
||||||
|
|
||||||
However, all-callback-wait operations such as ``rcu_barrier()`` are also
|
In addition, all-callback-wait operations such as ``rcu_barrier()`` may
|
||||||
not supported, due to the fact that there are phases of CPU-hotplug
|
not be invoked from any CPU-hotplug notifier. This restriction is due
|
||||||
operations where the outgoing CPU's callbacks will not be invoked until
|
to the fact that there are phases of CPU-hotplug operations where the
|
||||||
after the CPU-hotplug operation ends, which could also result in
|
outgoing CPU's callbacks will not be invoked until after the CPU-hotplug
|
||||||
deadlock. Furthermore, ``rcu_barrier()`` blocks CPU-hotplug operations
|
operation ends, which could also result in deadlock. Furthermore,
|
||||||
during its execution, which results in another type of deadlock when
|
``rcu_barrier()`` blocks CPU-hotplug operations during its execution,
|
||||||
invoked from a CPU-hotplug notifier.
|
which results in another type of deadlock when invoked from a CPU-hotplug
|
||||||
|
notifier.
|
||||||
|
|
||||||
|
Finally, RCU must avoid deadlocks due to interaction between hotplug,
|
||||||
|
timers and grace period processing. It does so by maintaining its own set
|
||||||
|
of books that duplicate the centrally maintained ``cpu_online_mask``,
|
||||||
|
and also by reporting quiescent states explicitly when a CPU goes
|
||||||
|
offline. This explicit reporting of quiescent states avoids any need
|
||||||
|
for the force-quiescent-state loop (FQS) to report quiescent states for
|
||||||
|
offline CPUs. However, as a debugging measure, the FQS loop does splat
|
||||||
|
if offline CPUs block an RCU grace period for too long.
|
||||||
|
|
||||||
|
An offline CPU's quiescent state will be reported either:
|
||||||
|
|
||||||
|
1. As the CPU goes offline using RCU's hotplug notifier (``rcu_report_dead()``).
|
||||||
|
2. When grace period initialization (``rcu_gp_init()``) detects a
|
||||||
|
race either with CPU offlining or with a task unblocking on a leaf
|
||||||
|
``rcu_node`` structure whose CPUs are all offline.
|
||||||
|
|
||||||
|
The CPU-online path (``rcu_cpu_starting()``) should never need to report
|
||||||
|
a quiescent state for an offline CPU. However, as a debugging measure,
|
||||||
|
it does emit a warning if a quiescent state was not already reported
|
||||||
|
for that CPU.
|
||||||
|
|
||||||
|
During the checking/modification of RCU's hotplug bookkeeping, the
|
||||||
|
corresponding CPU's leaf node lock is held. This avoids race conditions
|
||||||
|
between RCU's hotplug notifier hooks, the grace period initialization
|
||||||
|
code, and the FQS loop, all of which refer to or modify this bookkeeping.
|
||||||
|
|
||||||
Scheduler and RCU
|
Scheduler and RCU
|
||||||
~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~
|
||||||
|
|
|
@ -314,6 +314,13 @@ over a rather long period of time, but improvements are always welcome!
|
||||||
shared between readers and updaters. Additional primitives
|
shared between readers and updaters. Additional primitives
|
||||||
are provided for this case, as discussed in lockdep.txt.
|
are provided for this case, as discussed in lockdep.txt.
|
||||||
|
|
||||||
|
One exception to this rule is when data is only ever added to
|
||||||
|
the linked data structure, and is never removed during any
|
||||||
|
time that readers might be accessing that structure. In such
|
||||||
|
cases, READ_ONCE() may be used in place of rcu_dereference()
|
||||||
|
and the read-side markers (rcu_read_lock() and rcu_read_unlock(),
|
||||||
|
for example) may be omitted.
|
||||||
|
|
||||||
10. Conversely, if you are in an RCU read-side critical section,
|
10. Conversely, if you are in an RCU read-side critical section,
|
||||||
and you don't hold the appropriate update-side lock, you -must-
|
and you don't hold the appropriate update-side lock, you -must-
|
||||||
use the "_rcu()" variants of the list macros. Failing to do so
|
use the "_rcu()" variants of the list macros. Failing to do so
|
||||||
|
|
|
@ -28,6 +28,12 @@ Follow these rules to keep your RCU code working properly:
|
||||||
for an example where the compiler can in fact deduce the exact
|
for an example where the compiler can in fact deduce the exact
|
||||||
value of the pointer, and thus cause misordering.
|
value of the pointer, and thus cause misordering.
|
||||||
|
|
||||||
|
- In the special case where data is added but is never removed
|
||||||
|
while readers are accessing the structure, READ_ONCE() may be used
|
||||||
|
instead of rcu_dereference(). In this case, use of READ_ONCE()
|
||||||
|
takes on the role of the lockless_dereference() primitive that
|
||||||
|
was removed in v4.15.
|
||||||
|
|
||||||
- You are only permitted to use rcu_dereference on pointer values.
|
- You are only permitted to use rcu_dereference on pointer values.
|
||||||
The compiler simply knows too much about integral values to
|
The compiler simply knows too much about integral values to
|
||||||
trust it to carry dependencies through integer operations.
|
trust it to carry dependencies through integer operations.
|
||||||
|
|
|
@ -497,8 +497,7 @@ long -- there might be other high-priority work to be done.
|
||||||
In such cases, one uses call_rcu() rather than synchronize_rcu().
|
In such cases, one uses call_rcu() rather than synchronize_rcu().
|
||||||
The call_rcu() API is as follows::
|
The call_rcu() API is as follows::
|
||||||
|
|
||||||
void call_rcu(struct rcu_head * head,
|
void call_rcu(struct rcu_head *head, rcu_callback_t func);
|
||||||
void (*func)(struct rcu_head *head));
|
|
||||||
|
|
||||||
This function invokes func(head) after a grace period has elapsed.
|
This function invokes func(head) after a grace period has elapsed.
|
||||||
This invocation might happen from either softirq or process context,
|
This invocation might happen from either softirq or process context,
|
||||||
|
|
|
@ -107,7 +107,7 @@ for a UID/GID will prevent that UID/GID from obtaining auxiliary setid
|
||||||
privileges, such as allowing a user to set up user namespace UID/GID mappings.
|
privileges, such as allowing a user to set up user namespace UID/GID mappings.
|
||||||
|
|
||||||
Note on GID policies and setgroups()
|
Note on GID policies and setgroups()
|
||||||
==================
|
====================================
|
||||||
In v5.9 we are adding support for limiting CAP_SETGID privileges as was done
|
In v5.9 we are adding support for limiting CAP_SETGID privileges as was done
|
||||||
previously for CAP_SETUID. However, for compatibility with common sandboxing
|
previously for CAP_SETUID. However, for compatibility with common sandboxing
|
||||||
related code conventions in userspace, we currently allow arbitrary
|
related code conventions in userspace, we currently allow arbitrary
|
||||||
|
|
|
@ -398,8 +398,8 @@ If something goes wrong
|
||||||
|
|
||||||
If you for some reason cannot do the above (you have a pre-compiled
|
If you for some reason cannot do the above (you have a pre-compiled
|
||||||
kernel image or similar), telling me as much about your setup as
|
kernel image or similar), telling me as much about your setup as
|
||||||
possible will help. Please read the :ref:`admin-guide/reporting-bugs.rst <reportingbugs>`
|
possible will help. Please read
|
||||||
document for details.
|
'Documentation/admin-guide/reporting-issues.rst' for details.
|
||||||
|
|
||||||
- Alternatively, you can use gdb on a running kernel. (read-only; i.e. you
|
- Alternatively, you can use gdb on a running kernel. (read-only; i.e. you
|
||||||
cannot change values or set break points.) To do this, first compile the
|
cannot change values or set break points.) To do this, first compile the
|
||||||
|
|
|
@ -8,7 +8,7 @@ CPPC
|
||||||
====
|
====
|
||||||
|
|
||||||
CPPC defined in the ACPI spec describes a mechanism for the OS to manage the
|
CPPC defined in the ACPI spec describes a mechanism for the OS to manage the
|
||||||
performance of a logical processor on a contigious and abstract performance
|
performance of a logical processor on a contiguous and abstract performance
|
||||||
scale. CPPC exposes a set of registers to describe abstract performance scale,
|
scale. CPPC exposes a set of registers to describe abstract performance scale,
|
||||||
to request performance levels and to measure per-cpu delivered performance.
|
to request performance levels and to measure per-cpu delivered performance.
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ for each cpu X::
|
||||||
* lowest_freq : CPU frequency corresponding to lowest_perf (in MHz).
|
* lowest_freq : CPU frequency corresponding to lowest_perf (in MHz).
|
||||||
* nominal_freq : CPU frequency corresponding to nominal_perf (in MHz).
|
* nominal_freq : CPU frequency corresponding to nominal_perf (in MHz).
|
||||||
The above frequencies should only be used to report processor performance in
|
The above frequencies should only be used to report processor performance in
|
||||||
freqency instead of abstract scale. These values should not be used for any
|
frequency instead of abstract scale. These values should not be used for any
|
||||||
functional decisions.
|
functional decisions.
|
||||||
|
|
||||||
* feedback_ctrs : Includes both Reference and delivered performance counter.
|
* feedback_ctrs : Includes both Reference and delivered performance counter.
|
||||||
|
|
|
@ -70,5 +70,5 @@ Deleting binder Devices
|
||||||
Binderfs binder devices can be deleted via `unlink() <unlink_>`_. This means
|
Binderfs binder devices can be deleted via `unlink() <unlink_>`_. This means
|
||||||
that the `rm() <rm_>`_ tool can be used to delete them. Note that the
|
that the `rm() <rm_>`_ tool can be used to delete them. Note that the
|
||||||
``binder-control`` device cannot be deleted since this would make the binderfs
|
``binder-control`` device cannot be deleted since this would make the binderfs
|
||||||
instance unuseable. The ``binder-control`` device will be deleted when the
|
instance unusable. The ``binder-control`` device will be deleted when the
|
||||||
binderfs instance is unmounted and all references to it have been dropped.
|
binderfs instance is unmounted and all references to it have been dropped.
|
||||||
|
|
|
@ -220,7 +220,7 @@ example::
|
||||||
Finally, you can load high-level drivers for each kind of device that
|
Finally, you can load high-level drivers for each kind of device that
|
||||||
you have connected. By default, each driver will autoprobe for a single
|
you have connected. By default, each driver will autoprobe for a single
|
||||||
device, but you can support up to four similar devices by giving their
|
device, but you can support up to four similar devices by giving their
|
||||||
individual co-ordinates when you load the driver.
|
individual coordinates when you load the driver.
|
||||||
|
|
||||||
For example, if you had two no-name CD-ROM drives both using the
|
For example, if you had two no-name CD-ROM drives both using the
|
||||||
KingByte KBIC-951A adapter, one on port 0x378 and the other on 0x3bc
|
KingByte KBIC-951A adapter, one on port 0x378 and the other on 0x3bc
|
||||||
|
|
|
@ -266,6 +266,7 @@ line of text and contains the following stats separated by whitespace:
|
||||||
No memory is allocated for such pages.
|
No memory is allocated for such pages.
|
||||||
pages_compacted the number of pages freed during compaction
|
pages_compacted the number of pages freed during compaction
|
||||||
huge_pages the number of incompressible pages
|
huge_pages the number of incompressible pages
|
||||||
|
huge_pages_since the number of incompressible pages since zram set up
|
||||||
================ =============================================================
|
================ =============================================================
|
||||||
|
|
||||||
File /sys/block/zram<id>/bd_stat
|
File /sys/block/zram<id>/bd_stat
|
||||||
|
@ -334,6 +335,11 @@ Admin can request writeback of those idle pages at right timing via::
|
||||||
|
|
||||||
With the command, zram writeback idle pages from memory to the storage.
|
With the command, zram writeback idle pages from memory to the storage.
|
||||||
|
|
||||||
|
If admin want to write a specific page in zram device to backing device,
|
||||||
|
they could write a page index into the interface.
|
||||||
|
|
||||||
|
echo "page_index=1251" > /sys/block/zramX/writeback
|
||||||
|
|
||||||
If there are lots of write IO with flash device, potentially, it has
|
If there are lots of write IO with flash device, potentially, it has
|
||||||
flash wearout problem so that admin needs to design write limitation
|
flash wearout problem so that admin needs to design write limitation
|
||||||
to guarantee storage health for entire product life.
|
to guarantee storage health for entire product life.
|
||||||
|
@ -360,7 +366,7 @@ like below::
|
||||||
/sys/block/zram0/writeback_limit.
|
/sys/block/zram0/writeback_limit.
|
||||||
$ echo 1 > /sys/block/zram0/writeback_limit_enable
|
$ echo 1 > /sys/block/zram0/writeback_limit_enable
|
||||||
|
|
||||||
If admins want to allow further write again once the bugdet is exhausted,
|
If admins want to allow further write again once the budget is exhausted,
|
||||||
he could do it like below::
|
he could do it like below::
|
||||||
|
|
||||||
$ echo $((400<<MB_SHIFT>>4K_SHIFT)) > \
|
$ echo $((400<<MB_SHIFT>>4K_SHIFT)) > \
|
||||||
|
|
|
@ -137,15 +137,24 @@ Boot Kernel With a Boot Config
|
||||||
==============================
|
==============================
|
||||||
|
|
||||||
Since the boot configuration file is loaded with initrd, it will be added
|
Since the boot configuration file is loaded with initrd, it will be added
|
||||||
to the end of the initrd (initramfs) image file with size, checksum and
|
to the end of the initrd (initramfs) image file with padding, size,
|
||||||
12-byte magic word as below.
|
checksum and 12-byte magic word as below.
|
||||||
|
|
||||||
[initrd][bootconfig][size(u32)][checksum(u32)][#BOOTCONFIG\n]
|
[initrd][bootconfig][padding][size(le32)][checksum(le32)][#BOOTCONFIG\n]
|
||||||
|
|
||||||
|
The size and checksum fields are unsigned 32bit little endian value.
|
||||||
|
|
||||||
|
When the boot configuration is added to the initrd image, the total
|
||||||
|
file size is aligned to 4 bytes. To fill the gap, null characters
|
||||||
|
(``\0``) will be added. Thus the ``size`` is the length of the bootconfig
|
||||||
|
file + padding bytes.
|
||||||
|
|
||||||
The Linux kernel decodes the last part of the initrd image in memory to
|
The Linux kernel decodes the last part of the initrd image in memory to
|
||||||
get the boot configuration data.
|
get the boot configuration data.
|
||||||
Because of this "piggyback" method, there is no need to change or
|
Because of this "piggyback" method, there is no need to change or
|
||||||
update the boot loader and the kernel image itself.
|
update the boot loader and the kernel image itself as long as the boot
|
||||||
|
loader passes the correct initrd file size. If by any chance, the boot
|
||||||
|
loader passes a longer size, the kernel feils to find the bootconfig data.
|
||||||
|
|
||||||
To do this operation, Linux kernel provides "bootconfig" command under
|
To do this operation, Linux kernel provides "bootconfig" command under
|
||||||
tools/bootconfig, which allows admin to apply or delete the config file
|
tools/bootconfig, which allows admin to apply or delete the config file
|
||||||
|
@ -176,7 +185,8 @@ up to 512 key-value pairs. If keys contains 3 words in average, it can
|
||||||
contain 256 key-value pairs. In most cases, the number of config items
|
contain 256 key-value pairs. In most cases, the number of config items
|
||||||
will be under 100 entries and smaller than 8KB, so it would be enough.
|
will be under 100 entries and smaller than 8KB, so it would be enough.
|
||||||
If the node number exceeds 1024, parser returns an error even if the file
|
If the node number exceeds 1024, parser returns an error even if the file
|
||||||
size is smaller than 32KB.
|
size is smaller than 32KB. (Note that this maximum size is not including
|
||||||
|
the padding null characters.)
|
||||||
Anyway, since bootconfig command verifies it when appending a boot config
|
Anyway, since bootconfig command verifies it when appending a boot config
|
||||||
to initrd image, user can notice it before boot.
|
to initrd image, user can notice it before boot.
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ give up. Report as much as you have found to the relevant maintainer. See
|
||||||
MAINTAINERS for who that is for the subsystem you have worked on.
|
MAINTAINERS for who that is for the subsystem you have worked on.
|
||||||
|
|
||||||
Before you submit a bug report read
|
Before you submit a bug report read
|
||||||
:ref:`Documentation/admin-guide/reporting-bugs.rst <reportingbugs>`.
|
'Documentation/admin-guide/reporting-issues.rst'.
|
||||||
|
|
||||||
Devices not appearing
|
Devices not appearing
|
||||||
=====================
|
=====================
|
||||||
|
|
|
@ -263,7 +263,7 @@ Please notice that it will point to:
|
||||||
|
|
||||||
- The last developers that touched the source code (if this is done inside
|
- The last developers that touched the source code (if this is done inside
|
||||||
a git tree). On the above example, Tejun and Bhaktipriya (in this
|
a git tree). On the above example, Tejun and Bhaktipriya (in this
|
||||||
specific case, none really envolved on the development of this file);
|
specific case, none really involved on the development of this file);
|
||||||
- The driver maintainer (Hans Verkuil);
|
- The driver maintainer (Hans Verkuil);
|
||||||
- The subsystem maintainer (Mauro Carvalho Chehab);
|
- The subsystem maintainer (Mauro Carvalho Chehab);
|
||||||
- The driver and/or subsystem mailing list (linux-media@vger.kernel.org);
|
- The driver and/or subsystem mailing list (linux-media@vger.kernel.org);
|
||||||
|
|
|
@ -133,18 +133,9 @@ Under below explanation, we assume CONFIG_MEM_RES_CTRL_SWAP=y.
|
||||||
|
|
||||||
8. LRU
|
8. LRU
|
||||||
======
|
======
|
||||||
Each memcg has its own private LRU. Now, its handling is under global
|
Each memcg has its own vector of LRUs (inactive anon, active anon,
|
||||||
VM's control (means that it's handled under global pgdat->lru_lock).
|
inactive file, active file, unevictable) of pages from each node,
|
||||||
Almost all routines around memcg's LRU is called by global LRU's
|
each LRU handled under a single lru_lock for that memcg and node.
|
||||||
list management functions under pgdat->lru_lock.
|
|
||||||
|
|
||||||
A special function is mem_cgroup_isolate_pages(). This scans
|
|
||||||
memcg's private LRU and call __isolate_lru_page() to extract a page
|
|
||||||
from LRU.
|
|
||||||
|
|
||||||
(By __isolate_lru_page(), the page is removed from both of global and
|
|
||||||
private LRU.)
|
|
||||||
|
|
||||||
|
|
||||||
9. Typical Tests.
|
9. Typical Tests.
|
||||||
=================
|
=================
|
||||||
|
@ -219,13 +210,11 @@ Under below explanation, we assume CONFIG_MEM_RES_CTRL_SWAP=y.
|
||||||
|
|
||||||
This is an easy way to test page migration, too.
|
This is an easy way to test page migration, too.
|
||||||
|
|
||||||
9.5 mkdir/rmdir
|
9.5 nested cgroups
|
||||||
---------------
|
------------------
|
||||||
|
|
||||||
When using hierarchy, mkdir/rmdir test should be done.
|
Use tests like the following for testing nested cgroups::
|
||||||
Use tests like the following::
|
|
||||||
|
|
||||||
echo 1 >/opt/cgroup/01/memory/use_hierarchy
|
|
||||||
mkdir /opt/cgroup/01/child_a
|
mkdir /opt/cgroup/01/child_a
|
||||||
mkdir /opt/cgroup/01/child_b
|
mkdir /opt/cgroup/01/child_b
|
||||||
|
|
||||||
|
|
|
@ -77,6 +77,8 @@ Brief summary of control files.
|
||||||
memory.soft_limit_in_bytes set/show soft limit of memory usage
|
memory.soft_limit_in_bytes set/show soft limit of memory usage
|
||||||
memory.stat show various statistics
|
memory.stat show various statistics
|
||||||
memory.use_hierarchy set/show hierarchical account enabled
|
memory.use_hierarchy set/show hierarchical account enabled
|
||||||
|
This knob is deprecated and shouldn't be
|
||||||
|
used.
|
||||||
memory.force_empty trigger forced page reclaim
|
memory.force_empty trigger forced page reclaim
|
||||||
memory.pressure_level set memory pressure notifications
|
memory.pressure_level set memory pressure notifications
|
||||||
memory.swappiness set/show swappiness parameter of vmscan
|
memory.swappiness set/show swappiness parameter of vmscan
|
||||||
|
@ -285,20 +287,17 @@ When oom event notifier is registered, event will be delivered.
|
||||||
2.6 Locking
|
2.6 Locking
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
lock_page_cgroup()/unlock_page_cgroup() should not be called under
|
Lock order is as follows:
|
||||||
the i_pages lock.
|
|
||||||
|
|
||||||
Other lock order is following:
|
Page lock (PG_locked bit of page->flags)
|
||||||
|
mm->page_table_lock or split pte_lock
|
||||||
|
lock_page_memcg (memcg->move_lock)
|
||||||
|
mapping->i_pages lock
|
||||||
|
lruvec->lru_lock.
|
||||||
|
|
||||||
PG_locked.
|
Per-node-per-memcgroup LRU (cgroup's private LRU) is guarded by
|
||||||
mm->page_table_lock
|
lruvec->lru_lock; PG_lru bit of page->flags is cleared before
|
||||||
pgdat->lru_lock
|
isolating a page from its LRU under lruvec->lru_lock.
|
||||||
lock_page_cgroup.
|
|
||||||
|
|
||||||
In many cases, just lock_page_cgroup() is called.
|
|
||||||
|
|
||||||
per-zone-per-cgroup LRU (cgroup's private LRU) is just guarded by
|
|
||||||
pgdat->lru_lock, it has no lock of its own.
|
|
||||||
|
|
||||||
2.7 Kernel Memory Extension (CONFIG_MEMCG_KMEM)
|
2.7 Kernel Memory Extension (CONFIG_MEMCG_KMEM)
|
||||||
-----------------------------------------------
|
-----------------------------------------------
|
||||||
|
@ -495,16 +494,13 @@ cgroup might have some charge associated with it, even though all
|
||||||
tasks have migrated away from it. (because we charge against pages, not
|
tasks have migrated away from it. (because we charge against pages, not
|
||||||
against tasks.)
|
against tasks.)
|
||||||
|
|
||||||
We move the stats to root (if use_hierarchy==0) or parent (if
|
We move the stats to parent, and no change on the charge except uncharging
|
||||||
use_hierarchy==1), and no change on the charge except uncharging
|
|
||||||
from the child.
|
from the child.
|
||||||
|
|
||||||
Charges recorded in swap information is not updated at removal of cgroup.
|
Charges recorded in swap information is not updated at removal of cgroup.
|
||||||
Recorded information is discarded and a cgroup which uses swap (swapcache)
|
Recorded information is discarded and a cgroup which uses swap (swapcache)
|
||||||
will be charged as a new owner of it.
|
will be charged as a new owner of it.
|
||||||
|
|
||||||
About use_hierarchy, see Section 6.
|
|
||||||
|
|
||||||
5. Misc. interfaces
|
5. Misc. interfaces
|
||||||
===================
|
===================
|
||||||
|
|
||||||
|
@ -527,8 +523,6 @@ About use_hierarchy, see Section 6.
|
||||||
write will still return success. In this case, it is expected that
|
write will still return success. In this case, it is expected that
|
||||||
memory.kmem.usage_in_bytes == memory.usage_in_bytes.
|
memory.kmem.usage_in_bytes == memory.usage_in_bytes.
|
||||||
|
|
||||||
About use_hierarchy, see Section 6.
|
|
||||||
|
|
||||||
5.2 stat file
|
5.2 stat file
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
@ -675,32 +669,21 @@ hierarchy::
|
||||||
d e
|
d e
|
||||||
|
|
||||||
In the diagram above, with hierarchical accounting enabled, all memory
|
In the diagram above, with hierarchical accounting enabled, all memory
|
||||||
usage of e, is accounted to its ancestors up until the root (i.e, c and root),
|
usage of e, is accounted to its ancestors up until the root (i.e, c and root).
|
||||||
that has memory.use_hierarchy enabled. If one of the ancestors goes over its
|
If one of the ancestors goes over its limit, the reclaim algorithm reclaims
|
||||||
limit, the reclaim algorithm reclaims from the tasks in the ancestor and the
|
from the tasks in the ancestor and the children of the ancestor.
|
||||||
children of the ancestor.
|
|
||||||
|
|
||||||
6.1 Enabling hierarchical accounting and reclaim
|
6.1 Hierarchical accounting and reclaim
|
||||||
------------------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
A memory cgroup by default disables the hierarchy feature. Support
|
Hierarchical accounting is enabled by default. Disabling the hierarchical
|
||||||
can be enabled by writing 1 to memory.use_hierarchy file of the root cgroup::
|
accounting is deprecated. An attempt to do it will result in a failure
|
||||||
|
and a warning printed to dmesg.
|
||||||
|
|
||||||
|
For compatibility reasons writing 1 to memory.use_hierarchy will always pass::
|
||||||
|
|
||||||
# echo 1 > memory.use_hierarchy
|
# echo 1 > memory.use_hierarchy
|
||||||
|
|
||||||
The feature can be disabled by::
|
|
||||||
|
|
||||||
# echo 0 > memory.use_hierarchy
|
|
||||||
|
|
||||||
NOTE1:
|
|
||||||
Enabling/disabling will fail if either the cgroup already has other
|
|
||||||
cgroups created below it, or if the parent cgroup has use_hierarchy
|
|
||||||
enabled.
|
|
||||||
|
|
||||||
NOTE2:
|
|
||||||
When panic_on_oom is set to "2", the whole system will panic in
|
|
||||||
case of an OOM event in any cgroup.
|
|
||||||
|
|
||||||
7. Soft limits
|
7. Soft limits
|
||||||
==============
|
==============
|
||||||
|
|
||||||
|
|
|
@ -1274,6 +1274,9 @@ PAGE_SIZE multiple when read back.
|
||||||
kernel_stack
|
kernel_stack
|
||||||
Amount of memory allocated to kernel stacks.
|
Amount of memory allocated to kernel stacks.
|
||||||
|
|
||||||
|
pagetables
|
||||||
|
Amount of memory allocated for page tables.
|
||||||
|
|
||||||
percpu(npn)
|
percpu(npn)
|
||||||
Amount of memory used for storing per-cpu kernel
|
Amount of memory used for storing per-cpu kernel
|
||||||
data structures.
|
data structures.
|
||||||
|
@ -1300,6 +1303,14 @@ PAGE_SIZE multiple when read back.
|
||||||
Amount of memory used in anonymous mappings backed by
|
Amount of memory used in anonymous mappings backed by
|
||||||
transparent hugepages
|
transparent hugepages
|
||||||
|
|
||||||
|
file_thp
|
||||||
|
Amount of cached filesystem data backed by transparent
|
||||||
|
hugepages
|
||||||
|
|
||||||
|
shmem_thp
|
||||||
|
Amount of shm, tmpfs, shared anonymous mmap()s backed by
|
||||||
|
transparent hugepages
|
||||||
|
|
||||||
inactive_anon, active_anon, inactive_file, active_file, unevictable
|
inactive_anon, active_anon, inactive_file, active_file, unevictable
|
||||||
Amount of memory, swap-backed and filesystem-backed,
|
Amount of memory, swap-backed and filesystem-backed,
|
||||||
on the internal memory management lists used by the
|
on the internal memory management lists used by the
|
||||||
|
|
|
@ -9,7 +9,7 @@ Introduction
|
||||||
PC operating systems. New and improved versions of CIFS are now
|
PC operating systems. New and improved versions of CIFS are now
|
||||||
called SMB2 and SMB3. Use of SMB3 (and later, including SMB3.1.1)
|
called SMB2 and SMB3. Use of SMB3 (and later, including SMB3.1.1)
|
||||||
is strongly preferred over using older dialects like CIFS due to
|
is strongly preferred over using older dialects like CIFS due to
|
||||||
security reaasons. All modern dialects, including the most recent,
|
security reasons. All modern dialects, including the most recent,
|
||||||
SMB3.1.1 are supported by the CIFS VFS module. The SMB3 protocol
|
SMB3.1.1 are supported by the CIFS VFS module. The SMB3 protocol
|
||||||
is implemented and supported by all major file servers
|
is implemented and supported by all major file servers
|
||||||
such as all modern versions of Windows (including Windows 2016
|
such as all modern versions of Windows (including Windows 2016
|
||||||
|
|
|
@ -115,7 +115,7 @@ later source tree in docs/manpages/mount.cifs.8
|
||||||
Allowing User Unmounts
|
Allowing User Unmounts
|
||||||
======================
|
======================
|
||||||
|
|
||||||
To permit users to ummount directories that they have user mounted (see above),
|
To permit users to unmount directories that they have user mounted (see above),
|
||||||
the utility umount.cifs may be used. It may be invoked directly, or if
|
the utility umount.cifs may be used. It may be invoked directly, or if
|
||||||
umount.cifs is placed in /sbin, umount can invoke the cifs umount helper
|
umount.cifs is placed in /sbin, umount can invoke the cifs umount helper
|
||||||
(at least for most versions of the umount utility) for umount of cifs
|
(at least for most versions of the umount utility) for umount of cifs
|
||||||
|
@ -197,7 +197,7 @@ that is ignored by local server applications and non-cifs clients and that will
|
||||||
not be traversed by the Samba server). This is opaque to the Linux client
|
not be traversed by the Samba server). This is opaque to the Linux client
|
||||||
application using the cifs vfs. Absolute symlinks will work to Samba 3.0.5 or
|
application using the cifs vfs. Absolute symlinks will work to Samba 3.0.5 or
|
||||||
later, but only for remote clients using the CIFS Unix extensions, and will
|
later, but only for remote clients using the CIFS Unix extensions, and will
|
||||||
be invisbile to Windows clients and typically will not affect local
|
be invisible to Windows clients and typically will not affect local
|
||||||
applications running on the same server as Samba.
|
applications running on the same server as Samba.
|
||||||
|
|
||||||
Use instructions
|
Use instructions
|
||||||
|
@ -267,7 +267,7 @@ would be forbidden for Windows/CIFS semantics) as long as the server is
|
||||||
configured for Unix Extensions (and the client has not disabled
|
configured for Unix Extensions (and the client has not disabled
|
||||||
/proc/fs/cifs/LinuxExtensionsEnabled). In addition the mount option
|
/proc/fs/cifs/LinuxExtensionsEnabled). In addition the mount option
|
||||||
``mapposix`` can be used on CIFS (vers=1.0) to force the mapping of
|
``mapposix`` can be used on CIFS (vers=1.0) to force the mapping of
|
||||||
illegal Windows/NTFS/SMB characters to a remap range (this mount parm
|
illegal Windows/NTFS/SMB characters to a remap range (this mount parameter
|
||||||
is the default for SMB3). This remap (``mapposix``) range is also
|
is the default for SMB3). This remap (``mapposix``) range is also
|
||||||
compatible with Mac (and "Services for Mac" on some older Windows).
|
compatible with Mac (and "Services for Mac" on some older Windows).
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ Parameters::
|
||||||
capi:authenc(hmac(sha256),xts(aes))-random
|
capi:authenc(hmac(sha256),xts(aes))-random
|
||||||
capi:rfc7539(chacha20,poly1305)-random
|
capi:rfc7539(chacha20,poly1305)-random
|
||||||
|
|
||||||
The /proc/crypto contains a list of curently loaded crypto modes.
|
The /proc/crypto contains a list of currently loaded crypto modes.
|
||||||
|
|
||||||
<key>
|
<key>
|
||||||
Key used for encryption. It is encoded either as a hexadecimal number
|
Key used for encryption. It is encoded either as a hexadecimal number
|
||||||
|
@ -92,7 +92,7 @@ Parameters::
|
||||||
|
|
||||||
<#opt_params>
|
<#opt_params>
|
||||||
Number of optional parameters. If there are no optional parameters,
|
Number of optional parameters. If there are no optional parameters,
|
||||||
the optional paramaters section can be skipped or #opt_params can be zero.
|
the optional parameters section can be skipped or #opt_params can be zero.
|
||||||
Otherwise #opt_params is the number of following arguments.
|
Otherwise #opt_params is the number of following arguments.
|
||||||
|
|
||||||
Example of optional parameters section:
|
Example of optional parameters section:
|
||||||
|
|
|
@ -117,7 +117,7 @@ journal_watermark:number
|
||||||
|
|
||||||
commit_time:number
|
commit_time:number
|
||||||
Commit time in milliseconds. When this time passes, the journal is
|
Commit time in milliseconds. When this time passes, the journal is
|
||||||
written. The journal is also written immediatelly if the FLUSH
|
written. The journal is also written immediately if the FLUSH
|
||||||
request is received.
|
request is received.
|
||||||
|
|
||||||
internal_hash:algorithm(:key) (the key is optional)
|
internal_hash:algorithm(:key) (the key is optional)
|
||||||
|
@ -147,7 +147,7 @@ journal_crypt:algorithm(:key) (the key is optional)
|
||||||
"salsa20" or "ctr(aes)").
|
"salsa20" or "ctr(aes)").
|
||||||
|
|
||||||
The journal contains history of last writes to the block device,
|
The journal contains history of last writes to the block device,
|
||||||
an attacker reading the journal could see the last sector nubmers
|
an attacker reading the journal could see the last sector numbers
|
||||||
that were written. From the sector numbers, the attacker can infer
|
that were written. From the sector numbers, the attacker can infer
|
||||||
the size of files that were written. To protect against this
|
the size of files that were written. To protect against this
|
||||||
situation, you can encrypt the journal.
|
situation, you can encrypt the journal.
|
||||||
|
|
|
@ -418,6 +418,6 @@ Version History
|
||||||
specific devices are requested via rebuild. Fix RAID leg
|
specific devices are requested via rebuild. Fix RAID leg
|
||||||
rebuild errors.
|
rebuild errors.
|
||||||
1.15.0 Fix size extensions not being synchronized in case of new MD bitmap
|
1.15.0 Fix size extensions not being synchronized in case of new MD bitmap
|
||||||
pages allocated; also fix those not occuring after previous reductions
|
pages allocated; also fix those not occurring after previous reductions
|
||||||
1.15.1 Fix argument count and arguments for rebuild/write_mostly/journal_(dev|mode)
|
1.15.1 Fix argument count and arguments for rebuild/write_mostly/journal_(dev|mode)
|
||||||
on the status line.
|
on the status line.
|
||||||
|
|
|
@ -24,7 +24,7 @@ The dm-zoned implementation is simple and minimizes system overhead (CPU
|
||||||
and memory usage as well as storage capacity loss). For a 10TB
|
and memory usage as well as storage capacity loss). For a 10TB
|
||||||
host-managed disk with 256 MB zones, dm-zoned memory usage per disk
|
host-managed disk with 256 MB zones, dm-zoned memory usage per disk
|
||||||
instance is at most 4.5 MB and as little as 5 zones will be used
|
instance is at most 4.5 MB and as little as 5 zones will be used
|
||||||
internally for storing metadata and performaing reclaim operations.
|
internally for storing metadata and performing reclaim operations.
|
||||||
|
|
||||||
dm-zoned target devices are formatted and checked using the dmzadm
|
dm-zoned target devices are formatted and checked using the dmzadm
|
||||||
utility available at:
|
utility available at:
|
||||||
|
@ -102,7 +102,7 @@ the buffer zone assigned. If the accessed chunk has no mapping, or the
|
||||||
accessed blocks are invalid, the read buffer is zeroed and the read
|
accessed blocks are invalid, the read buffer is zeroed and the read
|
||||||
operation terminated.
|
operation terminated.
|
||||||
|
|
||||||
After some time, the limited number of convnetional zones available may
|
After some time, the limited number of conventional zones available may
|
||||||
be exhausted (all used to map chunks or buffer sequential zones) and
|
be exhausted (all used to map chunks or buffer sequential zones) and
|
||||||
unaligned writes to unbuffered chunks become impossible. To avoid this
|
unaligned writes to unbuffered chunks become impossible. To avoid this
|
||||||
situation, a reclaim process regularly scans used conventional zones and
|
situation, a reclaim process regularly scans used conventional zones and
|
||||||
|
@ -158,7 +158,7 @@ Ex::
|
||||||
dmzadm --format /dev/sdxx /dev/sdyy
|
dmzadm --format /dev/sdxx /dev/sdyy
|
||||||
|
|
||||||
|
|
||||||
Fomatted device(s) can be started with the dmzadm utility, too.:
|
Formatted device(s) can be started with the dmzadm utility, too.:
|
||||||
|
|
||||||
Ex::
|
Ex::
|
||||||
|
|
||||||
|
|
|
@ -69,7 +69,7 @@ Construction Parameters
|
||||||
|
|
||||||
<#opt_params>
|
<#opt_params>
|
||||||
Number of optional parameters. If there are no optional parameters,
|
Number of optional parameters. If there are no optional parameters,
|
||||||
the optional paramaters section can be skipped or #opt_params can be zero.
|
the optional parameters section can be skipped or #opt_params can be zero.
|
||||||
Otherwise #opt_params is the number of following arguments.
|
Otherwise #opt_params is the number of following arguments.
|
||||||
|
|
||||||
Example of optional parameters section:
|
Example of optional parameters section:
|
||||||
|
@ -134,7 +134,12 @@ root_hash_sig_key_desc <key_description>
|
||||||
the pkcs7 signature of the roothash. The pkcs7 signature is used to validate
|
the pkcs7 signature of the roothash. The pkcs7 signature is used to validate
|
||||||
the root hash during the creation of the device mapper block device.
|
the root hash during the creation of the device mapper block device.
|
||||||
Verification of roothash depends on the config DM_VERITY_VERIFY_ROOTHASH_SIG
|
Verification of roothash depends on the config DM_VERITY_VERIFY_ROOTHASH_SIG
|
||||||
being set in the kernel.
|
being set in the kernel. The signatures are checked against the builtin
|
||||||
|
trusted keyring by default, or the secondary trusted keyring if
|
||||||
|
DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING is set. The secondary
|
||||||
|
trusted keyring includes by default the builtin trusted keyring, and it can
|
||||||
|
also gain new certificates at run time if they are signed by a certificate
|
||||||
|
already in the secondary trusted keyring.
|
||||||
|
|
||||||
Theory of operation
|
Theory of operation
|
||||||
===================
|
===================
|
||||||
|
|
|
@ -37,10 +37,10 @@ Constructor parameters:
|
||||||
autocommit_blocks n (default: 64 for pmem, 65536 for ssd)
|
autocommit_blocks n (default: 64 for pmem, 65536 for ssd)
|
||||||
when the application writes this amount of blocks without
|
when the application writes this amount of blocks without
|
||||||
issuing the FLUSH request, the blocks are automatically
|
issuing the FLUSH request, the blocks are automatically
|
||||||
commited
|
committed
|
||||||
autocommit_time ms (default: 1000)
|
autocommit_time ms (default: 1000)
|
||||||
autocommit time in milliseconds. The data is automatically
|
autocommit time in milliseconds. The data is automatically
|
||||||
commited if this time passes and no FLUSH request is
|
committed if this time passes and no FLUSH request is
|
||||||
received
|
received
|
||||||
fua (by default on)
|
fua (by default on)
|
||||||
applicable only to persistent memory - use the FUA flag
|
applicable only to persistent memory - use the FUA flag
|
||||||
|
|
3
Documentation/admin-guide/features.rst
Normal file
3
Documentation/admin-guide/features.rst
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
.. SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
.. kernel-feat:: $srctree/Documentation/features
|
|
@ -60,7 +60,7 @@ Hyper-Thread attacks are possible.
|
||||||
|
|
||||||
The victim of a malicious actor does not need to make use of TSX. Only the
|
The victim of a malicious actor does not need to make use of TSX. Only the
|
||||||
attacker needs to begin a TSX transaction and raise an asynchronous abort
|
attacker needs to begin a TSX transaction and raise an asynchronous abort
|
||||||
which in turn potenitally leaks data stored in the buffers.
|
which in turn potentially leaks data stored in the buffers.
|
||||||
|
|
||||||
More detailed technical information is available in the TAA specific x86
|
More detailed technical information is available in the TAA specific x86
|
||||||
architecture section: :ref:`Documentation/x86/tsx_async_abort.rst <tsx_async_abort>`.
|
architecture section: :ref:`Documentation/x86/tsx_async_abort.rst <tsx_async_abort>`.
|
||||||
|
|
|
@ -19,6 +19,7 @@ etc.
|
||||||
sysctl/index
|
sysctl/index
|
||||||
|
|
||||||
abi
|
abi
|
||||||
|
features
|
||||||
|
|
||||||
This section describes CPU vulnerabilities and their mitigations.
|
This section describes CPU vulnerabilities and their mitigations.
|
||||||
|
|
||||||
|
@ -33,7 +34,8 @@ problems and bugs in particular.
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
reporting-bugs
|
reporting-issues
|
||||||
|
Reporting bugs (obsolete) <reporting-bugs>
|
||||||
security-bugs
|
security-bugs
|
||||||
bug-hunting
|
bug-hunting
|
||||||
bug-bisect
|
bug-bisect
|
||||||
|
@ -111,13 +113,13 @@ configure specific aspects of kernel behavior to your liking.
|
||||||
rtc
|
rtc
|
||||||
serial-console
|
serial-console
|
||||||
svga
|
svga
|
||||||
|
syscall-user-dispatch
|
||||||
sysrq
|
sysrq
|
||||||
thunderbolt
|
thunderbolt
|
||||||
ufs
|
ufs
|
||||||
unicode
|
unicode
|
||||||
vga-softcursor
|
vga-softcursor
|
||||||
video-output
|
video-output
|
||||||
wimax/index
|
|
||||||
xfs
|
xfs
|
||||||
|
|
||||||
.. only:: subproject and html
|
.. only:: subproject and html
|
||||||
|
|
|
@ -39,6 +39,12 @@ call.
|
||||||
User-space tools can get the kernel name, host name, kernel release
|
User-space tools can get the kernel name, host name, kernel release
|
||||||
number, kernel version, architecture name and OS type from it.
|
number, kernel version, architecture name and OS type from it.
|
||||||
|
|
||||||
|
(uts_namespace, name)
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Offset of the name's member. Crash Utility and Makedumpfile get
|
||||||
|
the start address of the init_uts_ns.name from this.
|
||||||
|
|
||||||
node_online_map
|
node_online_map
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
|
|
|
@ -172,6 +172,7 @@ parameter is applicable::
|
||||||
X86 Either 32-bit or 64-bit x86 (same as X86-32+X86-64)
|
X86 Either 32-bit or 64-bit x86 (same as X86-32+X86-64)
|
||||||
X86_UV SGI UV support is enabled.
|
X86_UV SGI UV support is enabled.
|
||||||
XEN Xen support is enabled
|
XEN Xen support is enabled
|
||||||
|
XTENSA xtensa architecture is enabled.
|
||||||
|
|
||||||
In addition, the following text indicates that the option::
|
In addition, the following text indicates that the option::
|
||||||
|
|
||||||
|
|
|
@ -1883,11 +1883,6 @@
|
||||||
Note that using this option lowers the security
|
Note that using this option lowers the security
|
||||||
provided by tboot because it makes the system
|
provided by tboot because it makes the system
|
||||||
vulnerable to DMA attacks.
|
vulnerable to DMA attacks.
|
||||||
nobounce [Default off]
|
|
||||||
Disable bounce buffer for untrusted devices such as
|
|
||||||
the Thunderbolt devices. This will treat the untrusted
|
|
||||||
devices as the trusted ones, hence might expose security
|
|
||||||
risks of DMA attacks.
|
|
||||||
|
|
||||||
intel_idle.max_cstate= [KNL,HW,ACPI,X86]
|
intel_idle.max_cstate= [KNL,HW,ACPI,X86]
|
||||||
0 disables intel_idle and fall back on acpi_idle.
|
0 disables intel_idle and fall back on acpi_idle.
|
||||||
|
@ -2259,6 +2254,16 @@
|
||||||
for all guests.
|
for all guests.
|
||||||
Default is 1 (enabled) if in 64-bit or 32-bit PAE mode.
|
Default is 1 (enabled) if in 64-bit or 32-bit PAE mode.
|
||||||
|
|
||||||
|
kvm-arm.mode=
|
||||||
|
[KVM,ARM] Select one of KVM/arm64's modes of operation.
|
||||||
|
|
||||||
|
protected: nVHE-based mode with support for guests whose
|
||||||
|
state is kept private from the host.
|
||||||
|
Not valid if the kernel is running in EL2.
|
||||||
|
|
||||||
|
Defaults to VHE/nVHE based on hardware support and
|
||||||
|
the value of CONFIG_ARM64_VHE.
|
||||||
|
|
||||||
kvm-arm.vgic_v3_group0_trap=
|
kvm-arm.vgic_v3_group0_trap=
|
||||||
[KVM,ARM] Trap guest accesses to GICv3 group-0
|
[KVM,ARM] Trap guest accesses to GICv3 group-0
|
||||||
system registers
|
system registers
|
||||||
|
@ -2709,7 +2714,7 @@
|
||||||
option description.
|
option description.
|
||||||
|
|
||||||
memmap=nn[KMG]@ss[KMG]
|
memmap=nn[KMG]@ss[KMG]
|
||||||
[KNL] Force usage of a specific region of memory.
|
[KNL, X86, MIPS, XTENSA] Force usage of a specific region of memory.
|
||||||
Region of memory to be used is from ss to ss+nn.
|
Region of memory to be used is from ss to ss+nn.
|
||||||
If @ss[KMG] is omitted, it is equivalent to mem=nn[KMG],
|
If @ss[KMG] is omitted, it is equivalent to mem=nn[KMG],
|
||||||
which limits max address to nn[KMG].
|
which limits max address to nn[KMG].
|
||||||
|
@ -2858,6 +2863,8 @@
|
||||||
mds=off [X86]
|
mds=off [X86]
|
||||||
tsx_async_abort=off [X86]
|
tsx_async_abort=off [X86]
|
||||||
kvm.nx_huge_pages=off [X86]
|
kvm.nx_huge_pages=off [X86]
|
||||||
|
no_entry_flush [PPC]
|
||||||
|
no_uaccess_flush [PPC]
|
||||||
|
|
||||||
Exceptions:
|
Exceptions:
|
||||||
This does not have any effect on
|
This does not have any effect on
|
||||||
|
@ -2951,7 +2958,7 @@
|
||||||
mtdset= [ARM]
|
mtdset= [ARM]
|
||||||
ARM/S3C2412 JIVE boot control
|
ARM/S3C2412 JIVE boot control
|
||||||
|
|
||||||
See arch/arm/mach-s3c2412/mach-jive.c
|
See arch/arm/mach-s3c/mach-jive.c
|
||||||
|
|
||||||
mtouchusb.raw_coordinates=
|
mtouchusb.raw_coordinates=
|
||||||
[HW] Make the MicroTouch USB driver use raw coordinates
|
[HW] Make the MicroTouch USB driver use raw coordinates
|
||||||
|
@ -3186,6 +3193,8 @@
|
||||||
|
|
||||||
noefi Disable EFI runtime services support.
|
noefi Disable EFI runtime services support.
|
||||||
|
|
||||||
|
no_entry_flush [PPC] Don't flush the L1-D cache when entering the kernel.
|
||||||
|
|
||||||
noexec [IA-64]
|
noexec [IA-64]
|
||||||
|
|
||||||
noexec [X86]
|
noexec [X86]
|
||||||
|
@ -3235,6 +3244,9 @@
|
||||||
nospec_store_bypass_disable
|
nospec_store_bypass_disable
|
||||||
[HW] Disable all mitigations for the Speculative Store Bypass vulnerability
|
[HW] Disable all mitigations for the Speculative Store Bypass vulnerability
|
||||||
|
|
||||||
|
no_uaccess_flush
|
||||||
|
[PPC] Don't flush the L1-D cache after accessing user data.
|
||||||
|
|
||||||
noxsave [BUGS=X86] Disables x86 extended register state save
|
noxsave [BUGS=X86] Disables x86 extended register state save
|
||||||
and restore using xsave. The kernel will fallback to
|
and restore using xsave. The kernel will fallback to
|
||||||
enabling legacy floating-point and sse state.
|
enabling legacy floating-point and sse state.
|
||||||
|
@ -3368,6 +3380,8 @@
|
||||||
|
|
||||||
nosep [BUGS=X86-32] Disables x86 SYSENTER/SYSEXIT support.
|
nosep [BUGS=X86-32] Disables x86 SYSENTER/SYSEXIT support.
|
||||||
|
|
||||||
|
nosgx [X86-64,SGX] Disables Intel SGX kernel support.
|
||||||
|
|
||||||
nosmp [SMP] Tells an SMP kernel to act as a UP kernel,
|
nosmp [SMP] Tells an SMP kernel to act as a UP kernel,
|
||||||
and disable the IO APIC. legacy for "maxcpus=0".
|
and disable the IO APIC. legacy for "maxcpus=0".
|
||||||
|
|
||||||
|
@ -5656,6 +5670,7 @@
|
||||||
device);
|
device);
|
||||||
j = NO_REPORT_LUNS (don't use report luns
|
j = NO_REPORT_LUNS (don't use report luns
|
||||||
command, uas only);
|
command, uas only);
|
||||||
|
k = NO_SAME (do not use WRITE_SAME, uas only)
|
||||||
l = NOT_LOCKABLE (don't try to lock and
|
l = NOT_LOCKABLE (don't try to lock and
|
||||||
unlock ejectable media, not on uas);
|
unlock ejectable media, not on uas);
|
||||||
m = MAX_SECTORS_64 (don't transfer more
|
m = MAX_SECTORS_64 (don't transfer more
|
||||||
|
|
|
@ -221,7 +221,7 @@ All md devices contain:
|
||||||
|
|
||||||
layout
|
layout
|
||||||
The ``layout`` for the array for the particular level. This is
|
The ``layout`` for the array for the particular level. This is
|
||||||
simply a number that is interpretted differently by different
|
simply a number that is interpreted differently by different
|
||||||
levels. It can be written while assembling an array.
|
levels. It can be written while assembling an array.
|
||||||
|
|
||||||
array_size
|
array_size
|
||||||
|
|
|
@ -77,7 +77,7 @@ the Subsystem ID in the second line, looks like this:
|
||||||
only bt878-based cards can have a subsystem ID (which does not mean
|
only bt878-based cards can have a subsystem ID (which does not mean
|
||||||
that every card really has one). bt848 cards can't have a Subsystem
|
that every card really has one). bt848 cards can't have a Subsystem
|
||||||
ID and therefore can't be autodetected. There is a list with the ID's
|
ID and therefore can't be autodetected. There is a list with the ID's
|
||||||
at :doc:`bttv-cardlist` (in case you are intrested or want to mail
|
at :doc:`bttv-cardlist` (in case you are interested or want to mail
|
||||||
patches with updates).
|
patches with updates).
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ The DVB mailing list linux-dvb is hosted at vger. Please see
|
||||||
http://vger.kernel.org/vger-lists.html#linux-media for details.
|
http://vger.kernel.org/vger-lists.html#linux-media for details.
|
||||||
|
|
||||||
There are also some other old lists hosted at:
|
There are also some other old lists hosted at:
|
||||||
https://linuxtv.org/lists.php. If you're insterested on that for historic
|
https://linuxtv.org/lists.php. If you're interested on that for historic
|
||||||
reasons, please check the archive at https://linuxtv.org/pipermail/linux-dvb/.
|
reasons, please check the archive at https://linuxtv.org/pipermail/linux-dvb/.
|
||||||
|
|
||||||
The media subsystem Wiki is hosted at https://linuxtv.org/wiki/.
|
The media subsystem Wiki is hosted at https://linuxtv.org/wiki/.
|
||||||
|
|
|
@ -68,7 +68,7 @@ cx24116 Conexant CX24116 based
|
||||||
cx24117 Conexant CX24117 based
|
cx24117 Conexant CX24117 based
|
||||||
cx24120 Conexant CX24120 based
|
cx24120 Conexant CX24120 based
|
||||||
cx24123 Conexant CX24123 based
|
cx24123 Conexant CX24123 based
|
||||||
ds3000 Montage Tehnology DS3000 based
|
ds3000 Montage Technology DS3000 based
|
||||||
mb86a16 Fujitsu MB86A16 based
|
mb86a16 Fujitsu MB86A16 based
|
||||||
mt312 Zarlink VP310/MT312/ZL10313 based
|
mt312 Zarlink VP310/MT312/ZL10313 based
|
||||||
s5h1420 Samsung S5H1420 based
|
s5h1420 Samsung S5H1420 based
|
||||||
|
@ -83,7 +83,7 @@ tda10086 Philips TDA10086 based
|
||||||
tda8083 Philips TDA8083 based
|
tda8083 Philips TDA8083 based
|
||||||
tda8261 Philips TDA8261 based
|
tda8261 Philips TDA8261 based
|
||||||
tda826x Philips TDA826X silicon tuner
|
tda826x Philips TDA826X silicon tuner
|
||||||
ts2020 Montage Tehnology TS2020 based tuners
|
ts2020 Montage Technology TS2020 based tuners
|
||||||
tua6100 Infineon TUA6100 PLL
|
tua6100 Infineon TUA6100 PLL
|
||||||
cx24113 Conexant CX24113/CX24128 tuner for DVB-S/DSS
|
cx24113 Conexant CX24113/CX24128 tuner for DVB-S/DSS
|
||||||
itd1000 Integrant ITD1000 Zero IF tuner for DVB-S/DSS
|
itd1000 Integrant ITD1000 Zero IF tuner for DVB-S/DSS
|
||||||
|
|
|
@ -305,7 +305,7 @@ pac7302 093a:2625 Genius iSlim 310
|
||||||
pac7302 093a:2626 Labtec 2200
|
pac7302 093a:2626 Labtec 2200
|
||||||
pac7302 093a:2627 Genius FaceCam 300
|
pac7302 093a:2627 Genius FaceCam 300
|
||||||
pac7302 093a:2628 Genius iLook 300
|
pac7302 093a:2628 Genius iLook 300
|
||||||
pac7302 093a:2629 Genious iSlim 300
|
pac7302 093a:2629 Genius iSlim 300
|
||||||
pac7302 093a:262a Webcam 300k
|
pac7302 093a:262a Webcam 300k
|
||||||
pac7302 093a:262c Philips SPC 230 NC
|
pac7302 093a:262c Philips SPC 230 NC
|
||||||
jl2005bcd 0979:0227 Various brands, 19 known cameras supported
|
jl2005bcd 0979:0227 Various brands, 19 known cameras supported
|
||||||
|
|
|
@ -86,7 +86,7 @@ raw Bayer format that is specific to IPU3.
|
||||||
Let us take the example of ov5670 sensor connected to CSI2 port 0, for a
|
Let us take the example of ov5670 sensor connected to CSI2 port 0, for a
|
||||||
2592x1944 image capture.
|
2592x1944 image capture.
|
||||||
|
|
||||||
Using the media contorller APIs, the ov5670 sensor is configured to send
|
Using the media controller APIs, the ov5670 sensor is configured to send
|
||||||
frames in packed raw Bayer format to IPU3 CSI2 receiver.
|
frames in packed raw Bayer format to IPU3 CSI2 receiver.
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
@ -313,8 +313,8 @@ configuration steps of 0.03125 (1/32).
|
||||||
|
|
||||||
**Geometric Distortion Correction**
|
**Geometric Distortion Correction**
|
||||||
|
|
||||||
Geometric Distortion Correction is used to performe correction of distortions
|
Geometric Distortion Correction is used to perform correction of distortions
|
||||||
and image filtering. It needs some extra filter and envelop padding pixels to
|
and image filtering. It needs some extra filter and envelope padding pixels to
|
||||||
work, so the input resolution of GDC should be larger than the output
|
work, so the input resolution of GDC should be larger than the output
|
||||||
resolution.
|
resolution.
|
||||||
|
|
||||||
|
|
|
@ -68,7 +68,7 @@ Using without lircd
|
||||||
|
|
||||||
Xorg recognizes several IR keycodes that have its numerical value lower
|
Xorg recognizes several IR keycodes that have its numerical value lower
|
||||||
than 247. With the advent of Wayland, the input driver got updated too,
|
than 247. With the advent of Wayland, the input driver got updated too,
|
||||||
and should now accept all keycodes. Yet, you may want to just reasign
|
and should now accept all keycodes. Yet, you may want to just reassign
|
||||||
the keycodes to something that your favorite media application likes.
|
the keycodes to something that your favorite media application likes.
|
||||||
|
|
||||||
This can be done by setting
|
This can be done by setting
|
||||||
|
|
|
@ -86,7 +86,7 @@ the driver through the rkisp_params node to improve image quality during a
|
||||||
video stream.
|
video stream.
|
||||||
The buffer format is defined by struct :c:type:`rkisp1_stat_buffer`, and
|
The buffer format is defined by struct :c:type:`rkisp1_stat_buffer`, and
|
||||||
userspace should set
|
userspace should set
|
||||||
:ref:`V4L2_META_FMT_RK_ISP1_STAT_3A <v4l2-meta-fmt-stat-rkisp1>` as the
|
:ref:`V4L2_META_FMT_RK_ISP1_STAT_3A <v4l2-meta-fmt-rk-isp1-stat-3a>` as the
|
||||||
dataformat.
|
dataformat.
|
||||||
|
|
||||||
.. _rkisp1_params:
|
.. _rkisp1_params:
|
||||||
|
@ -100,7 +100,7 @@ and others.
|
||||||
|
|
||||||
The buffer format is defined by struct :c:type:`rkisp1_params_cfg`, and
|
The buffer format is defined by struct :c:type:`rkisp1_params_cfg`, and
|
||||||
userspace should set
|
userspace should set
|
||||||
:ref:`V4L2_META_FMT_RK_ISP1_PARAMS <v4l2-meta-fmt-params-rkisp1>` as the
|
:ref:`V4L2_META_FMT_RK_ISP1_PARAMS <v4l2-meta-fmt-rk-isp1-params>` as the
|
||||||
dataformat.
|
dataformat.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,9 +3,9 @@ Memory Management
|
||||||
=================
|
=================
|
||||||
|
|
||||||
Linux memory management subsystem is responsible, as the name implies,
|
Linux memory management subsystem is responsible, as the name implies,
|
||||||
for managing the memory in the system. This includes implemnetation of
|
for managing the memory in the system. This includes implementation of
|
||||||
virtual memory and demand paging, memory allocation both for kernel
|
virtual memory and demand paging, memory allocation both for kernel
|
||||||
internal structures and user space programms, mapping of files into
|
internal structures and user space programs, mapping of files into
|
||||||
processes address space and many other cool things.
|
processes address space and many other cool things.
|
||||||
|
|
||||||
Linux memory management is a complex system with many configurable
|
Linux memory management is a complex system with many configurable
|
||||||
|
|
|
@ -74,7 +74,7 @@ memory node's access class 0 initiators as follows::
|
||||||
/sys/devices/system/node/nodeY/access0/initiators/
|
/sys/devices/system/node/nodeY/access0/initiators/
|
||||||
|
|
||||||
These attributes apply only when accessed from nodes that have the
|
These attributes apply only when accessed from nodes that have the
|
||||||
are linked under the this access's inititiators.
|
are linked under the this access's initiators.
|
||||||
|
|
||||||
The performance characteristics the kernel provides for the local initiators
|
The performance characteristics the kernel provides for the local initiators
|
||||||
are exported are as follows::
|
are exported are as follows::
|
||||||
|
|
|
@ -401,21 +401,6 @@ compact_fail
|
||||||
is incremented if the system tries to compact memory
|
is incremented if the system tries to compact memory
|
||||||
but failed.
|
but failed.
|
||||||
|
|
||||||
compact_pages_moved
|
|
||||||
is incremented each time a page is moved. If
|
|
||||||
this value is increasing rapidly, it implies that the system
|
|
||||||
is copying a lot of data to satisfy the huge page allocation.
|
|
||||||
It is possible that the cost of copying exceeds any savings
|
|
||||||
from reduced TLB misses.
|
|
||||||
|
|
||||||
compact_pagemigrate_failed
|
|
||||||
is incremented when the underlying mechanism
|
|
||||||
for moving a page failed.
|
|
||||||
|
|
||||||
compact_blocks_moved
|
|
||||||
is incremented each time memory compaction examines
|
|
||||||
a huge page aligned range of pages.
|
|
||||||
|
|
||||||
It is possible to establish how long the stalls were using the function
|
It is possible to establish how long the stalls were using the function
|
||||||
tracer to record how long was spent in __alloc_pages_nodemask and
|
tracer to record how long was spent in __alloc_pages_nodemask and
|
||||||
using the mm_page_alloc tracepoint to identify which allocations were
|
using the mm_page_alloc tracepoint to identify which allocations were
|
||||||
|
|
|
@ -114,7 +114,7 @@ Notes:
|
||||||
you must provide some kind of page in your thread after reading from
|
you must provide some kind of page in your thread after reading from
|
||||||
the uffd. You must provide either ``UFFDIO_COPY`` or ``UFFDIO_ZEROPAGE``.
|
the uffd. You must provide either ``UFFDIO_COPY`` or ``UFFDIO_ZEROPAGE``.
|
||||||
The normal behavior of the OS automatically providing a zero page on
|
The normal behavior of the OS automatically providing a zero page on
|
||||||
an annonymous mmaping is not in place.
|
an anonymous mmaping is not in place.
|
||||||
|
|
||||||
- None of the page-delivering ioctls default to the range that you
|
- None of the page-delivering ioctls default to the range that you
|
||||||
registered with. You must fill in all fields for the appropriate
|
registered with. You must fill in all fields for the appropriate
|
||||||
|
|
|
@ -106,7 +106,7 @@ This has a number of options available:
|
||||||
certificate and a private key.
|
certificate and a private key.
|
||||||
|
|
||||||
If the PEM file containing the private key is encrypted, or if the
|
If the PEM file containing the private key is encrypted, or if the
|
||||||
PKCS#11 token requries a PIN, this can be provided at build time by
|
PKCS#11 token requires a PIN, this can be provided at build time by
|
||||||
means of the ``KBUILD_SIGN_PIN`` variable.
|
means of the ``KBUILD_SIGN_PIN`` variable.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -84,11 +84,14 @@ capabilities then providing the process with CAP_PERFMON capability singly
|
||||||
is recommended as the preferred secure approach to resolve double access
|
is recommended as the preferred secure approach to resolve double access
|
||||||
denial logging related to usage of performance monitoring and observability.
|
denial logging related to usage of performance monitoring and observability.
|
||||||
|
|
||||||
Unprivileged processes using perf_events system call are also subject
|
Prior Linux v5.9 unprivileged processes using perf_events system call
|
||||||
for PTRACE_MODE_READ_REALCREDS ptrace access mode check [7]_ , whose
|
are also subject for PTRACE_MODE_READ_REALCREDS ptrace access mode check
|
||||||
outcome determines whether monitoring is permitted. So unprivileged
|
[7]_ , whose outcome determines whether monitoring is permitted.
|
||||||
processes provided with CAP_SYS_PTRACE capability are effectively
|
So unprivileged processes provided with CAP_SYS_PTRACE capability are
|
||||||
permitted to pass the check.
|
effectively permitted to pass the check. Starting from Linux v5.9
|
||||||
|
CAP_SYS_PTRACE capability is not required and CAP_PERFMON is enough to
|
||||||
|
be provided for processes to make performance monitoring and observability
|
||||||
|
operations.
|
||||||
|
|
||||||
Other capabilities being granted to unprivileged processes can
|
Other capabilities being granted to unprivileged processes can
|
||||||
effectively enable capturing of additional data required for later
|
effectively enable capturing of additional data required for later
|
||||||
|
@ -99,11 +102,11 @@ CAP_SYSLOG capability permits reading kernel space memory addresses from
|
||||||
Privileged Perf users groups
|
Privileged Perf users groups
|
||||||
---------------------------------
|
---------------------------------
|
||||||
|
|
||||||
Mechanisms of capabilities, privileged capability-dumb files [6]_ and
|
Mechanisms of capabilities, privileged capability-dumb files [6]_,
|
||||||
file system ACLs [10]_ can be used to create dedicated groups of
|
file system ACLs [10]_ and sudo [15]_ utility can be used to create
|
||||||
privileged Perf users who are permitted to execute performance monitoring
|
dedicated groups of privileged Perf users who are permitted to execute
|
||||||
and observability without scope limits. The following steps can be
|
performance monitoring and observability without limits. The following
|
||||||
taken to create such groups of privileged Perf users.
|
steps can be taken to create such groups of privileged Perf users.
|
||||||
|
|
||||||
1. Create perf_users group of privileged Perf users, assign perf_users
|
1. Create perf_users group of privileged Perf users, assign perf_users
|
||||||
group to Perf tool executable and limit access to the executable for
|
group to Perf tool executable and limit access to the executable for
|
||||||
|
@ -133,7 +136,7 @@ taken to create such groups of privileged Perf users.
|
||||||
# getcap perf
|
# getcap perf
|
||||||
perf = cap_sys_ptrace,cap_syslog,cap_perfmon+ep
|
perf = cap_sys_ptrace,cap_syslog,cap_perfmon+ep
|
||||||
|
|
||||||
If the libcap installed doesn't yet support "cap_perfmon", use "38" instead,
|
If the libcap [16]_ installed doesn't yet support "cap_perfmon", use "38" instead,
|
||||||
i.e.:
|
i.e.:
|
||||||
|
|
||||||
::
|
::
|
||||||
|
@ -159,6 +162,60 @@ performance monitoring and observability by using functionality of the
|
||||||
configured Perf tool executable that, when executes, passes perf_events
|
configured Perf tool executable that, when executes, passes perf_events
|
||||||
subsystem scope checks.
|
subsystem scope checks.
|
||||||
|
|
||||||
|
In case Perf tool executable can't be assigned required capabilities (e.g.
|
||||||
|
file system is mounted with nosuid option or extended attributes are
|
||||||
|
not supported by the file system) then creation of the capabilities
|
||||||
|
privileged environment, naturally shell, is possible. The shell provides
|
||||||
|
inherent processes with CAP_PERFMON and other required capabilities so that
|
||||||
|
performance monitoring and observability operations are available in the
|
||||||
|
environment without limits. Access to the environment can be open via sudo
|
||||||
|
utility for members of perf_users group only. In order to create such
|
||||||
|
environment:
|
||||||
|
|
||||||
|
1. Create shell script that uses capsh utility [16]_ to assign CAP_PERFMON
|
||||||
|
and other required capabilities into ambient capability set of the shell
|
||||||
|
process, lock the process security bits after enabling SECBIT_NO_SETUID_FIXUP,
|
||||||
|
SECBIT_NOROOT and SECBIT_NO_CAP_AMBIENT_RAISE bits and then change
|
||||||
|
the process identity to sudo caller of the script who should essentially
|
||||||
|
be a member of perf_users group:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
# ls -alh /usr/local/bin/perf.shell
|
||||||
|
-rwxr-xr-x. 1 root root 83 Oct 13 23:57 /usr/local/bin/perf.shell
|
||||||
|
# cat /usr/local/bin/perf.shell
|
||||||
|
exec /usr/sbin/capsh --iab=^cap_perfmon --secbits=239 --user=$SUDO_USER -- -l
|
||||||
|
|
||||||
|
2. Extend sudo policy at /etc/sudoers file with a rule for perf_users group:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
# grep perf_users /etc/sudoers
|
||||||
|
%perf_users ALL=/usr/local/bin/perf.shell
|
||||||
|
|
||||||
|
3. Check that members of perf_users group have access to the privileged
|
||||||
|
shell and have CAP_PERFMON and other required capabilities enabled
|
||||||
|
in permitted, effective and ambient capability sets of an inherent process:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
$ id
|
||||||
|
uid=1003(capsh_test) gid=1004(capsh_test) groups=1004(capsh_test),1000(perf_users) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
|
||||||
|
$ sudo perf.shell
|
||||||
|
[sudo] password for capsh_test:
|
||||||
|
$ grep Cap /proc/self/status
|
||||||
|
CapInh: 0000004000000000
|
||||||
|
CapPrm: 0000004000000000
|
||||||
|
CapEff: 0000004000000000
|
||||||
|
CapBnd: 000000ffffffffff
|
||||||
|
CapAmb: 0000004000000000
|
||||||
|
$ capsh --decode=0000004000000000
|
||||||
|
0x0000004000000000=cap_perfmon
|
||||||
|
|
||||||
|
As a result, members of perf_users group have access to the privileged
|
||||||
|
environment where they can use tools employing performance monitoring APIs
|
||||||
|
governed by CAP_PERFMON Linux capability.
|
||||||
|
|
||||||
This specific access control management is only available to superuser
|
This specific access control management is only available to superuser
|
||||||
or root running processes with CAP_SETPCAP, CAP_SETFCAP [6]_
|
or root running processes with CAP_SETPCAP, CAP_SETFCAP [6]_
|
||||||
capabilities.
|
capabilities.
|
||||||
|
@ -264,3 +321,5 @@ Bibliography
|
||||||
.. [12] `<http://man7.org/linux/man-pages/man5/limits.conf.5.html>`_
|
.. [12] `<http://man7.org/linux/man-pages/man5/limits.conf.5.html>`_
|
||||||
.. [13] `<https://sites.google.com/site/fullycapable>`_
|
.. [13] `<https://sites.google.com/site/fullycapable>`_
|
||||||
.. [14] `<http://man7.org/linux/man-pages/man8/auditd.8.html>`_
|
.. [14] `<http://man7.org/linux/man-pages/man8/auditd.8.html>`_
|
||||||
|
.. [15] `<https://man7.org/linux/man-pages/man8/sudo.8.html>`_
|
||||||
|
.. [16] `<https://git.kernel.org/pub/scm/libs/libcap/libcap.git/>`_
|
||||||
|
|
|
@ -4,7 +4,7 @@ Freescale i.MX8 DDR Performance Monitoring Unit (PMU)
|
||||||
|
|
||||||
There are no performance counters inside the DRAM controller, so performance
|
There are no performance counters inside the DRAM controller, so performance
|
||||||
signals are brought out to the edge of the controller where a set of 4 x 32 bit
|
signals are brought out to the edge of the controller where a set of 4 x 32 bit
|
||||||
counters is implemented. This is controlled by the CSV modes programed in counter
|
counters is implemented. This is controlled by the CSV modes programmed in counter
|
||||||
control register which causes a large number of PERF signals to be generated.
|
control register which causes a large number of PERF signals to be generated.
|
||||||
|
|
||||||
Selection of the value for each counter is done via the config registers. There
|
Selection of the value for each counter is done via the config registers. There
|
||||||
|
|
|
@ -478,7 +478,7 @@ order to ask the hardware to enter that state. Also, for each
|
||||||
statistics of the given idle state. That information is exposed by the kernel
|
statistics of the given idle state. That information is exposed by the kernel
|
||||||
via ``sysfs``.
|
via ``sysfs``.
|
||||||
|
|
||||||
For each CPU in the system, there is a :file:`/sys/devices/system/cpu<N>/cpuidle/`
|
For each CPU in the system, there is a :file:`/sys/devices/system/cpu/cpu<N>/cpuidle/`
|
||||||
directory in ``sysfs``, where the number ``<N>`` is assigned to the given
|
directory in ``sysfs``, where the number ``<N>`` is assigned to the given
|
||||||
CPU at the initialization time. That directory contains a set of subdirectories
|
CPU at the initialization time. That directory contains a set of subdirectories
|
||||||
called :file:`state0`, :file:`state1` and so on, up to the number of idle state
|
called :file:`state0`, :file:`state1` and so on, up to the number of idle state
|
||||||
|
@ -494,7 +494,7 @@ object corresponding to it, as follows:
|
||||||
residency.
|
residency.
|
||||||
|
|
||||||
``below``
|
``below``
|
||||||
Total number of times this idle state had been asked for, but cerainly
|
Total number of times this idle state had been asked for, but certainly
|
||||||
a deeper idle state would have been a better match for the observed idle
|
a deeper idle state would have been a better match for the observed idle
|
||||||
duration.
|
duration.
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,7 @@ To get help on a command, another level of help is provided. For example for the
|
||||||
|
|
||||||
Summary of platform capability
|
Summary of platform capability
|
||||||
------------------------------
|
------------------------------
|
||||||
To check the current platform and driver capaibilities, execute::
|
To check the current platform and driver capabilities, execute::
|
||||||
|
|
||||||
#intel-speed-select --info
|
#intel-speed-select --info
|
||||||
|
|
||||||
|
@ -658,7 +658,7 @@ If -a option is not used, then the following steps are required before enabling
|
||||||
Intel(R) SST-BF:
|
Intel(R) SST-BF:
|
||||||
|
|
||||||
- Discover Intel(R) SST-BF and note low and high priority base frequency
|
- Discover Intel(R) SST-BF and note low and high priority base frequency
|
||||||
- Note the high prioity CPU list
|
- Note the high priority CPU list
|
||||||
- Enable CLOS using core-power feature set
|
- Enable CLOS using core-power feature set
|
||||||
- Configure CLOS parameters. Use CLOS.min to set to minimum performance
|
- Configure CLOS parameters. Use CLOS.min to set to minimum performance
|
||||||
- Subscribe desired CPUs to CLOS groups
|
- Subscribe desired CPUs to CLOS groups
|
||||||
|
|
|
@ -56,7 +56,7 @@ Operation Modes
|
||||||
|
|
||||||
``intel_pstate`` can operate in two different modes, active or passive. In the
|
``intel_pstate`` can operate in two different modes, active or passive. In the
|
||||||
active mode, it uses its own internal performance scaling governor algorithm or
|
active mode, it uses its own internal performance scaling governor algorithm or
|
||||||
allows the hardware to do preformance scaling by itself, while in the passive
|
allows the hardware to do performance scaling by itself, while in the passive
|
||||||
mode it responds to requests made by a generic ``CPUFreq`` governor implementing
|
mode it responds to requests made by a generic ``CPUFreq`` governor implementing
|
||||||
a certain performance scaling algorithm. Which of them will be in effect
|
a certain performance scaling algorithm. Which of them will be in effect
|
||||||
depends on what kernel command line options are used and on the capabilities of
|
depends on what kernel command line options are used and on the capabilities of
|
||||||
|
@ -380,13 +380,13 @@ argument is passed to the kernel in the command line.
|
||||||
|
|
||||||
``no_turbo``
|
``no_turbo``
|
||||||
If set (equal to 1), the driver is not allowed to set any turbo P-states
|
If set (equal to 1), the driver is not allowed to set any turbo P-states
|
||||||
(see `Turbo P-states Support`_). If unset (equalt to 0, which is the
|
(see `Turbo P-states Support`_). If unset (equal to 0, which is the
|
||||||
default), turbo P-states can be set by the driver.
|
default), turbo P-states can be set by the driver.
|
||||||
[Note that ``intel_pstate`` does not support the general ``boost``
|
[Note that ``intel_pstate`` does not support the general ``boost``
|
||||||
attribute (supported by some other scaling drivers) which is replaced
|
attribute (supported by some other scaling drivers) which is replaced
|
||||||
by this one.]
|
by this one.]
|
||||||
|
|
||||||
This attrubute does not affect the maximum supported frequency value
|
This attribute does not affect the maximum supported frequency value
|
||||||
supplied to the ``CPUFreq`` core and exposed via the policy interface,
|
supplied to the ``CPUFreq`` core and exposed via the policy interface,
|
||||||
but it affects the maximum possible value of per-policy P-state limits
|
but it affects the maximum possible value of per-policy P-state limits
|
||||||
(see `Interpretation of Policy Attributes`_ below for details).
|
(see `Interpretation of Policy Attributes`_ below for details).
|
||||||
|
|
|
@ -35,7 +35,7 @@ module parameters have priority over Kconfig.
|
||||||
|
|
||||||
Here is an example for module parameters::
|
Here is an example for module parameters::
|
||||||
|
|
||||||
pstore_blk.blkdev=179:7 pstore_blk.kmsg_size=64
|
pstore_blk.blkdev=/dev/mmcblk0p7 pstore_blk.kmsg_size=64 best_effort=y
|
||||||
|
|
||||||
The detail of each configurations may be of interest to you.
|
The detail of each configurations may be of interest to you.
|
||||||
|
|
||||||
|
@ -151,10 +151,7 @@ otherwise KMSG_DUMP_MAX.
|
||||||
Configurations for driver
|
Configurations for driver
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
Only a block device driver cares about these configurations. A block device
|
A device driver uses ``register_pstore_device`` with
|
||||||
driver uses ``register_pstore_blk`` to register to pstore/blk.
|
|
||||||
|
|
||||||
A non-block device driver uses ``register_pstore_device`` with
|
|
||||||
``struct pstore_device_info`` to register to pstore/blk.
|
``struct pstore_device_info`` to register to pstore/blk.
|
||||||
|
|
||||||
.. kernel-doc:: fs/pstore/blk.c
|
.. kernel-doc:: fs/pstore/blk.c
|
||||||
|
|
|
@ -22,7 +22,7 @@ and type of the memory area are set using three variables:
|
||||||
* ``mem_address`` for the start
|
* ``mem_address`` for the start
|
||||||
* ``mem_size`` for the size. The memory size will be rounded down to a
|
* ``mem_size`` for the size. The memory size will be rounded down to a
|
||||||
power of two.
|
power of two.
|
||||||
* ``mem_type`` to specifiy if the memory type (default is pgprot_writecombine).
|
* ``mem_type`` to specify if the memory type (default is pgprot_writecombine).
|
||||||
|
|
||||||
Typically the default value of ``mem_type=0`` should be used as that sets the pstore
|
Typically the default value of ``mem_type=0`` should be used as that sets the pstore
|
||||||
mapping to pgprot_writecombine. Setting ``mem_type=1`` attempts to use
|
mapping to pgprot_writecombine. Setting ``mem_type=1`` attempts to use
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
.. _reportingbugs:
|
.. _reportingbugs:
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
This document is obsolete, and will be replaced by
|
||||||
|
'Documentation/admin-guide/reporting-issues.rst' in the near future.
|
||||||
|
|
||||||
Reporting bugs
|
Reporting bugs
|
||||||
++++++++++++++
|
++++++++++++++
|
||||||
|
|
||||||
|
|
1631
Documentation/admin-guide/reporting-issues.rst
Normal file
1631
Documentation/admin-guide/reporting-issues.rst
Normal file
File diff suppressed because it is too large
Load diff
|
@ -21,7 +21,7 @@ understand and fix the security vulnerability.
|
||||||
|
|
||||||
As it is with any bug, the more information provided the easier it
|
As it is with any bug, the more information provided the easier it
|
||||||
will be to diagnose and fix. Please review the procedure outlined in
|
will be to diagnose and fix. Please review the procedure outlined in
|
||||||
:doc:`reporting-bugs` if you are unclear about what
|
'Documentation/admin-guide/reporting-issues.rst' if you are unclear about what
|
||||||
information is helpful. Any exploit code is very helpful and will not
|
information is helpful. Any exploit code is very helpful and will not
|
||||||
be released without consent from the reporter unless it has already been
|
be released without consent from the reporter unless it has already been
|
||||||
made public.
|
made public.
|
||||||
|
|
|
@ -344,6 +344,7 @@ spk key_slash = say_attributes
|
||||||
spk key_8 = speakup_paste
|
spk key_8 = speakup_paste
|
||||||
shift spk key_m = say_first_char
|
shift spk key_m = say_first_char
|
||||||
ctrl spk key_semicolon = say_last_char
|
ctrl spk key_semicolon = say_last_char
|
||||||
|
spk key_r = read_all_doc
|
||||||
|
|
||||||
5. The Speakup Sys System
|
5. The Speakup Sys System
|
||||||
|
|
||||||
|
|
90
Documentation/admin-guide/syscall-user-dispatch.rst
Normal file
90
Documentation/admin-guide/syscall-user-dispatch.rst
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
.. SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
=====================
|
||||||
|
Syscall User Dispatch
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Background
|
||||||
|
----------
|
||||||
|
|
||||||
|
Compatibility layers like Wine need a way to efficiently emulate system
|
||||||
|
calls of only a part of their process - the part that has the
|
||||||
|
incompatible code - while being able to execute native syscalls without
|
||||||
|
a high performance penalty on the native part of the process. Seccomp
|
||||||
|
falls short on this task, since it has limited support to efficiently
|
||||||
|
filter syscalls based on memory regions, and it doesn't support removing
|
||||||
|
filters. Therefore a new mechanism is necessary.
|
||||||
|
|
||||||
|
Syscall User Dispatch brings the filtering of the syscall dispatcher
|
||||||
|
address back to userspace. The application is in control of a flip
|
||||||
|
switch, indicating the current personality of the process. A
|
||||||
|
multiple-personality application can then flip the switch without
|
||||||
|
invoking the kernel, when crossing the compatibility layer API
|
||||||
|
boundaries, to enable/disable the syscall redirection and execute
|
||||||
|
syscalls directly (disabled) or send them to be emulated in userspace
|
||||||
|
through a SIGSYS.
|
||||||
|
|
||||||
|
The goal of this design is to provide very quick compatibility layer
|
||||||
|
boundary crosses, which is achieved by not executing a syscall to change
|
||||||
|
personality every time the compatibility layer executes. Instead, a
|
||||||
|
userspace memory region exposed to the kernel indicates the current
|
||||||
|
personality, and the application simply modifies that variable to
|
||||||
|
configure the mechanism.
|
||||||
|
|
||||||
|
There is a relatively high cost associated with handling signals on most
|
||||||
|
architectures, like x86, but at least for Wine, syscalls issued by
|
||||||
|
native Windows code are currently not known to be a performance problem,
|
||||||
|
since they are quite rare, at least for modern gaming applications.
|
||||||
|
|
||||||
|
Since this mechanism is designed to capture syscalls issued by
|
||||||
|
non-native applications, it must function on syscalls whose invocation
|
||||||
|
ABI is completely unexpected to Linux. Syscall User Dispatch, therefore
|
||||||
|
doesn't rely on any of the syscall ABI to make the filtering. It uses
|
||||||
|
only the syscall dispatcher address and the userspace key.
|
||||||
|
|
||||||
|
As the ABI of these intercepted syscalls is unknown to Linux, these
|
||||||
|
syscalls are not instrumentable via ptrace or the syscall tracepoints.
|
||||||
|
|
||||||
|
Interface
|
||||||
|
---------
|
||||||
|
|
||||||
|
A thread can setup this mechanism on supported kernels by executing the
|
||||||
|
following prctl:
|
||||||
|
|
||||||
|
prctl(PR_SET_SYSCALL_USER_DISPATCH, <op>, <offset>, <length>, [selector])
|
||||||
|
|
||||||
|
<op> is either PR_SYS_DISPATCH_ON or PR_SYS_DISPATCH_OFF, to enable and
|
||||||
|
disable the mechanism globally for that thread. When
|
||||||
|
PR_SYS_DISPATCH_OFF is used, the other fields must be zero.
|
||||||
|
|
||||||
|
[<offset>, <offset>+<length>) delimit a memory region interval
|
||||||
|
from which syscalls are always executed directly, regardless of the
|
||||||
|
userspace selector. This provides a fast path for the C library, which
|
||||||
|
includes the most common syscall dispatchers in the native code
|
||||||
|
applications, and also provides a way for the signal handler to return
|
||||||
|
without triggering a nested SIGSYS on (rt\_)sigreturn. Users of this
|
||||||
|
interface should make sure that at least the signal trampoline code is
|
||||||
|
included in this region. In addition, for syscalls that implement the
|
||||||
|
trampoline code on the vDSO, that trampoline is never intercepted.
|
||||||
|
|
||||||
|
[selector] is a pointer to a char-sized region in the process memory
|
||||||
|
region, that provides a quick way to enable disable syscall redirection
|
||||||
|
thread-wide, without the need to invoke the kernel directly. selector
|
||||||
|
can be set to PR_SYS_DISPATCH_ON or PR_SYS_DISPATCH_OFF. Any other
|
||||||
|
value should terminate the program with a SIGSYS.
|
||||||
|
|
||||||
|
Security Notes
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Syscall User Dispatch provides functionality for compatibility layers to
|
||||||
|
quickly capture system calls issued by a non-native part of the
|
||||||
|
application, while not impacting the Linux native regions of the
|
||||||
|
process. It is not a mechanism for sandboxing system calls, and it
|
||||||
|
should not be seen as a security mechanism, since it is trivial for a
|
||||||
|
malicious application to subvert the mechanism by jumping to an allowed
|
||||||
|
dispatcher region prior to executing the syscall, or to discover the
|
||||||
|
address and modify the selector value. If the use case requires any
|
||||||
|
kind of security sandboxing, Seccomp should be used instead.
|
||||||
|
|
||||||
|
Any fork or exec of the existing process resets the mechanism to
|
||||||
|
PR_SYS_DISPATCH_OFF.
|
|
@ -28,7 +28,7 @@ vsyscall32 (x86)
|
||||||
|
|
||||||
Determines whether the kernels maps a vDSO page into 32-bit processes;
|
Determines whether the kernels maps a vDSO page into 32-bit processes;
|
||||||
can be set to 1 to enable, or 0 to disable. Defaults to enabled if
|
can be set to 1 to enable, or 0 to disable. Defaults to enabled if
|
||||||
``CONFIG_COMPAT_VDSO`` is set, disabled otherwide.
|
``CONFIG_COMPAT_VDSO`` is set, disabled otherwise.
|
||||||
|
|
||||||
This controls the same setting as the ``vdso32`` kernel boot
|
This controls the same setting as the ``vdso32`` kernel boot
|
||||||
parameter.
|
parameter.
|
||||||
|
|
|
@ -14,7 +14,7 @@ For general info and legal blurb, please look in :doc:`index`.
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
This file contains documentation for the sysctl files in
|
This file contains documentation for the sysctl files in
|
||||||
``/proc/sys/kernel/`` and is valid for Linux kernel version 2.2.
|
``/proc/sys/kernel/``.
|
||||||
|
|
||||||
The files in this directory can be used to tune and monitor
|
The files in this directory can be used to tune and monitor
|
||||||
miscellaneous and general things in the operation of the Linux
|
miscellaneous and general things in the operation of the Linux
|
||||||
|
@ -879,7 +879,7 @@ The default value is 127.
|
||||||
perf_event_mlock_kb
|
perf_event_mlock_kb
|
||||||
===================
|
===================
|
||||||
|
|
||||||
Control size of per-cpu ring buffer not counted agains mlock limit.
|
Control size of per-cpu ring buffer not counted against mlock limit.
|
||||||
|
|
||||||
The default value is 512 + 1 page
|
The default value is 512 + 1 page
|
||||||
|
|
||||||
|
@ -1095,8 +1095,8 @@ Enables/disables scheduler statistics. Enabling this feature
|
||||||
incurs a small amount of overhead in the scheduler but is
|
incurs a small amount of overhead in the scheduler but is
|
||||||
useful for debugging and performance tuning.
|
useful for debugging and performance tuning.
|
||||||
|
|
||||||
sched_util_clamp_min:
|
sched_util_clamp_min
|
||||||
=====================
|
====================
|
||||||
|
|
||||||
Max allowed *minimum* utilization.
|
Max allowed *minimum* utilization.
|
||||||
|
|
||||||
|
@ -1106,8 +1106,8 @@ It means that any requested uclamp.min value cannot be greater than
|
||||||
sched_util_clamp_min, i.e., it is restricted to the range
|
sched_util_clamp_min, i.e., it is restricted to the range
|
||||||
[0:sched_util_clamp_min].
|
[0:sched_util_clamp_min].
|
||||||
|
|
||||||
sched_util_clamp_max:
|
sched_util_clamp_max
|
||||||
=====================
|
====================
|
||||||
|
|
||||||
Max allowed *maximum* utilization.
|
Max allowed *maximum* utilization.
|
||||||
|
|
||||||
|
@ -1117,8 +1117,8 @@ It means that any requested uclamp.max value cannot be greater than
|
||||||
sched_util_clamp_max, i.e., it is restricted to the range
|
sched_util_clamp_max, i.e., it is restricted to the range
|
||||||
[0:sched_util_clamp_max].
|
[0:sched_util_clamp_max].
|
||||||
|
|
||||||
sched_util_clamp_min_rt_default:
|
sched_util_clamp_min_rt_default
|
||||||
================================
|
===============================
|
||||||
|
|
||||||
By default Linux is tuned for performance. Which means that RT tasks always run
|
By default Linux is tuned for performance. Which means that RT tasks always run
|
||||||
at the highest frequency and most capable (highest capacity) CPU (in
|
at the highest frequency and most capable (highest capacity) CPU (in
|
||||||
|
@ -1336,7 +1336,7 @@ ORed together. The letters are seen in "Tainted" line of Oops reports.
|
||||||
====== ===== ==============================================================
|
====== ===== ==============================================================
|
||||||
1 `(P)` proprietary module was loaded
|
1 `(P)` proprietary module was loaded
|
||||||
2 `(F)` module was force loaded
|
2 `(F)` module was force loaded
|
||||||
4 `(S)` SMP kernel oops on an officially SMP incapable processor
|
4 `(S)` kernel running on an out of specification system
|
||||||
8 `(R)` module was force unloaded
|
8 `(R)` module was force unloaded
|
||||||
16 `(M)` processor reported a Machine Check Exception (MCE)
|
16 `(M)` processor reported a Machine Check Exception (MCE)
|
||||||
32 `(B)` bad page referenced or some unexpected page flags
|
32 `(B)` bad page referenced or some unexpected page flags
|
||||||
|
|
|
@ -300,6 +300,7 @@ Note:
|
||||||
0: 0 1 2 3 4 5 6 7
|
0: 0 1 2 3 4 5 6 7
|
||||||
RSS hash key:
|
RSS hash key:
|
||||||
84:50:f4:00:a8:15:d1:a7:e9:7f:1d:60:35:c7:47:25:42:97:74:ca:56:bb:b6:a1:d8:43:e3:c9:0c:fd:17:55:c2:3a:4d:69:ed:f1:42:89
|
84:50:f4:00:a8:15:d1:a7:e9:7f:1d:60:35:c7:47:25:42:97:74:ca:56:bb:b6:a1:d8:43:e3:c9:0c:fd:17:55:c2:3a:4d:69:ed:f1:42:89
|
||||||
|
|
||||||
netdev_tstamp_prequeue
|
netdev_tstamp_prequeue
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
|
|
|
@ -146,7 +146,7 @@ This should be used on systems where stalls for minor page faults are an
|
||||||
acceptable trade for large contiguous free memory. Set to 0 to prevent
|
acceptable trade for large contiguous free memory. Set to 0 to prevent
|
||||||
compaction from moving pages that are unevictable. Default value is 1.
|
compaction from moving pages that are unevictable. Default value is 1.
|
||||||
On CONFIG_PREEMPT_RT the default value is 0 in order to avoid a page fault, due
|
On CONFIG_PREEMPT_RT the default value is 0 in order to avoid a page fault, due
|
||||||
to compaction, which would block the task from becomming active until the fault
|
to compaction, which would block the task from becoming active until the fault
|
||||||
is resolved.
|
is resolved.
|
||||||
|
|
||||||
|
|
||||||
|
@ -428,7 +428,7 @@ While most applications need less than a thousand maps, certain
|
||||||
programs, particularly malloc debuggers, may consume lots of them,
|
programs, particularly malloc debuggers, may consume lots of them,
|
||||||
e.g., up to one or two maps per allocation.
|
e.g., up to one or two maps per allocation.
|
||||||
|
|
||||||
The default value is 65536.
|
The default value is 65530.
|
||||||
|
|
||||||
|
|
||||||
memory_failure_early_kill:
|
memory_failure_early_kill:
|
||||||
|
@ -873,12 +873,17 @@ file-backed pages is less than the high watermark in a zone.
|
||||||
unprivileged_userfaultfd
|
unprivileged_userfaultfd
|
||||||
========================
|
========================
|
||||||
|
|
||||||
This flag controls whether unprivileged users can use the userfaultfd
|
This flag controls the mode in which unprivileged users can use the
|
||||||
system calls. Set this to 1 to allow unprivileged users to use the
|
userfaultfd system calls. Set this to 0 to restrict unprivileged users
|
||||||
userfaultfd system calls, or set this to 0 to restrict userfaultfd to only
|
to handle page faults in user mode only. In this case, users without
|
||||||
privileged users (with SYS_CAP_PTRACE capability).
|
SYS_CAP_PTRACE must pass UFFD_USER_MODE_ONLY in order for userfaultfd to
|
||||||
|
succeed. Prohibiting use of userfaultfd for handling faults from kernel
|
||||||
|
mode may make certain vulnerabilities more difficult to exploit.
|
||||||
|
|
||||||
The default value is 1.
|
Set this to 1 to allow unprivileged users to use the userfaultfd system
|
||||||
|
calls without any restrictions.
|
||||||
|
|
||||||
|
The default value is 0.
|
||||||
|
|
||||||
|
|
||||||
user_reserve_kbytes
|
user_reserve_kbytes
|
||||||
|
|
|
@ -84,7 +84,7 @@ Bit Log Number Reason that got the kernel tainted
|
||||||
=== === ====== ========================================================
|
=== === ====== ========================================================
|
||||||
0 G/P 1 proprietary module was loaded
|
0 G/P 1 proprietary module was loaded
|
||||||
1 _/F 2 module was force loaded
|
1 _/F 2 module was force loaded
|
||||||
2 _/S 4 SMP kernel oops on an officially SMP incapable processor
|
2 _/S 4 kernel running on an out of specification system
|
||||||
3 _/R 8 module was force unloaded
|
3 _/R 8 module was force unloaded
|
||||||
4 _/M 16 processor reported a Machine Check Exception (MCE)
|
4 _/M 16 processor reported a Machine Check Exception (MCE)
|
||||||
5 _/B 32 bad page referenced or some unexpected page flags
|
5 _/B 32 bad page referenced or some unexpected page flags
|
||||||
|
@ -116,10 +116,23 @@ More detailed explanation for tainting
|
||||||
1) ``F`` if any module was force loaded by ``insmod -f``, ``' '`` if all
|
1) ``F`` if any module was force loaded by ``insmod -f``, ``' '`` if all
|
||||||
modules were loaded normally.
|
modules were loaded normally.
|
||||||
|
|
||||||
2) ``S`` if the oops occurred on an SMP kernel running on hardware that
|
2) ``S`` if the kernel is running on a processor or system that is out of
|
||||||
hasn't been certified as safe to run multiprocessor.
|
specification: hardware has been put into an unsupported configuration,
|
||||||
Currently this occurs only on various Athlons that are not
|
therefore proper execution cannot be guaranteed.
|
||||||
SMP capable.
|
Kernel will be tainted if, for example:
|
||||||
|
|
||||||
|
- on x86: PAE is forced through forcepae on intel CPUs (such as Pentium M)
|
||||||
|
which do not report PAE but may have a functional implementation, an SMP
|
||||||
|
kernel is running on non officially capable SMP Athlon CPUs, MSRs are
|
||||||
|
being poked at from userspace.
|
||||||
|
- on arm: kernel running on certain CPUs (such as Keystone 2) without
|
||||||
|
having certain kernel features enabled.
|
||||||
|
- on arm64: there are mismatched hardware features between CPUs, the
|
||||||
|
bootloader has booted CPUs in different modes.
|
||||||
|
- certain drivers are being used on non supported architectures (such as
|
||||||
|
scsi/snic on something else than x86_64, scsi/ips on non
|
||||||
|
x86/x86_64/itanium, have broken firmware settings for the
|
||||||
|
irqchip/irq-gic on arm64 ...).
|
||||||
|
|
||||||
3) ``R`` if a module was force unloaded by ``rmmod -f``, ``' '`` if all
|
3) ``R`` if a module was force unloaded by ``rmmod -f``, ``' '`` if all
|
||||||
modules were unloaded normally.
|
modules were unloaded normally.
|
||||||
|
|
3
Documentation/arm/features.rst
Normal file
3
Documentation/arm/features.rst
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
.. SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
.. kernel-feat:: $srctree/Documentation/features arm
|
|
@ -23,6 +23,8 @@ ARM Architecture
|
||||||
vlocks
|
vlocks
|
||||||
porting
|
porting
|
||||||
|
|
||||||
|
features
|
||||||
|
|
||||||
SoC-specific documents
|
SoC-specific documents
|
||||||
======================
|
======================
|
||||||
|
|
||||||
|
|
|
@ -45,9 +45,14 @@ fffe8000 fffeffff DTCM mapping area for platforms with
|
||||||
fffe0000 fffe7fff ITCM mapping area for platforms with
|
fffe0000 fffe7fff ITCM mapping area for platforms with
|
||||||
ITCM mounted inside the CPU.
|
ITCM mounted inside the CPU.
|
||||||
|
|
||||||
ffc00000 ffefffff Fixmap mapping region. Addresses provided
|
ffc80000 ffefffff Fixmap mapping region. Addresses provided
|
||||||
by fix_to_virt() will be located here.
|
by fix_to_virt() will be located here.
|
||||||
|
|
||||||
|
ffc00000 ffc7ffff Guard region
|
||||||
|
|
||||||
|
ff800000 ffbfffff Permanent, fixed read-only mapping of the
|
||||||
|
firmware provided DT blob
|
||||||
|
|
||||||
fee00000 feffffff Mapping of PCI I/O space. This is a static
|
fee00000 feffffff Mapping of PCI I/O space. This is a static
|
||||||
mapping within the vmalloc space.
|
mapping within the vmalloc space.
|
||||||
|
|
||||||
|
@ -72,6 +77,11 @@ MODULES_VADDR MODULES_END-1 Kernel module space
|
||||||
Kernel modules inserted via insmod are
|
Kernel modules inserted via insmod are
|
||||||
placed here using dynamic mappings.
|
placed here using dynamic mappings.
|
||||||
|
|
||||||
|
TASK_SIZE MODULES_VADDR-1 KASAn shadow memory when KASan is in use.
|
||||||
|
The range from MODULES_VADDR to the top
|
||||||
|
of the memory is shadowed here with 1 bit
|
||||||
|
per byte of memory.
|
||||||
|
|
||||||
00001000 TASK_SIZE-1 User space mappings
|
00001000 TASK_SIZE-1 User space mappings
|
||||||
Per-thread mappings are placed here via
|
Per-thread mappings are placed here via
|
||||||
the mmap() system call.
|
the mmap() system call.
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue