Merge drm/drm-next into drm-misc-next

Backmerging to get v6.15-rc1 into drm-misc-next. Also fixes a
build issue when enabling CONFIG_DRM_SCHED_KUNIT_TEST.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
This commit is contained in:
Thomas Zimmermann
2025-04-07 13:47:40 +02:00
12658 changed files with 664645 additions and 257922 deletions

1
.gitignore vendored
View File

@@ -65,6 +65,7 @@ modules.order
/vmlinux.32 /vmlinux.32
/vmlinux.map /vmlinux.map
/vmlinux.symvers /vmlinux.symvers
/vmlinux.unstripped
/vmlinux-gdb.py /vmlinux-gdb.py
/vmlinuz /vmlinuz
/System.map /System.map

View File

@@ -31,6 +31,13 @@ Alexander Lobakin <alobakin@pm.me> <alobakin@marvell.com>
Alexander Lobakin <alobakin@pm.me> <bloodyreaper@yandex.ru> Alexander Lobakin <alobakin@pm.me> <bloodyreaper@yandex.ru>
Alexander Mikhalitsyn <alexander@mihalicyn.com> <alexander.mikhalitsyn@virtuozzo.com> Alexander Mikhalitsyn <alexander@mihalicyn.com> <alexander.mikhalitsyn@virtuozzo.com>
Alexander Mikhalitsyn <alexander@mihalicyn.com> <aleksandr.mikhalitsyn@canonical.com> Alexander Mikhalitsyn <alexander@mihalicyn.com> <aleksandr.mikhalitsyn@canonical.com>
Alexander Sverdlin <alexander.sverdlin@gmail.com> <alexander.sverdlin.ext@nsn.com>
Alexander Sverdlin <alexander.sverdlin@gmail.com> <alexander.sverdlin@gmx.de>
Alexander Sverdlin <alexander.sverdlin@gmail.com> <alexander.sverdlin@nokia.com>
Alexander Sverdlin <alexander.sverdlin@gmail.com> <alexander.sverdlin@nsn.com>
Alexander Sverdlin <alexander.sverdlin@gmail.com> <alexander.sverdlin@siemens.com>
Alexander Sverdlin <alexander.sverdlin@gmail.com> <alexander.sverdlin@sysgo.com>
Alexander Sverdlin <alexander.sverdlin@gmail.com> <subaparts@yandex.ru>
Alexandre Belloni <alexandre.belloni@bootlin.com> <alexandre.belloni@free-electrons.com> Alexandre Belloni <alexandre.belloni@bootlin.com> <alexandre.belloni@free-electrons.com>
Alexandre Ghiti <alex@ghiti.fr> <alexandre.ghiti@canonical.com> Alexandre Ghiti <alex@ghiti.fr> <alexandre.ghiti@canonical.com>
Alexei Avshalom Lazar <quic_ailizaro@quicinc.com> <ailizaro@codeaurora.org> Alexei Avshalom Lazar <quic_ailizaro@quicinc.com> <ailizaro@codeaurora.org>
@@ -88,7 +95,6 @@ Antonio Quartulli <antonio@mandelbit.com> <antonio@open-mesh.com>
Antonio Quartulli <antonio@mandelbit.com> <antonio.quartulli@open-mesh.com> Antonio Quartulli <antonio@mandelbit.com> <antonio.quartulli@open-mesh.com>
Antonio Quartulli <antonio@mandelbit.com> <ordex@autistici.org> Antonio Quartulli <antonio@mandelbit.com> <ordex@autistici.org>
Antonio Quartulli <antonio@mandelbit.com> <ordex@ritirata.org> Antonio Quartulli <antonio@mandelbit.com> <ordex@ritirata.org>
Antonio Quartulli <antonio@mandelbit.com> <antonio@openvpn.net>
Antonio Quartulli <antonio@mandelbit.com> <a@unstable.cc> Antonio Quartulli <antonio@mandelbit.com> <a@unstable.cc>
Anup Patel <anup@brainfault.org> <anup.patel@wdc.com> Anup Patel <anup@brainfault.org> <anup.patel@wdc.com>
Archit Taneja <archit@ti.com> Archit Taneja <archit@ti.com>
@@ -154,7 +160,6 @@ Carlos Bilbao <carlos.bilbao@kernel.org> <carlos.bilbao@amd.com>
Carlos Bilbao <carlos.bilbao@kernel.org> <carlos.bilbao.osdev@gmail.com> Carlos Bilbao <carlos.bilbao@kernel.org> <carlos.bilbao.osdev@gmail.com>
Carlos Bilbao <carlos.bilbao@kernel.org> <bilbao@vt.edu> Carlos Bilbao <carlos.bilbao@kernel.org> <bilbao@vt.edu>
Changbin Du <changbin.du@intel.com> <changbin.du@gmail.com> Changbin Du <changbin.du@intel.com> <changbin.du@gmail.com>
Changbin Du <changbin.du@intel.com> <changbin.du@intel.com>
Chao Yu <chao@kernel.org> <chao2.yu@samsung.com> Chao Yu <chao@kernel.org> <chao2.yu@samsung.com>
Chao Yu <chao@kernel.org> <yuchao0@huawei.com> Chao Yu <chao@kernel.org> <yuchao0@huawei.com>
Chester Lin <chester62515@gmail.com> <clin@suse.com> Chester Lin <chester62515@gmail.com> <clin@suse.com>
@@ -200,10 +205,11 @@ 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>
Dikshita Agarwal <quic_dikshita@quicinc.com> <dikshita@codeaurora.org> Dikshita Agarwal <quic_dikshita@quicinc.com> <dikshita@codeaurora.org>
Dmitry Baryshkov <dbaryshkov@gmail.com> Dmitry Baryshkov <lumag@kernel.org> <dbaryshkov@gmail.com>
Dmitry Baryshkov <dbaryshkov@gmail.com> <[dbaryshkov@gmail.com]> Dmitry Baryshkov <lumag@kernel.org> <[dbaryshkov@gmail.com]>
Dmitry Baryshkov <dbaryshkov@gmail.com> <dmitry_baryshkov@mentor.com> Dmitry Baryshkov <lumag@kernel.org> <dmitry_baryshkov@mentor.com>
Dmitry Baryshkov <dbaryshkov@gmail.com> <dmitry_eremin@mentor.com> Dmitry Baryshkov <lumag@kernel.org> <dmitry_eremin@mentor.com>
Dmitry Baryshkov <lumag@kernel.org> <dmitry.baryshkov@linaro.org>
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>
@@ -271,6 +277,7 @@ Hamza Mahfooz <hamzamahfooz@linux.microsoft.com> <hamza.mahfooz@amd.com>
Hanjun Guo <guohanjun@huawei.com> <hanjun.guo@linaro.org> Hanjun Guo <guohanjun@huawei.com> <hanjun.guo@linaro.org>
Hans Verkuil <hverkuil@xs4all.nl> <hansverk@cisco.com> Hans Verkuil <hverkuil@xs4all.nl> <hansverk@cisco.com>
Hans Verkuil <hverkuil@xs4all.nl> <hverkuil-cisco@xs4all.nl> Hans Verkuil <hverkuil@xs4all.nl> <hverkuil-cisco@xs4all.nl>
Harry Yoo <harry.yoo@oracle.com> <42.hyeyoo@gmail.com>
Heiko Carstens <hca@linux.ibm.com> <h.carstens@de.ibm.com> Heiko Carstens <hca@linux.ibm.com> <h.carstens@de.ibm.com>
Heiko Carstens <hca@linux.ibm.com> <heiko.carstens@de.ibm.com> Heiko Carstens <hca@linux.ibm.com> <heiko.carstens@de.ibm.com>
Heiko Stuebner <heiko@sntech.de> <heiko.stuebner@bqreaders.com> Heiko Stuebner <heiko@sntech.de> <heiko.stuebner@bqreaders.com>
@@ -282,6 +289,7 @@ 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> <chenhc@lemote.com>
Huacai Chen <chenhuacai@kernel.org> <chenhuacai@loongson.cn> Huacai Chen <chenhuacai@kernel.org> <chenhuacai@loongson.cn>
Ike Panhc <ikepanhc@gmail.com> <ike.pan@canonical.com>
J. Bruce Fields <bfields@fieldses.org> <bfields@redhat.com> J. Bruce Fields <bfields@fieldses.org> <bfields@redhat.com>
J. Bruce Fields <bfields@fieldses.org> <bfields@citi.umich.edu> J. Bruce Fields <bfields@fieldses.org> <bfields@citi.umich.edu>
Jacob Shin <Jacob.Shin@amd.com> Jacob Shin <Jacob.Shin@amd.com>
@@ -304,7 +312,6 @@ Jan Glauber <jan.glauber@gmail.com> <jglauber@cavium.com>
Jan Kuliga <jtkuliga.kdev@gmail.com> <jankul@alatek.krakow.pl> Jan Kuliga <jtkuliga.kdev@gmail.com> <jankul@alatek.krakow.pl>
Jarkko Sakkinen <jarkko@kernel.org> <jarkko.sakkinen@linux.intel.com> Jarkko Sakkinen <jarkko@kernel.org> <jarkko.sakkinen@linux.intel.com>
Jarkko Sakkinen <jarkko@kernel.org> <jarkko@profian.com> Jarkko Sakkinen <jarkko@kernel.org> <jarkko@profian.com>
Jarkko Sakkinen <jarkko@kernel.org> <jarkko.sakkinen@parity.io>
Jason Gunthorpe <jgg@ziepe.ca> <jgg@mellanox.com> Jason Gunthorpe <jgg@ziepe.ca> <jgg@mellanox.com>
Jason Gunthorpe <jgg@ziepe.ca> <jgg@nvidia.com> Jason Gunthorpe <jgg@ziepe.ca> <jgg@nvidia.com>
Jason Gunthorpe <jgg@ziepe.ca> <jgunthorpe@obsidianresearch.com> Jason Gunthorpe <jgg@ziepe.ca> <jgunthorpe@obsidianresearch.com>
@@ -523,6 +530,7 @@ Nadav Amit <nadav.amit@gmail.com> <namit@cs.technion.ac.il>
Nadia Yvette Chambers <nyc@holomorphy.com> William Lee Irwin III <wli@holomorphy.com> Nadia Yvette Chambers <nyc@holomorphy.com> William Lee Irwin III <wli@holomorphy.com>
Naoya Horiguchi <nao.horiguchi@gmail.com> <n-horiguchi@ah.jp.nec.com> Naoya Horiguchi <nao.horiguchi@gmail.com> <n-horiguchi@ah.jp.nec.com>
Naoya Horiguchi <nao.horiguchi@gmail.com> <naoya.horiguchi@nec.com> Naoya Horiguchi <nao.horiguchi@gmail.com> <naoya.horiguchi@nec.com>
Natalie Vock <natalie.vock@gmx.de> <friedrich.vock@gmx.de>
Nathan Chancellor <nathan@kernel.org> <natechancellor@gmail.com> Nathan Chancellor <nathan@kernel.org> <natechancellor@gmail.com>
Naveen N Rao <naveen@kernel.org> <naveen.n.rao@linux.ibm.com> Naveen N Rao <naveen@kernel.org> <naveen.n.rao@linux.ibm.com>
Naveen N Rao <naveen@kernel.org> <naveen.n.rao@linux.vnet.ibm.com> Naveen N Rao <naveen@kernel.org> <naveen.n.rao@linux.vnet.ibm.com>
@@ -541,6 +549,8 @@ Nicolas Pitre <nico@fluxnic.net> <nicolas.pitre@linaro.org>
Nicolas Pitre <nico@fluxnic.net> <nico@linaro.org> Nicolas Pitre <nico@fluxnic.net> <nico@linaro.org>
Nicolas Saenz Julienne <nsaenz@kernel.org> <nsaenzjulienne@suse.de> Nicolas Saenz Julienne <nsaenz@kernel.org> <nsaenzjulienne@suse.de>
Nicolas Saenz Julienne <nsaenz@kernel.org> <nsaenzjulienne@suse.com> Nicolas Saenz Julienne <nsaenz@kernel.org> <nsaenzjulienne@suse.com>
Nicolas Schier <nicolas.schier@linux.dev> <n.schier@avm.de>
Nicolas Schier <nicolas.schier@linux.dev> <nicolas@fjasle.eu>
Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Nikolay Aleksandrov <razor@blackwall.org> <naleksan@redhat.com> Nikolay Aleksandrov <razor@blackwall.org> <naleksan@redhat.com>
Nikolay Aleksandrov <razor@blackwall.org> <nikolay@redhat.com> Nikolay Aleksandrov <razor@blackwall.org> <nikolay@redhat.com>
@@ -614,6 +624,8 @@ Richard Leitner <richard.leitner@linux.dev> <me@g0hl1n.net>
Richard Leitner <richard.leitner@linux.dev> <richard.leitner@skidata.com> Richard Leitner <richard.leitner@linux.dev> <richard.leitner@skidata.com>
Robert Foss <rfoss@kernel.org> <robert.foss@linaro.org> Robert Foss <rfoss@kernel.org> <robert.foss@linaro.org>
Rocky Liao <quic_rjliao@quicinc.com> <rjliao@codeaurora.org> Rocky Liao <quic_rjliao@quicinc.com> <rjliao@codeaurora.org>
Rodrigo Siqueira <siqueira@igalia.com> <rodrigosiqueiramelo@gmail.com>
Rodrigo Siqueira <siqueira@igalia.com> <Rodrigo.Siqueira@amd.com>
Roman Gushchin <roman.gushchin@linux.dev> <guro@fb.com> Roman Gushchin <roman.gushchin@linux.dev> <guro@fb.com>
Roman Gushchin <roman.gushchin@linux.dev> <guroan@gmail.com> Roman Gushchin <roman.gushchin@linux.dev> <guroan@gmail.com>
Roman Gushchin <roman.gushchin@linux.dev> <klamm@yandex-team.ru> Roman Gushchin <roman.gushchin@linux.dev> <klamm@yandex-team.ru>
@@ -683,6 +695,8 @@ Stephen Hemminger <stephen@networkplumber.org> <shemminger@linux-foundation.org>
Stephen Hemminger <stephen@networkplumber.org> <shemminger@osdl.org> Stephen Hemminger <stephen@networkplumber.org> <shemminger@osdl.org>
Stephen Hemminger <stephen@networkplumber.org> <sthemmin@microsoft.com> Stephen Hemminger <stephen@networkplumber.org> <sthemmin@microsoft.com>
Stephen Hemminger <stephen@networkplumber.org> <sthemmin@vyatta.com> Stephen Hemminger <stephen@networkplumber.org> <sthemmin@vyatta.com>
Stephen Smalley <stephen.smalley.work@gmail.com> <sds@epoch.ncsc.mil>
Stephen Smalley <stephen.smalley.work@gmail.com> <sds@tycho.nsa.gov>
Steve Wise <larrystevenwise@gmail.com> <swise@chelsio.com> Steve Wise <larrystevenwise@gmail.com> <swise@chelsio.com>
Steve Wise <larrystevenwise@gmail.com> <swise@opengridcomputing.com> Steve Wise <larrystevenwise@gmail.com> <swise@opengridcomputing.com>
Subash Abhinov Kasiviswanathan <quic_subashab@quicinc.com> <subashab@codeaurora.org> Subash Abhinov Kasiviswanathan <quic_subashab@quicinc.com> <subashab@codeaurora.org>
@@ -690,6 +704,7 @@ Subbaraman Narayanamurthy <quic_subbaram@quicinc.com> <subbaram@codeaurora.org>
Subhash Jadavani <subhashj@codeaurora.org> Subhash Jadavani <subhashj@codeaurora.org>
Sudarshan Rajagopalan <quic_sudaraja@quicinc.com> <sudaraja@codeaurora.org> Sudarshan Rajagopalan <quic_sudaraja@quicinc.com> <sudaraja@codeaurora.org>
Sudeep Holla <sudeep.holla@arm.com> Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com> Sudeep Holla <sudeep.holla@arm.com> Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
Sumit Garg <sumit.garg@kernel.org> <sumit.garg@linaro.org>
Sumit Semwal <sumit.semwal@ti.com> Sumit Semwal <sumit.semwal@ti.com>
Surabhi Vishnoi <quic_svishnoi@quicinc.com> <svishnoi@codeaurora.org> Surabhi Vishnoi <quic_svishnoi@quicinc.com> <svishnoi@codeaurora.org>
Sven Eckelmann <sven@narfation.org> <seckelmann@datto.com> Sven Eckelmann <sven@narfation.org> <seckelmann@datto.com>
@@ -755,7 +770,6 @@ Vinod Koul <vkoul@kernel.org> <vkoul@infradead.org>
Viresh Kumar <vireshk@kernel.org> <viresh.kumar2@arm.com> Viresh Kumar <vireshk@kernel.org> <viresh.kumar2@arm.com>
Viresh Kumar <vireshk@kernel.org> <viresh.kumar@st.com> Viresh Kumar <vireshk@kernel.org> <viresh.kumar@st.com>
Viresh Kumar <vireshk@kernel.org> <viresh.linux@gmail.com> Viresh Kumar <vireshk@kernel.org> <viresh.linux@gmail.com>
Viresh Kumar <viresh.kumar@linaro.org> <viresh.kumar@linaro.org>
Viresh Kumar <viresh.kumar@linaro.org> <viresh.kumar@linaro.com> Viresh Kumar <viresh.kumar@linaro.org> <viresh.kumar@linaro.com>
Vishnu Dasa <vishnu.dasa@broadcom.com> <vdasa@vmware.com> Vishnu Dasa <vishnu.dasa@broadcom.com> <vdasa@vmware.com>
Vivek Aknurwar <quic_viveka@quicinc.com> <viveka@codeaurora.org> Vivek Aknurwar <quic_viveka@quicinc.com> <viveka@codeaurora.org>

30
CREDITS
View File

@@ -317,6 +317,10 @@ S: Code 930.5, Goddard Space Flight Center
S: Greenbelt, Maryland 20771 S: Greenbelt, Maryland 20771
S: USA S: USA
N: Joel Becker
E: jlbec@evilplan.org
D: configfs
N: Adam Belay N: Adam Belay
E: ambx1@neo.rr.com E: ambx1@neo.rr.com
D: Linux Plug and Play Support D: Linux Plug and Play Support
@@ -855,6 +859,10 @@ N: John Crispin
E: john@phrozen.org E: john@phrozen.org
D: MediaTek MT7623 Gigabit ethernet support D: MediaTek MT7623 Gigabit ethernet support
N: Conor Culhane
E: conor.culhane@silvaco.com
D: Silvaco I3C master driver
N: Laurence Culhane N: Laurence Culhane
E: loz@holmes.demon.co.uk E: loz@holmes.demon.co.uk
D: Wrote the initial alpha SLIP code D: Wrote the initial alpha SLIP code
@@ -1895,6 +1903,7 @@ S: Czech Republic
N: Seth Jennings N: Seth Jennings
E: sjenning@redhat.com E: sjenning@redhat.com
D: Creation and maintenance of zswap D: Creation and maintenance of zswap
D: Creation and maintenace of the zbud allocator
N: Jeremy Kerr N: Jeremy Kerr
D: Maintainer of SPU File System D: Maintainer of SPU File System
@@ -2187,6 +2196,10 @@ D: Various ACPI fixes, keeping correct battery state through suspend
D: various lockdep annotations, autofs and other random bugfixes D: various lockdep annotations, autofs and other random bugfixes
S: Prague, Czech Republic S: Prague, Czech Republic
N: Ishizaki Kou
E: kou.ishizaki@toshiba.co.jp
D: Spidernet driver for PowerPC Cell platforms
N: Gene Kozin N: Gene Kozin
E: 74604.152@compuserve.com E: 74604.152@compuserve.com
W: https://www.sangoma.com W: https://www.sangoma.com
@@ -2197,6 +2210,9 @@ S: Markham, Ontario
S: L3R 8B2 S: L3R 8B2
S: Canada S: Canada
N: Christian Krafft
D: PowerPC Cell support
N: Maxim Krasnyansky N: Maxim Krasnyansky
E: maxk@qualcomm.com E: maxk@qualcomm.com
W: http://vtun.sf.net W: http://vtun.sf.net
@@ -2389,6 +2405,10 @@ S: ICP vortex GmbH
S: Neckarsulm S: Neckarsulm
S: Germany S: Germany
N: Geoff Levand
E: geoff@infradead.org
D: Spidernet driver for PowerPC Cell platforms
N: Phil Lewis N: Phil Lewis
E: beans@bucket.ualr.edu E: beans@bucket.ualr.edu
D: Promised to send money if I would put his name in the source tree. D: Promised to send money if I would put his name in the source tree.
@@ -3233,6 +3253,10 @@ N: Rui Prior
E: rprior@inescn.pt E: rprior@inescn.pt
D: ATM device driver for NICStAR based cards D: ATM device driver for NICStAR based cards
N: Roopa Prabhu
E: roopa@nvidia.com
D: Bridge co-maintainer, vxlan and networking contributor
N: Stefan Probst N: Stefan Probst
E: sp@caldera.de E: sp@caldera.de
D: The Linux Support Team Erlangen, 1993-97 D: The Linux Support Team Erlangen, 1993-97
@@ -3646,6 +3670,10 @@ S: 149 Union St.
S: Kingston, Ontario S: Kingston, Ontario
S: Canada K7L 2P4 S: Canada K7L 2P4
N: Pravin B Shelar
E: pshelar@ovn.org
D: Open vSwitch maintenance and contributions
N: John Shifflett N: John Shifflett
E: john@geolog.com E: john@geolog.com
E: jshiffle@netcom.com E: jshiffle@netcom.com
@@ -3788,6 +3816,7 @@ N: Dan Streetman
E: ddstreet@ieee.org E: ddstreet@ieee.org
D: Maintenance and development of zswap D: Maintenance and development of zswap
D: Creation and maintenance of the zpool API D: Creation and maintenance of the zpool API
D: Maintenace of the zbud allocator
N: Drew Sullivan N: Drew Sullivan
E: drew@ss.org E: drew@ss.org
@@ -4315,6 +4344,7 @@ S: England
N: Vitaly Wool N: Vitaly Wool
E: vitaly.wool@konsulko.com E: vitaly.wool@konsulko.com
D: Maintenance and development of zswap D: Maintenance and development of zswap
D: Maintenance and development of z3fold
N: Chris Wright N: Chris Wright
E: chrisw@sous-sol.org E: chrisw@sous-sol.org

View File

@@ -1,4 +1,5 @@
This directory attempts to document the ABI between the Linux kernel and This part of the documentation inside Documentation/ABI directory
attempts to document the ABI between the Linux kernel and
userspace, and the relative stability of these interfaces. Due to the userspace, and the relative stability of these interfaces. Due to the
everchanging nature of Linux, and the differing maturity levels, these everchanging nature of Linux, and the differing maturity levels, these
interfaces should be used by userspace programs in different ways. interfaces should be used by userspace programs in different ways.

View File

