mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-10 20:09:56 +00:00
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:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -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
|
||||||
|
|||||||
30
.mailmap
30
.mailmap
@@ -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
30
CREDITS
@@ -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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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,
|
||||||
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
157
Documentation/ABI/testing/debugfs-dwc-pcie
Normal file
157
Documentation/ABI/testing/debugfs-dwc-pcie
Normal 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.
|
||||||
@@ -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>
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
20
Documentation/ABI/testing/sysfs-bus-iio-adc-ad4130
Normal file
20
Documentation/ABI/testing/sysfs-bus-iio-adc-ad4130
Normal 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.
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
13
Documentation/ABI/testing/sysfs-driver-amd-sfh
Normal file
13
Documentation/ABI/testing/sysfs-driver-amd-sfh
Normal 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
|
||||||
13
Documentation/ABI/testing/sysfs-driver-hid-appletb-kbd
Normal file
13
Documentation/ABI/testing/sysfs-driver-hid-appletb-kbd
Normal 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
|
||||||
|
== =================
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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".
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
74
Documentation/ABI/testing/sysfs-edac-ecs
Normal file
74
Documentation/ABI/testing/sysfs-edac-ecs
Normal 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.
|
||||||
206
Documentation/ABI/testing/sysfs-edac-memory-repair
Normal file
206
Documentation/ABI/testing/sysfs-edac-memory-repair
Normal 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.
|
||||||
69
Documentation/ABI/testing/sysfs-edac-scrub
Normal file
69
Documentation/ABI/testing/sysfs-edac-scrub
Normal 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.
|
||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
6
Documentation/ABI/testing/sysfs-pps-gen-tio
Normal file
6
Documentation/ABI/testing/sysfs-pps-gen-tio
Normal 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.
|
||||||
@@ -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.
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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.)
|
||||||
|
|
||||||
|
|||||||
@@ -48,3 +48,4 @@ subdirectories.
|
|||||||
Yama
|
Yama
|
||||||
SafeSetID
|
SafeSetID
|
||||||
ipe
|
ipe
|
||||||
|
landlock
|
||||||
|
|||||||
158
Documentation/admin-guide/LSM/landlock.rst
Normal file
158
Documentation/admin-guide/LSM/landlock.rst
Normal 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
|
||||||
@@ -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.
|
||||||
|
|
||||||
|
|||||||
7
Documentation/admin-guide/abi-obsolete-files.rst
Normal file
7
Documentation/admin-guide/abi-obsolete-files.rst
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
Obsolete ABI Files
|
||||||
|
==================
|
||||||
|
|
||||||
|
.. kernel-abi:: obsolete
|
||||||
|
:no-symbols:
|
||||||
@@ -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:
|
||||||
|
|||||||
7
Documentation/admin-guide/abi-removed-files.rst
Normal file
7
Documentation/admin-guide/abi-removed-files.rst
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
Removed ABI Files
|
||||||
|
=================
|
||||||
|
|
||||||
|
.. kernel-abi:: removed
|
||||||
|
:no-symbols:
|
||||||
@@ -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:
|
||||||
|
|||||||
7
Documentation/admin-guide/abi-stable-files.rst
Normal file
7
Documentation/admin-guide/abi-stable-files.rst
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
Stable ABI Files
|
||||||
|
================
|
||||||
|
|
||||||
|
.. kernel-abi:: stable
|
||||||
|
:no-symbols:
|
||||||
@@ -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:
|
||||||
|
|||||||
7
Documentation/admin-guide/abi-testing-files.rst
Normal file
7
Documentation/admin-guide/abi-testing-files.rst
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
Testing ABI Files
|
||||||
|
=================
|
||||||
|
|
||||||
|
.. kernel-abi:: testing
|
||||||
|
:no-symbols:
|
||||||
@@ -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:
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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::
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.)
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
===================
|
===================
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|
||||||
|
|||||||
@@ -187,7 +187,6 @@ A few hard-to-categorize and generally obsolete documents.
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
highuid
|
|
||||||
ldm
|
ldm
|
||||||
unicode
|
unicode
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|
||||||
|
|||||||
@@ -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().
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
174
Documentation/admin-guide/laptops/samsung-galaxybook.rst
Normal file
174
Documentation/admin-guide/laptops/samsung-galaxybook.rst
Normal 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.
|
||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
======================
|
======================
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
=============
|
=============
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
======================
|
======================
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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::
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
Reference in New Issue
Block a user