@@ -1,5 +1,4 @@
The cxl driver is no longer maintained, and will be removed from the kernel in The cxl driver was removed in 6.15.
the near future.
Please note that attributes that are shared between devices are stored in Please note that attributes that are shared between devices are stored in
the directory pointed to by the symlink device/. the directory pointed to by the symlink device/.
@@ -10,7 +9,7 @@ For example, the real path of the attribute /sys/class/cxl/afu0.0s/irqs_max is
Slave contexts (eg. /sys/class/cxl/afu0.0s): Slave contexts (eg. /sys/class/cxl/afu0.0s):
What: /sys/class/cxl/<afu>/afu_err_buf What: /sys/class/cxl/<afu>/afu_err_buf
Date: September 2014 Date: September 2014, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
AFU Error Buffer contents. The contents of this file are AFU Error Buffer contents. The contents of this file are
@@ -21,7 +20,7 @@ Description: read only
What: /sys/class/cxl/<afu>/irqs_max What: /sys/class/cxl/<afu>/irqs_max
Date: September 2014 Date: September 2014, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read/write Description: read/write
Decimal value of maximum number of interrupts that can be Decimal value of maximum number of interrupts that can be
@@ -32,7 +31,7 @@ Description: read/write
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<afu>/irqs_min What: /sys/class/cxl/<afu>/irqs_min
Date: September 2014 Date: September 2014, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
Decimal value of the minimum number of interrupts that Decimal value of the minimum number of interrupts that
@@ -42,7 +41,7 @@ Description: read only
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<afu>/mmio_size What: /sys/class/cxl/<afu>/mmio_size
Date: September 2014 Date: September 2014, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
Decimal value of the size of the MMIO space that may be mmapped Decimal value of the size of the MMIO space that may be mmapped
@@ -50,7 +49,7 @@ Description: read only
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<afu>/modes_supported What: /sys/class/cxl/<afu>/modes_supported
Date: September 2014 Date: September 2014, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
List of the modes this AFU supports. One per line. List of the modes this AFU supports. One per line.
@@ -58,7 +57,7 @@ Description: read only
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<afu>/mode What: /sys/class/cxl/<afu>/mode
Date: September 2014 Date: September 2014, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read/write Description: read/write
The current mode the AFU is using. Will be one of the modes The current mode the AFU is using. Will be one of the modes
@@ -68,7 +67,7 @@ Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<afu>/prefault_mode What: /sys/class/cxl/<afu>/prefault_mode
Date: September 2014 Date: September 2014, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read/write Description: read/write
Set the mode for prefaulting in segments into the segment table Set the mode for prefaulting in segments into the segment table
@@ -88,7 +87,7 @@ Description: read/write
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<afu>/reset What: /sys/class/cxl/<afu>/reset
Date: September 2014 Date: September 2014, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: write only Description: write only
Writing 1 here will reset the AFU provided there are not Writing 1 here will reset the AFU provided there are not
@@ -96,14 +95,14 @@ Description: write only
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<afu>/api_version What: /sys/class/cxl/<afu>/api_version
Date: September 2014 Date: September 2014, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
Decimal value of the current version of the kernel/user API. Decimal value of the current version of the kernel/user API.
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<afu>/api_version_compatible What: /sys/class/cxl/<afu>/api_version_compatible
Date: September 2014 Date: September 2014, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
Decimal value of the lowest version of the userspace API Decimal value of the lowest version of the userspace API
@@ -117,7 +116,7 @@ An AFU may optionally export one or more PCIe like configuration records, known
as AFU configuration records, which will show up here (if present). as AFU configuration records, which will show up here (if present).
What: /sys/class/cxl/<afu>/cr<config num>/vendor What: /sys/class/cxl/<afu>/cr<config num>/vendor
Date: February 2015 Date: February 2015, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
Hexadecimal value of the vendor ID found in this AFU Hexadecimal value of the vendor ID found in this AFU
@@ -125,7 +124,7 @@ Description: read only
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<afu>/cr<config num>/device What: /sys/class/cxl/<afu>/cr<config num>/device
Date: February 2015 Date: February 2015, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
Hexadecimal value of the device ID found in this AFU Hexadecimal value of the device ID found in this AFU
@@ -133,7 +132,7 @@ Description: read only
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<afu>/cr<config num>/class What: /sys/class/cxl/<afu>/cr<config num>/class
Date: February 2015 Date: February 2015, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
Hexadecimal value of the class code found in this AFU Hexadecimal value of the class code found in this AFU
@@ -141,7 +140,7 @@ Description: read only
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<afu>/cr<config num>/config What: /sys/class/cxl/<afu>/cr<config num>/config
Date: February 2015 Date: February 2015, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
This binary file provides raw access to the AFU configuration This binary file provides raw access to the AFU configuration
@@ -155,7 +154,7 @@ Users: https://github.com/ibm-capi/libcxl
Master contexts (eg. /sys/class/cxl/afu0.0m) Master contexts (eg. /sys/class/cxl/afu0.0m)
What: /sys/class/cxl/<afu>m/mmio_size What: /sys/class/cxl/<afu>m/mmio_size
Date: September 2014 Date: September 2014, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
Decimal value of the size of the MMIO space that may be mmapped Decimal value of the size of the MMIO space that may be mmapped
@@ -163,14 +162,14 @@ Description: read only
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<afu>m/pp_mmio_len What: /sys/class/cxl/<afu>m/pp_mmio_len
Date: September 2014 Date: September 2014, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
Decimal value of the Per Process MMIO space length. Decimal value of the Per Process MMIO space length.
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<afu>m/pp_mmio_off What: /sys/class/cxl/<afu>m/pp_mmio_off
Date: September 2014 Date: September 2014, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
(not in a guest) (not in a guest)
@@ -181,21 +180,21 @@ Users: https://github.com/ibm-capi/libcxl
Card info (eg. /sys/class/cxl/card0) Card info (eg. /sys/class/cxl/card0)
What: /sys/class/cxl/<card>/caia_version What: /sys/class/cxl/<card>/caia_version
Date: September 2014 Date: September 2014, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
Identifies the CAIA Version the card implements. Identifies the CAIA Version the card implements.
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<card>/psl_revision What: /sys/class/cxl/<card>/psl_revision
Date: September 2014 Date: September 2014, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
Identifies the revision level of the PSL. Identifies the revision level of the PSL.
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<card>/base_image What: /sys/class/cxl/<card>/base_image
Date: September 2014 Date: September 2014, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
(not in a guest) (not in a guest)
@@ -206,7 +205,7 @@ Description: read only
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<card>/image_loaded What: /sys/class/cxl/<card>/image_loaded
Date: September 2014 Date: September 2014, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
(not in a guest) (not in a guest)
@@ -215,7 +214,7 @@ Description: read only
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<card>/load_image_on_perst What: /sys/class/cxl/<card>/load_image_on_perst
Date: December 2014 Date: December 2014, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read/write Description: read/write
(not in a guest) (not in a guest)
@@ -232,7 +231,7 @@ Description: read/write
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<card>/reset What: /sys/class/cxl/<card>/reset
Date: October 2014 Date: October 2014, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: write only Description: write only
Writing 1 will issue a PERST to card provided there are no Writing 1 will issue a PERST to card provided there are no
@@ -243,7 +242,7 @@ Description: write only
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<card>/perst_reloads_same_image What: /sys/class/cxl/<card>/perst_reloads_same_image
Date: July 2015 Date: July 2015, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read/write Description: read/write
(not in a guest) (not in a guest)
@@ -257,7 +256,7 @@ Description: read/write
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<card>/psl_timebase_synced What: /sys/class/cxl/<card>/psl_timebase_synced
Date: March 2016 Date: March 2016, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
Returns 1 if the psl timebase register is synchronized Returns 1 if the psl timebase register is synchronized
@@ -265,7 +264,7 @@ Description: read only
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<card>/tunneled_ops_supported What: /sys/class/cxl/<card>/tunneled_ops_supported
Date: May 2018 Date: May 2018, removed February 2025
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
Returns 1 if tunneled operations are supported in capi mode, Returns 1 if tunneled operations are supported in capi mode,

View File

@@ -4,7 +4,7 @@ For details to this subsystem look at Documentation/driver-api/rfkill.rst.
What: /sys/class/rfkill/rfkill[0-9]+/claim What: /sys/class/rfkill/rfkill[0-9]+/claim
Date: 09-Jul-2007 Date: 09-Jul-2007
KernelVersion v2.6.22 KernelVersion: v2.6.22
Contact: linux-wireless@vger.kernel.org Contact: linux-wireless@vger.kernel.org
Description: This file was deprecated because there no longer was a way to Description: This file was deprecated because there no longer was a way to
claim just control over a single rfkill instance. claim just control over a single rfkill instance.

View File

@@ -109,6 +109,10 @@ Contact: Martin K. Petersen <martin.petersen@oracle.com>
Description: Description:
Indicates whether a storage device is capable of storing Indicates whether a storage device is capable of storing
integrity metadata. Set if the device is T10 PI-capable. integrity metadata. Set if the device is T10 PI-capable.
This flag is set to 1 if the storage media is formatted
with T10 Protection Information. If the storage media is
not formatted with T10 Protection Information, this flag
is set to 0.
What: /sys/block/<disk>/integrity/format What: /sys/block/<disk>/integrity/format
@@ -117,6 +121,13 @@ Contact: Martin K. Petersen <martin.petersen@oracle.com>
Description: Description:
Metadata format for integrity capable block device. Metadata format for integrity capable block device.
E.g. T10-DIF-TYPE1-CRC. E.g. T10-DIF-TYPE1-CRC.
This field describes the type of T10 Protection Information
that the block device can send and receive.
If the device can store application integrity metadata but
no T10 Protection Information profile is used, this field
contains "nop".
If the device does not support integrity metadata, this
field contains "none".
What: /sys/block/<disk>/integrity/protection_interval_bytes What: /sys/block/<disk>/integrity/protection_interval_bytes
@@ -142,7 +153,17 @@ Date: June 2008
Contact: Martin K. Petersen <martin.petersen@oracle.com> Contact: Martin K. Petersen <martin.petersen@oracle.com>
Description: Description:
Number of bytes of integrity tag space available per Number of bytes of integrity tag space available per
512 bytes of data. protection_interval_bytes, which is typically
the device's logical block size.
This field describes the size of the application tag
if the storage device is formatted with T10 Protection
Information and permits use of the application tag.
The tag_size is reported in bytes and indicates the
space available for adding an opaque tag to each block
(protection_interval_bytes).
If the device does not support T10 Protection Information
(even if the device provides application integrity
metadata space), this field is set to 0.
What: /sys/block/<disk>/integrity/write_generate What: /sys/block/<disk>/integrity/write_generate
@@ -229,6 +250,17 @@ Description:
encryption, refer to Documentation/block/inline-encryption.rst. encryption, refer to Documentation/block/inline-encryption.rst.
What: /sys/block/<disk>/queue/crypto/hw_wrapped_keys
Date: February 2025
Contact: linux-block@vger.kernel.org
Description:
[RO] The presence of this file indicates that the device
supports hardware-wrapped inline encryption keys, i.e. key blobs
that can only be unwrapped and used by dedicated hardware. For
more information about hardware-wrapped inline encryption keys,
see Documentation/block/inline-encryption.rst.
What: /sys/block/<disk>/queue/crypto/max_dun_bits What: /sys/block/<disk>/queue/crypto/max_dun_bits
Date: February 2022 Date: February 2022
Contact: linux-block@vger.kernel.org Contact: linux-block@vger.kernel.org
@@ -267,6 +299,15 @@ Description:
use with inline encryption. use with inline encryption.
What: /sys/block/<disk>/queue/crypto/raw_keys
Date: February 2025
Contact: linux-block@vger.kernel.org
Description:
[RO] The presence of this file indicates that the device
supports raw inline encryption keys, i.e. keys that are managed
in raw, plaintext form in software.
What: /sys/block/<disk>/queue/dax What: /sys/block/<disk>/queue/dax
Date: June 2016 Date: June 2016
Contact: linux-block@vger.kernel.org Contact: linux-block@vger.kernel.org

View File

@@ -16,7 +16,7 @@ Description: The rfkill class subsystem folder.
What: /sys/class/rfkill/rfkill[0-9]+/name What: /sys/class/rfkill/rfkill[0-9]+/name
Date: 09-Jul-2007 Date: 09-Jul-2007
KernelVersion v2.6.22 KernelVersion: v2.6.22
Contact: linux-wireless@vger.kernel.org Contact: linux-wireless@vger.kernel.org
Description: Name assigned by driver to this key (interface or driver name). Description: Name assigned by driver to this key (interface or driver name).
Values: arbitrary string. Values: arbitrary string.
@@ -24,7 +24,7 @@ Values: arbitrary string.
What: /sys/class/rfkill/rfkill[0-9]+/type What: /sys/class/rfkill/rfkill[0-9]+/type
Date: 09-Jul-2007 Date: 09-Jul-2007
KernelVersion v2.6.22 KernelVersion: v2.6.22
Contact: linux-wireless@vger.kernel.org Contact: linux-wireless@vger.kernel.org
Description: Driver type string ("wlan", "bluetooth", etc). Description: Driver type string ("wlan", "bluetooth", etc).
Values: See include/linux/rfkill.h. Values: See include/linux/rfkill.h.
@@ -32,7 +32,7 @@ Values: See include/linux/rfkill.h.
What: /sys/class/rfkill/rfkill[0-9]+/persistent What: /sys/class/rfkill/rfkill[0-9]+/persistent
Date: 09-Jul-2007 Date: 09-Jul-2007
KernelVersion v2.6.22 KernelVersion: v2.6.22
Contact: linux-wireless@vger.kernel.org Contact: linux-wireless@vger.kernel.org
Description: Whether the soft blocked state is initialised from non-volatile Description: Whether the soft blocked state is initialised from non-volatile
storage at startup. storage at startup.
@@ -44,7 +44,7 @@ Values: A numeric value:
What: /sys/class/rfkill/rfkill[0-9]+/state What: /sys/class/rfkill/rfkill[0-9]+/state
Date: 09-Jul-2007 Date: 09-Jul-2007
KernelVersion v2.6.22 KernelVersion: v2.6.22
Contact: linux-wireless@vger.kernel.org Contact: linux-wireless@vger.kernel.org
Description: Current state of the transmitter. Description: Current state of the transmitter.
This file was scheduled to be removed in 2014, but due to its This file was scheduled to be removed in 2014, but due to its
@@ -67,7 +67,7 @@ Values: A numeric value.
What: /sys/class/rfkill/rfkill[0-9]+/hard What: /sys/class/rfkill/rfkill[0-9]+/hard
Date: 12-March-2010 Date: 12-March-2010
KernelVersion v2.6.34 KernelVersion: v2.6.34
Contact: linux-wireless@vger.kernel.org Contact: linux-wireless@vger.kernel.org
Description: Current hardblock state. This file is read only. Description: Current hardblock state. This file is read only.
Values: A numeric value. Values: A numeric value.
@@ -81,7 +81,7 @@ Values: A numeric value.
What: /sys/class/rfkill/rfkill[0-9]+/soft What: /sys/class/rfkill/rfkill[0-9]+/soft
Date: 12-March-2010 Date: 12-March-2010
KernelVersion v2.6.34 KernelVersion: v2.6.34
Contact: linux-wireless@vger.kernel.org Contact: linux-wireless@vger.kernel.org
Description: Current softblock state. This file is read and write. Description: Current softblock state. This file is read and write.
Values: A numeric value. Values: A numeric value.

View File

@@ -177,6 +177,12 @@ Description:
The cache write policy: 0 for write-back, 1 for write-through, The cache write policy: 0 for write-back, 1 for write-through,
other or unknown. other or unknown.
What: /sys/devices/system/node/nodeX/memory_side_cache/indexY/address_mode
Date: March 2025
Contact: Dave Jiang <dave.jiang@intel.com>
Description:
The address mode: 0 for reserved, 1 for extended-linear.
What: /sys/devices/system/node/nodeX/x86/sgx_total_bytes What: /sys/devices/system/node/nodeX/x86/sgx_total_bytes
Date: November 2021 Date: November 2021
Contact: Jarkko Sakkinen <jarkko@kernel.org> Contact: Jarkko Sakkinen <jarkko@kernel.org>

View File

@@ -24,12 +24,6 @@ Description: Default value for the Data Stream Control Register (DSCR) on
If set by a process it will be inherited by child processes. If set by a process it will be inherited by child processes.
Values: 64 bit unsigned integer (bit field) Values: 64 bit unsigned integer (bit field)
What: /sys/devices/system/cpu/cpuX/topology/physical_package_id
Description: physical package id of cpuX. Typically corresponds to a physical
socket number, but the actual value is architecture and platform
dependent.
Values: integer
What: /sys/devices/system/cpu/cpuX/topology/die_id What: /sys/devices/system/cpu/cpuX/topology/die_id
Description: the CPU die ID of cpuX. Typically it is the hardware platform's Description: the CPU die ID of cpuX. Typically it is the hardware platform's
identifier (rather than the kernel's). The actual value is identifier (rather than the kernel's). The actual value is
@@ -86,10 +80,6 @@ What: /sys/devices/system/cpu/cpuX/topology/die_cpus
Description: internal kernel map of CPUs within the same die. Description: internal kernel map of CPUs within the same die.
Values: hexadecimal bitmask. Values: hexadecimal bitmask.
What: /sys/devices/system/cpu/cpuX/topology/ppin
Description: per-socket protected processor inventory number
Values: hexadecimal.
What: /sys/devices/system/cpu/cpuX/topology/die_cpus_list What: /sys/devices/system/cpu/cpuX/topology/die_cpus_list
Description: human-readable list of CPUs within the same die. Description: human-readable list of CPUs within the same die.
The format is like 0-3, 8-11, 14,17. The format is like 0-3, 8-11, 14,17.

View File

@@ -246,14 +246,14 @@ Description: Controls whether PRS disable is turned on for the workqueue.
capability. capability.
What: /sys/bus/dsa/devices/wq<m>.<n>/occupancy What: /sys/bus/dsa/devices/wq<m>.<n>/occupancy
Date May 25, 2021 Date: May 25, 2021
KernelVersion: 5.14.0 KernelVersion: 5.14.0
Contact: dmaengine@vger.kernel.org Contact: dmaengine@vger.kernel.org
Description: Show the current number of entries in this WQ if WQ Occupancy Description: Show the current number of entries in this WQ if WQ Occupancy
Support bit WQ capabilities is 1. Support bit WQ capabilities is 1.
What: /sys/bus/dsa/devices/wq<m>.<n>/enqcmds_retries What: /sys/bus/dsa/devices/wq<m>.<n>/enqcmds_retries
Date Oct 29, 2021 Date: Oct 29, 2021
KernelVersion: 5.17.0 KernelVersion: 5.17.0
Contact: dmaengine@vger.kernel.org Contact: dmaengine@vger.kernel.org
Description: Indicate the number of retires for an enqcmds submission on a sharedwq. Description: Indicate the number of retires for an enqcmds submission on a sharedwq.

View File

@@ -47,7 +47,7 @@ Description:
midi1_first_group The first UMP Group number for MIDI 1.0 (0-15) midi1_first_group The first UMP Group number for MIDI 1.0 (0-15)
midi1_num_groups The number of groups for MIDI 1.0 (0-16) midi1_num_groups The number of groups for MIDI 1.0 (0-16)
ui_hint 0: unknown, 1: receiver, 2: sender, 3: both ui_hint 0: unknown, 1: receiver, 2: sender, 3: both
midi_ci_verison Supported MIDI-CI version number (8 bit) midi_ci_version Supported MIDI-CI version number (8 bit)
is_midi1 Legacy MIDI 1.0 device (0, 1 or 2) is_midi1 Legacy MIDI 1.0 device (0, 1 or 2)
sysex8_streams Max number of SysEx8 streams (8 bit) sysex8_streams Max number of SysEx8 streams (8 bit)
active Active FB flag (0 or 1) active Active FB flag (0 or 1)

View File

@@ -0,0 +1,157 @@
What: /sys/kernel/debug/dwc_pcie_<dev>/rasdes_debug/lane_detect
Date: February 2025
Contact: Shradha Todi <shradha.t@samsung.com>
Description: (RW) Write the lane number to be checked for detection. Read
will return whether PHY indicates receiver detection on the
selected lane. The default selected lane is Lane0.
What: /sys/kernel/debug/dwc_pcie_<dev>/rasdes_debug/rx_valid
Date: February 2025
Contact: Shradha Todi <shradha.t@samsung.com>
Description: (RW) Write the lane number to be checked as valid or invalid.
Read will return the status of PIPE RXVALID signal of the
selected lane. The default selected lane is Lane0.
What: /sys/kernel/debug/dwc_pcie_<dev>/rasdes_err_inj/<error>
Date: February 2025
Contact: Shradha Todi <shradha.t@samsung.com>
Description: The "rasdes_err_inj" is a directory which can be used to inject
errors into the system. The possible errors that can be injected
are:
1) tx_lcrc - TLP LCRC error injection TX Path
2) b16_crc_dllp - 16b CRC error injection of ACK/NAK DLLP
3) b16_crc_upd_fc - 16b CRC error injection of Update-FC DLLP
4) tx_ecrc - TLP ECRC error injection TX Path
5) fcrc_tlp - TLP's FCRC error injection TX Path
6) parity_tsos - Parity error of TSOS
7) parity_skpos - Parity error on SKPOS
8) rx_lcrc - LCRC error injection RX Path
9) rx_ecrc - ECRC error injection RX Path
10) tlp_err_seq - TLPs SEQ# error
11) ack_nak_dllp_seq - DLLPS ACK/NAK SEQ# error
12) ack_nak_dllp - ACK/NAK DLLPs transmission block
13) upd_fc_dllp - UpdateFC DLLPs transmission block
14) nak_dllp - Always transmission for NAK DLLP
15) inv_sync_hdr_sym - Invert SYNC header
16) com_pad_ts1 - COM/PAD TS1 order set
17) com_pad_ts2 - COM/PAD TS2 order set
18) com_fts - COM/FTS FTS order set
19) com_idl - COM/IDL E-idle order set
20) end_edb - END/EDB symbol
21) stp_sdp - STP/SDP symbol
22) com_skp - COM/SKP SKP order set
23) posted_tlp_hdr - Posted TLP Header credit value control
24) non_post_tlp_hdr - Non-Posted TLP Header credit value control
25) cmpl_tlp_hdr - Completion TLP Header credit value control
26) posted_tlp_data - Posted TLP Data credit value control
27) non_post_tlp_data - Non-Posted TLP Data credit value control
28) cmpl_tlp_data - Completion TLP Data credit value control
29) duplicate_tlp - Generates duplicate TLPs
30) nullified_tlp - Generates Nullified TLPs
(WO) Write to the attribute will prepare controller to inject
the respective error in the next transmission of data.
Parameter required to write will change in the following ways:
- Errors 9 and 10 are sequence errors. The write command:
echo <count> <diff> > /sys/kernel/debug/dwc_pcie_<dev>/rasdes_err_inj/<error>
<count>
Number of errors to be injected
<diff>
The difference to add or subtract from natural
sequence number to generate sequence error.
Allowed range from -4095 to 4095
- Errors 23 to 28 are credit value error insertions. The write
command:
echo <count> <diff> <vc> > /sys/kernel/debug/dwc_pcie_<dev>/rasdes_err_inj/<error>
<count>
Number of errors to be injected
<diff>
The difference to add or subtract from UpdateFC
credit value. Allowed range from -4095 to 4095
<vc>
Target VC number
- All other errors. The write command:
echo <count> > /sys/kernel/debug/dwc_pcie_<dev>/rasdes_err_inj/<error>
<count>
Number of errors to be injected
What: /sys/kernel/debug/dwc_pcie_<dev>/rasdes_event_counters/<event>/counter_enable
Date: February 2025
Contact: Shradha Todi <shradha.t@samsung.com>
Description: The "rasdes_event_counters" is the directory which can be used
to collect statistical data about the number of times a certain
event has occurred in the controller. The list of possible
events are:
1) EBUF Overflow
2) EBUF Underrun
3) Decode Error
4) Running Disparity Error
5) SKP OS Parity Error
6) SYNC Header Error
7) Rx Valid De-assertion
8) CTL SKP OS Parity Error
9) 1st Retimer Parity Error
10) 2nd Retimer Parity Error
11) Margin CRC and Parity Error
12) Detect EI Infer
13) Receiver Error
14) RX Recovery Req
15) N_FTS Timeout
16) Framing Error
17) Deskew Error
18) Framing Error In L0
19) Deskew Uncompleted Error
20) Bad TLP
21) LCRC Error
22) Bad DLLP
23) Replay Number Rollover
24) Replay Timeout
25) Rx Nak DLLP
26) Tx Nak DLLP
27) Retry TLP
28) FC Timeout
29) Poisoned TLP
30) ECRC Error
31) Unsupported Request
32) Completer Abort
33) Completion Timeout
34) EBUF SKP Add
35) EBUF SKP Del
(RW) Write 1 to enable the event counter and write 0 to disable
the event counter. Read will return whether the counter is
currently enabled or disabled. Counter is disabled by default.
What: /sys/kernel/debug/dwc_pcie_<dev>/rasdes_event_counters/<event>/counter_value
Date: February 2025
Contact: Shradha Todi <shradha.t@samsung.com>
Description: (RO) Read will return the current value of the event counter.
To reset the counter, counter should be disabled first and then
enabled back using the "counter_enable" attribute.
What: /sys/kernel/debug/dwc_pcie_<dev>/rasdes_event_counters/<event>/lane_select
Date: February 2025
Contact: Shradha Todi <shradha.t@samsung.com>
Description: (RW) Some lanes in the event list are lane specific events.
These include events from 1 to 11, as well as, 34 and 35. Write
the lane number for which you wish the counter to be enabled,
disabled, or value dumped. Read will return the current
selected lane number. Lane0 is selected by default.
What: /sys/kernel/debug/dwc_pcie_<dev>/ltssm_status
Date: February 2025
Contact: Hans Zhang <18255117159@163.com>
Description: (RO) Read will return the current PCIe LTSSM state in both
string and raw value.

View File

@@ -22,14 +22,6 @@ Description:
device. The reset operation frees all the memory associated device. The reset operation frees all the memory associated
with this device. with this device.
What: /sys/block/zram<id>/max_comp_streams
Date: February 2014
Contact: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Description:
The max_comp_streams file is read-write and specifies the
number of backend's zcomp_strm compression streams (number of
concurrent compress operations).
What: /sys/block/zram<id>/comp_algorithm What: /sys/block/zram<id>/comp_algorithm
Date: February 2014 Date: February 2014
Contact: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> Contact: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>

View File

@@ -1,241 +1,241 @@
What: /sys/bus/coresight/devices/<cti-name>/enable What: /sys/bus/coresight/devices/<cti-name>/enable
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (RW) Enable/Disable the CTI hardware. Description: (RW) Enable/Disable the CTI hardware.
What: /sys/bus/coresight/devices/<cti-name>/powered What: /sys/bus/coresight/devices/<cti-name>/powered
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Read) Indicate if the CTI hardware is powered. Description: (Read) Indicate if the CTI hardware is powered.
What: /sys/bus/coresight/devices/<cti-name>/ctmid What: /sys/bus/coresight/devices/<cti-name>/ctmid
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Read) Display the associated CTM ID Description: (Read) Display the associated CTM ID
What: /sys/bus/coresight/devices/<cti-name>/nr_trigger_cons What: /sys/bus/coresight/devices/<cti-name>/nr_trigger_cons
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Read) Number of devices connected to triggers on this CTI Description: (Read) Number of devices connected to triggers on this CTI
What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/name What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/name
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Read) Name of connected device <N> Description: (Read) Name of connected device <N>
What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/in_signals What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/in_signals
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Read) Input trigger signals from connected device <N> Description: (Read) Input trigger signals from connected device <N>
What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/in_types What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/in_types
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Read) Functional types for the input trigger signals Description: (Read) Functional types for the input trigger signals
from connected device <N> from connected device <N>
What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/out_signals What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/out_signals
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Read) Output trigger signals to connected device <N> Description: (Read) Output trigger signals to connected device <N>
What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/out_types What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/out_types
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Read) Functional types for the output trigger signals Description: (Read) Functional types for the output trigger signals
to connected device <N> to connected device <N>
What: /sys/bus/coresight/devices/<cti-name>/regs/inout_sel What: /sys/bus/coresight/devices/<cti-name>/regs/inout_sel
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (RW) Select the index for inen and outen registers. Description: (RW) Select the index for inen and outen registers.
What: /sys/bus/coresight/devices/<cti-name>/regs/inen What: /sys/bus/coresight/devices/<cti-name>/regs/inen
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (RW) Read or write the CTIINEN register selected by inout_sel. Description: (RW) Read or write the CTIINEN register selected by inout_sel.
What: /sys/bus/coresight/devices/<cti-name>/regs/outen What: /sys/bus/coresight/devices/<cti-name>/regs/outen
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (RW) Read or write the CTIOUTEN register selected by inout_sel. Description: (RW) Read or write the CTIOUTEN register selected by inout_sel.
What: /sys/bus/coresight/devices/<cti-name>/regs/gate What: /sys/bus/coresight/devices/<cti-name>/regs/gate
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (RW) Read or write CTIGATE register. Description: (RW) Read or write CTIGATE register.
What: /sys/bus/coresight/devices/<cti-name>/regs/asicctl What: /sys/bus/coresight/devices/<cti-name>/regs/asicctl
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (RW) Read or write ASICCTL register. Description: (RW) Read or write ASICCTL register.
What: /sys/bus/coresight/devices/<cti-name>/regs/intack What: /sys/bus/coresight/devices/<cti-name>/regs/intack
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Write) Write the INTACK register. Description: (Write) Write the INTACK register.
What: /sys/bus/coresight/devices/<cti-name>/regs/appset What: /sys/bus/coresight/devices/<cti-name>/regs/appset
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (RW) Set CTIAPPSET register to activate channel. Read back to Description: (RW) Set CTIAPPSET register to activate channel. Read back to
determine current value of register. determine current value of register.
What: /sys/bus/coresight/devices/<cti-name>/regs/appclear What: /sys/bus/coresight/devices/<cti-name>/regs/appclear
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Write) Write APPCLEAR register to deactivate channel. Description: (Write) Write APPCLEAR register to deactivate channel.
What: /sys/bus/coresight/devices/<cti-name>/regs/apppulse What: /sys/bus/coresight/devices/<cti-name>/regs/apppulse
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Write) Write APPPULSE to pulse a channel active for one clock Description: (Write) Write APPPULSE to pulse a channel active for one clock
cycle. cycle.
What: /sys/bus/coresight/devices/<cti-name>/regs/chinstatus What: /sys/bus/coresight/devices/<cti-name>/regs/chinstatus
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Read) Read current status of channel inputs. Description: (Read) Read current status of channel inputs.
What: /sys/bus/coresight/devices/<cti-name>/regs/choutstatus What: /sys/bus/coresight/devices/<cti-name>/regs/choutstatus
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Read) read current status of channel outputs. Description: (Read) read current status of channel outputs.
What: /sys/bus/coresight/devices/<cti-name>/regs/triginstatus What: /sys/bus/coresight/devices/<cti-name>/regs/triginstatus
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Read) read current status of input trigger signals Description: (Read) read current status of input trigger signals
What: /sys/bus/coresight/devices/<cti-name>/regs/trigoutstatus What: /sys/bus/coresight/devices/<cti-name>/regs/trigoutstatus
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Read) read current status of output trigger signals. Description: (Read) read current status of output trigger signals.
What: /sys/bus/coresight/devices/<cti-name>/channels/trigin_attach What: /sys/bus/coresight/devices/<cti-name>/channels/trigin_attach
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Write) Attach a CTI input trigger to a CTM channel. Description: (Write) Attach a CTI input trigger to a CTM channel.
What: /sys/bus/coresight/devices/<cti-name>/channels/trigin_detach What: /sys/bus/coresight/devices/<cti-name>/channels/trigin_detach
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Write) Detach a CTI input trigger from a CTM channel. Description: (Write) Detach a CTI input trigger from a CTM channel.
What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_attach What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_attach
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Write) Attach a CTI output trigger to a CTM channel. Description: (Write) Attach a CTI output trigger to a CTM channel.
What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_detach What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_detach
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Write) Detach a CTI output trigger from a CTM channel. Description: (Write) Detach a CTI output trigger from a CTM channel.
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_gate_enable What: /sys/bus/coresight/devices/<cti-name>/channels/chan_gate_enable
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (RW) Enable CTIGATE for single channel (Write) or list enabled Description: (RW) Enable CTIGATE for single channel (Write) or list enabled
channels through the gate (R). channels through the gate (R).
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_gate_disable What: /sys/bus/coresight/devices/<cti-name>/channels/chan_gate_disable
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Write) Disable CTIGATE for single channel. Description: (Write) Disable CTIGATE for single channel.
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_set What: /sys/bus/coresight/devices/<cti-name>/channels/chan_set
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Write) Activate a single channel. Description: (Write) Activate a single channel.
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_clear What: /sys/bus/coresight/devices/<cti-name>/channels/chan_clear
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Write) Deactivate a single channel. Description: (Write) Deactivate a single channel.
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_pulse What: /sys/bus/coresight/devices/<cti-name>/channels/chan_pulse
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Write) Pulse a single channel - activate for a single clock cycle. Description: (Write) Pulse a single channel - activate for a single clock cycle.
What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_filtered What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_filtered
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Read) List of output triggers filtered across all connections. Description: (Read) List of output triggers filtered across all connections.
What: /sys/bus/coresight/devices/<cti-name>/channels/trig_filter_enable What: /sys/bus/coresight/devices/<cti-name>/channels/trig_filter_enable
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (RW) Enable or disable trigger output signal filtering. Description: (RW) Enable or disable trigger output signal filtering.
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_inuse What: /sys/bus/coresight/devices/<cti-name>/channels/chan_inuse
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Read) show channels with at least one attached trigger signal. Description: (Read) show channels with at least one attached trigger signal.
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_free What: /sys/bus/coresight/devices/<cti-name>/channels/chan_free
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Read) show channels with no attached trigger signals. Description: (Read) show channels with no attached trigger signals.
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_sel What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_sel
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (RW) Write channel number to select a channel to view, read to Description: (RW) Write channel number to select a channel to view, read to
see selected channel number. see selected channel number.
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_in What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_in
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Read) Read to see input triggers connected to selected view Description: (Read) Read to see input triggers connected to selected view
channel. channel.
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_out What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_out
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Read) Read to see output triggers connected to selected view Description: (Read) Read to see output triggers connected to selected view
channel. channel.
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_reset What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_reset
Date: March 2020 Date: March 2020
KernelVersion 5.7 KernelVersion: 5.7
Contact: Mike Leach or Mathieu Poirier Contact: Mike Leach or Mathieu Poirier
Description: (Write) Clear all channel / trigger programming. Description: (Write) Clear all channel / trigger programming.

View File

@@ -1,6 +1,6 @@
What: /sys/bus/coresight/devices/<tpdm-name>/integration_test What: /sys/bus/coresight/devices/<tpdm-name>/integration_test
Date: January 2023 Date: January 2023
KernelVersion 6.2 KernelVersion: 6.2
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(Write) Run integration test for tpdm. Integration test (Write) Run integration test for tpdm. Integration test
@@ -14,7 +14,7 @@ Description:
What: /sys/bus/coresight/devices/<tpdm-name>/reset_dataset What: /sys/bus/coresight/devices/<tpdm-name>/reset_dataset
Date: March 2023 Date: March 2023
KernelVersion 6.7 KernelVersion: 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(Write) Reset the dataset of the tpdm. (Write) Reset the dataset of the tpdm.
@@ -24,7 +24,7 @@ Description:
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_trig_type What: /sys/bus/coresight/devices/<tpdm-name>/dsb_trig_type
Date: March 2023 Date: March 2023
KernelVersion 6.7 KernelVersion: 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(RW) Set/Get the trigger type of the DSB for tpdm. (RW) Set/Get the trigger type of the DSB for tpdm.
@@ -35,7 +35,7 @@ Description:
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_trig_ts What: /sys/bus/coresight/devices/<tpdm-name>/dsb_trig_ts
Date: March 2023 Date: March 2023
KernelVersion 6.7 KernelVersion: 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(RW) Set/Get the trigger timestamp of the DSB for tpdm. (RW) Set/Get the trigger timestamp of the DSB for tpdm.
@@ -46,7 +46,7 @@ Description:
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_mode What: /sys/bus/coresight/devices/<tpdm-name>/dsb_mode
Date: March 2023 Date: March 2023
KernelVersion 6.7 KernelVersion: 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(RW) Set/Get the programming mode of the DSB for tpdm. (RW) Set/Get the programming mode of the DSB for tpdm.
@@ -60,7 +60,7 @@ Description:
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_edge/ctrl_idx What: /sys/bus/coresight/devices/<tpdm-name>/dsb_edge/ctrl_idx
Date: March 2023 Date: March 2023
KernelVersion 6.7 KernelVersion: 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(RW) Set/Get the index number of the edge detection for the DSB (RW) Set/Get the index number of the edge detection for the DSB
@@ -69,7 +69,7 @@ Description:
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_edge/ctrl_val What: /sys/bus/coresight/devices/<tpdm-name>/dsb_edge/ctrl_val
Date: March 2023 Date: March 2023
KernelVersion 6.7 KernelVersion: 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
Write a data to control the edge detection corresponding to Write a data to control the edge detection corresponding to
@@ -85,7 +85,7 @@ Description:
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_edge/ctrl_mask What: /sys/bus/coresight/devices/<tpdm-name>/dsb_edge/ctrl_mask
Date: March 2023 Date: March 2023
KernelVersion 6.7 KernelVersion: 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
Write a data to mask the edge detection corresponding to the index Write a data to mask the edge detection corresponding to the index
@@ -97,21 +97,21 @@ Description:
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_edge/edcr[0:15] What: /sys/bus/coresight/devices/<tpdm-name>/dsb_edge/edcr[0:15]
Date: March 2023 Date: March 2023
KernelVersion 6.7 KernelVersion: 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
Read a set of the edge control value of the DSB in TPDM. Read a set of the edge control value of the DSB in TPDM.
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_edge/edcmr[0:7] What: /sys/bus/coresight/devices/<tpdm-name>/dsb_edge/edcmr[0:7]
Date: March 2023 Date: March 2023
KernelVersion 6.7 KernelVersion: 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
Read a set of the edge control mask of the DSB in TPDM. Read a set of the edge control mask of the DSB in TPDM.
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_trig_patt/xpr[0:7] What: /sys/bus/coresight/devices/<tpdm-name>/dsb_trig_patt/xpr[0:7]
Date: March 2023 Date: March 2023
KernelVersion 6.7 KernelVersion: 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(RW) Set/Get the value of the trigger pattern for the DSB (RW) Set/Get the value of the trigger pattern for the DSB
@@ -119,7 +119,7 @@ Description:
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_trig_patt/xpmr[0:7] What: /sys/bus/coresight/devices/<tpdm-name>/dsb_trig_patt/xpmr[0:7]
Date: March 2023 Date: March 2023
KernelVersion 6.7 KernelVersion: 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(RW) Set/Get the mask of the trigger pattern for the DSB (RW) Set/Get the mask of the trigger pattern for the DSB
@@ -127,21 +127,21 @@ Description:
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/tpr[0:7] What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/tpr[0:7]
Date: March 2023 Date: March 2023
KernelVersion 6.7 KernelVersion: 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(RW) Set/Get the value of the pattern for the DSB subunit TPDM. (RW) Set/Get the value of the pattern for the DSB subunit TPDM.
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/tpmr[0:7] What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/tpmr[0:7]
Date: March 2023 Date: March 2023
KernelVersion 6.7 KernelVersion: 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(RW) Set/Get the mask of the pattern for the DSB subunit TPDM. (RW) Set/Get the mask of the pattern for the DSB subunit TPDM.
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/enable_ts What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/enable_ts
Date: March 2023 Date: March 2023
KernelVersion 6.7 KernelVersion: 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(Write) Set the pattern timestamp of DSB tpdm. Read (Write) Set the pattern timestamp of DSB tpdm. Read
@@ -153,7 +153,7 @@ Description:
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/set_type What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/set_type
Date: March 2023 Date: March 2023
KernelVersion 6.7 KernelVersion: 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(Write) Set the pattern type of DSB tpdm. Read (Write) Set the pattern type of DSB tpdm. Read
@@ -165,7 +165,7 @@ Description:
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_msr/msr[0:31] What: /sys/bus/coresight/devices/<tpdm-name>/dsb_msr/msr[0:31]
Date: March 2023 Date: March 2023
KernelVersion 6.7 KernelVersion: 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(RW) Set/Get the MSR(mux select register) for the DSB subunit (RW) Set/Get the MSR(mux select register) for the DSB subunit
@@ -173,7 +173,7 @@ Description:
What: /sys/bus/coresight/devices/<tpdm-name>/cmb_mode What: /sys/bus/coresight/devices/<tpdm-name>/cmb_mode
Date: January 2024 Date: January 2024
KernelVersion 6.9 KernelVersion: 6.9
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: (Write) Set the data collection mode of CMB tpdm. Continuous Description: (Write) Set the data collection mode of CMB tpdm. Continuous
change creates CMB data set elements on every CMBCLK edge. change creates CMB data set elements on every CMBCLK edge.
@@ -187,7 +187,7 @@ Description: (Write) Set the data collection mode of CMB tpdm. Continuous
What: /sys/bus/coresight/devices/<tpdm-name>/cmb_trig_patt/xpr[0:1] What: /sys/bus/coresight/devices/<tpdm-name>/cmb_trig_patt/xpr[0:1]
Date: January 2024 Date: January 2024
KernelVersion 6.9 KernelVersion: 6.9
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(RW) Set/Get the value of the trigger pattern for the CMB (RW) Set/Get the value of the trigger pattern for the CMB
@@ -195,7 +195,7 @@ Description:
What: /sys/bus/coresight/devices/<tpdm-name>/cmb_trig_patt/xpmr[0:1] What: /sys/bus/coresight/devices/<tpdm-name>/cmb_trig_patt/xpmr[0:1]
Date: January 2024 Date: January 2024
KernelVersion 6.9 KernelVersion: 6.9
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(RW) Set/Get the mask of the trigger pattern for the CMB (RW) Set/Get the mask of the trigger pattern for the CMB
@@ -203,21 +203,21 @@ Description:
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/tpr[0:1] What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/tpr[0:1]
Date: January 2024 Date: January 2024
KernelVersion 6.9 KernelVersion: 6.9
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(RW) Set/Get the value of the pattern for the CMB subunit TPDM. (RW) Set/Get the value of the pattern for the CMB subunit TPDM.
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/tpmr[0:1] What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/tpmr[0:1]
Date: January 2024 Date: January 2024
KernelVersion 6.9 KernelVersion: 6.9
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(RW) Set/Get the mask of the pattern for the CMB subunit TPDM. (RW) Set/Get the mask of the pattern for the CMB subunit TPDM.
What: /sys/bus/coresight/devices/<tpdm-name>/cmb_patt/enable_ts What: /sys/bus/coresight/devices/<tpdm-name>/cmb_patt/enable_ts
Date: January 2024 Date: January 2024
KernelVersion 6.9 KernelVersion: 6.9
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(Write) Set the pattern timestamp of CMB tpdm. Read (Write) Set the pattern timestamp of CMB tpdm. Read
@@ -229,7 +229,7 @@ Description:
What: /sys/bus/coresight/devices/<tpdm-name>/cmb_trig_ts What: /sys/bus/coresight/devices/<tpdm-name>/cmb_trig_ts
Date: January 2024 Date: January 2024
KernelVersion 6.9 KernelVersion: 6.9
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(RW) Set/Get the trigger timestamp of the CMB for tpdm. (RW) Set/Get the trigger timestamp of the CMB for tpdm.
@@ -240,7 +240,7 @@ Description:
What: /sys/bus/coresight/devices/<tpdm-name>/cmb_ts_all What: /sys/bus/coresight/devices/<tpdm-name>/cmb_ts_all
Date: January 2024 Date: January 2024
KernelVersion 6.9 KernelVersion: 6.9
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(RW) Read or write the status of timestamp upon all interface. (RW) Read or write the status of timestamp upon all interface.
@@ -252,8 +252,23 @@ Description:
What: /sys/bus/coresight/devices/<tpdm-name>/cmb_msr/msr[0:31] What: /sys/bus/coresight/devices/<tpdm-name>/cmb_msr/msr[0:31]
Date: January 2024 Date: January 2024
KernelVersion 6.9 KernelVersion: 6.9
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com> Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description: Description:
(RW) Set/Get the MSR(mux select register) for the CMB subunit (RW) Set/Get the MSR(mux select register) for the CMB subunit
TPDM. TPDM.
What: /sys/bus/coresight/devices/<tpdm-name>/mcmb_trig_lane
Date: Feb 2025
KernelVersion 6.15
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description:
(RW) Set/Get which lane participates in the output pattern
match cross trigger mechanism for the MCMB subunit TPDM.
What: /sys/bus/coresight/devices/<tpdm-name>/mcmb_lanes_select
Date: Feb 2025
KernelVersion 6.15
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description:
(RW) Set/Get the enablement of the individual lane.

View File

@@ -34,6 +34,14 @@ Contact: linux-iio@vger.kernel.org
Description: Description:
Count data of Count Y represented as a string. Count data of Count Y represented as a string.
What: /sys/bus/counter/devices/counterX/countY/compare
KernelVersion: 6.15
Contact: linux-iio@vger.kernel.org
Description:
If the counter device supports compare registers -- registers
used to compare counter channels against a particular count --
the compare count for channel Y is provided by this attribute.
What: /sys/bus/counter/devices/counterX/countY/capture What: /sys/bus/counter/devices/counterX/countY/capture
KernelVersion: 6.1 KernelVersion: 6.1
Contact: linux-iio@vger.kernel.org Contact: linux-iio@vger.kernel.org
@@ -301,6 +309,7 @@ Description:
What: /sys/bus/counter/devices/counterX/cascade_counts_enable_component_id What: /sys/bus/counter/devices/counterX/cascade_counts_enable_component_id
What: /sys/bus/counter/devices/counterX/external_input_phase_clock_select_component_id What: /sys/bus/counter/devices/counterX/external_input_phase_clock_select_component_id
What: /sys/bus/counter/devices/counterX/countY/compare_component_id
What: /sys/bus/counter/devices/counterX/countY/capture_component_id What: /sys/bus/counter/devices/counterX/countY/capture_component_id
What: /sys/bus/counter/devices/counterX/countY/ceiling_component_id What: /sys/bus/counter/devices/counterX/countY/ceiling_component_id
What: /sys/bus/counter/devices/counterX/countY/floor_component_id What: /sys/bus/counter/devices/counterX/countY/floor_component_id

View File

@@ -1,5 +1,5 @@
What: /sys/bus/cxl/flush What: /sys/bus/cxl/flush
Date: Januarry, 2022 Date: January, 2022
KernelVersion: v5.18 KernelVersion: v5.18
Contact: linux-cxl@vger.kernel.org Contact: linux-cxl@vger.kernel.org
Description: Description:
@@ -18,6 +18,24 @@ Description:
specification. specification.
What: /sys/bus/cxl/devices/memX/payload_max
Date: December, 2020
KernelVersion: v5.12
Contact: linux-cxl@vger.kernel.org
Description:
(RO) Maximum size (in bytes) of the mailbox command payload
registers. Linux caps this at 1MB if the device reports a
larger size.
What: /sys/bus/cxl/devices/memX/label_storage_size
Date: May, 2021
KernelVersion: v5.13
Contact: linux-cxl@vger.kernel.org
Description:
(RO) Size (in bytes) of the Label Storage Area (LSA).
What: /sys/bus/cxl/devices/memX/ram/size What: /sys/bus/cxl/devices/memX/ram/size
Date: December, 2020 Date: December, 2020
KernelVersion: v5.12 KernelVersion: v5.12
@@ -33,7 +51,7 @@ Date: May, 2023
KernelVersion: v6.8 KernelVersion: v6.8
Contact: linux-cxl@vger.kernel.org Contact: linux-cxl@vger.kernel.org
Description: Description:
(RO) For CXL host platforms that support "QoS Telemmetry" (RO) For CXL host platforms that support "QoS Telemetry"
this attribute conveys a comma delimited list of platform this attribute conveys a comma delimited list of platform
specific cookies that identifies a QoS performance class specific cookies that identifies a QoS performance class
for the volatile partition of the CXL mem device. These for the volatile partition of the CXL mem device. These
@@ -60,7 +78,7 @@ Date: May, 2023
KernelVersion: v6.8 KernelVersion: v6.8
Contact: linux-cxl@vger.kernel.org Contact: linux-cxl@vger.kernel.org
Description: Description:
(RO) For CXL host platforms that support "QoS Telemmetry" (RO) For CXL host platforms that support "QoS Telemetry"
this attribute conveys a comma delimited list of platform this attribute conveys a comma delimited list of platform
specific cookies that identifies a QoS performance class specific cookies that identifies a QoS performance class
for the persistent partition of the CXL mem device. These for the persistent partition of the CXL mem device. These
@@ -321,14 +339,13 @@ KernelVersion: v6.0
Contact: linux-cxl@vger.kernel.org Contact: linux-cxl@vger.kernel.org
Description: Description:
(RW) When a CXL decoder is of devtype "cxl_decoder_endpoint" it (RW) When a CXL decoder is of devtype "cxl_decoder_endpoint" it
translates from a host physical address range, to a device local translates from a host physical address range, to a device
address range. Device-local address ranges are further split local address range. Device-local address ranges are further
into a 'ram' (volatile memory) range and 'pmem' (persistent split into a 'ram' (volatile memory) range and 'pmem'
memory) range. The 'mode' attribute emits one of 'ram', 'pmem', (persistent memory) range. The 'mode' attribute emits one of
'mixed', or 'none'. The 'mixed' indication is for error cases 'ram', 'pmem', or 'none'. The 'none' indicates the decoder is
when a decoder straddles the volatile/persistent partition not actively decoding, or no DPA allocation policy has been
boundary, and 'none' indicates the decoder is not actively set.
decoding, or no DPA allocation policy has been set.
'mode' can be written, when the decoder is in the 'disabled' 'mode' can be written, when the decoder is in the 'disabled'
state, with either 'ram' or 'pmem' to set the boundaries for the state, with either 'ram' or 'pmem' to set the boundaries for the
@@ -423,7 +440,7 @@ Date: May, 2023
KernelVersion: v6.5 KernelVersion: v6.5
Contact: linux-cxl@vger.kernel.org Contact: linux-cxl@vger.kernel.org
Description: Description:
(RO) For CXL host platforms that support "QoS Telemmetry" this (RO) For CXL host platforms that support "QoS Telemetry" this
root-decoder-only attribute conveys a platform specific cookie root-decoder-only attribute conveys a platform specific cookie
that identifies a QoS performance class for the CXL Window. that identifies a QoS performance class for the CXL Window.
This class-id can be compared against a similar "qos_class" This class-id can be compared against a similar "qos_class"
@@ -586,3 +603,15 @@ Description:
See Documentation/ABI/stable/sysfs-devices-node. access0 provides See Documentation/ABI/stable/sysfs-devices-node. access0 provides
the number to the closest initiator and access1 provides the the number to the closest initiator and access1 provides the
number to the closest CPU. number to the closest CPU.
What: /sys/bus/cxl/devices/nvdimm-bridge0/ndbusX/nmemY/cxl/dirty_shutdown
Date: Feb, 2025
KernelVersion: v6.15
Contact: linux-cxl@vger.kernel.org
Description:
(RO) The device dirty shutdown count value, which is the number
of times the device could have incurred in potential data loss.
The count is persistent across power loss and wraps back to 0
upon overflow. If this file is not present, the device does not
have the necessary support for dirty tracking.

View File

@@ -2268,7 +2268,7 @@ Description:
representing the sensor unique ID number. representing the sensor unique ID number.
What: /sys/bus/iio/devices/iio:deviceX/filter_type_available What: /sys/bus/iio/devices/iio:deviceX/filter_type_available
What: /sys/bus/iio/devices/iio:deviceX/in_voltage-voltage_filter_mode_available What: /sys/bus/iio/devices/iio:deviceX/in_voltage-voltage_filter_type_available
KernelVersion: 6.1 KernelVersion: 6.1
Contact: linux-iio@vger.kernel.org Contact: linux-iio@vger.kernel.org
Description: Description:
@@ -2290,6 +2290,16 @@ Description:
* "sinc3+pf2" - Sinc3 + device specific Post Filter 2. * "sinc3+pf2" - Sinc3 + device specific Post Filter 2.
* "sinc3+pf3" - Sinc3 + device specific Post Filter 3. * "sinc3+pf3" - Sinc3 + device specific Post Filter 3.
* "sinc3+pf4" - Sinc3 + device specific Post Filter 4. * "sinc3+pf4" - Sinc3 + device specific Post Filter 4.
* "wideband" - filter with wideband low ripple passband
and sharp transition band.
What: /sys/bus/iio/devices/iio:deviceX/filter_type
What: /sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_filter_type
KernelVersion: 6.1
Contact: linux-iio@vger.kernel.org
Description:
Specifies which filter type apply to the channel. The possible
values are given by the filter_type_available attribute.
What: /sys/.../events/in_proximity_thresh_either_runningperiod What: /sys/.../events/in_proximity_thresh_either_runningperiod
KernelVersion: 6.6 KernelVersion: 6.6

View File

@@ -0,0 +1,20 @@
What: /sys/bus/iio/devices/iio:deviceX/in_voltage-voltage_filter_mode_available
KernelVersion: 6.2
Contact: linux-iio@vger.kernel.org
Description:
Reading returns a list with the possible filter modes.
This ABI is only kept for backwards compatibility and the values
returned are identical to filter_type_available attribute
documented in Documentation/ABI/testing/sysfs-bus-iio. Please,
use filter_type_available like ABI to provide filter options for
new drivers.
What: /sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_filter_mode
KernelVersion: 6.2
Contact: linux-iio@vger.kernel.org
Description:
This ABI is only kept for backwards compatibility and the values
returned are identical to in_voltageY-voltageZ_filter_type
attribute documented in Documentation/ABI/testing/sysfs-bus-iio.
Please, use in_voltageY-voltageZ_filter_type for new drivers.

View File

@@ -583,3 +583,32 @@ Description:
enclosure-specific indications "specific0" to "specific7", enclosure-specific indications "specific0" to "specific7",
hence the corresponding led class devices are unavailable if hence the corresponding led class devices are unavailable if
the DSM interface is used. the DSM interface is used.
What: /sys/bus/pci/devices/.../doe_features
Date: March 2025
Contact: Linux PCI developers <linux-pci@vger.kernel.org>
Description:
This directory contains a list of the supported Data Object
Exchange (DOE) features. The features are the file name.
The contents of each file is the raw Vendor ID and data
object feature values.
The value comes from the device and specifies the vendor and
data object type supported. The lower (RHS of the colon) is
the data object type in hex. The upper (LHS of the colon)
is the vendor ID.
As all DOE devices must support the DOE discovery feature,
if DOE is supported you will at least see the doe_discovery
file, with this contents:
# cat doe_features/doe_discovery
0001:00
If the device supports other features you will see other
files as well. For example if CMA/SPDM and secure CMA/SPDM
are supported the doe_features directory will look like
this:
# ls doe_features
0001:01 0001:02 doe_discovery

View File

@@ -31,3 +31,23 @@ Date: August 2015
KernelVersion: 4.2 KernelVersion: 4.2
Description: Description:
Show the information about the EC software and hardware. Show the information about the EC software and hardware.
What: /sys/class/chromeos/cros_ec/usbpdmuxinfo
Date: February 2025
Description:
Show PD mux status for each typec port with following flags:
- "USB": USB connected
- "DP": DP connected
- "POLARITY": CC line Polarity inverted
- "HPD_IRQ": Hot Plug Detect interrupt is asserted
- "HPD_LVL": Hot Plug Detect level is asserted
- "SAFE": DP is in safe mode
- "TBT": TBT enabled
- "USB4": USB4 enabled
What: /sys/class/chromeos/cros_ec/ap_mode_entry
Date: February 2025
Description:
Show if the AP mode entry EC feature is supported.
It indicates whether the EC waits for direction from the AP
to enter Type-C altmodes or USB4 mode.

View File

@@ -0,0 +1,13 @@
What: /sys/bus/pci/drivers/pcie_mp2_amd/*/hpd
Date: April 2025
Contact: mario.limonciello@amd.com
Description:
Human presence detection (HPD) enable/disable.
When HPD is enabled, the device will be able to detect the
presence of a human and will send an interrupt that can be
used to wake the system from a low power state.
When HPD is disabled, the device will not be able to detect
the presence of a human.
Access: Read/Write
Valid values: enabled/disabled

View File

@@ -0,0 +1,13 @@
What: /sys/bus/hid/drivers/hid-appletb-kbd/<dev>/mode
Date: September, 2023
KernelVersion: 6.5
Contact: linux-input@vger.kernel.org
Description:
The set of keys displayed on the Touch Bar.
Valid values are:
== =================
0 Escape key only
1 Function keys
2 Media/brightness keys
3 None
== =================

View File

@@ -17,7 +17,7 @@ Description: Read only. Returns the firmware version of Intel MAX10
What: /sys/bus/.../drivers/intel-m10-bmc/.../mac_address What: /sys/bus/.../drivers/intel-m10-bmc/.../mac_address
Date: January 2021 Date: January 2021
KernelVersion: 5.12 KernelVersion: 5.12
Contact: Peter Colberg <peter.colberg@intel.com> Contact: Peter Colberg <peter.colberg@altera.com>
Description: Read only. Returns the first MAC address in a block Description: Read only. Returns the first MAC address in a block
of sequential MAC addresses assigned to the board of sequential MAC addresses assigned to the board
that is managed by the Intel MAX10 BMC. It is stored in that is managed by the Intel MAX10 BMC. It is stored in
@@ -28,7 +28,7 @@ Description: Read only. Returns the first MAC address in a block
What: /sys/bus/.../drivers/intel-m10-bmc/.../mac_count What: /sys/bus/.../drivers/intel-m10-bmc/.../mac_count
Date: January 2021 Date: January 2021
KernelVersion: 5.12 KernelVersion: 5.12
Contact: Peter Colberg <peter.colberg@intel.com> Contact: Peter Colberg <peter.colberg@altera.com>
Description: Read only. Returns the number of sequential MAC Description: Read only. Returns the number of sequential MAC
addresses assigned to the board managed by the Intel addresses assigned to the board managed by the Intel
MAX10 BMC. This value is stored in FLASH and is mirrored MAX10 BMC. This value is stored in FLASH and is mirrored

View File

@@ -1,7 +1,7 @@
What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/sr_root_entry_hash What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/sr_root_entry_hash
Date: Sep 2022 Date: Sep 2022
KernelVersion: 5.20 KernelVersion: 5.20
Contact: Peter Colberg <peter.colberg@intel.com> Contact: Peter Colberg <peter.colberg@altera.com>
Description: Read only. Returns the root entry hash for the static Description: Read only. Returns the root entry hash for the static
region if one is programmed, else it returns the region if one is programmed, else it returns the
string: "hash not programmed". This file is only string: "hash not programmed". This file is only
@@ -11,7 +11,7 @@ Description: Read only. Returns the root entry hash for the static
What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/pr_root_entry_hash What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/pr_root_entry_hash
Date: Sep 2022 Date: Sep 2022
KernelVersion: 5.20 KernelVersion: 5.20
Contact: Peter Colberg <peter.colberg@intel.com> Contact: Peter Colberg <peter.colberg@altera.com>
Description: Read only. Returns the root entry hash for the partial Description: Read only. Returns the root entry hash for the partial
reconfiguration region if one is programmed, else it reconfiguration region if one is programmed, else it
returns the string: "hash not programmed". This file returns the string: "hash not programmed". This file
@@ -21,7 +21,7 @@ Description: Read only. Returns the root entry hash for the partial
What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/bmc_root_entry_hash What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/bmc_root_entry_hash
Date: Sep 2022 Date: Sep 2022
KernelVersion: 5.20 KernelVersion: 5.20
Contact: Peter Colberg <peter.colberg@intel.com> Contact: Peter Colberg <peter.colberg@altera.com>
Description: Read only. Returns the root entry hash for the BMC image Description: Read only. Returns the root entry hash for the BMC image
if one is programmed, else it returns the string: if one is programmed, else it returns the string:
"hash not programmed". This file is only visible if the "hash not programmed". This file is only visible if the
@@ -31,7 +31,7 @@ Description: Read only. Returns the root entry hash for the BMC image
What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/sr_canceled_csks What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/sr_canceled_csks
Date: Sep 2022 Date: Sep 2022
KernelVersion: 5.20 KernelVersion: 5.20
Contact: Peter Colberg <peter.colberg@intel.com> Contact: Peter Colberg <peter.colberg@altera.com>
Description: Read only. Returns a list of indices for canceled code Description: Read only. Returns a list of indices for canceled code
signing keys for the static region. The standard bitmap signing keys for the static region. The standard bitmap
list format is used (e.g. "1,2-6,9"). list format is used (e.g. "1,2-6,9").
@@ -39,7 +39,7 @@ Description: Read only. Returns a list of indices for canceled code
What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/pr_canceled_csks What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/pr_canceled_csks
Date: Sep 2022 Date: Sep 2022
KernelVersion: 5.20 KernelVersion: 5.20
Contact: Peter Colberg <peter.colberg@intel.com> Contact: Peter Colberg <peter.colberg@altera.com>
Description: Read only. Returns a list of indices for canceled code Description: Read only. Returns a list of indices for canceled code
signing keys for the partial reconfiguration region. The signing keys for the partial reconfiguration region. The
standard bitmap list format is used (e.g. "1,2-6,9"). standard bitmap list format is used (e.g. "1,2-6,9").
@@ -47,7 +47,7 @@ Description: Read only. Returns a list of indices for canceled code
What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/bmc_canceled_csks What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/bmc_canceled_csks
Date: Sep 2022 Date: Sep 2022
KernelVersion: 5.20 KernelVersion: 5.20
Contact: Peter Colberg <peter.colberg@intel.com> Contact: Peter Colberg <peter.colberg@altera.com>
Description: Read only. Returns a list of indices for canceled code Description: Read only. Returns a list of indices for canceled code
signing keys for the BMC. The standard bitmap list format signing keys for the BMC. The standard bitmap list format
is used (e.g. "1,2-6,9"). is used (e.g. "1,2-6,9").
@@ -55,7 +55,7 @@ Description: Read only. Returns a list of indices for canceled code
What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/flash_count What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/flash_count
Date: Sep 2022 Date: Sep 2022
KernelVersion: 5.20 KernelVersion: 5.20
Contact: Peter Colberg <peter.colberg@intel.com> Contact: Peter Colberg <peter.colberg@altera.com>
Description: Read only. Returns number of times the secure update Description: Read only. Returns number of times the secure update
staging area has been flashed. staging area has been flashed.
Format: "%u". Format: "%u".

View File

@@ -108,3 +108,19 @@ Contact: intel-xe@lists.freedesktop.org
Description: RO. Package current voltage in millivolt. Description: RO. Package current voltage in millivolt.
Only supported for particular Intel Xe graphics platforms. Only supported for particular Intel Xe graphics platforms.
What: /sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/temp2_input
Date: March 2025
KernelVersion: 6.14
Contact: intel-xe@lists.freedesktop.org
Description: RO. Package temperature in millidegree Celsius.
Only supported for particular Intel Xe graphics platforms.
What: /sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/temp3_input
Date: March 2025
KernelVersion: 6.14
Contact: intel-xe@lists.freedesktop.org
Description: RO. VRAM temperature in millidegree Celsius.
Only supported for particular Intel Xe graphics platforms.

View File

@@ -1559,3 +1559,48 @@ Description:
Symbol - HCMID. This file shows the UFSHCD manufacturer id. Symbol - HCMID. This file shows the UFSHCD manufacturer id.
The Manufacturer ID is defined by JEDEC in JEDEC-JEP106. The Manufacturer ID is defined by JEDEC in JEDEC-JEP106.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/critical_health
What: /sys/bus/platform/devices/*.ufs/critical_health
Date: February 2025
Contact: Avri Altman <avri.altman@wdc.com>
Description: Report the number of times a critical health event has been
reported by a UFS device. Further insight into the specific
issue can be gained by reading one of: bPreEOLInfo,
bDeviceLifeTimeEstA, bDeviceLifeTimeEstB,
bWriteBoosterBufferLifeTimeEst, and bRPMBLifeTimeEst.
The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/clkscale_enable
What: /sys/bus/platform/devices/*.ufs/clkscale_enable
Date: January 2025
Contact: Ziqi Chen <quic_ziqichen@quicinc.com>
Description:
This attribute shows whether the UFS clock scaling is enabled or not.
And it can be used to enable/disable the clock scaling by writing
1 or 0 to this attribute.
The attribute is read/write.
What: /sys/bus/platform/drivers/ufshcd/*/clkgate_enable
What: /sys/bus/platform/devices/*.ufs/clkgate_enable
Date: January 2025
Contact: Ziqi Chen <quic_ziqichen@quicinc.com>
Description:
This attribute shows whether the UFS clock gating is enabled or not.
And it can be used to enable/disable the clock gating by writing
1 or 0 to this attribute.
The attribute is read/write.
What: /sys/bus/platform/drivers/ufshcd/*/clkgate_delay_ms
What: /sys/bus/platform/devices/*.ufs/clkgate_delay_ms
Date: January 2025
Contact: Ziqi Chen <quic_ziqichen@quicinc.com>
Description:
This attribute shows and sets the number of milliseconds of idle time
before the UFS driver starts to perform clock gating. This can
prevent the UFS from frequently performing clock gating/ungating.
The attribute is read/write.

View File

@@ -0,0 +1,74 @@
What: /sys/bus/edac/devices/<dev-name>/ecs_fruX
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
The sysfs EDAC bus devices /<dev-name>/ecs_fruX subdirectory
pertains to the memory media ECS (Error Check Scrub) control
feature, where <dev-name> directory corresponds to a device
registered with the EDAC device driver for the ECS feature.
/ecs_fruX belongs to the media FRUs (Field Replaceable Unit)
under the memory device.
The sysfs ECS attr nodes are only present if the parent
driver has implemented the corresponding attr callback
function and provided the necessary operations to the EDAC
device driver during registration.
What: /sys/bus/edac/devices/<dev-name>/ecs_fruX/log_entry_type
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
(RW) The log entry type of how the DDR5 ECS log is reported.
- 0 - per DRAM.
- 1 - per memory media FRU.
- All other values are reserved.
What: /sys/bus/edac/devices/<dev-name>/ecs_fruX/mode
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
(RW) The mode of how the DDR5 ECS counts the errors.
Error count is tracked based on two different modes
selected by DDR5 ECS Control Feature - Codeword mode and
Row Count mode. If the ECS is under Codeword mode, then
the error count increments each time a codeword with check
bit errors is detected. If the ECS is under Row Count mode,
then the error counter increments each time a row with
check bit errors is detected.
- 0 - ECS counts rows in the memory media that have ECC errors.
- 1 - ECS counts codewords with errors, specifically, it counts
the number of ECC-detected errors in the memory media.
- All other values are reserved.
What: /sys/bus/edac/devices/<dev-name>/ecs_fruX/reset
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
(WO) ECS reset ECC counter.
- 1 - reset ECC counter to the default value.
- All other values are reserved.
What: /sys/bus/edac/devices/<dev-name>/ecs_fruX/threshold
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
(RW) DDR5 ECS threshold count per gigabits of memory cells.
The ECS error count is subject to the ECS Threshold count
per Gbit, which masks error counts less than the Threshold.
Supported values are 256, 1024 and 4096.
All other values are reserved.

View File

@@ -0,0 +1,206 @@
What: /sys/bus/edac/devices/<dev-name>/mem_repairX
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
The sysfs EDAC bus devices /<dev-name>/mem_repairX subdirectory
pertains to the memory media repair features control, such as
PPR (Post Package Repair), memory sparing etc, where <dev-name>
directory corresponds to a device registered with the EDAC
device driver for the memory repair features.
Post Package Repair is a maintenance operation requests the memory
device to perform a repair operation on its media. It is a memory
self-healing feature that fixes a failing memory location by
replacing it with a spare row in a DRAM device. For example, a
CXL memory device with DRAM components that support PPR features may
implement PPR maintenance operations. DRAM components may support
two types of PPR functions: hard PPR, for a permanent row repair, and
soft PPR, for a temporary row repair. Soft PPR may be much faster
than hard PPR, but the repair is lost with a power cycle.
The sysfs attributes nodes for a repair feature are only
present if the parent driver has implemented the corresponding
attr callback function and provided the necessary operations
to the EDAC device driver during registration.
In some states of system configuration (e.g. before address
decoders have been configured), memory devices (e.g. CXL)
may not have an active mapping in the main host address
physical address map. As such, the memory to repair must be
identified by a device specific physical addressing scheme
using a device physical address(DPA). The DPA and other control
attributes to use will be presented in related error records.
What: /sys/bus/edac/devices/<dev-name>/mem_repairX/repair_type
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
(RO) Memory repair type. For eg. post package repair,
memory sparing etc. Valid values are:
- ppr - Post package repair.
- cacheline-sparing
- row-sparing
- bank-sparing
- rank-sparing
- All other values are reserved.
What: /sys/bus/edac/devices/<dev-name>/mem_repairX/persist_mode
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
(RW) Get/Set the current persist repair mode set for a
repair function. Persist repair modes supported in the
device, based on a memory repair function, either is temporary,
which is lost with a power cycle or permanent. Valid values are:
- 0 - Soft memory repair (temporary repair).
- 1 - Hard memory repair (permanent repair).
- All other values are reserved.
What: /sys/bus/edac/devices/<dev-name>/mem_repairX/repair_safe_when_in_use
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
(RO) True if memory media is accessible and data is retained
during the memory repair operation.
The data may not be retained and memory requests may not be
correctly processed during a repair operation. In such case
repair operation can not be executed at runtime. The memory
must be taken offline.
What: /sys/bus/edac/devices/<dev-name>/mem_repairX/hpa
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
(RW) Host Physical Address (HPA) of the memory to repair.
The HPA to use will be provided in related error records.
What: /sys/bus/edac/devices/<dev-name>/mem_repairX/dpa
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
(RW) Device Physical Address (DPA) of the memory to repair.
The specific DPA to use will be provided in related error
records.
In some states of system configuration (e.g. before address
decoders have been configured), memory devices (e.g. CXL)
may not have an active mapping in the main host address
physical address map. As such, the memory to repair must be
identified by a device specific physical addressing scheme
using a DPA. The device physical address(DPA) to use will be
presented in related error records.
What: /sys/bus/edac/devices/<dev-name>/mem_repairX/nibble_mask
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
(RW) Read/Write Nibble mask of the memory to repair.
Nibble mask identifies one or more nibbles in error on the
memory bus that produced the error event. Nibble Mask bit 0
shall be set if nibble 0 on the memory bus produced the
event, etc. For example, CXL PPR and sparing, a nibble mask
bit set to 1 indicates the request to perform repair
operation in the specific device. All nibble mask bits set
to 1 indicates the request to perform the operation in all
devices. Eg. for CXL memory repair, the specific value of
nibble mask to use will be provided in related error records.
For more details, See nibble mask field in CXL spec ver 3.1,
section 8.2.9.7.1.2 Table 8-103 soft PPR and section
8.2.9.7.1.3 Table 8-104 hard PPR, section 8.2.9.7.1.4
Table 8-105 memory sparing.
What: /sys/bus/edac/devices/<dev-name>/mem_repairX/min_hpa
What: /sys/bus/edac/devices/<dev-name>/mem_repairX/max_hpa
What: /sys/bus/edac/devices/<dev-name>/mem_repairX/min_dpa
What: /sys/bus/edac/devices/<dev-name>/mem_repairX/max_dpa
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
(RW) The supported range of memory address that is to be
repaired. The memory device may give the supported range of
attributes to use and it will depend on the memory device
and the portion of memory to repair.
The userspace may receive the specific value of attributes
to use for a repair operation from the memory device via
related error records and trace events, for eg. CXL DRAM
and CXL general media error records in CXL memory devices.
What: /sys/bus/edac/devices/<dev-name>/mem_repairX/bank_group
What: /sys/bus/edac/devices/<dev-name>/mem_repairX/bank
What: /sys/bus/edac/devices/<dev-name>/mem_repairX/rank
What: /sys/bus/edac/devices/<dev-name>/mem_repairX/row
What: /sys/bus/edac/devices/<dev-name>/mem_repairX/column
What: /sys/bus/edac/devices/<dev-name>/mem_repairX/channel
What: /sys/bus/edac/devices/<dev-name>/mem_repairX/sub_channel
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
(RW) The control attributes for the memory to be repaired.
The specific value of attributes to use depends on the
portion of memory to repair and will be reported to the host
in related error records and be available to userspace
in trace events, such as CXL DRAM and CXL general media
error records of CXL memory devices.
When readng back these attributes, it returns the current
value of memory requested to be repaired.
bank_group - The bank group of the memory to repair.
bank - The bank number of the memory to repair.
rank - The rank of the memory to repair. Rank is defined as a
set of memory devices on a channel that together execute a
transaction.
row - The row number of the memory to repair.
column - The column number of the memory to repair.
channel - The channel of the memory to repair. Channel is
defined as an interface that can be independently accessed
for a transaction.
sub_channel - The subchannel of the memory to repair.
The requirement to set these attributes varies based on the
repair function. The attributes in sysfs are not present
unless required for a repair function.
For example, CXL spec ver 3.1, Section 8.2.9.7.1.2 Table 8-103
soft PPR and Section 8.2.9.7.1.3 Table 8-104 hard PPR operations,
these attributes are not required to set. CXL spec ver 3.1,
Section 8.2.9.7.1.4 Table 8-105 memory sparing, these attributes
are required to set based on memory sparing granularity.
What: /sys/bus/edac/devices/<dev-name>/mem_repairX/repair
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
(WO) Issue the memory repair operation for the specified
memory repair attributes. The operation may fail if resources
are insufficient based on the requirements of the memory
device and repair function.
- 1 - Issue the repair operation.
- All other values are reserved.

View File

@@ -0,0 +1,69 @@
What: /sys/bus/edac/devices/<dev-name>/scrubX
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
The sysfs EDAC bus devices /<dev-name>/scrubX subdirectory
belongs to an instance of memory scrub control feature,
where <dev-name> directory corresponds to a device/memory
region registered with the EDAC device driver for the
scrub control feature.
The sysfs scrub attr nodes are only present if the parent
driver has implemented the corresponding attr callback
function and provided the necessary operations to the EDAC
device driver during registration.
What: /sys/bus/edac/devices/<dev-name>/scrubX/addr
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
(RW) The base address of the memory region to be scrubbed
for on-demand scrubbing. Setting address starts scrubbing.
The size must be set before that.
The readback addr value is non-zero if the requested
on-demand scrubbing is in progress, zero otherwise.
What: /sys/bus/edac/devices/<dev-name>/scrubX/size
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
(RW) The size of the memory region to be scrubbed
(on-demand scrubbing).
What: /sys/bus/edac/devices/<dev-name>/scrubX/enable_background
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
(RW) Start/Stop background (patrol) scrubbing if supported.
What: /sys/bus/edac/devices/<dev-name>/scrubX/min_cycle_duration
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
(RO) Supported minimum scrub cycle duration in seconds
by the memory scrubber.
What: /sys/bus/edac/devices/<dev-name>/scrubX/max_cycle_duration
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
(RO) Supported maximum scrub cycle duration in seconds
by the memory scrubber.
What: /sys/bus/edac/devices/<dev-name>/scrubX/current_cycle_duration
Date: March 2025
KernelVersion: 6.15
Contact: linux-edac@vger.kernel.org
Description:
(RW) The current scrub cycle duration in seconds and must be
within the supported range by the memory scrubber.
Scrub has an overhead when running and that may want to be
reduced by taking longer to do it.

View File

@@ -347,7 +347,7 @@ Description: Used to control configure extension list:
- [c] means add/del cold file extension - [c] means add/del cold file extension
What: /sys/fs/f2fs/<disk>/unusable What: /sys/fs/f2fs/<disk>/unusable
Date April 2019 Date: April 2019
Contact: "Daniel Rosenberg" <drosen@google.com> Contact: "Daniel Rosenberg" <drosen@google.com>
Description: If checkpoint=disable, it displays the number of blocks that Description: If checkpoint=disable, it displays the number of blocks that
are unusable. are unusable.
@@ -355,7 +355,7 @@ Description: If checkpoint=disable, it displays the number of blocks that
would be unusable if checkpoint=disable were to be set. would be unusable if checkpoint=disable were to be set.
What: /sys/fs/f2fs/<disk>/encoding What: /sys/fs/f2fs/<disk>/encoding
Date July 2019 Date: July 2019
Contact: "Daniel Rosenberg" <drosen@google.com> Contact: "Daniel Rosenberg" <drosen@google.com>
Description: Displays name and version of the encoding set for the filesystem. Description: Displays name and version of the encoding set for the filesystem.
If no encoding is set, displays (none) If no encoding is set, displays (none)
@@ -734,6 +734,7 @@ Description: Support configuring fault injection type, should be
FAULT_BLKADDR_VALIDITY 0x000040000 FAULT_BLKADDR_VALIDITY 0x000040000
FAULT_BLKADDR_CONSISTENCE 0x000080000 FAULT_BLKADDR_CONSISTENCE 0x000080000
FAULT_NO_SEGMENT 0x000100000 FAULT_NO_SEGMENT 0x000100000
FAULT_INCONSISTENT_FOOTER 0x000200000
=========================== =========== =========================== ===========
What: /sys/fs/f2fs/<disk>/discard_io_aware_gran What: /sys/fs/f2fs/<disk>/discard_io_aware_gran
@@ -828,3 +829,20 @@ Date: November 2024
Contact: "Chao Yu" <chao@kernel.org> Contact: "Chao Yu" <chao@kernel.org>
Description: It controls max read extent count for per-inode, the value of threshold Description: It controls max read extent count for per-inode, the value of threshold
is 10240 by default. is 10240 by default.
What: /sys/fs/f2fs/tuning/reclaim_caches_kb
Date: February 2025
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
Description: It reclaims the given KBs of file-backed pages registered by
ioctl(F2FS_IOC_DONATE_RANGE).
For example, writing N tries to drop N KBs spaces in LRU.
What: /sys/fs/f2fs/<disk>/carve_out
Date: March 2025
Contact: "Daeho Jeong" <daehojeong@google.com>
Description: For several zoned storage devices, vendors will provide extra space which
was used for device level GC than specs and F2FS can use this space for
filesystem level GC. To do that, we can reserve the space using
reserved_blocks. However, it is not enough, since this extra space should
not be shown to users. So, with this new sysfs node, we can hide the space
by substracting reserved_blocks from total bytes.

View File

@@ -55,4 +55,5 @@ Date: May 2024
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read/write Description: read/write
This is a special sysfs file available to setup additional This is a special sysfs file available to setup additional
parameters to be passed to capture kernel. parameters to be passed to capture kernel. For HASH MMU it
is exported only if RMA size higher than 768MB.

View File

@@ -29,3 +29,16 @@ Date: Feb 2024
Contact: Anshuman Khandual <anshuman.khandual@arm.com> Contact: Anshuman Khandual <anshuman.khandual@arm.com>
Description: Description:
the number of pages CMA API succeeded to release the number of pages CMA API succeeded to release
What: /sys/kernel/mm/cma/<cma-heap-name>/total_pages
Date: Jun 2024
Contact: Frank van der Linden <fvdl@google.com>
Description:
The size of the CMA area in pages.
What: /sys/kernel/mm/cma/<cma-heap-name>/available_pages
Date: Jun 2024
Contact: Frank van der Linden <fvdl@google.com>
Description:
The number of pages in the CMA area that are still
available for CMA allocation.

View File

@@ -91,6 +91,36 @@ Description: Writing a value to this file sets the update interval of the
DAMON context in microseconds as the value. Reading this file DAMON context in microseconds as the value. Reading this file
returns the value. returns the value.
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/access_bp
Date: Feb 2025
Contact: SeongJae Park <sj@kernel.org>
Description: Writing a value to this file sets the monitoring intervals
auto-tuning target DAMON-observed access events ratio within
the given time interval (aggrs in same directory), in bp
(1/10,000). Reading this file returns the value.
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/aggrs
Date: Feb 2025
Contact: SeongJae Park <sj@kernel.org>
Description: Writing a value to this file sets the time interval to achieve
the monitoring intervals auto-tuning target DAMON-observed
access events ratio (access_bp in same directory) within.
Reading this file returns the value.
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/min_sample_us
Date: Feb 2025
Contact: SeongJae Park <sj@kernel.org>
Description: Writing a value to this file sets the minimum value of
auto-tuned sampling interval in microseconds. Reading this
file returns the value.
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/max_sample_us
Date: Feb 2025
Contact: SeongJae Park <sj@kernel.org>
Description: Writing a value to this file sets the maximum value of
auto-tuned sampling interval in microseconds. Reading this
file returns the value.
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/min What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/min
WDate: Mar 2022 WDate: Mar 2022
@@ -345,6 +375,20 @@ Description: If 'addr' is written to the 'type' file, writing to or reading
from this file sets or gets the end address of the address from this file sets or gets the end address of the address
range for the filter. range for the filter.
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/min
Date: Feb 2025
Contact: SeongJae Park <sj@kernel.org>
Description: If 'hugepage_size' is written to the 'type' file, writing to
or reading from this file sets or gets the minimum size of the
hugepage for the filter.
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/max
Date: Feb 2025
Contact: SeongJae Park <sj@kernel.org>
Description: If 'hugepage_size' is written to the 'type' file, writing to
or reading from this file sets or gets the maximum size of the
hugepage for the filter.
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/target_idx What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/target_idx
Date: Dec 2022 Date: Dec 2022
Contact: SeongJae Park <sj@kernel.org> Contact: SeongJae Park <sj@kernel.org>
@@ -365,6 +409,22 @@ Description: Writing 'Y' or 'N' to this file sets whether to allow or reject
applying the scheme's action to the memory that satisfies the applying the scheme's action to the memory that satisfies the
'type' and the 'matching' of the directory. 'type' and the 'matching' of the directory.
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/core_filters
Date: Feb 2025
Contact: SeongJae Park <sj@kernel.org>
Description: Directory for DAMON core layer-handled DAMOS filters. Files
under this directory works same to those of
/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters
directory.
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/ops_filters
Date: Feb 2025
Contact: SeongJae Park <sj@kernel.org>
Description: Directory for DAMON operations set layer-handled DAMOS filters.
Files under this directory works same to those of
/sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters
directory.
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_tried What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/nr_tried
Date: Mar 2022 Date: Mar 2022
Contact: SeongJae Park <sj@kernel.org> Contact: SeongJae Park <sj@kernel.org>

View File

@@ -30,3 +30,11 @@ KernelVersion: 5.11
Contact: Matteo Croce <mcroce@microsoft.com> Contact: Matteo Croce <mcroce@microsoft.com>
Description: Don't wait for any other CPUs on reboot and Description: Don't wait for any other CPUs on reboot and
avoid anything that could hang. avoid anything that could hang.
What: /sys/kernel/reboot/hw_protection
Date: April 2025
KernelVersion: 6.15
Contact: Ahmad Fatoum <a.fatoum@pengutronix.de>
Description: Hardware protection action taken on critical events like
overtemperature or imminent voltage loss.
Valid values are: reboot shutdown

View File

@@ -150,3 +150,13 @@ Description:
The "mfg_lock" sysfs attribute is write-only. The "mfg_lock" sysfs attribute is write-only.
A successful write to this attribute will latch the A successful write to this attribute will latch the
board-level attributes into EEPROM, making them read-only. board-level attributes into EEPROM, making them read-only.
What: /sys/bus/platform/devices/MLNXBF04:00/rtc_battery
Date: June 2025
KernelVersion: 6.15
Contact: "Xiangrong Li <xiangrongl@nvidia.com>"
Description:
The "rtc_battery" sysfs attribute is read-only.
A successful read from this attribute returns the status of
the board's RTC battery. The RTC battery status register is
also cleared upon successful read operation.

View File

@@ -131,7 +131,7 @@ Description:
CAUTION: Using it will cause your machine's real-time (CMOS) CAUTION: Using it will cause your machine's real-time (CMOS)
clock to be set to a random invalid time after a resume. clock to be set to a random invalid time after a resume.
What; /sys/power/pm_trace_dev_match What: /sys/power/pm_trace_dev_match
Date: October 2010 Date: October 2010
Contact: James Hogan <jhogan@kernel.org> Contact: James Hogan <jhogan@kernel.org>
Description: Description:

View File

@@ -0,0 +1,6 @@
What: /sys/class/pps-gen/pps-genx/enable
Date: April 2025
KernelVersion: 6.15
Contact: Subramanian Mohan<subramanian.mohan@intel.com>
Description:
Enable or disable PPS TIO generator output.

View File

@@ -12,7 +12,7 @@ endif
# Check for broken ABI files # Check for broken ABI files
ifeq ($(CONFIG_WARN_ABI_ERRORS),y) ifeq ($(CONFIG_WARN_ABI_ERRORS),y)
$(shell $(srctree)/scripts/get_abi.pl validate --dir $(srctree)/Documentation/ABI) $(shell $(srctree)/scripts/get_abi.py --dir $(srctree)/Documentation/ABI validate)
endif endif
# You can set these variables from the command line. # You can set these variables from the command line.

View File

@@ -57,11 +57,10 @@ by the PCI controller driver.
The PCI controller driver can then create a new EPC device by invoking The PCI controller driver can then create a new EPC device by invoking
devm_pci_epc_create()/pci_epc_create(). devm_pci_epc_create()/pci_epc_create().
* devm_pci_epc_destroy()/pci_epc_destroy() * pci_epc_destroy()
The PCI controller driver can destroy the EPC device created by either The PCI controller driver can destroy the EPC device created by
devm_pci_epc_create() or pci_epc_create() using devm_pci_epc_destroy() or pci_epc_create() using pci_epc_destroy().
pci_epc_destroy().
* pci_epc_linkup() * pci_epc_linkup()

View File

@@ -329,10 +329,7 @@ Answer:
was first added back in 2005. This is because on_each_cpu() was first added back in 2005. This is because on_each_cpu()
disables preemption, which acted as an RCU read-side critical disables preemption, which acted as an RCU read-side critical
section, thus preventing CPU 0's grace period from completing section, thus preventing CPU 0's grace period from completing
until on_each_cpu() had dealt with all of the CPUs. However, until on_each_cpu() had dealt with all of the CPUs.
with the advent of preemptible RCU, rcu_barrier() no longer
waited on nonpreemptible regions of code in preemptible kernels,
that being the job of the new rcu_barrier_sched() function.
However, with the RCU flavor consolidation around v4.20, this However, with the RCU flavor consolidation around v4.20, this
possibility was once again ruled out, because the consolidated possibility was once again ruled out, because the consolidated

View File

@@ -96,6 +96,13 @@ warnings:
the ``rcu_.*timer wakeup didn't happen for`` console-log message, the ``rcu_.*timer wakeup didn't happen for`` console-log message,
which will include additional debugging information. which will include additional debugging information.
- A timer issue causes time to appear to jump forward, so that RCU
believes that the RCU CPU stall-warning timeout has been exceeded
when in fact much less time has passed. This could be due to
timer hardware bugs, timer driver bugs, or even corruption of
the "jiffies" global variable. These sorts of timer hardware
and driver bugs are not uncommon when testing new hardware.
- A low-level kernel issue that either fails to invoke one of the - A low-level kernel issue that either fails to invoke one of the
variants of rcu_eqs_enter(true), rcu_eqs_exit(true), ct_idle_enter(), variants of rcu_eqs_enter(true), rcu_eqs_exit(true), ct_idle_enter(),
ct_idle_exit(), ct_irq_enter(), or ct_irq_exit() on the one ct_idle_exit(), ct_irq_enter(), or ct_irq_exit() on the one

View File

@@ -971,6 +971,16 @@ unfortunately any spinlock in a ``SLAB_TYPESAFE_BY_RCU`` object must be
initialized after each and every call to kmem_cache_alloc(), which renders initialized after each and every call to kmem_cache_alloc(), which renders
reference-free spinlock acquisition completely unsafe. Therefore, when reference-free spinlock acquisition completely unsafe. Therefore, when
using ``SLAB_TYPESAFE_BY_RCU``, make proper use of a reference counter. using ``SLAB_TYPESAFE_BY_RCU``, make proper use of a reference counter.
If using refcount_t, the specialized refcount_{add|inc}_not_zero_acquire()
and refcount_set_release() APIs should be used to ensure correct operation
ordering when verifying object identity and when initializing newly
allocated objects. Acquire fence in refcount_{add|inc}_not_zero_acquire()
ensures that identity checks happen *after* reference count is taken.
refcount_set_release() should be called after a newly allocated object is
fully initialized and release fence ensures that new values are visible
*before* refcount can be successfully taken by other users. Once
refcount_set_release() is called, the object should be considered visible
by other tasks.
(Those willing to initialize their locks in a kmem_cache constructor (Those willing to initialize their locks in a kmem_cache constructor
may also use locking, including cache-friendly sequence locking.) may also use locking, including cache-friendly sequence locking.)

View File

@@ -48,3 +48,4 @@ subdirectories.
Yama Yama
SafeSetID SafeSetID
ipe ipe
landlock

View File

@@ -0,0 +1,158 @@
.. SPDX-License-Identifier: GPL-2.0
.. Copyright © 2025 Microsoft Corporation
================================
Landlock: system-wide management
================================
:Author: Mickaël Salaün
:Date: March 2025
Landlock can leverage the audit framework to log events.
User space documentation can be found here:
Documentation/userspace-api/landlock.rst.
Audit
=====
Denied access requests are logged by default for a sandboxed program if `audit`
is enabled. This default behavior can be changed with the
sys_landlock_restrict_self() flags (cf.
Documentation/userspace-api/landlock.rst). Landlock logs can also be masked
thanks to audit rules. Landlock can generate 2 audit record types.
Record types
------------
AUDIT_LANDLOCK_ACCESS
This record type identifies a denied access request to a kernel resource.
The ``domain`` field indicates the ID of the domain that blocked the
request. The ``blockers`` field indicates the cause(s) of this denial
(separated by a comma), and the following fields identify the kernel object
(similar to SELinux). There may be more than one of this record type per
audit event.
Example with a file link request generating two records in the same event::
domain=195ba459b blockers=fs.refer path="/usr/bin" dev="vda2" ino=351
domain=195ba459b blockers=fs.make_reg,fs.refer path="/usr/local" dev="vda2" ino=365
AUDIT_LANDLOCK_DOMAIN
This record type describes the status of a Landlock domain. The ``status``
field can be either ``allocated`` or ``deallocated``.
The ``allocated`` status is part of the same audit event and follows
the first logged ``AUDIT_LANDLOCK_ACCESS`` record of a domain. It identifies
Landlock domain information at the time of the sys_landlock_restrict_self()
call with the following fields:
- the ``domain`` ID
- the enforcement ``mode``
- the domain creator's ``pid``
- the domain creator's ``uid``
- the domain creator's executable path (``exe``)
- the domain creator's command line (``comm``)
Example::
domain=195ba459b status=allocated mode=enforcing pid=300 uid=0 exe="/root/sandboxer" comm="sandboxer"
The ``deallocated`` status is an event on its own and it identifies a
Landlock domain release. After such event, it is guarantee that the
related domain ID will never be reused during the lifetime of the system.
The ``domain`` field indicates the ID of the domain which is released, and
the ``denials`` field indicates the total number of denied access request,
which might not have been logged according to the audit rules and
sys_landlock_restrict_self()'s flags.
Example::
domain=195ba459b status=deallocated denials=3
Event samples
--------------
Here are two examples of log events (see serial numbers).
In this example a sandboxed program (``kill``) tries to send a signal to the
init process, which is denied because of the signal scoping restriction
(``LL_SCOPED=s``)::
$ LL_FS_RO=/ LL_FS_RW=/ LL_SCOPED=s LL_FORCE_LOG=1 ./sandboxer kill 1
This command generates two events, each identified with a unique serial
number following a timestamp (``msg=audit(1729738800.268:30)``). The first
event (serial ``30``) contains 4 records. The first record
(``type=LANDLOCK_ACCESS``) shows an access denied by the domain `1a6fdc66f`.
The cause of this denial is signal scopping restriction
(``blockers=scope.signal``). The process that would have receive this signal
is the init process (``opid=1 ocomm="systemd"``).
The second record (``type=LANDLOCK_DOMAIN``) describes (``status=allocated``)
domain `1a6fdc66f`. This domain was created by process ``286`` executing the
``/root/sandboxer`` program launched by the root user.
The third record (``type=SYSCALL``) describes the syscall, its provided
arguments, its result (``success=no exit=-1``), and the process that called it.
The fourth record (``type=PROCTITLE``) shows the command's name as an
hexadecimal value. This can be translated with ``python -c
'print(bytes.fromhex("6B696C6C0031"))'``.
Finally, the last record (``type=LANDLOCK_DOMAIN``) is also the only one from
the second event (serial ``31``). It is not tied to a direct user space action
but an asynchronous one to free resources tied to a Landlock domain
(``status=deallocated``). This can be useful to know that the following logs
will not concern the domain ``1a6fdc66f`` anymore. This record also summarize
the number of requests this domain denied (``denials=1``), whether they were
logged or not.
.. code-block::
type=LANDLOCK_ACCESS msg=audit(1729738800.268:30): domain=1a6fdc66f blockers=scope.signal opid=1 ocomm="systemd"
type=LANDLOCK_DOMAIN msg=audit(1729738800.268:30): domain=1a6fdc66f status=allocated mode=enforcing pid=286 uid=0 exe="/root/sandboxer" comm="sandboxer"
type=SYSCALL msg=audit(1729738800.268:30): arch=c000003e syscall=62 success=no exit=-1 [..] ppid=272 pid=286 auid=0 uid=0 gid=0 [...] comm="kill" [...]
type=PROCTITLE msg=audit(1729738800.268:30): proctitle=6B696C6C0031
type=LANDLOCK_DOMAIN msg=audit(1729738800.324:31): domain=1a6fdc66f status=deallocated denials=1
Here is another example showcasing filesystem access control::
$ LL_FS_RO=/ LL_FS_RW=/tmp LL_FORCE_LOG=1 ./sandboxer sh -c "echo > /etc/passwd"
The related audit logs contains 8 records from 3 different events (serials 33,
34 and 35) created by the same domain `1a6fdc679`::
type=LANDLOCK_ACCESS msg=audit(1729738800.221:33): domain=1a6fdc679 blockers=fs.write_file path="/dev/tty" dev="devtmpfs" ino=9
type=LANDLOCK_DOMAIN msg=audit(1729738800.221:33): domain=1a6fdc679 status=allocated mode=enforcing pid=289 uid=0 exe="/root/sandboxer" comm="sandboxer"
type=SYSCALL msg=audit(1729738800.221:33): arch=c000003e syscall=257 success=no exit=-13 [...] ppid=272 pid=289 auid=0 uid=0 gid=0 [...] comm="sh" [...]
type=PROCTITLE msg=audit(1729738800.221:33): proctitle=7368002D63006563686F203E202F6574632F706173737764
type=LANDLOCK_ACCESS msg=audit(1729738800.221:34): domain=1a6fdc679 blockers=fs.write_file path="/etc/passwd" dev="vda2" ino=143821
type=SYSCALL msg=audit(1729738800.221:34): arch=c000003e syscall=257 success=no exit=-13 [...] ppid=272 pid=289 auid=0 uid=0 gid=0 [...] comm="sh" [...]
type=PROCTITLE msg=audit(1729738800.221:34): proctitle=7368002D63006563686F203E202F6574632F706173737764
type=LANDLOCK_DOMAIN msg=audit(1729738800.261:35): domain=1a6fdc679 status=deallocated denials=2
Event filtering
---------------
If you get spammed with audit logs related to Landlock, this is either an
attack attempt or a bug in the security policy. We can put in place some
filters to limit noise with two complementary ways:
- with sys_landlock_restrict_self()'s flags if we can fix the sandboxed
programs,
- or with audit rules (see :manpage:`auditctl(8)`).
Additional documentation
========================
* `Linux Audit Documentation`_
* Documentation/userspace-api/landlock.rst
* Documentation/security/landlock.rst
* https://landlock.io
.. Links
.. _Linux Audit Documentation:
https://github.com/linux-audit/audit-documentation/wiki

View File

@@ -165,7 +165,7 @@ Configuring the kernel
"make xconfig" Qt based configuration tool. "make xconfig" Qt based configuration tool.
"make gconfig" GTK+ based configuration tool. "make gconfig" GTK based configuration tool.
"make oldconfig" Default all questions based on the contents of "make oldconfig" Default all questions based on the contents of
your existing ./.config file and asking about your existing ./.config file and asking about
@@ -176,7 +176,7 @@ Configuring the kernel
values without prompting. values without prompting.
"make defconfig" Create a ./.config file by using the default "make defconfig" Create a ./.config file by using the default
symbol values from either arch/$ARCH/defconfig symbol values from either arch/$ARCH/configs/defconfig
or arch/$ARCH/configs/${PLATFORM}_defconfig, or arch/$ARCH/configs/${PLATFORM}_defconfig,
depending on the architecture. depending on the architecture.

View File

@@ -0,0 +1,7 @@
.. SPDX-License-Identifier: GPL-2.0
Obsolete ABI Files
==================
.. kernel-abi:: obsolete
:no-symbols:

View File

@@ -1,3 +1,5 @@
.. SPDX-License-Identifier: GPL-2.0
ABI obsolete symbols ABI obsolete symbols
==================== ====================
@@ -7,5 +9,5 @@ marked to be removed at some later point in time.
The description of the interface will document the reason why it is The description of the interface will document the reason why it is
obsolete and when it can be expected to be removed. obsolete and when it can be expected to be removed.
.. kernel-abi:: ABI/obsolete .. kernel-abi:: obsolete
:rst: :no-files:

View File

@@ -0,0 +1,7 @@
.. SPDX-License-Identifier: GPL-2.0
Removed ABI Files
=================
.. kernel-abi:: removed
:no-symbols:

View File

@@ -1,5 +1,7 @@
.. SPDX-License-Identifier: GPL-2.0
ABI removed symbols ABI removed symbols
=================== ===================
.. kernel-abi:: ABI/removed .. kernel-abi:: removed
:rst: :no-files:

View File

@@ -0,0 +1,7 @@
.. SPDX-License-Identifier: GPL-2.0
Stable ABI Files
================
.. kernel-abi:: stable
:no-symbols:

View File

@@ -1,3 +1,5 @@
.. SPDX-License-Identifier: GPL-2.0
ABI stable symbols ABI stable symbols
================== ==================
@@ -10,5 +12,5 @@ for at least 2 years.
Most interfaces (like syscalls) are expected to never change and always Most interfaces (like syscalls) are expected to never change and always
be available. be available.
.. kernel-abi:: ABI/stable .. kernel-abi:: stable
:rst: :no-files:

View File

@@ -0,0 +1,7 @@
.. SPDX-License-Identifier: GPL-2.0
Testing ABI Files
=================
.. kernel-abi:: testing
:no-symbols:

View File

@@ -1,3 +1,5 @@
.. SPDX-License-Identifier: GPL-2.0
ABI testing symbols ABI testing symbols
=================== ===================
@@ -16,5 +18,5 @@ Programs that use these interfaces are strongly encouraged to add their
name to the description of these interfaces, so that the kernel name to the description of these interfaces, so that the kernel
developers can easily notify them if any changes occur. developers can easily notify them if any changes occur.
.. kernel-abi:: ABI/testing .. kernel-abi:: testing
:rst: :no-files:

View File

@@ -1,7 +1,14 @@
.. SPDX-License-Identifier: GPL-2.0
===================== =====================
Linux ABI description Linux ABI description
===================== =====================
.. kernel-abi:: README
ABI symbols
-----------
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
@@ -9,3 +16,14 @@ Linux ABI description
abi-testing abi-testing
abi-obsolete abi-obsolete
abi-removed abi-removed
ABI files
---------
.. toctree::
:maxdepth: 2
abi-stable-files
abi-testing-files
abi-obsolete-files
abi-removed-files

View File

@@ -54,7 +54,7 @@ The list of possible return codes:
If you use 'echo', the returned value is set by the 'echo' utility, If you use 'echo', the returned value is set by the 'echo' utility,
and, in general case, something like:: and, in general case, something like::
echo 3 > /sys/block/zram0/max_comp_streams echo foo > /sys/block/zram0/comp_algorithm
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
handle_error handle_error
fi fi
@@ -73,21 +73,7 @@ This creates 4 devices: /dev/zram{0,1,2,3}
num_devices parameter is optional and tells zram how many devices should be num_devices parameter is optional and tells zram how many devices should be
pre-created. Default: 1. pre-created. Default: 1.
2) Set max number of compression streams 2) Select compression algorithm
========================================
Regardless of the value passed to this attribute, ZRAM will always
allocate multiple compression streams - one per online CPU - thus
allowing several concurrent compression operations. The number of
allocated compression streams goes down when some of the CPUs
become offline. There is no single-compression-stream mode anymore,
unless you are running a UP system or have only 1 CPU online.
To find out how many streams are currently available::
cat /sys/block/zram0/max_comp_streams
3) Select compression algorithm
=============================== ===============================
Using comp_algorithm device attribute one can see available and Using comp_algorithm device attribute one can see available and
@@ -107,7 +93,7 @@ Examples::
For the time being, the `comp_algorithm` content shows only compression For the time being, the `comp_algorithm` content shows only compression
algorithms that are supported by zram. algorithms that are supported by zram.
4) Set compression algorithm parameters: Optional 3) Set compression algorithm parameters: Optional
================================================= =================================================
Compression algorithms may support specific parameters which can be Compression algorithms may support specific parameters which can be
@@ -138,7 +124,7 @@ better the compression ratio, it even can take negatives values for some
algorithms), for other algorithms `level` is acceleration level (the higher algorithms), for other algorithms `level` is acceleration level (the higher
the value the lower the compression ratio). the value the lower the compression ratio).
5) Set Disksize 4) Set Disksize
=============== ===============
Set disk size by writing the value to sysfs node 'disksize'. Set disk size by writing the value to sysfs node 'disksize'.
@@ -158,7 +144,7 @@ There is little point creating a zram of greater than twice the size of memory
since we expect a 2:1 compression ratio. Note that zram uses about 0.1% of the since we expect a 2:1 compression ratio. Note that zram uses about 0.1% of the
size of the disk when not in use so a huge zram is wasteful. size of the disk when not in use so a huge zram is wasteful.
6) Set memory limit: Optional 5) Set memory limit: Optional
============================= =============================
Set memory limit by writing the value to sysfs node 'mem_limit'. Set memory limit by writing the value to sysfs node 'mem_limit'.
@@ -177,7 +163,7 @@ Examples::
# To disable memory limit # To disable memory limit
echo 0 > /sys/block/zram0/mem_limit echo 0 > /sys/block/zram0/mem_limit
7) Activate 6) Activate
=========== ===========
:: ::
@@ -188,7 +174,7 @@ Examples::
mkfs.ext4 /dev/zram1 mkfs.ext4 /dev/zram1
mount /dev/zram1 /tmp mount /dev/zram1 /tmp
8) Add/remove zram devices 7) Add/remove zram devices
========================== ==========================
zram provides a control interface, which enables dynamic (on-demand) device zram provides a control interface, which enables dynamic (on-demand) device
@@ -208,7 +194,7 @@ execute::
echo X > /sys/class/zram-control/hot_remove echo X > /sys/class/zram-control/hot_remove
9) Stats 8) Stats
======== ========
Per-device statistics are exported as various nodes under /sys/block/zram<id>/ Per-device statistics are exported as various nodes under /sys/block/zram<id>/
@@ -228,8 +214,6 @@ mem_limit WO specifies the maximum amount of memory ZRAM can
writeback_limit WO specifies the maximum amount of write IO zram writeback_limit WO specifies the maximum amount of write IO zram
can write out to backing device as 4KB unit can write out to backing device as 4KB unit
writeback_limit_enable RW show and set writeback_limit feature writeback_limit_enable RW show and set writeback_limit feature
max_comp_streams RW the number of possible concurrent compress
operations
comp_algorithm RW show and change the compression algorithm comp_algorithm RW show and change the compression algorithm
algorithm_params WO setup compression algorithm parameters algorithm_params WO setup compression algorithm parameters
compact WO trigger memory compaction compact WO trigger memory compaction
@@ -310,7 +294,7 @@ a single line of text and contains the following stats separated by whitespace:
Unit: 4K bytes Unit: 4K bytes
============== ============================================================= ============== =============================================================
10) Deactivate 9) Deactivate
============== ==============
:: ::
@@ -318,7 +302,7 @@ a single line of text and contains the following stats separated by whitespace:
swapoff /dev/zram0 swapoff /dev/zram0
umount /dev/zram1 umount /dev/zram1
11) Reset 10) Reset
========= =========
Write any positive value to 'reset' sysfs node:: Write any positive value to 'reset' sysfs node::

View File

@@ -125,3 +125,7 @@ to unfreeze all tasks in the container::
This is the basic mechanism which should do the right thing for user space task This is the basic mechanism which should do the right thing for user space task
in a simple scenario. in a simple scenario.
This freezer implementation is affected by shortcomings (see commit
76f969e8948d8 ("cgroup: cgroup v2 freezer")) and cgroup v2 freezer is
recommended.

View File

@@ -90,6 +90,7 @@ Brief summary of control files.
used. used.
memory.swappiness set/show swappiness parameter of vmscan memory.swappiness set/show swappiness parameter of vmscan
(See sysctl's vm.swappiness) (See sysctl's vm.swappiness)
Per memcg knob does not exist in cgroup v2.
memory.move_charge_at_immigrate This knob is deprecated. memory.move_charge_at_immigrate This knob is deprecated.
memory.oom_control set/show oom controls. memory.oom_control set/show oom controls.
This knob is deprecated and shouldn't be This knob is deprecated and shouldn't be
@@ -609,6 +610,10 @@ memory.stat file includes following statistics:
'rss + mapped_file" will give you resident set size of cgroup. 'rss + mapped_file" will give you resident set size of cgroup.
Note that some kernel configurations might account complete larger
allocations (e.g., THP) towards 'rss' and 'mapped_file', even if
only some, but not all that memory is mapped.
(Note: file and shmem may be shared among other cgroups. In that case, (Note: file and shmem may be shared among other cgroups. In that case,
mapped_file is accounted only when the memory cgroup is owner of page mapped_file is accounted only when the memory cgroup is owner of page
cache.) cache.)

View File

@@ -1076,15 +1076,20 @@ cpufreq governor about the minimum desired frequency which should always be
provided by a CPU, as well as the maximum desired frequency, which should not provided by a CPU, as well as the maximum desired frequency, which should not
be exceeded by a CPU. be exceeded by a CPU.
WARNING: cgroup2 doesn't yet support control of realtime processes. For WARNING: cgroup2 cpu controller doesn't yet fully support the control of
a kernel built with the CONFIG_RT_GROUP_SCHED option enabled for group realtime processes. For a kernel built with the CONFIG_RT_GROUP_SCHED option
scheduling of realtime processes, the cpu controller can only be enabled enabled for group scheduling of realtime processes, the cpu controller can only
when all RT processes are in the root cgroup. This limitation does be enabled when all RT processes are in the root cgroup. Be aware that system
not apply if CONFIG_RT_GROUP_SCHED is disabled. Be aware that system management software may already have placed RT processes into non-root cgroups
management software may already have placed RT processes into nonroot during the system boot process, and these processes may need to be moved to the
cgroups during the system boot process, and these processes may need root cgroup before the cpu controller can be enabled with a
to be moved to the root cgroup before the cpu controller can be enabled CONFIG_RT_GROUP_SCHED enabled kernel.
with a CONFIG_RT_GROUP_SCHED enabled kernel.
With CONFIG_RT_GROUP_SCHED disabled, this limitation does not apply and some of
the interface files either affect realtime processes or account for them. See
the following section for details. Only the cpu controller is affected by
CONFIG_RT_GROUP_SCHED. Other controllers can be used for the resource control of
realtime processes irrespective of CONFIG_RT_GROUP_SCHED.
CPU Interface Files CPU Interface Files
@@ -1440,7 +1445,10 @@ The following nested keys are defined.
anon anon
Amount of memory used in anonymous mappings such as Amount of memory used in anonymous mappings such as
brk(), sbrk(), and mmap(MAP_ANONYMOUS) brk(), sbrk(), and mmap(MAP_ANONYMOUS). Note that
some kernel configurations might account complete larger
allocations (e.g., THP) if only some, but not all the
memory of such an allocation is mapped anymore.
file file
Amount of memory used to cache filesystem data, Amount of memory used to cache filesystem data,
@@ -1483,7 +1491,10 @@ The following nested keys are defined.
Amount of application memory swapped out to zswap. Amount of application memory swapped out to zswap.
file_mapped file_mapped
Amount of cached filesystem data mapped with mmap() Amount of cached filesystem data mapped with mmap(). Note
that some kernel configurations might account complete
larger allocations (e.g., THP) if only some, but not
not all the memory of such an allocation is mapped.
file_dirty file_dirty
Amount of cached filesystem data that was modified but Amount of cached filesystem data that was modified but
@@ -1555,6 +1566,12 @@ The following nested keys are defined.
workingset_nodereclaim workingset_nodereclaim
Number of times a shadow node has been reclaimed Number of times a shadow node has been reclaimed
pswpin (npn)
Number of pages swapped into memory
pswpout (npn)
Number of pages swapped out of memory
pgscan (npn) pgscan (npn)
Amount of scanned pages (in an inactive LRU list) Amount of scanned pages (in an inactive LRU list)
@@ -1570,6 +1587,9 @@ The following nested keys are defined.
pgscan_khugepaged (npn) pgscan_khugepaged (npn)
Amount of scanned pages by khugepaged (in an inactive LRU list) Amount of scanned pages by khugepaged (in an inactive LRU list)
pgscan_proactive (npn)
Amount of scanned pages proactively (in an inactive LRU list)
pgsteal_kswapd (npn) pgsteal_kswapd (npn)
Amount of reclaimed pages by kswapd Amount of reclaimed pages by kswapd
@@ -1579,6 +1599,9 @@ The following nested keys are defined.
pgsteal_khugepaged (npn) pgsteal_khugepaged (npn)
Amount of reclaimed pages by khugepaged Amount of reclaimed pages by khugepaged
pgsteal_proactive (npn)
Amount of reclaimed pages proactively
pgfault (npn) pgfault (npn)
Total number of page faults incurred Total number of page faults incurred
@@ -1656,6 +1679,9 @@ The following nested keys are defined.
pgdemote_khugepaged pgdemote_khugepaged
Number of pages demoted by khugepaged. Number of pages demoted by khugepaged.
pgdemote_proactive
Number of pages demoted by proactively.
hugetlb hugetlb
Amount of memory used by hugetlb pages. This metric only shows Amount of memory used by hugetlb pages. This metric only shows
up if hugetlb usage is accounted for in memory.current (i.e. up if hugetlb usage is accounted for in memory.current (i.e.

View File

@@ -146,6 +146,11 @@ integrity:<bytes>:<type>
integrity for the encrypted device. The additional space is then integrity for the encrypted device. The additional space is then
used for storing authentication tag (and persistent IV if needed). used for storing authentication tag (and persistent IV if needed).
integrity_key_size:<bytes>
Optionally set the integrity key size if it differs from the digest size.
It allows the use of wrapped key algorithms where the key size is
independent of the cryptographic key size.
sector_size:<bytes> sector_size:<bytes>
Use <bytes> as the encryption unit instead of 512 bytes sectors. Use <bytes> as the encryption unit instead of 512 bytes sectors.
This option can be in range 512 - 4096 bytes and must be power of two. This option can be in range 512 - 4096 bytes and must be power of two.

View File

@@ -92,6 +92,11 @@ Target arguments:
allowed. This mode is useful for data recovery if the allowed. This mode is useful for data recovery if the
device cannot be activated in any of the other standard device cannot be activated in any of the other standard
modes. modes.
I - inline mode - in this mode, dm-integrity will store integrity
data directly in the underlying device sectors.
The underlying device must have an integrity profile that
allows storing user integrity data and provides enough
space for the selected integrity tag.
5. the number of additional arguments 5. the number of additional arguments

View File

@@ -87,6 +87,15 @@ panic_on_corruption
Panic the device when a corrupted block is discovered. This option is Panic the device when a corrupted block is discovered. This option is
not compatible with ignore_corruption and restart_on_corruption. not compatible with ignore_corruption and restart_on_corruption.
restart_on_error
Restart the system when an I/O error is detected.
This option can be combined with the restart_on_corruption option.
panic_on_error
Panic the device when an I/O error is detected. This option is
not compatible with the restart_on_error option but can be combined
with the panic_on_corruption option.
ignore_zero_blocks ignore_zero_blocks
Do not verify blocks that are expected to contain zeroes and always return Do not verify blocks that are expected to contain zeroes and always return
zeroes instead. This may be useful if the partition contains unused blocks zeroes instead. This may be useful if the partition contains unused blocks
@@ -142,8 +151,15 @@ root_hash_sig_key_desc <key_description>
already in the secondary trusted keyring. already in the secondary trusted keyring.
try_verify_in_tasklet try_verify_in_tasklet
If verity hashes are in cache, verify data blocks in kernel tasklet instead If verity hashes are in cache and the IO size does not exceed the limit,
of workqueue. This option can reduce IO latency. verify data blocks in bottom half instead of workqueue. This option can
reduce IO latency. The size limits can be configured via
/sys/module/dm_verity/parameters/use_bh_bytes. The four parameters
correspond to limits for IOPRIO_CLASS_NONE, IOPRIO_CLASS_RT,
IOPRIO_CLASS_BE and IOPRIO_CLASS_IDLE in turn.
For example:
<none>,<rt>,<be>,<idle>
4096,4096,4096,4096
Theory of operation Theory of operation
=================== ===================

View File

@@ -238,11 +238,10 @@ When mounting an ext4 filesystem, the following option are accepted:
configured using tune2fs) configured using tune2fs)
data_err=ignore(*) data_err=ignore(*)
Just print an error message if an error occurs in a file data buffer in Just print an error message if an error occurs in a file data buffer.
ordered mode.
data_err=abort data_err=abort
Abort the journal if an error occurs in a file data buffer in ordered Abort the journal if an error occurs in a file data buffer.
mode.
grpid | bsdgroups grpid | bsdgroups
New objects have the group ID of their parent. New objects have the group ID of their parent.

View File

@@ -71,7 +71,7 @@ specific lines. The name of those subdirectories must take the form of:
``'line<offset>'`` (e.g. ``'line0'``, ``'line20'``, etc.) as the name will be ``'line<offset>'`` (e.g. ``'line0'``, ``'line20'``, etc.) as the name will be
used by the module to assign the config to the specific line at given offset. used by the module to assign the config to the specific line at given offset.
Once the confiuration is complete, the ``'live'`` attribute must be set to 1 in Once the configuration is complete, the ``'live'`` attribute must be set to 1 in
order to instantiate the chip. It can be set back to 0 to destroy the simulated order to instantiate the chip. It can be set back to 0 to destroy the simulated
chip. The module will synchronously wait for the new simulated device to be chip. The module will synchronously wait for the new simulated device to be
successfully probed and if this doesn't happen, writing to ``'live'`` will successfully probed and if this doesn't happen, writing to ``'live'`` will

View File

@@ -92,7 +92,7 @@ struct. The first two take string values as arguments:
Activating GPIO consumers Activating GPIO consumers
------------------------- -------------------------
Once the confiuration is complete, the ``'live'`` attribute must be set to 1 in Once the configuration is complete, the ``'live'`` attribute must be set to 1 in
order to instantiate the consumer. It can be set back to 0 to destroy the order to instantiate the consumer. It can be set back to 0 to destroy the
virtual device. The module will synchronously wait for the new simulated device virtual device. The module will synchronously wait for the new simulated device
to be successfully probed and if this doesn't happen, writing to ``'live'`` will to be successfully probed and if this doesn't happen, writing to ``'live'`` will

View File

@@ -1,80 +0,0 @@
===================================================
Notes on the change from 16-bit UIDs to 32-bit UIDs
===================================================
:Author: Chris Wing <wingc@umich.edu>
:Last updated: January 11, 2000
- kernel code MUST take into account __kernel_uid_t and __kernel_uid32_t
when communicating between user and kernel space in an ioctl or data
structure.
- kernel code should use uid_t and gid_t in kernel-private structures and
code.
What's left to be done for 32-bit UIDs on all Linux architectures:
- Disk quotas have an interesting limitation that is not related to the
maximum UID/GID. They are limited by the maximum file size on the
underlying filesystem, because quota records are written at offsets
corresponding to the UID in question.
Further investigation is needed to see if the quota system can cope
properly with huge UIDs. If it can deal with 64-bit file offsets on all
architectures, this should not be a problem.
- Decide whether or not to keep backwards compatibility with the system
accounting file, or if we should break it as the comments suggest
(currently, the old 16-bit UID and GID are still written to disk, and
part of the former pad space is used to store separate 32-bit UID and
GID)
- Need to validate that OS emulation calls the 16-bit UID
compatibility syscalls, if the OS being emulated used 16-bit UIDs, or
uses the 32-bit UID system calls properly otherwise.
This affects at least:
- iBCS on Intel
- sparc32 emulation on sparc64
(need to support whatever new 32-bit UID system calls are added to
sparc32)
- Validate that all filesystems behave properly.
At present, 32-bit UIDs _should_ work for:
- ext2
- ufs
- isofs
- nfs
- coda
- udf
Ioctl() fixups have been made for:
- ncpfs
- smbfs
Filesystems with simple fixups to prevent 16-bit UID wraparound:
- minix
- sysv
- qnx4
Other filesystems have not been checked yet.
- The ncpfs and smpfs filesystems cannot presently use 32-bit UIDs in
all ioctl()s. Some new ioctl()s have been added with 32-bit UIDs, but
more are needed. (as well as new user<->kernel data structures)
- The ELF core dump format only supports 16-bit UIDs on arm, i386, m68k,
sh, and sparc32. Fixing this is probably not that important, but would
require adding a new ELF section.
- The ioctl()s used to control the in-kernel NFS server only support
16-bit UIDs on arm, i386, m68k, sh, and sparc32.
- make sure that the UID mapping feature of AX25 networking works properly
(it should be safe because it's always used a 32-bit integer to
communicate between user and kernel)

View File

@@ -29,14 +29,6 @@ Below is the list of affected Intel processors [#f1]_:
RAPTORLAKE_S 06_BFH RAPTORLAKE_S 06_BFH
=================== ============ =================== ============
As an exception to this table, Intel Xeon E family parts ALDERLAKE(06_97H) and
RAPTORLAKE(06_B7H) codenamed Catlow are not affected. They are reported as
vulnerable in Linux because they share the same family/model with an affected
part. Unlike their affected counterparts, they do not enumerate RFDS_CLEAR or
CPUID.HYBRID. This information could be used to distinguish between the
affected and unaffected parts, but it is deemed not worth adding complexity as
the reporting is fixed automatically when these parts enumerate RFDS_NO.
Mitigation Mitigation
========== ==========
Intel released a microcode update that enables software to clear sensitive Intel released a microcode update that enables software to clear sensitive

View File

@@ -104,7 +104,20 @@ The possible values in this file are:
(spec_rstack_overflow=ibpb-vmexit) (spec_rstack_overflow=ibpb-vmexit)
* 'Mitigation: Reduced Speculation':
This mitigation gets automatically enabled when the above one "IBPB on
VMEXIT" has been selected and the CPU supports the BpSpecReduce bit.
It gets automatically enabled on machines which have the
SRSO_USER_KERNEL_NO=1 CPUID bit. In that case, the code logic is to switch
to the above =ibpb-vmexit mitigation because the user/kernel boundary is
not affected anymore and thus "safe RET" is not needed.
After enabling the IBPB on VMEXIT mitigation option, the BpSpecReduce bit
is detected (functionality present on all such machines) and that
practically overrides IBPB on VMEXIT as it has a lot less performance
impact and takes care of the guest->host attack vector too.
In order to exploit vulnerability, an attacker needs to: In order to exploit vulnerability, an attacker needs to:

View File

@@ -187,7 +187,6 @@ A few hard-to-categorize and generally obsolete documents.
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1
highuid
ldm ldm
unicode unicode

View File

@@ -2,62 +2,39 @@
I/O statistics fields I/O statistics fields
===================== =====================
Since 2.4.20 (and some versions before, with patches), and 2.5.45, The kernel exposes disk statistics via ``/proc/diskstats`` and
more extensive disk statistics have been introduced to help measure disk ``/sys/block/<device>/stat``. These stats are usually accessed via tools
activity. Tools such as ``sar`` and ``iostat`` typically interpret these and do such as ``sar`` and ``iostat``.
the work for you, but in case you are interested in creating your own
tools, the fields are explained here.
In 2.4 now, the information is found as additional fields in Here are examples using a disk with two partitions::
``/proc/partitions``. In 2.6 and upper, the same information is found in two
places: one is in the file ``/proc/diskstats``, and the other is within
the sysfs file system, which must be mounted in order to obtain
the information. Throughout this document we'll assume that sysfs
is mounted on ``/sys``, although of course it may be mounted anywhere.
Both ``/proc/diskstats`` and sysfs use the same source for the information
and so should not differ.
Here are examples of these different formats:: /proc/diskstats:
259 0 nvme0n1 255999 814 12369153 47919 996852 81 36123024 425995 0 301795 580470 0 0 0 0 60602 106555
259 1 nvme0n1p1 492 813 17572 96 848 81 108288 210 0 76 307 0 0 0 0 0 0
259 2 nvme0n1p2 255401 1 12343477 47799 996004 0 36014736 425784 0 344336 473584 0 0 0 0 0 0
2.4: /sys/block/nvme0n1/stat:
3 0 39082680 hda 446216 784926 9550688 4382310 424847 312726 5922052 19310380 0 3376340 23705160 255999 814 12369153 47919 996858 81 36123056 426009 0 301809 580491 0 0 0 0 60605 106562
3 1 9221278 hda1 35486 0 35496 38030 0 0 0 0 0 38030 38030
2.6+ sysfs: /sys/block/nvme0n1/nvme0n1p1/stat:
446216 784926 9550688 4382310 424847 312726 5922052 19310380 0 3376340 23705160 492 813 17572 96 848 81 108288 210 0 76 307 0 0 0 0 0 0
35486 38030 38030 38030
2.6+ diskstats: Both files contain the same 17 statistics. ``/sys/block/<device>/stat``
3 0 hda 446216 784926 9550688 4382310 424847 312726 5922052 19310380 0 3376340 23705160 contains the fields for ``<device>``. In ``/proc/diskstats`` the fields
3 1 hda1 35486 38030 38030 38030 are prefixed with the major and minor device numbers and the device
name. In the example above, the first stat value for ``nvme0n1`` is
255999 in both files.
4.18+ diskstats: The sysfs ``stat`` file is efficient for monitoring a small, known set
3 0 hda 446216 784926 9550688 4382310 424847 312726 5922052 19310380 0 3376340 23705160 0 0 0 0 of disks. If you're tracking a large number of devices,
``/proc/diskstats`` is often the better choice since it avoids the
overhead of opening and closing multiple files for each snapshot.
On 2.4 you might execute ``grep 'hda ' /proc/partitions``. On 2.6+, you have All fields are cumulative, monotonic counters, except for field 9, which
a choice of ``cat /sys/block/hda/stat`` or ``grep 'hda ' /proc/diskstats``. resets to zero as I/Os complete. The remaining fields reset at boot, on
device reattachment or reinitialization, or when the underlying counter
The advantage of one over the other is that the sysfs choice works well overflows. Applications reading these counters should detect and handle
if you are watching a known, small set of disks. ``/proc/diskstats`` may resets when comparing stat snapshots.
be a better choice if you are watching a large number of disks because
you'll avoid the overhead of 50, 100, or 500 or more opens/closes with
each snapshot of your disk statistics.
In 2.4, the statistics fields are those after the device name. In
the above example, the first field of statistics would be 446216.
By contrast, in 2.6+ if you look at ``/sys/block/hda/stat``, you'll
find just the 15 fields, beginning with 446216. If you look at
``/proc/diskstats``, the 15 fields will be preceded by the major and
minor device numbers, and device name. Each of these formats provides
15 fields of statistics, each meaning exactly the same things.
All fields except field 9 are cumulative since boot. Field 9 should
go to zero as I/Os complete; all others only increase (unless they
overflow and wrap). Wrapping might eventually occur on a very busy
or long-lived system; so applications should be prepared to deal with
it. Regarding wrapping, the types of the fields are either unsigned
int (32 bit) or unsigned long (32-bit or 64-bit, depending on your
machine) as noted per-field below. Unless your observations are very
spread in time, these fields should not wrap twice before you notice it.
Each set of stats only applies to the indicated device; if you want Each set of stats only applies to the indicated device; if you want
system-wide stats you'll have to find all the devices and sum them all up. system-wide stats you'll have to find all the devices and sum them all up.

View File

@@ -180,10 +180,6 @@ Dump-capture kernel config options (Arch Dependent, i386 and x86_64)
1) On i386, enable high memory support under "Processor type and 1) On i386, enable high memory support under "Processor type and
features":: features"::
CONFIG_HIGHMEM64G=y
or::
CONFIG_HIGHMEM4G CONFIG_HIGHMEM4G
2) With CONFIG_SMP=y, usually nr_cpus=1 need specified on the kernel 2) With CONFIG_SMP=y, usually nr_cpus=1 need specified on the kernel

View File

@@ -416,10 +416,6 @@
Format: { quiet (default) | verbose | debug } Format: { quiet (default) | verbose | debug }
Change the amount of debugging information output Change the amount of debugging information output
when initialising the APIC and IO-APIC components. when initialising the APIC and IO-APIC components.
For X86-32, this can also be used to specify an APIC
driver name.
Format: apic=driver_name
Examples: apic=bigsmp
apic_extnmi= [APIC,X86,EARLY] External NMI delivery setting apic_extnmi= [APIC,X86,EARLY] External NMI delivery setting
Format: { bsp (default) | all | none } Format: { bsp (default) | all | none }
@@ -1411,14 +1407,21 @@
earlyprintk=serial[,0x...[,baudrate]] earlyprintk=serial[,0x...[,baudrate]]
earlyprintk=ttySn[,baudrate] earlyprintk=ttySn[,baudrate]
earlyprintk=dbgp[debugController#] earlyprintk=dbgp[debugController#]
earlyprintk=pciserial[,force],bus:device.function[,baudrate] earlyprintk=pciserial[,force],bus:device.function[,{nocfg|baudrate}]
earlyprintk=xdbc[xhciController#] earlyprintk=xdbc[xhciController#]
earlyprintk=bios earlyprintk=bios
earlyprintk=mmio,membase[,{nocfg|baudrate}]
earlyprintk is useful when the kernel crashes before earlyprintk is useful when the kernel crashes before
the normal console is initialized. It is not enabled by the normal console is initialized. It is not enabled by
default because it has some cosmetic problems. default because it has some cosmetic problems.
Only 32-bit memory addresses are supported for "mmio"
and "pciserial" devices.
Use "nocfg" to skip UART configuration, assume
BIOS/firmware has configured UART correctly.
Append ",keep" to not disable it when the real console Append ",keep" to not disable it when the real console
takes over. takes over.
@@ -1785,7 +1788,9 @@
allocation boundaries as a proactive defense allocation boundaries as a proactive defense
against bounds-checking flaws in the kernel's against bounds-checking flaws in the kernel's
copy_to_user()/copy_from_user() interface. copy_to_user()/copy_from_user() interface.
on Perform hardened usercopy checks (default). The default is determined by
CONFIG_HARDENED_USERCOPY_DEFAULT_ON.
on Perform hardened usercopy checks.
off Disable hardened usercopy checks. off Disable hardened usercopy checks.
hardlockup_all_cpu_backtrace= hardlockup_all_cpu_backtrace=
@@ -1861,7 +1866,7 @@
hpet_mmap= [X86, HPET_MMAP] Allow userspace to mmap HPET hpet_mmap= [X86, HPET_MMAP] Allow userspace to mmap HPET
registers. Default set by CONFIG_HPET_MMAP_DEFAULT. registers. Default set by CONFIG_HPET_MMAP_DEFAULT.
hugepages= [HW] Number of HugeTLB pages to allocate at boot. hugepages= [HW,EARLY] Number of HugeTLB pages to allocate at boot.
If this follows hugepagesz (below), it specifies If this follows hugepagesz (below), it specifies
the number of pages of hugepagesz to be allocated. the number of pages of hugepagesz to be allocated.
If this is the first HugeTLB parameter on the command If this is the first HugeTLB parameter on the command
@@ -1873,15 +1878,24 @@
<node>:<integer>[,<node>:<integer>] <node>:<integer>[,<node>:<integer>]
hugepagesz= hugepagesz=
[HW] The size of the HugeTLB pages. This is used in [HW,EARLY] The size of the HugeTLB pages. This is
conjunction with hugepages (above) to allocate huge used in conjunction with hugepages (above) to
pages of a specific size at boot. The pair allocate huge pages of a specific size at boot. The
hugepagesz=X hugepages=Y can be specified once for pair hugepagesz=X hugepages=Y can be specified once
each supported huge page size. Huge page sizes are for each supported huge page size. Huge page sizes
architecture dependent. See also are architecture dependent. See also
Documentation/admin-guide/mm/hugetlbpage.rst. Documentation/admin-guide/mm/hugetlbpage.rst.
Format: size[KMG] Format: size[KMG]
hugepage_alloc_threads=
[HW] The number of threads that should be used to
allocate hugepages during boot. This option can be
used to improve system bootup time when allocating
a large amount of huge pages.
The default value is 25% of the available hardware threads.
Note that this parameter only applies to non-gigantic huge pages.
hugetlb_cma= [HW,CMA,EARLY] The size of a CMA area used for allocation hugetlb_cma= [HW,CMA,EARLY] The size of a CMA area used for allocation
of gigantic hugepages. Or using node format, the size of gigantic hugepages. Or using node format, the size
of a CMA area per node can be specified. of a CMA area per node can be specified.
@@ -1892,6 +1906,13 @@
hugepages using the CMA allocator. If enabled, the hugepages using the CMA allocator. If enabled, the
boot-time allocation of gigantic hugepages is skipped. boot-time allocation of gigantic hugepages is skipped.
hugetlb_cma_only=
[HW,CMA,EARLY] When allocating new HugeTLB pages, only
try to allocate from the CMA areas.
This option does nothing if hugetlb_cma= is not also
specified.
hugetlb_free_vmemmap= hugetlb_free_vmemmap=
[KNL] Requires CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP [KNL] Requires CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP
enabled. enabled.
@@ -1933,6 +1954,12 @@
which allow the hypervisor to 'idle' the guest which allow the hypervisor to 'idle' the guest
on lock contention. on lock contention.
hw_protection= [HW]
Format: reboot | shutdown
Hardware protection action taken on critical events like
overtemperature or imminent voltage loss.
i2c_bus= [HW] Override the default board specific I2C bus speed i2c_bus= [HW] Override the default board specific I2C bus speed
or register an additional I2C bus that is not or register an additional I2C bus that is not
registered from board initialization code. registered from board initialization code.
@@ -2316,6 +2343,9 @@
per_cpu_perf_limits per_cpu_perf_limits
Allow per-logical-CPU P-State performance control limits using Allow per-logical-CPU P-State performance control limits using
cpufreq sysfs interface cpufreq sysfs interface
no_cas
Do not enable capacity-aware scheduling (CAS) on
hybrid systems
intremap= [X86-64,Intel-IOMMU,EARLY] intremap= [X86-64,Intel-IOMMU,EARLY]
on enable Interrupt Remapping (default) on enable Interrupt Remapping (default)
@@ -3116,6 +3146,8 @@
* max_sec_lba48: Set or clear transfer size limit to * max_sec_lba48: Set or clear transfer size limit to
65535 sectors. 65535 sectors.
* external: Mark port as external (hotplug-capable).
* [no]lpm: Enable or disable link power management. * [no]lpm: Enable or disable link power management.
* [no]setxfer: Indicate if transfer speed mode setting * [no]setxfer: Indicate if transfer speed mode setting
@@ -4233,10 +4265,10 @@
nosmp [SMP,EARLY] Tells an SMP kernel to act as a UP kernel, nosmp [SMP,EARLY] 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".
nosmt [KNL,MIPS,PPC,S390,EARLY] Disable symmetric multithreading (SMT). nosmt [KNL,MIPS,PPC,EARLY] Disable symmetric multithreading (SMT).
Equivalent to smt=1. Equivalent to smt=1.
[KNL,X86,PPC] Disable symmetric multithreading (SMT). [KNL,X86,PPC,S390] Disable symmetric multithreading (SMT).
nosmt=force: Force disable SMT, cannot be undone nosmt=force: Force disable SMT, cannot be undone
via the sysfs control file. via the sysfs control file.
@@ -5017,6 +5049,14 @@
Format: <bool> Format: <bool>
default: 0 (auto_verbose is enabled) default: 0 (auto_verbose is enabled)
printk.debug_non_panic_cpus=
Allows storing messages from non-panic CPUs into
the printk log buffer during panic(). They are
flushed to consoles by the panic-CPU on
a best-effort basis.
Format: <bool> (1/Y/y=enable, 0/N/n=disable)
Default: disabled
printk.devkmsg={on,off,ratelimit} printk.devkmsg={on,off,ratelimit}
Control writing to /dev/kmsg. Control writing to /dev/kmsg.
on - unlimited logging to /dev/kmsg from userspace on - unlimited logging to /dev/kmsg from userspace
@@ -5758,6 +5798,11 @@
rcutorture.test_boost_duration= [KNL] rcutorture.test_boost_duration= [KNL]
Duration (s) of each individual boost test. Duration (s) of each individual boost test.
rcutorture.test_boost_holdoff= [KNL]
Holdoff time (s) from start of test to the start
of RCU priority-boost testing. Defaults to zero,
that is, no holdoff.
rcutorture.test_boost_interval= [KNL] rcutorture.test_boost_interval= [KNL]
Interval (s) between each boost test. Interval (s) between each boost test.
@@ -6082,7 +6127,7 @@
is assumed to be I/O ports; otherwise it is memory. is assumed to be I/O ports; otherwise it is memory.
reserve_mem= [RAM] reserve_mem= [RAM]
Format: nn[KNG]:<align>:<label> Format: nn[KMG]:<align>:<label>
Reserve physical memory and label it with a name that Reserve physical memory and label it with a name that
other subsystems can use to access it. This is typically other subsystems can use to access it. This is typically
used for systems that do not wipe the RAM, and this command used for systems that do not wipe the RAM, and this command
@@ -6582,6 +6627,8 @@
Selecting 'on' will also enable the mitigation Selecting 'on' will also enable the mitigation
against user space to user space task attacks. against user space to user space task attacks.
Selecting specific mitigation does not force enable
user mitigations.
Selecting 'off' will disable both the kernel and Selecting 'off' will disable both the kernel and
the user space protections. the user space protections.
@@ -7241,6 +7288,8 @@
This is just one of many ways that can clear memory. Make sure your system This is just one of many ways that can clear memory. Make sure your system
keeps the content of memory across reboots before relying on this option. keeps the content of memory across reboots before relying on this option.
NB: Both the mapped address and size must be page aligned for the architecture.
See also Documentation/trace/debugging.rst See also Documentation/trace/debugging.rst
@@ -7279,6 +7328,15 @@
See also "Event triggers" in Documentation/trace/events.rst See also "Event triggers" in Documentation/trace/events.rst
traceoff_after_boot
[FTRACE] Sometimes tracing is used to debug issues
during the boot process. Since the trace buffer has a
limited amount of storage, it may be prudent to
disable tracing after the boot is finished, otherwise
the critical information may be overwritten. With this
option, the main tracing buffer will be turned off at
the end of the boot process.
traceoff_on_warning traceoff_on_warning
[FTRACE] enable this option to disable tracing when a [FTRACE] enable this option to disable tracing when a
warning is hit. This turns off "tracing_on". Tracing can warning is hit. This turns off "tracing_on". Tracing can
@@ -7477,6 +7535,22 @@
Note that genuine overcurrent events won't be Note that genuine overcurrent events won't be
reported either. reported either.
unaligned_scalar_speed=
[RISCV]
Format: {slow | fast | unsupported}
Allow skipping scalar unaligned access speed tests. This
is useful for testing alternative code paths and to skip
the tests in environments where they run too slowly. All
CPUs must have the same scalar unaligned access speed.
unaligned_vector_speed=
[RISCV]
Format: {slow | fast | unsupported}
Allow skipping vector unaligned access speed tests. This
is useful for testing alternative code paths and to skip
the tests in environments where they run too slowly. All
CPUs must have the same vector unaligned access speed.
unknown_nmi_panic unknown_nmi_panic
[X86] Cause panic on unknown NMI. [X86] Cause panic on unknown NMI.
@@ -7672,13 +7746,6 @@
16 - SIGBUS faults 16 - SIGBUS faults
Example: user_debug=31 Example: user_debug=31
userpte=
[X86,EARLY] Flags controlling user PTE allocations.
nohigh = do not allocate PTE pages in
HIGHMEM regardless of setting
of CONFIG_HIGHPTE.
vdso= [X86,SH,SPARC] vdso= [X86,SH,SPARC]
On X86_32, this is an alias for vdso32=. Otherwise: On X86_32, this is an alias for vdso32=. Otherwise:

View File

@@ -278,12 +278,7 @@ To reduce its OS jitter, do any of the following:
due to the rtas_event_scan() function. due to the rtas_event_scan() function.
WARNING: Please check your CPU specifications to WARNING: Please check your CPU specifications to
make sure that this is safe on your particular system. make sure that this is safe on your particular system.
e. If running on Cell Processor, build your kernel with e. If running on PowerMAC, build your kernel with
CBE_CPUFREQ_SPU_GOVERNOR=n to avoid OS jitter from
spu_gov_work().
WARNING: Please check your CPU specifications to
make sure that this is safe on your particular system.
f. If running on PowerMAC, build your kernel with
CONFIG_PMAC_RACKMETER=n to disable the CPU-meter, CONFIG_PMAC_RACKMETER=n to disable the CPU-meter,
avoiding OS jitter from rackmeter_do_timer(). avoiding OS jitter from rackmeter_do_timer().

View File

@@ -11,6 +11,7 @@ Laptop Drivers
disk-shock-protection disk-shock-protection
laptop-mode laptop-mode
lg-laptop lg-laptop
samsung-galaxybook
sony-laptop sony-laptop
sonypi sonypi
thinkpad-acpi thinkpad-acpi

View File

@@ -0,0 +1,174 @@
.. SPDX-License-Identifier: GPL-2.0-or-later
==========================
Samsung Galaxy Book Driver
==========================
Joshua Grisham <josh@joshuagrisham.com>
This is a Linux x86 platform driver for Samsung Galaxy Book series notebook
devices which utilizes Samsung's ``SCAI`` ACPI device in order to control
extra features and receive various notifications.
Supported devices
=================
Any device with one of the supported ACPI device IDs should be supported. This
covers most of the "Samsung Galaxy Book" series notebooks that are currently
available as of this writing, and could include other Samsung notebook devices
as well.
Status
======
The following features are currently supported:
- :ref:`Keyboard backlight <keyboard-backlight>` control
- :ref:`Performance mode <performance-mode>` control implemented using the
platform profile interface
- :ref:`Battery charge control end threshold
<battery-charge-control-end-threshold>` (stop charging battery at given
percentage value) implemented as a battery hook
- :ref:`Firmware Attributes <firmware-attributes>` to allow control of various
device settings
- :ref:`Handling of Fn hotkeys <keyboard-hotkey-actions>` for various actions
- :ref:`Handling of ACPI notifications and hotkeys
<acpi-notifications-and-hotkey-actions>`
Because different models of these devices can vary in their features, there is
logic built within the driver which attempts to test each implemented feature
for a valid response before enabling its support (registering additional devices
or extensions, adding sysfs attributes, etc). Therefore, it can be important to
note that not all features may be supported for your particular device.
The following features might be possible to implement but will require
additional investigation and are therefore not supported at this time:
- "Dolby Atmos" mode for the speakers
- "Outdoor Mode" for increasing screen brightness on models with ``SAM0427``
- "Silent Mode" on models with ``SAM0427``
.. _keyboard-backlight:
Keyboard backlight
==================
A new LED class named ``samsung-galaxybook::kbd_backlight`` is created which
will then expose the device using the standard sysfs-based LED interface at
``/sys/class/leds/samsung-galaxybook::kbd_backlight``. Brightness can be
controlled by writing the desired value to the ``brightness`` sysfs attribute or
with any other desired userspace utility.
.. note::
Most of these devices have an ambient light sensor which also turns
off the keyboard backlight under well-lit conditions. This behavior does not
seem possible to control at this time, but can be good to be aware of.
.. _performance-mode:
Performance mode
================
This driver implements the
Documentation/userspace-api/sysfs-platform_profile.rst interface for working
with the "performance mode" function of the Samsung ACPI device.
Mapping of each Samsung "performance mode" to its respective platform profile is
performed dynamically by the driver, as not all models support all of the same
performance modes. Your device might have one or more of the following mappings:
- "Silent" maps to ``low-power``
- "Quiet" maps to ``quiet``
- "Optimized" maps to ``balanced``
- "High performance" maps to ``performance``
The result of the mapping can be printed in the kernel log when the module is
loaded. Supported profiles can also be retrieved from
``/sys/firmware/acpi/platform_profile_choices``, while
``/sys/firmware/acpi/platform_profile`` can be used to read or write the
currently selected profile.
The ``balanced`` platform profile will be set during module load if no profile
has been previously set.
.. _battery-charge-control-end-threshold:
Battery charge control end threshold
====================================
This platform driver will add the ability to set the battery's charge control
end threshold, but does not have the ability to set a start threshold.
This feature is typically called "Battery Saver" by the various Samsung
applications in Windows, but in Linux we have implemented the standardized
"charge control threshold" sysfs interface on the battery device to allow for
controlling this functionality from the userspace.
The sysfs attribute
``/sys/class/power_supply/BAT1/charge_control_end_threshold`` can be used to
read or set the desired charge end threshold.
If you wish to maintain interoperability with the Samsung Settings application
in Windows, then you should set the value to 100 to represent "off", or enable
the feature using only one of the following values: 50, 60, 70, 80, or 90.
Otherwise, the driver will accept any value between 1 and 100 as the percentage
that you wish the battery to stop charging at.
.. note::
Some devices have been observed as automatically "turning off" the charge
control end threshold if an input value of less than 30 is given.
.. _firmware-attributes:
Firmware Attributes
===================
The following enumeration-typed firmware attributes are set up by this driver
and should be accessible under
``/sys/class/firmware-attributes/samsung-galaxybook/attributes/`` if your device
supports them:
- ``power_on_lid_open`` (device should power on when the lid is opened)
- ``usb_charging`` (USB ports can deliver power to connected devices even when
the device is powered off or in a low sleep state)
- ``block_recording`` (blocks access to camera and microphone)
All of these attributes are simple boolean-like enumeration values which use 0
to represent "off" and 1 to represent "on". Use the ``current_value`` attribute
to get or change the setting on the device.
Note that when ``block_recording`` is updated, the input device "Samsung Galaxy
Book Lens Cover" will receive a ``SW_CAMERA_LENS_COVER`` switch event which
reflects the current state.
.. _keyboard-hotkey-actions:
Keyboard hotkey actions (i8042 filter)
======================================
The i8042 filter will swallow the keyboard events for the Fn+F9 hotkey (Multi-
level keyboard backlight toggle) and Fn+F10 hotkey (Block recording toggle)
and instead execute their actions within the driver itself.
Fn+F9 will cycle through the brightness levels of the keyboard backlight. A
notification will be sent using ``led_classdev_notify_brightness_hw_changed``
so that the userspace can be aware of the change. This mimics the behavior of
other existing devices where the brightness level is cycled internally by the
embedded controller and then reported via a notification.
Fn+F10 will toggle the value of the "block recording" setting, which blocks
or allows usage of the built-in camera and microphone (and generates the same
Lens Cover switch event mentioned above).
.. _acpi-notifications-and-hotkey-actions:
ACPI notifications and hotkey actions
=====================================
ACPI notifications will generate ACPI netlink events under the device class
``samsung-galaxybook`` and bus ID matching the Samsung ACPI device ID found on
your device. The events can be received using userspace tools such as
``acpi_listen`` and ``acpid``.
The Fn+F11 Performance mode hotkey will be handled by the driver; each keypress
will cycle to the next available platform profile.

View File

@@ -451,7 +451,7 @@ configure the CEC devices for HDMI Input and the HDMI Outputs manually.
--------------------- ---------------------
A three character manufacturer name that is used in the EDID for the HDMI A three character manufacturer name that is used in the EDID for the HDMI
Input. If not set, then userspace is reponsible for configuring an EDID. Input. If not set, then userspace is responsible for configuring an EDID.
If set, then the driver will update the EDID automatically based on the If set, then the driver will update the EDID automatically based on the
resolutions supported by the connected displays, and it will not be possible resolutions supported by the connected displays, and it will not be possible
anymore to manually set the EDID for the HDMI Input. anymore to manually set the EDID for the HDMI Input.

View File

@@ -22,7 +22,9 @@ Global (PCI card) parameters
| 0 - No module present | 0 - No module present
| 1 - FPDL3 | 1 - FPDL3
| 2 - GMSL | 2 - GMSL (one serializer, two daisy chained deserializers)
| 3 - GMSL (one serializer, two deserializers)
| 4 - GMSL (two deserializers with two daisy chain outputs)
**module_version** (R): **module_version** (R):
Module version number. Zero in case of a missing module. Module version number. Zero in case of a missing module.

View File

@@ -12,10 +12,16 @@ its CMA name like below:
The structure of the files created under that directory is as follows: The structure of the files created under that directory is as follows:
- [RO] base_pfn: The base PFN (Page Frame Number) of the zone. - [RO] base_pfn: The base PFN (Page Frame Number) of the CMA area.
This is the same as ranges/0/base_pfn.
- [RO] count: Amount of memory in the CMA area. - [RO] count: Amount of memory in the CMA area.
- [RO] order_per_bit: Order of pages represented by one bit. - [RO] order_per_bit: Order of pages represented by one bit.
- [RO] bitmap: The bitmap of page states in the zone. - [RO] bitmap: The bitmap of allocated pages in the area.
This is the same as ranges/0/base_pfn.
- [RO] ranges/N/base_pfn: The base PFN of contiguous range N
in the CMA area.
- [RO] ranges/N/bitmap: The bit map of allocated pages in
range N in the CMA area.
- [WO] alloc: Allocate N pages from that CMA area. For example:: - [WO] alloc: Allocate N pages from that CMA area. For example::
echo 5 > <debugfs>/cma/<cma_name>/alloc echo 5 > <debugfs>/cma/<cma_name>/alloc

View File

@@ -64,6 +64,7 @@ comma (",").
│ │ │ │ :ref:`0 <sysfs_context>`/avail_operations,operations │ │ │ │ :ref:`0 <sysfs_context>`/avail_operations,operations
│ │ │ │ │ :ref:`monitoring_attrs <sysfs_monitoring_attrs>`/ │ │ │ │ │ :ref:`monitoring_attrs <sysfs_monitoring_attrs>`/
│ │ │ │ │ │ intervals/sample_us,aggr_us,update_us │ │ │ │ │ │ intervals/sample_us,aggr_us,update_us
│ │ │ │ │ │ │ intervals_goal/access_bp,aggrs,min_sample_us,max_sample_us
│ │ │ │ │ │ nr_regions/min,max │ │ │ │ │ │ nr_regions/min,max
│ │ │ │ │ :ref:`targets <sysfs_targets>`/nr_targets │ │ │ │ │ :ref:`targets <sysfs_targets>`/nr_targets
│ │ │ │ │ │ :ref:`0 <sysfs_target>`/pid_target │ │ │ │ │ │ :ref:`0 <sysfs_target>`/pid_target
@@ -82,8 +83,8 @@ comma (",").
│ │ │ │ │ │ │ │ :ref:`goals <sysfs_schemes_quota_goals>`/nr_goals │ │ │ │ │ │ │ │ :ref:`goals <sysfs_schemes_quota_goals>`/nr_goals
│ │ │ │ │ │ │ │ │ 0/target_metric,target_value,current_value │ │ │ │ │ │ │ │ │ 0/target_metric,target_value,current_value
│ │ │ │ │ │ │ :ref:`watermarks <sysfs_watermarks>`/metric,interval_us,high,mid,low │ │ │ │ │ │ │ :ref:`watermarks <sysfs_watermarks>`/metric,interval_us,high,mid,low
│ │ │ │ │ │ │ :ref:`filters <sysfs_filters>`/nr_filters │ │ │ │ │ │ │ :ref:`{core_,ops_,}filters <sysfs_filters>`/nr_filters
│ │ │ │ │ │ │ │ 0/type,matching,allow,memcg_path,addr_start,addr_end,target_idx │ │ │ │ │ │ │ │ 0/type,matching,allow,memcg_path,addr_start,addr_end,target_idx,min,max
│ │ │ │ │ │ │ :ref:`stats <sysfs_schemes_stats>`/nr_tried,sz_tried,nr_applied,sz_applied,sz_ops_filter_passed,qt_exceeds │ │ │ │ │ │ │ :ref:`stats <sysfs_schemes_stats>`/nr_tried,sz_tried,nr_applied,sz_applied,sz_ops_filter_passed,qt_exceeds
│ │ │ │ │ │ │ :ref:`tried_regions <sysfs_schemes_tried_regions>`/total_bytes │ │ │ │ │ │ │ :ref:`tried_regions <sysfs_schemes_tried_regions>`/total_bytes
│ │ │ │ │ │ │ │ 0/start,end,nr_accesses,age,sz_filter_passed │ │ │ │ │ │ │ │ 0/start,end,nr_accesses,age,sz_filter_passed
@@ -132,6 +133,11 @@ Users can write below commands for the kdamond to the ``state`` file.
- ``off``: Stop running. - ``off``: Stop running.
- ``commit``: Read the user inputs in the sysfs files except ``state`` file - ``commit``: Read the user inputs in the sysfs files except ``state`` file
again. again.
- ``update_tuned_intervals``: Update the contents of ``sample_us`` and
``aggr_us`` files of the kdamond with the auto-tuning applied ``sampling
interval`` and ``aggregation interval`` for the files. Please refer to
:ref:`intervals_goal section <damon_usage_sysfs_monitoring_intervals_goal>`
for more details.
- ``commit_schemes_quota_goals``: Read the DAMON-based operation schemes' - ``commit_schemes_quota_goals``: Read the DAMON-based operation schemes'
:ref:`quota goals <sysfs_schemes_quota_goals>`. :ref:`quota goals <sysfs_schemes_quota_goals>`.
- ``update_schemes_stats``: Update the contents of stats files for each - ``update_schemes_stats``: Update the contents of stats files for each
@@ -213,6 +219,25 @@ writing to and rading from the files.
For more details about the intervals and monitoring regions range, please refer For more details about the intervals and monitoring regions range, please refer
to the Design document (:doc:`/mm/damon/design`). to the Design document (:doc:`/mm/damon/design`).
.. _damon_usage_sysfs_monitoring_intervals_goal:
contexts/<N>/monitoring_attrs/intervals/intervals_goal/
-------------------------------------------------------
Under the ``intervals`` directory, one directory for automated tuning of
``sample_us`` and ``aggr_us``, namely ``intervals_goal`` directory also exists.
Under the directory, four files for the auto-tuning control, namely
``access_bp``, ``aggrs``, ``min_sample_us`` and ``max_sample_us`` exist.
Please refer to the :ref:`design document of the feature
<damon_design_monitoring_intervals_autotuning>` for the internal of the tuning
mechanism. Reading and writing the four files under ``intervals_goal``
directory shows and updates the tuning parameters that described in the
:ref:design doc <damon_design_monitoring_intervals_autotuning>` with the same
names. The tuning starts with the user-set ``sample_us`` and ``aggr_us``. The
tuning-applied current values of the two intervals can be read from the
``sample_us`` and ``aggr_us`` files after writing ``update_tuned_intervals`` to
the ``state`` file.
.. _sysfs_targets: .. _sysfs_targets:
contexts/<N>/targets/ contexts/<N>/targets/
@@ -282,9 +307,10 @@ to ``N-1``. Each directory represents each DAMON-based operation scheme.
schemes/<N>/ schemes/<N>/
------------ ------------
In each scheme directory, five directories (``access_pattern``, ``quotas``, In each scheme directory, seven directories (``access_pattern``, ``quotas``,
``watermarks``, ``filters``, ``stats``, and ``tried_regions``) and three files ``watermarks``, ``core_filters``, ``ops_filters``, ``filters``, ``stats``, and
(``action``, ``target_nid`` and ``apply_interval``) exist. ``tried_regions``) and three files (``action``, ``target_nid`` and
``apply_interval``) exist.
The ``action`` file is for setting and getting the scheme's :ref:`action The ``action`` file is for setting and getting the scheme's :ref:`action
<damon_design_damos_action>`. The keywords that can be written to and read <damon_design_damos_action>`. The keywords that can be written to and read
@@ -395,33 +421,43 @@ The ``interval`` should written in microseconds unit.
.. _sysfs_filters: .. _sysfs_filters:
schemes/<N>/filters/ schemes/<N>/{core\_,ops\_,}filters/
-------------------- -----------------------------------
The directory for the :ref:`filters <damon_design_damos_filters>` of the given Directories for :ref:`filters <damon_design_damos_filters>` of the given
DAMON-based operation scheme. DAMON-based operation scheme.
In the beginning, this directory has only one file, ``nr_filters``. Writing a ``core_filters`` and ``ops_filters`` directories are for the filters handled by
the DAMON core layer and operations set layer, respectively. ``filters``
directory can be used for installing filters regardless of their handled
layers. Filters that requested by ``core_filters`` and ``ops_filters`` will be
installed before those of ``filters``. All three directories have same files.
Use of ``filters`` directory can make expecting evaluation orders of given
filters with the files under directory bit confusing. Users are hence
recommended to use ``core_filters`` and ``ops_filters`` directories. The
``filters`` directory could be deprecated in future.
In the beginning, the directory has only one file, ``nr_filters``. Writing a
number (``N``) to the file creates the number of child directories named ``0`` number (``N``) to the file creates the number of child directories named ``0``
to ``N-1``. Each directory represents each filter. The filters are evaluated to ``N-1``. Each directory represents each filter. The filters are evaluated
in the numeric order. in the numeric order.
Each filter directory contains seven files, namely ``type``, ``matching``, Each filter directory contains nine files, namely ``type``, ``matching``,
``allow``, ``memcg_path``, ``addr_start``, ``addr_end``, and ``target_idx``. ``allow``, ``memcg_path``, ``addr_start``, ``addr_end``, ``min``, ``max``
To ``type`` file, you can write one of five special keywords: ``anon`` for and ``target_idx``. To ``type`` file, you can write the type of the filter.
anonymous pages, ``memcg`` for specific memory cgroup, ``young`` for young Refer to :ref:`the design doc <damon_design_damos_filters>` for available type
pages, ``addr`` for specific address range (an open-ended interval), or names, their meaning and on what layer those are handled.
``target`` for specific DAMON monitoring target filtering. Meaning of the
types are same to the description on the :ref:`design doc
<damon_design_damos_filters>`.
In case of the memory cgroup filtering, you can specify the memory cgroup of For ``memcg`` type, you can specify the memory cgroup of the interest by
the interest by writing the path of the memory cgroup from the cgroups mount writing the path of the memory cgroup from the cgroups mount point to
point to ``memcg_path`` file. In case of the address range filtering, you can ``memcg_path`` file. For ``addr`` type, you can specify the start and end
specify the start and end address of the range to ``addr_start`` and address of the range (open-ended interval) to ``addr_start`` and ``addr_end``
``addr_end`` files, respectively. For the DAMON monitoring target filtering, files, respectively. For ``hugepage_size`` type, you can specify the minimum
you can specify the index of the target between the list of the DAMON context's and maximum size of the range (closed interval) to ``min`` and ``max`` files,
monitoring targets list to ``target_idx`` file. respectively. For ``target`` type, you can specify the index of the target
between the list of the DAMON context's monitoring targets list to
``target_idx`` file.
You can write ``Y`` or ``N`` to ``matching`` file to specify whether the filter You can write ``Y`` or ``N`` to ``matching`` file to specify whether the filter
is for memory that matches the ``type``. You can write ``Y`` or ``N`` to is for memory that matches the ``type``. You can write ``Y`` or ``N`` to
@@ -431,6 +467,7 @@ the ``type`` and ``matching`` should be allowed or not.
For example, below restricts a DAMOS action to be applied to only non-anonymous For example, below restricts a DAMOS action to be applied to only non-anonymous
pages of all memory cgroups except ``/having_care_already``.:: pages of all memory cgroups except ``/having_care_already``.::
# cd ops_filters/0/
# echo 2 > nr_filters # echo 2 > nr_filters
# # disallow anonymous pages # # disallow anonymous pages
echo anon > 0/type echo anon > 0/type

View File

@@ -145,7 +145,17 @@ hugepages
It will allocate 1 2M hugepage on node0 and 2 2M hugepages on node1. It will allocate 1 2M hugepage on node0 and 2 2M hugepages on node1.
If the node number is invalid, the parameter will be ignored. If the node number is invalid, the parameter will be ignored.
hugepage_alloc_threads
Specify the number of threads that should be used to allocate hugepages
during boot. This parameter can be used to improve system bootup time
when allocating a large amount of huge pages.
The default value is 25% of the available hardware threads.
Example to use 8 allocation threads::
hugepage_alloc_threads=8
Note that this parameter only applies to non-gigantic huge pages.
default_hugepagesz default_hugepagesz
Specify the default huge page size. This parameter can Specify the default huge page size. This parameter can
only be specified once on the command line. default_hugepagesz can only be specified once on the command line. default_hugepagesz can

View File

@@ -21,7 +21,8 @@ There are four components to pagemap:
* Bit 56 page exclusively mapped (since 4.2) * Bit 56 page exclusively mapped (since 4.2)
* Bit 57 pte is uffd-wp write-protected (since 5.13) (see * Bit 57 pte is uffd-wp write-protected (since 5.13) (see
Documentation/admin-guide/mm/userfaultfd.rst) Documentation/admin-guide/mm/userfaultfd.rst)
* Bits 58-60 zero * Bit 58 pte is a guard region (since 6.15) (see madvise (2) man page)
* Bits 59-60 zero
* Bit 61 page is file-page or shared-anon (since 3.5) * Bit 61 page is file-page or shared-anon (since 3.5)
* Bit 62 page swapped * Bit 62 page swapped
* Bit 63 page present * Bit 63 page present
@@ -37,12 +38,28 @@ There are four components to pagemap:
precisely which pages are mapped (or in swap) and comparing mapped precisely which pages are mapped (or in swap) and comparing mapped
pages between processes. pages between processes.
Traditionally, bit 56 indicates that a page is mapped exactly once and bit
56 is clear when a page is mapped multiple times, even when mapped in the
same process multiple times. In some kernel configurations, the semantics
for pages part of a larger allocation (e.g., THP) can differ: bit 56 is set
if all pages part of the corresponding large allocation are *certainly*
mapped in the same process, even if the page is mapped multiple times in that
process. Bit 56 is clear when any page page of the larger allocation
is *maybe* mapped in a different process. In some cases, a large allocation
might be treated as "maybe mapped by multiple processes" even though this
is no longer the case.
Efficient users of this interface will use ``/proc/pid/maps`` to Efficient users of this interface will use ``/proc/pid/maps`` to
determine which areas of memory are actually mapped and llseek to determine which areas of memory are actually mapped and llseek to
skip over unmapped regions. skip over unmapped regions.
* ``/proc/kpagecount``. This file contains a 64-bit count of the number of * ``/proc/kpagecount``. This file contains a 64-bit count of the number of
times each page is mapped, indexed by PFN. times each page is mapped, indexed by PFN. Some kernel configurations do
not track the precise number of times a page part of a larger allocation
(e.g., THP) is mapped. In these configurations, the average number of
mappings per page in this larger allocation is returned instead. However,
if any page of the large allocation is mapped, the returned value will
be at least 1.
The page-types tool in the tools/mm directory can be used to query the The page-types tool in the tools/mm directory can be used to query the
number of times a page is mapped. number of times a page is mapped.

View File

@@ -60,15 +60,13 @@ accessed. The compressed memory pool grows on demand and shrinks as compressed
pages are freed. The pool is not preallocated. By default, a zpool pages are freed. The pool is not preallocated. By default, a zpool
of type selected in ``CONFIG_ZSWAP_ZPOOL_DEFAULT`` Kconfig option is created, of type selected in ``CONFIG_ZSWAP_ZPOOL_DEFAULT`` Kconfig option is created,
but it can be overridden at boot time by setting the ``zpool`` attribute, but it can be overridden at boot time by setting the ``zpool`` attribute,
e.g. ``zswap.zpool=zbud``. It can also be changed at runtime using the sysfs e.g. ``zswap.zpool=zsmalloc``. It can also be changed at runtime using the sysfs
``zpool`` attribute, e.g.:: ``zpool`` attribute, e.g.::
echo zbud > /sys/module/zswap/parameters/zpool echo zsmalloc > /sys/module/zswap/parameters/zpool
The zbud type zpool allocates exactly 1 page to store 2 compressed pages, which The zsmalloc type zpool has a complex compressed page storage method, and it
means the compression ratio will always be 2:1 or worse (because of half-full can achieve great storage densities.
zbud pages). The zsmalloc type zpool has a more complex compressed page
storage method, and it can achieve greater storage densities.
When a swap page is passed from swapout to zswap, zswap maintains a mapping When a swap page is passed from swapout to zswap, zswap maintains a mapping
of the swap entry, a combination of the swap type and swap offset, to the zpool of the swap entry, a combination of the swap type and swap offset, to the zpool

View File

@@ -248,6 +248,20 @@ are the following:
If that frequency cannot be determined, this attribute should not If that frequency cannot be determined, this attribute should not
be present. be present.
``cpuinfo_avg_freq``
An average frequency (in KHz) of all CPUs belonging to a given policy,
derived from a hardware provided feedback and reported on a time frame
spanning at most few milliseconds.
This is expected to be based on the frequency the hardware actually runs
at and, as such, might require specialised hardware support (such as AMU
extension on ARM). If one cannot be determined, this attribute should
not be present.
Note, that failed attempt to retrieve current frequency for a given
CPU(s) will result in an appropriate error, i.e: EAGAIN for CPU that
remains idle (raised on ARM).
``cpuinfo_max_freq`` ``cpuinfo_max_freq``
Maximum possible operating frequency the CPUs belonging to this policy Maximum possible operating frequency the CPUs belonging to this policy
can run at (in kHz). can run at (in kHz).
@@ -293,7 +307,8 @@ are the following:
Some architectures (e.g. ``x86``) may attempt to provide information Some architectures (e.g. ``x86``) may attempt to provide information
more precisely reflecting the current CPU frequency through this more precisely reflecting the current CPU frequency through this
attribute, but that still may not be the exact current CPU frequency as attribute, but that still may not be the exact current CPU frequency as
seen by the hardware at the moment. seen by the hardware at the moment. This behavior though, is only
available via c:macro:``CPUFREQ_ARCH_CUR_FREQ`` option.
``scaling_driver`` ``scaling_driver``
The scaling driver currently in use. The scaling driver currently in use.

View File

@@ -275,20 +275,25 @@ values and, when predicting the idle duration next time, it computes the average
and variance of them. If the variance is small (smaller than 400 square and variance of them. If the variance is small (smaller than 400 square
milliseconds) or it is small relative to the average (the average is greater milliseconds) or it is small relative to the average (the average is greater
that 6 times the standard deviation), the average is regarded as the "typical that 6 times the standard deviation), the average is regarded as the "typical
interval" value. Otherwise, the longest of the saved observed idle duration interval" value. Otherwise, either the longest or the shortest (depending on
which one is farther from the average) of the saved observed idle duration
values is discarded and the computation is repeated for the remaining ones. values is discarded and the computation is repeated for the remaining ones.
Again, if the variance of them is small (in the above sense), the average is Again, if the variance of them is small (in the above sense), the average is
taken as the "typical interval" value and so on, until either the "typical taken as the "typical interval" value and so on, until either the "typical
interval" is determined or too many data points are disregarded, in which case interval" is determined or too many data points are disregarded. In the latter
the "typical interval" is assumed to equal "infinity" (the maximum unsigned case, if the size of the set of data points still under consideration is
integer value). sufficiently large, the next idle duration is not likely to be above the largest
idle duration value still in that set, so that value is taken as the predicted
next idle duration. Finally, if the set of data points still under
consideration is too small, no prediction is made.
If the "typical interval" computed this way is long enough, the governor obtains If the preliminary prediction of the next idle duration computed this way is
the time until the closest timer event with the assumption that the scheduler long enough, the governor obtains the time until the closest timer event with
tick will be stopped. That time, referred to as the *sleep length* in what follows, the assumption that the scheduler tick will be stopped. That time, referred to
is the upper bound on the time before the next CPU wakeup. It is used to determine as the *sleep length* in what follows, is the upper bound on the time before the
the sleep length range, which in turn is needed to get the sleep length correction next CPU wakeup. It is used to determine the sleep length range, which in turn
factor. is needed to get the sleep length correction factor.
The ``menu`` governor maintains an array containing several correction factor The ``menu`` governor maintains an array containing several correction factor
values that correspond to different sleep length ranges organized so that each values that correspond to different sleep length ranges organized so that each
@@ -302,7 +307,7 @@ to 1 the correction factor becomes (it must fall between 0 and 1 inclusive).
The sleep length is multiplied by the correction factor for the range that it The sleep length is multiplied by the correction factor for the range that it
falls into to obtain an approximation of the predicted idle duration that is falls into to obtain an approximation of the predicted idle duration that is
compared to the "typical interval" determined previously and the minimum of compared to the "typical interval" determined previously and the minimum of
the two is taken as the idle duration prediction. the two is taken as the final idle duration prediction.
If the "typical interval" value is small, which means that the CPU is likely If the "typical interval" value is small, which means that the CPU is likely
to be woken up soon enough, the sleep length computation is skipped as it may to be woken up soon enough, the sleep length computation is skipped as it may

View File

@@ -192,11 +192,19 @@ even if they have been enumerated (see :ref:`cpu-pm-qos` in
Documentation/admin-guide/pm/cpuidle.rst). Documentation/admin-guide/pm/cpuidle.rst).
Setting ``max_cstate`` to 0 causes the ``intel_idle`` initialization to fail. Setting ``max_cstate`` to 0 causes the ``intel_idle`` initialization to fail.
The ``no_acpi`` and ``use_acpi`` module parameters (recognized by ``intel_idle`` The ``no_acpi``, ``use_acpi`` and ``no_native`` module parameters are
if the kernel has been configured with ACPI support) can be set to make the recognized by ``intel_idle`` if the kernel has been configured with ACPI
driver ignore the system's ACPI tables entirely or use them for all of the support. In the case that ACPI is not configured these flags have no impact
recognized processor models, respectively (they both are unset by default and on functionality.
``use_acpi`` has no effect if ``no_acpi`` is set).
``no_acpi`` - Do not use ACPI at all. Only native mode is available, no
ACPI mode.
``use_acpi`` - No-op in ACPI mode, the driver will consult ACPI tables for
C-states on/off status in native mode.
``no_native`` - Work only in ACPI mode, no native mode available (ignore
all custom tables).
The value of the ``states_off`` module parameter (0 by default) represents a The value of the ``states_off`` module parameter (0 by default) represents a
list of idle states to be disabled by default in the form of a bitmask. list of idle states to be disabled by default in the form of a bitmask.

View File

@@ -696,6 +696,9 @@ of them have to be prepended with the ``intel_pstate=`` prefix.
Use per-logical-CPU P-State limits (see `Coordination of P-state Use per-logical-CPU P-State limits (see `Coordination of P-state
Limits`_ for details). Limits`_ for details).
``no_cas``
Do not enable capacity-aware scheduling (CAS) which is enabled by
default on hybrid systems.
Diagnostics and Tuning Diagnostics and Tuning
====================== ======================

View File

@@ -129,9 +129,6 @@ pnp_put_protocol
pnp_register_protocol pnp_register_protocol
use this to register a new PnP protocol use this to register a new PnP protocol
pnp_unregister_protocol
use this function to remove a PnP protocol from the Plug and Play Layer
pnp_register_driver pnp_register_driver
adds a PnP driver to the Plug and Play Layer adds a PnP driver to the Plug and Play Layer

View File

@@ -78,7 +78,9 @@ If no console device is specified, the first device found capable of
acting as a system console will be used. At this time, the system acting as a system console will be used. At this time, the system
first looks for a VGA card and then for a serial port. So if you don't first looks for a VGA card and then for a serial port. So if you don't
have a VGA card in your system the first serial port will automatically have a VGA card in your system the first serial port will automatically
become the console. become the console, unless the kernel is configured with the
CONFIG_NULL_TTY_DEFAULT_CONSOLE option, then it will default to using the
ttynull device.
You will need to create a new device to use ``/dev/console``. The official You will need to create a new device to use ``/dev/console``. The official
``/dev/console`` is now character device 5,1. ``/dev/console`` is now character device 5,1.

View File

@@ -347,3 +347,28 @@ filesystems:
``/proc/sys/fs/fuse/max_pages_limit`` is a read/write file for ``/proc/sys/fs/fuse/max_pages_limit`` is a read/write file for
setting/getting the maximum number of pages that can be used for servicing setting/getting the maximum number of pages that can be used for servicing
requests in FUSE. requests in FUSE.
``/proc/sys/fs/fuse/default_request_timeout`` is a read/write file for
setting/getting the default timeout (in seconds) for a fuse server to
reply to a kernel-issued request in the event where the server did not
specify a timeout at mount. If the server set a timeout,
then default_request_timeout will be ignored. The default
"default_request_timeout" is set to 0. 0 indicates no default timeout.
The maximum value that can be set is 65535.
``/proc/sys/fs/fuse/max_request_timeout`` is a read/write file for
setting/getting the maximum timeout (in seconds) for a fuse server to
reply to a kernel-issued request. A value greater than 0 automatically opts
the server into a timeout that will be set to at most "max_request_timeout",
even if the server did not specify a timeout and default_request_timeout is
set to 0. If max_request_timeout is greater than 0 and the server set a timeout
greater than max_request_timeout or default_request_timeout is set to a value
greater than max_request_timeout, the system will use max_request_timeout as the
timeout. 0 indicates no max request timeout. The maximum value that can be set
is 65535.
For timeouts, if the server does not respond to the request by the time
the set timeout elapses, then the connection to the fuse server will be aborted.
Please note that the timeouts are not 100% precise (eg you may set 60 seconds but
the timeout may kick in after 70 seconds). The upper margin of error for the
timeout is roughly FUSE_TIMEOUT_TIMER_FREQ seconds.

View File

@@ -212,6 +212,17 @@ pid>/``).
This value defaults to 0. This value defaults to 0.
core_sort_vma
=============
The default coredump writes VMAs in address order. By setting
``core_sort_vma`` to 1, VMAs will be written from smallest size
to largest size. This is known to break at least elfutils, but
can be handy when dealing with very large (and truncated)
coredumps where the more useful debugging details are included
in the smaller VMAs.
core_uses_pid core_uses_pid
============= =============

View File

@@ -28,6 +28,7 @@ Currently, these files are in /proc/sys/vm:
- compact_memory - compact_memory
- compaction_proactiveness - compaction_proactiveness
- compact_unevictable_allowed - compact_unevictable_allowed
- defrag_mode
- dirty_background_bytes - dirty_background_bytes
- dirty_background_ratio - dirty_background_ratio
- dirty_bytes - dirty_bytes
@@ -145,6 +146,14 @@ 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 becoming active until the fault to compaction, which would block the task from becoming active until the fault
is resolved. is resolved.
defrag_mode
===========
When set to 1, the page allocator tries harder to avoid fragmentation
and maintain the ability to produce huge pages / higher-order pages.
It is recommended to enable this right after boot, as fragmentation,
once it occurred, can be long-lasting or even permanent.
dirty_background_bytes dirty_background_bytes
====================== ======================

View File

@@ -101,6 +101,7 @@ Bit Log Number Reason that got the kernel tainted
16 _/X 65536 auxiliary taint, defined for and used by distros 16 _/X 65536 auxiliary taint, defined for and used by distros
17 _/T 131072 kernel was built with the struct randomization plugin 17 _/T 131072 kernel was built with the struct randomization plugin
18 _/N 262144 an in-kernel test has been run 18 _/N 262144 an in-kernel test has been run
19 _/J 524288 userspace used a mutating debug operation in fwctl
=== === ====== ======================================================== === === ====== ========================================================
Note: The character ``_`` is representing a blank in this table to make reading Note: The character ``_`` is representing a blank in this table to make reading
@@ -184,3 +185,7 @@ More detailed explanation for tainting
build time. build time.
18) ``N`` if an in-kernel test, such as a KUnit test, has been run. 18) ``N`` if an in-kernel test, such as a KUnit test, has been run.
19) ``J`` if userpace opened /dev/fwctl/* and performed a FWTCL_RPC_DEBUG_WRITE
to use the devices debugging features. Device debugging features could
cause the device to malfunction in undefined ways.

View File

@@ -28,7 +28,7 @@ should be a userspace tool that handles all the low-level details, keeps
a database of the authorized devices and prompts users for new connections. a database of the authorized devices and prompts users for new connections.
More details about the sysfs interface for Thunderbolt devices can be More details about the sysfs interface for Thunderbolt devices can be
found in ``Documentation/ABI/testing/sysfs-bus-thunderbolt``. found in Documentation/ABI/testing/sysfs-bus-thunderbolt.
Those users who just want to connect any device without any sort of Those users who just want to connect any device without any sort of
manual work can add following line to manual work can add following line to

View File

@@ -82,7 +82,7 @@ Install tools to build Linux kernel and tools in kernel repository.
scripts/ver_linux is a good way to check if your system already has scripts/ver_linux is a good way to check if your system already has
the necessary tools:: the necessary tools::
sudo apt-get build-essentials flex bison yacc sudo apt-get install build-essential flex bison yacc
sudo apt install libelf-dev systemtap-sdt-dev libslang2-dev libperl-dev libdw-dev sudo apt install libelf-dev systemtap-sdt-dev libslang2-dev libperl-dev libdw-dev
cscope is a good tool to browse kernel sources. Let's install it now:: cscope is a good tool to browse kernel sources. Let's install it now::

View File

@@ -80,7 +80,7 @@ bypass the setting of AMUSERENR_EL0 to trap accesses from EL0 (userspace) to
EL1 (kernel). Therefore, firmware should still ensure accesses to AMU registers EL1 (kernel). Therefore, firmware should still ensure accesses to AMU registers
are not trapped in EL2/EL3. are not trapped in EL2/EL3.
The fixed counters of AMUv1 are accessible though the following system The fixed counters of AMUv1 are accessible through the following system
register definitions: register definitions:
- SYS_AMEVCNTR0_CORE_EL0 - SYS_AMEVCNTR0_CORE_EL0

View File

@@ -55,7 +55,7 @@ sysfs
The subset of CPUs capable of running 32-bit tasks is described in The subset of CPUs capable of running 32-bit tasks is described in
``/sys/devices/system/cpu/aarch32_el0`` and is documented further in ``/sys/devices/system/cpu/aarch32_el0`` and is documented further in
``Documentation/ABI/testing/sysfs-devices-system-cpu``. Documentation/ABI/testing/sysfs-devices-system-cpu.
**Note:** CPUs are advertised by this file as they are detected and so **Note:** CPUs are advertised by this file as they are detected and so
late-onlining of 32-bit-capable CPUs can result in the file contents late-onlining of 32-bit-capable CPUs can result in the file contents

View File

@@ -288,6 +288,12 @@ Before jumping into the kernel, the following conditions must be met:
- SCR_EL3.FGTEn (bit 27) must be initialised to 0b1. - SCR_EL3.FGTEn (bit 27) must be initialised to 0b1.
For CPUs with the Fine Grained Traps 2 (FEAT_FGT2) extension present:
- If EL3 is present and the kernel is entered at EL2:
- SCR_EL3.FGTEn2 (bit 59) must be initialised to 0b1.
For CPUs with support for HCRX_EL2 (FEAT_HCX) present: For CPUs with support for HCRX_EL2 (FEAT_HCX) present:
- If EL3 is present and the kernel is entered at EL2: - If EL3 is present and the kernel is entered at EL2:
@@ -382,6 +388,22 @@ Before jumping into the kernel, the following conditions must be met:
- SMCR_EL2.EZT0 (bit 30) must be initialised to 0b1. - SMCR_EL2.EZT0 (bit 30) must be initialised to 0b1.
For CPUs with the Performance Monitors Extension (FEAT_PMUv3p9):
- If EL3 is present:
- MDCR_EL3.EnPM2 (bit 7) must be initialised to 0b1.
- If the kernel is entered at EL1 and EL2 is present:
- HDFGRTR2_EL2.nPMICNTR_EL0 (bit 2) must be initialised to 0b1.
- HDFGRTR2_EL2.nPMICFILTR_EL0 (bit 3) must be initialised to 0b1.
- HDFGRTR2_EL2.nPMUACR_EL1 (bit 4) must be initialised to 0b1.
- HDFGWTR2_EL2.nPMICNTR_EL0 (bit 2) must be initialised to 0b1.
- HDFGWTR2_EL2.nPMICFILTR_EL0 (bit 3) must be initialised to 0b1.
- HDFGWTR2_EL2.nPMUACR_EL1 (bit 4) must be initialised to 0b1.
For CPUs with Memory Copy and Memory Set instructions (FEAT_MOPS): For CPUs with Memory Copy and Memory Set instructions (FEAT_MOPS):
- If the kernel is entered at EL1 and EL2 is present: - If the kernel is entered at EL1 and EL2 is present:

View File

@@ -22,8 +22,6 @@ offlining of memory being accessed by the ptdump code.
In order to dump the kernel page tables, enable the following In order to dump the kernel page tables, enable the following
configurations and mount debugfs:: configurations and mount debugfs::
CONFIG_GENERIC_PTDUMP=y
CONFIG_PTDUMP_CORE=y
CONFIG_PTDUMP_DEBUGFS=y CONFIG_PTDUMP_DEBUGFS=y
mount -t debugfs nodev /sys/kernel/debug mount -t debugfs nodev /sys/kernel/debug

View File

@@ -284,6 +284,8 @@ stable kernels.
+----------------+-----------------+-----------------+-----------------------------+ +----------------+-----------------+-----------------+-----------------------------+
| Rockchip | RK3588 | #3588001 | ROCKCHIP_ERRATUM_3588001 | | Rockchip | RK3588 | #3588001 | ROCKCHIP_ERRATUM_3588001 |
+----------------+-----------------+-----------------+-----------------------------+ +----------------+-----------------+-----------------+-----------------------------+
| Rockchip | RK3568 | #3568002 | ROCKCHIP_ERRATUM_3568002 |
+----------------+-----------------+-----------------+-----------------------------+
+----------------+-----------------+-----------------+-----------------------------+ +----------------+-----------------+-----------------+-----------------------------+
| Fujitsu | A64FX | E#010001 | FUJITSU_ERRATUM_010001 | | Fujitsu | A64FX | E#010001 | FUJITSU_ERRATUM_010001 |
+----------------+-----------------+-----------------+-----------------------------+ +----------------+-----------------+-----------------+-----------------------------+

Some files were not shown because too many files have changed in this diff Show More