Merge drm/drm-fixes into drm-misc-fixes
Backmerging to get updates from v6.15-rc1. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
msrv = "1.78.0"
|
||||
|
||||
check-private-items = true
|
||||
|
||||
disallowed-macros = [
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
*.dtb.S
|
||||
*.dtbo.S
|
||||
*.dwo
|
||||
*.dylib
|
||||
*.elf
|
||||
*.gcno
|
||||
*.gcda
|
||||
@@ -64,6 +65,7 @@ modules.order
|
||||
/vmlinux.32
|
||||
/vmlinux.map
|
||||
/vmlinux.symvers
|
||||
/vmlinux.unstripped
|
||||
/vmlinux-gdb.py
|
||||
/vmlinuz
|
||||
/System.map
|
||||
|
||||
@@ -31,6 +31,13 @@ Alexander Lobakin <alobakin@pm.me> <alobakin@marvell.com>
|
||||
Alexander Lobakin <alobakin@pm.me> <bloodyreaper@yandex.ru>
|
||||
Alexander Mikhalitsyn <alexander@mihalicyn.com> <alexander.mikhalitsyn@virtuozzo.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 Ghiti <alex@ghiti.fr> <alexandre.ghiti@canonical.com>
|
||||
Alexei Avshalom Lazar <quic_ailizaro@quicinc.com> <ailizaro@codeaurora.org>
|
||||
@@ -83,6 +90,12 @@ Anirudh Ghayal <quic_aghayal@quicinc.com> <aghayal@codeaurora.org>
|
||||
Antoine Tenart <atenart@kernel.org> <antoine.tenart@bootlin.com>
|
||||
Antoine Tenart <atenart@kernel.org> <antoine.tenart@free-electrons.com>
|
||||
Antonio Ospite <ao2@ao2.it> <ao2@amarulasolutions.com>
|
||||
Antonio Quartulli <antonio@mandelbit.com> <antonio@meshcoding.com>
|
||||
Antonio Quartulli <antonio@mandelbit.com> <antonio@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@ritirata.org>
|
||||
Antonio Quartulli <antonio@mandelbit.com> <a@unstable.cc>
|
||||
Anup Patel <anup@brainfault.org> <anup.patel@wdc.com>
|
||||
Archit Taneja <archit@ti.com>
|
||||
Ard Biesheuvel <ardb@kernel.org> <ard.biesheuvel@linaro.org>
|
||||
@@ -135,15 +148,18 @@ Boris Brezillon <bbrezillon@kernel.org> <boris.brezillon@bootlin.com>
|
||||
Boris Brezillon <bbrezillon@kernel.org> <boris.brezillon@free-electrons.com>
|
||||
Brendan Higgins <brendan.higgins@linux.dev> <brendanhiggins@google.com>
|
||||
Brian Avery <b.avery@hp.com>
|
||||
Brian Cain <bcain@kernel.org> <brian.cain@oss.qualcomm.com>
|
||||
Brian Cain <bcain@kernel.org> <bcain@quicinc.com>
|
||||
Brian King <brking@us.ibm.com>
|
||||
Brian Silverman <bsilver16384@gmail.com> <brian.silverman@bluerivertech.com>
|
||||
Bryan Tan <bryan-bt.tan@broadcom.com> <bryantan@vmware.com>
|
||||
Cai Huoqing <cai.huoqing@linux.dev> <caihuoqing@baidu.com>
|
||||
Can Guo <quic_cang@quicinc.com> <cang@codeaurora.org>
|
||||
Carl Huang <quic_cjhuang@quicinc.com> <cjhuang@codeaurora.org>
|
||||
Carlos Bilbao <carlos.bilbao.osdev@gmail.com> <carlos.bilbao@amd.com>
|
||||
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> <bilbao@vt.edu>
|
||||
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> <yuchao0@huawei.com>
|
||||
Chester Lin <chester62515@gmail.com> <clin@suse.com>
|
||||
@@ -158,6 +174,7 @@ Christian Brauner <brauner@kernel.org> <christian.brauner@canonical.com>
|
||||
Christian Brauner <brauner@kernel.org> <christian.brauner@ubuntu.com>
|
||||
Christian Marangi <ansuelsmth@gmail.com>
|
||||
Christophe Ricard <christophe.ricard@gmail.com>
|
||||
Christopher Obbard <christopher.obbard@linaro.org> <chris.obbard@collabora.com>
|
||||
Christoph Hellwig <hch@lst.de>
|
||||
Chuck Lever <chuck.lever@oracle.com> <cel@kernel.org>
|
||||
Chuck Lever <chuck.lever@oracle.com> <cel@netapp.com>
|
||||
@@ -188,10 +205,11 @@ Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@imgtec.com>
|
||||
Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@mips.com>
|
||||
<dev.kurt@vandijck-laurijssen.be> <kurt.van.dijck@eia.be>
|
||||
Dikshita Agarwal <quic_dikshita@quicinc.com> <dikshita@codeaurora.org>
|
||||
Dmitry Baryshkov <dbaryshkov@gmail.com>
|
||||
Dmitry Baryshkov <dbaryshkov@gmail.com> <[dbaryshkov@gmail.com]>
|
||||
Dmitry Baryshkov <dbaryshkov@gmail.com> <dmitry_baryshkov@mentor.com>
|
||||
Dmitry Baryshkov <dbaryshkov@gmail.com> <dmitry_eremin@mentor.com>
|
||||
Dmitry Baryshkov <lumag@kernel.org> <dbaryshkov@gmail.com>
|
||||
Dmitry Baryshkov <lumag@kernel.org> <[dbaryshkov@gmail.com]>
|
||||
Dmitry Baryshkov <lumag@kernel.org> <dmitry_baryshkov@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> <d.safonov@partner.samsung.com>
|
||||
Dmitry Safonov <0x7f454c46@gmail.com> <dsafonov@virtuozzo.com>
|
||||
@@ -214,6 +232,7 @@ Fangrui Song <i@maskray.me> <maskray@google.com>
|
||||
Felipe W Damasio <felipewd@terra.com.br>
|
||||
Felix Kuhling <fxkuehl@gmx.de>
|
||||
Felix Moeller <felix@derklecks.de>
|
||||
Feng Tang <feng.79.tang@gmail.com> <feng.tang@intel.com>
|
||||
Fenglin Wu <quic_fenglinw@quicinc.com> <fenglinw@codeaurora.org>
|
||||
Filipe Lautert <filipe@icewall.org>
|
||||
Finn Thain <fthain@linux-m68k.org> <fthain@telegraphics.com.au>
|
||||
@@ -254,9 +273,11 @@ Guo Ren <guoren@kernel.org> <ren_guo@c-sky.com>
|
||||
Guru Das Srinagesh <quic_gurus@quicinc.com> <gurus@codeaurora.org>
|
||||
Gustavo Padovan <gustavo@las.ic.unicamp.br>
|
||||
Gustavo Padovan <padovan@profusion.mobi>
|
||||
Hamza Mahfooz <hamzamahfooz@linux.microsoft.com> <hamza.mahfooz@amd.com>
|
||||
Hanjun Guo <guohanjun@huawei.com> <hanjun.guo@linaro.org>
|
||||
Hans Verkuil <hverkuil@xs4all.nl> <hansverk@cisco.com>
|
||||
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> <heiko.carstens@de.ibm.com>
|
||||
Heiko Stuebner <heiko@sntech.de> <heiko.stuebner@bqreaders.com>
|
||||
@@ -268,6 +289,7 @@ Henrik Rydberg <rydberg@bitmath.org>
|
||||
Herbert Xu <herbert@gondor.apana.org.au>
|
||||
Huacai Chen <chenhuacai@kernel.org> <chenhc@lemote.com>
|
||||
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@citi.umich.edu>
|
||||
Jacob Shin <Jacob.Shin@amd.com>
|
||||
@@ -290,7 +312,6 @@ Jan Glauber <jan.glauber@gmail.com> <jglauber@cavium.com>
|
||||
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@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@nvidia.com>
|
||||
Jason Gunthorpe <jgg@ziepe.ca> <jgunthorpe@obsidianresearch.com>
|
||||
@@ -304,10 +325,13 @@ Jayachandran C <c.jayachandran@gmail.com> <jnair@caviumnetworks.com>
|
||||
Jean Tourrilhes <jt@hpl.hp.com>
|
||||
Jeevan Shriram <quic_jshriram@quicinc.com> <jshriram@codeaurora.org>
|
||||
Jeff Garzik <jgarzik@pretzel.yyz.us>
|
||||
Jeff Johnson <jeff.johnson@oss.qualcomm.com> <jjohnson@codeaurora.org>
|
||||
Jeff Johnson <jeff.johnson@oss.qualcomm.com> <quic_jjohnson@quicinc.com>
|
||||
Jeff Layton <jlayton@kernel.org> <jlayton@poochiereds.net>
|
||||
Jeff Layton <jlayton@kernel.org> <jlayton@primarydata.com>
|
||||
Jeff Layton <jlayton@kernel.org> <jlayton@redhat.com>
|
||||
Jeffrey Hugo <quic_jhugo@quicinc.com> <jhugo@codeaurora.org>
|
||||
Jeff Hugo <jeff.hugo@oss.qualcomm.com> <jhugo@codeaurora.org>
|
||||
Jeff Hugo <jeff.hugo@oss.qualcomm.com> <quic_jhugo@quicinc.com>
|
||||
Jens Axboe <axboe@kernel.dk> <axboe@suse.de>
|
||||
Jens Axboe <axboe@kernel.dk> <jens.axboe@oracle.com>
|
||||
Jens Axboe <axboe@kernel.dk> <axboe@fb.com>
|
||||
@@ -363,6 +387,7 @@ Juha Yrjola <juha.yrjola@solidboot.com>
|
||||
Julien Thierry <julien.thierry.kdev@gmail.com> <julien.thierry@arm.com>
|
||||
Iskren Chernev <me@iskren.info> <iskren.chernev@gmail.com>
|
||||
Kalle Valo <kvalo@kernel.org> <kvalo@codeaurora.org>
|
||||
Kalle Valo <kvalo@kernel.org> <quic_kvalo@quicinc.com>
|
||||
Kalyan Thota <quic_kalyant@quicinc.com> <kalyan_t@codeaurora.org>
|
||||
Karthikeyan Periyasamy <quic_periyasa@quicinc.com> <periyasa@codeaurora.org>
|
||||
Kathiravan T <quic_kathirav@quicinc.com> <kathirav@codeaurora.org>
|
||||
@@ -408,6 +433,7 @@ Liam Mark <quic_lmark@quicinc.com> <lmark@codeaurora.org>
|
||||
Linas Vepstas <linas@austin.ibm.com>
|
||||
Linus Lüssing <linus.luessing@c0d3.blue> <linus.luessing@ascom.ch>
|
||||
Linus Lüssing <linus.luessing@c0d3.blue> <linus.luessing@web.de>
|
||||
Linus Lüssing <linus.luessing@c0d3.blue> <ll@simonwunderlich.de>
|
||||
<linux-hardening@vger.kernel.org> <kernel-hardening@lists.openwall.com>
|
||||
Li Yang <leoyang.li@nxp.com> <leoli@freescale.com>
|
||||
Li Yang <leoyang.li@nxp.com> <leo@zh-kernel.org>
|
||||
@@ -430,6 +456,8 @@ Marcin Nowakowski <marcin.nowakowski@mips.com> <marcin.nowakowski@imgtec.com>
|
||||
Marc Zyngier <maz@kernel.org> <marc.zyngier@arm.com>
|
||||
Marek Behún <kabel@kernel.org> <marek.behun@nic.cz>
|
||||
Marek Behún <kabel@kernel.org> Marek Behun <marek.behun@nic.cz>
|
||||
Marek Lindner <marek.lindner@mailbox.org> <lindner_marek@yahoo.de>
|
||||
Marek Lindner <marek.lindner@mailbox.org> <mareklindner@neomailbox.ch>
|
||||
Mark Brown <broonie@sirena.org.uk>
|
||||
Mark Starovoytov <mstarovo@pm.me> <mstarovoitov@marvell.com>
|
||||
Markus Schneider-Pargmann <msp@baylibre.com> <mpa@pengutronix.de>
|
||||
@@ -515,11 +543,14 @@ Nicholas Piggin <npiggin@gmail.com> <npiggin@kernel.dk>
|
||||
Nicholas Piggin <npiggin@gmail.com> <npiggin@suse.de>
|
||||
Nicholas Piggin <npiggin@gmail.com> <nickpiggin@yahoo.com.au>
|
||||
Nicholas Piggin <npiggin@gmail.com> <piggin@cyberone.com.au>
|
||||
Nick Desaulniers <nick.desaulniers+lkml@gmail.com> <ndesaulniers@google.com>
|
||||
Nicolas Ferre <nicolas.ferre@microchip.com> <nicolas.ferre@atmel.com>
|
||||
Nicolas Pitre <nico@fluxnic.net> <nicolas.pitre@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.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>
|
||||
Nikolay Aleksandrov <razor@blackwall.org> <naleksan@redhat.com>
|
||||
Nikolay Aleksandrov <razor@blackwall.org> <nikolay@redhat.com>
|
||||
@@ -533,6 +564,8 @@ Oleksij Rempel <linux@rempel-privat.de> <external.Oleksij.Rempel@de.bosch.com>
|
||||
Oleksij Rempel <linux@rempel-privat.de> <fixed-term.Oleksij.Rempel@de.bosch.com>
|
||||
Oleksij Rempel <o.rempel@pengutronix.de>
|
||||
Oleksij Rempel <o.rempel@pengutronix.de> <ore@pengutronix.de>
|
||||
Oliver Hartkopp <socketcan@hartkopp.net> <oliver.hartkopp@volkswagen.de>
|
||||
Oliver Hartkopp <socketcan@hartkopp.net> <oliver@hartkopp.net>
|
||||
Oliver Upton <oliver.upton@linux.dev> <oupton@google.com>
|
||||
Ondřej Jirman <megi@xff.cz> <megous@megous.com>
|
||||
Oza Pawandeep <quic_poza@quicinc.com> <poza@codeaurora.org>
|
||||
@@ -591,6 +624,8 @@ Richard Leitner <richard.leitner@linux.dev> <me@g0hl1n.net>
|
||||
Richard Leitner <richard.leitner@linux.dev> <richard.leitner@skidata.com>
|
||||
Robert Foss <rfoss@kernel.org> <robert.foss@linaro.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> <guroan@gmail.com>
|
||||
Roman Gushchin <roman.gushchin@linux.dev> <klamm@yandex-team.ru>
|
||||
@@ -644,6 +679,11 @@ Simona Vetter <simona.vetter@ffwll.ch> <daniel@biene.ffwll.ch>
|
||||
Simon Horman <horms@kernel.org> <simon.horman@corigine.com>
|
||||
Simon Horman <horms@kernel.org> <simon.horman@netronome.com>
|
||||
Simon Kelley <simon@thekelleys.org.uk>
|
||||
Simon Wunderlich <sw@simonwunderlich.de> <simon.wunderlich@open-mesh.com>
|
||||
Simon Wunderlich <sw@simonwunderlich.de> <simon.wunderlich@s2003.tu-chemnitz.de>
|
||||
Simon Wunderlich <sw@simonwunderlich.de> <simon.wunderlich@saxnet.de>
|
||||
Simon Wunderlich <sw@simonwunderlich.de> <simon@open-mesh.com>
|
||||
Simon Wunderlich <sw@simonwunderlich.de> <siwu@hrz.tu-chemnitz.de>
|
||||
Sricharan Ramabadhran <quic_srichara@quicinc.com> <sricharan@codeaurora.org>
|
||||
Srinivas Ramana <quic_sramana@quicinc.com> <sramana@codeaurora.org>
|
||||
Sriram R <quic_srirrama@quicinc.com> <srirrama@codeaurora.org>
|
||||
@@ -655,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> <sthemmin@microsoft.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@opengridcomputing.com>
|
||||
Subash Abhinov Kasiviswanathan <quic_subashab@quicinc.com> <subashab@codeaurora.org>
|
||||
@@ -662,8 +704,14 @@ Subbaraman Narayanamurthy <quic_subbaram@quicinc.com> <subbaram@codeaurora.org>
|
||||
Subhash Jadavani <subhashj@codeaurora.org>
|
||||
Sudarshan Rajagopalan <quic_sudaraja@quicinc.com> <sudaraja@codeaurora.org>
|
||||
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>
|
||||
Surabhi Vishnoi <quic_svishnoi@quicinc.com> <svishnoi@codeaurora.org>
|
||||
Sven Eckelmann <sven@narfation.org> <seckelmann@datto.com>
|
||||
Sven Eckelmann <sven@narfation.org> <sven.eckelmann@gmx.de>
|
||||
Sven Eckelmann <sven@narfation.org> <sven.eckelmann@open-mesh.com>
|
||||
Sven Eckelmann <sven@narfation.org> <sven.eckelmann@openmesh.com>
|
||||
Sven Eckelmann <sven@narfation.org> <sven@open-mesh.com>
|
||||
Takashi YOSHII <takashi.yoshii.zj@renesas.com>
|
||||
Tamizh Chelvam Raja <quic_tamizhr@quicinc.com> <tamizhr@codeaurora.org>
|
||||
Taniya Das <quic_tdas@quicinc.com> <tdas@codeaurora.org>
|
||||
@@ -722,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.kumar@st.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>
|
||||
Vishnu Dasa <vishnu.dasa@broadcom.com> <vdasa@vmware.com>
|
||||
Vivek Aknurwar <quic_viveka@quicinc.com> <viveka@codeaurora.org>
|
||||
@@ -740,6 +787,7 @@ Wolfram Sang <wsa@kernel.org> <wsa@the-dreams.de>
|
||||
Yakir Yang <kuankuan.y@gmail.com> <ykk@rock-chips.com>
|
||||
Yanteng Si <si.yanteng@linux.dev> <siyanteng@loongson.cn>
|
||||
Ying Huang <huang.ying.caritas@gmail.com> <ying.huang@intel.com>
|
||||
Yosry Ahmed <yosry.ahmed@linux.dev> <yosryahmed@google.com>
|
||||
Yusuke Goda <goda.yusuke@renesas.com>
|
||||
Zack Rusin <zack.rusin@broadcom.com> <zackr@vmware.com>
|
||||
Zhu Yanjun <zyjzyj2000@gmail.com> <yanjunz@nvidia.com>
|
||||
|
||||
@@ -317,6 +317,10 @@ S: Code 930.5, Goddard Space Flight Center
|
||||
S: Greenbelt, Maryland 20771
|
||||
S: USA
|
||||
|
||||
N: Joel Becker
|
||||
E: jlbec@evilplan.org
|
||||
D: configfs
|
||||
|
||||
N: Adam Belay
|
||||
E: ambx1@neo.rr.com
|
||||
D: Linux Plug and Play Support
|
||||
@@ -855,6 +859,10 @@ N: John Crispin
|
||||
E: john@phrozen.org
|
||||
D: MediaTek MT7623 Gigabit ethernet support
|
||||
|
||||
N: Conor Culhane
|
||||
E: conor.culhane@silvaco.com
|
||||
D: Silvaco I3C master driver
|
||||
|
||||
N: Laurence Culhane
|
||||
E: loz@holmes.demon.co.uk
|
||||
D: Wrote the initial alpha SLIP code
|
||||
@@ -1895,6 +1903,7 @@ S: Czech Republic
|
||||
N: Seth Jennings
|
||||
E: sjenning@redhat.com
|
||||
D: Creation and maintenance of zswap
|
||||
D: Creation and maintenace of the zbud allocator
|
||||
|
||||
N: Jeremy Kerr
|
||||
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
|
||||
S: Prague, Czech Republic
|
||||
|
||||
N: Ishizaki Kou
|
||||
E: kou.ishizaki@toshiba.co.jp
|
||||
D: Spidernet driver for PowerPC Cell platforms
|
||||
|
||||
N: Gene Kozin
|
||||
E: 74604.152@compuserve.com
|
||||
W: https://www.sangoma.com
|
||||
@@ -2197,6 +2210,9 @@ S: Markham, Ontario
|
||||
S: L3R 8B2
|
||||
S: Canada
|
||||
|
||||
N: Christian Krafft
|
||||
D: PowerPC Cell support
|
||||
|
||||
N: Maxim Krasnyansky
|
||||
E: maxk@qualcomm.com
|
||||
W: http://vtun.sf.net
|
||||
@@ -2389,6 +2405,10 @@ S: ICP vortex GmbH
|
||||
S: Neckarsulm
|
||||
S: Germany
|
||||
|
||||
N: Geoff Levand
|
||||
E: geoff@infradead.org
|
||||
D: Spidernet driver for PowerPC Cell platforms
|
||||
|
||||
N: Phil Lewis
|
||||
E: beans@bucket.ualr.edu
|
||||
D: Promised to send money if I would put his name in the source tree.
|
||||
@@ -2515,11 +2535,9 @@ D: SLS distribution
|
||||
D: Initial implementation of VC's, pty's and select()
|
||||
|
||||
N: Pavel Machek
|
||||
E: pavel@ucw.cz
|
||||
E: pavel@kernel.org
|
||||
P: 4096R/92DFCE96 4FA7 9EEF FCD4 C44F C585 B8C7 C060 2241 92DF CE96
|
||||
D: Softcursor for vga, hypertech cdrom support, vcsa bugfix, nbd,
|
||||
D: sun4/330 port, capabilities for elf, speedup for rm on ext2, USB,
|
||||
D: work on suspend-to-ram/disk, killing duplicates from ioctl32,
|
||||
D: NBD, Sun4/330 port, USB, work on suspend-to-ram/disk,
|
||||
D: Altera SoCFPGA and Nokia N900 support.
|
||||
S: Czech Republic
|
||||
|
||||
@@ -3235,6 +3253,10 @@ N: Rui Prior
|
||||
E: rprior@inescn.pt
|
||||
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
|
||||
E: sp@caldera.de
|
||||
D: The Linux Support Team Erlangen, 1993-97
|
||||
@@ -3648,6 +3670,10 @@ S: 149 Union St.
|
||||
S: Kingston, Ontario
|
||||
S: Canada K7L 2P4
|
||||
|
||||
N: Pravin B Shelar
|
||||
E: pshelar@ovn.org
|
||||
D: Open vSwitch maintenance and contributions
|
||||
|
||||
N: John Shifflett
|
||||
E: john@geolog.com
|
||||
E: jshiffle@netcom.com
|
||||
@@ -3790,6 +3816,7 @@ N: Dan Streetman
|
||||
E: ddstreet@ieee.org
|
||||
D: Maintenance and development of zswap
|
||||
D: Creation and maintenance of the zpool API
|
||||
D: Maintenace of the zbud allocator
|
||||
|
||||
N: Drew Sullivan
|
||||
E: drew@ss.org
|
||||
@@ -3948,6 +3975,10 @@ S: 1 Amherst Street
|
||||
S: Cambridge, Massachusetts 02139
|
||||
S: USA
|
||||
|
||||
N: Luben Tuikov
|
||||
E: Luben Tuikov <ltuikov89@gmail.com>
|
||||
D: Maintainer of the DRM GPU Scheduler
|
||||
|
||||
N: Simmule Turner
|
||||
E: sturner@tele-tv.com
|
||||
D: Added swapping to filesystem
|
||||
@@ -4313,6 +4344,7 @@ S: England
|
||||
N: Vitaly Wool
|
||||
E: vitaly.wool@konsulko.com
|
||||
D: Maintenance and development of zswap
|
||||
D: Maintenance and development of z3fold
|
||||
|
||||
N: Chris Wright
|
||||
E: chrisw@sous-sol.org
|
||||
@@ -4339,7 +4371,7 @@ D: Freescale Highspeed USB device driver
|
||||
D: Freescale QE SoC support and Ethernet driver
|
||||
S: B-1206 Jingmao Guojigongyu
|
||||
S: 16 Baliqiao Nanjie, Beijing 101100
|
||||
S: People's Repulic of China
|
||||
S: People's Republic of China
|
||||
|
||||
N: Vlad Yasevich
|
||||
E: vyasevich@gmail.com
|
||||
|
||||
@@ -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
|
||||
everchanging nature of Linux, and the differing maturity levels, these
|
||||
interfaces should be used by userspace programs in different ways.
|
||||
|
||||
+28
-26
@@ -1,3 +1,5 @@
|
||||
The cxl driver was removed in 6.15.
|
||||
|
||||
Please note that attributes that are shared between devices are stored in
|
||||
the directory pointed to by the symlink device/.
|
||||
For example, the real path of the attribute /sys/class/cxl/afu0.0s/irqs_max is
|
||||
@@ -7,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):
|
||||
|
||||
What: /sys/class/cxl/<afu>/afu_err_buf
|
||||
Date: September 2014
|
||||
Date: September 2014, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read only
|
||||
AFU Error Buffer contents. The contents of this file are
|
||||
@@ -18,7 +20,7 @@ Description: read only
|
||||
|
||||
|
||||
What: /sys/class/cxl/<afu>/irqs_max
|
||||
Date: September 2014
|
||||
Date: September 2014, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read/write
|
||||
Decimal value of maximum number of interrupts that can be
|
||||
@@ -29,7 +31,7 @@ Description: read/write
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<afu>/irqs_min
|
||||
Date: September 2014
|
||||
Date: September 2014, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read only
|
||||
Decimal value of the minimum number of interrupts that
|
||||
@@ -39,7 +41,7 @@ Description: read only
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<afu>/mmio_size
|
||||
Date: September 2014
|
||||
Date: September 2014, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read only
|
||||
Decimal value of the size of the MMIO space that may be mmapped
|
||||
@@ -47,7 +49,7 @@ Description: read only
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<afu>/modes_supported
|
||||
Date: September 2014
|
||||
Date: September 2014, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read only
|
||||
List of the modes this AFU supports. One per line.
|
||||
@@ -55,7 +57,7 @@ Description: read only
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<afu>/mode
|
||||
Date: September 2014
|
||||
Date: September 2014, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read/write
|
||||
The current mode the AFU is using. Will be one of the modes
|
||||
@@ -65,7 +67,7 @@ Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
|
||||
What: /sys/class/cxl/<afu>/prefault_mode
|
||||
Date: September 2014
|
||||
Date: September 2014, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read/write
|
||||
Set the mode for prefaulting in segments into the segment table
|
||||
@@ -85,7 +87,7 @@ Description: read/write
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<afu>/reset
|
||||
Date: September 2014
|
||||
Date: September 2014, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: write only
|
||||
Writing 1 here will reset the AFU provided there are not
|
||||
@@ -93,14 +95,14 @@ Description: write only
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<afu>/api_version
|
||||
Date: September 2014
|
||||
Date: September 2014, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read only
|
||||
Decimal value of the current version of the kernel/user API.
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<afu>/api_version_compatible
|
||||
Date: September 2014
|
||||
Date: September 2014, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read only
|
||||
Decimal value of the lowest version of the userspace API
|
||||
@@ -114,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).
|
||||
|
||||
What: /sys/class/cxl/<afu>/cr<config num>/vendor
|
||||
Date: February 2015
|
||||
Date: February 2015, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read only
|
||||
Hexadecimal value of the vendor ID found in this AFU
|
||||
@@ -122,7 +124,7 @@ Description: read only
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<afu>/cr<config num>/device
|
||||
Date: February 2015
|
||||
Date: February 2015, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read only
|
||||
Hexadecimal value of the device ID found in this AFU
|
||||
@@ -130,7 +132,7 @@ Description: read only
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<afu>/cr<config num>/class
|
||||
Date: February 2015
|
||||
Date: February 2015, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read only
|
||||
Hexadecimal value of the class code found in this AFU
|
||||
@@ -138,7 +140,7 @@ Description: read only
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<afu>/cr<config num>/config
|
||||
Date: February 2015
|
||||
Date: February 2015, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read only
|
||||
This binary file provides raw access to the AFU configuration
|
||||
@@ -152,7 +154,7 @@ Users: https://github.com/ibm-capi/libcxl
|
||||
Master contexts (eg. /sys/class/cxl/afu0.0m)
|
||||
|
||||
What: /sys/class/cxl/<afu>m/mmio_size
|
||||
Date: September 2014
|
||||
Date: September 2014, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read only
|
||||
Decimal value of the size of the MMIO space that may be mmapped
|
||||
@@ -160,14 +162,14 @@ Description: read only
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<afu>m/pp_mmio_len
|
||||
Date: September 2014
|
||||
Date: September 2014, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read only
|
||||
Decimal value of the Per Process MMIO space length.
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<afu>m/pp_mmio_off
|
||||
Date: September 2014
|
||||
Date: September 2014, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read only
|
||||
(not in a guest)
|
||||
@@ -178,21 +180,21 @@ Users: https://github.com/ibm-capi/libcxl
|
||||
Card info (eg. /sys/class/cxl/card0)
|
||||
|
||||
What: /sys/class/cxl/<card>/caia_version
|
||||
Date: September 2014
|
||||
Date: September 2014, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read only
|
||||
Identifies the CAIA Version the card implements.
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<card>/psl_revision
|
||||
Date: September 2014
|
||||
Date: September 2014, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read only
|
||||
Identifies the revision level of the PSL.
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<card>/base_image
|
||||
Date: September 2014
|
||||
Date: September 2014, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read only
|
||||
(not in a guest)
|
||||
@@ -203,7 +205,7 @@ Description: read only
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<card>/image_loaded
|
||||
Date: September 2014
|
||||
Date: September 2014, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read only
|
||||
(not in a guest)
|
||||
@@ -212,7 +214,7 @@ Description: read only
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<card>/load_image_on_perst
|
||||
Date: December 2014
|
||||
Date: December 2014, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read/write
|
||||
(not in a guest)
|
||||
@@ -229,7 +231,7 @@ Description: read/write
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<card>/reset
|
||||
Date: October 2014
|
||||
Date: October 2014, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: write only
|
||||
Writing 1 will issue a PERST to card provided there are no
|
||||
@@ -240,7 +242,7 @@ Description: write only
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<card>/perst_reloads_same_image
|
||||
Date: July 2015
|
||||
Date: July 2015, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read/write
|
||||
(not in a guest)
|
||||
@@ -254,7 +256,7 @@ Description: read/write
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<card>/psl_timebase_synced
|
||||
Date: March 2016
|
||||
Date: March 2016, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read only
|
||||
Returns 1 if the psl timebase register is synchronized
|
||||
@@ -262,7 +264,7 @@ Description: read only
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<card>/tunneled_ops_supported
|
||||
Date: May 2018
|
||||
Date: May 2018, removed February 2025
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: read only
|
||||
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
|
||||
Date: 09-Jul-2007
|
||||
KernelVersion v2.6.22
|
||||
KernelVersion: v2.6.22
|
||||
Contact: linux-wireless@vger.kernel.org
|
||||
Description: This file was deprecated because there no longer was a way to
|
||||
claim just control over a single rfkill instance.
|
||||
|
||||
@@ -109,6 +109,10 @@ Contact: Martin K. Petersen <martin.petersen@oracle.com>
|
||||
Description:
|
||||
Indicates whether a storage device is capable of storing
|
||||
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
|
||||
@@ -117,6 +121,13 @@ Contact: Martin K. Petersen <martin.petersen@oracle.com>
|
||||
Description:
|
||||
Metadata format for integrity capable block device.
|
||||
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
|
||||
@@ -142,7 +153,17 @@ Date: June 2008
|
||||
Contact: Martin K. Petersen <martin.petersen@oracle.com>
|
||||
Description:
|
||||
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
|
||||
@@ -229,6 +250,17 @@ Description:
|
||||
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
|
||||
Date: February 2022
|
||||
Contact: linux-block@vger.kernel.org
|
||||
@@ -267,6 +299,15 @@ Description:
|
||||
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
|
||||
Date: June 2016
|
||||
Contact: linux-block@vger.kernel.org
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
What: /sys/class/bluetooth/hci<index>/reset
|
||||
Date: 14-Jan-2025
|
||||
KernelVersion: 6.13
|
||||
Contact: linux-bluetooth@vger.kernel.org
|
||||
Description: This write-only attribute allows users to trigger the vendor reset
|
||||
method on the Bluetooth device when arbitrary data is written.
|
||||
The reset may or may not be done through the device transport
|
||||
(e.g., UART/USB), and can also be done through an out-of-band
|
||||
approach such as GPIO.
|
||||
@@ -16,7 +16,7 @@ Description: The rfkill class subsystem folder.
|
||||
|
||||
What: /sys/class/rfkill/rfkill[0-9]+/name
|
||||
Date: 09-Jul-2007
|
||||
KernelVersion v2.6.22
|
||||
KernelVersion: v2.6.22
|
||||
Contact: linux-wireless@vger.kernel.org
|
||||
Description: Name assigned by driver to this key (interface or driver name).
|
||||
Values: arbitrary string.
|
||||
@@ -24,7 +24,7 @@ Values: arbitrary string.
|
||||
|
||||
What: /sys/class/rfkill/rfkill[0-9]+/type
|
||||
Date: 09-Jul-2007
|
||||
KernelVersion v2.6.22
|
||||
KernelVersion: v2.6.22
|
||||
Contact: linux-wireless@vger.kernel.org
|
||||
Description: Driver type string ("wlan", "bluetooth", etc).
|
||||
Values: See include/linux/rfkill.h.
|
||||
@@ -32,7 +32,7 @@ Values: See include/linux/rfkill.h.
|
||||
|
||||
What: /sys/class/rfkill/rfkill[0-9]+/persistent
|
||||
Date: 09-Jul-2007
|
||||
KernelVersion v2.6.22
|
||||
KernelVersion: v2.6.22
|
||||
Contact: linux-wireless@vger.kernel.org
|
||||
Description: Whether the soft blocked state is initialised from non-volatile
|
||||
storage at startup.
|
||||
@@ -44,7 +44,7 @@ Values: A numeric value:
|
||||
|
||||
What: /sys/class/rfkill/rfkill[0-9]+/state
|
||||
Date: 09-Jul-2007
|
||||
KernelVersion v2.6.22
|
||||
KernelVersion: v2.6.22
|
||||
Contact: linux-wireless@vger.kernel.org
|
||||
Description: Current state of the transmitter.
|
||||
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
|
||||
Date: 12-March-2010
|
||||
KernelVersion v2.6.34
|
||||
KernelVersion: v2.6.34
|
||||
Contact: linux-wireless@vger.kernel.org
|
||||
Description: Current hardblock state. This file is read only.
|
||||
Values: A numeric value.
|
||||
@@ -81,7 +81,7 @@ Values: A numeric value.
|
||||
|
||||
What: /sys/class/rfkill/rfkill[0-9]+/soft
|
||||
Date: 12-March-2010
|
||||
KernelVersion v2.6.34
|
||||
KernelVersion: v2.6.34
|
||||
Contact: linux-wireless@vger.kernel.org
|
||||
Description: Current softblock state. This file is read and write.
|
||||
Values: A numeric value.
|
||||
|
||||
@@ -177,6 +177,12 @@ Description:
|
||||
The cache write policy: 0 for write-back, 1 for write-through,
|
||||
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
|
||||
Date: November 2021
|
||||
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.
|
||||
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
|
||||
Description: the CPU die ID of cpuX. Typically it is the hardware platform's
|
||||
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.
|
||||
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
|
||||
Description: human-readable list of CPUs within the same die.
|
||||
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.
|
||||
|
||||
What: /sys/bus/dsa/devices/wq<m>.<n>/occupancy
|
||||
Date May 25, 2021
|
||||
Date: May 25, 2021
|
||||
KernelVersion: 5.14.0
|
||||
Contact: dmaengine@vger.kernel.org
|
||||
Description: Show the current number of entries in this WQ if WQ Occupancy
|
||||
Support bit WQ capabilities is 1.
|
||||
|
||||
What: /sys/bus/dsa/devices/wq<m>.<n>/enqcmds_retries
|
||||
Date Oct 29, 2021
|
||||
Date: Oct 29, 2021
|
||||
KernelVersion: 5.17.0
|
||||
Contact: dmaengine@vger.kernel.org
|
||||
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_num_groups The number of groups for MIDI 1.0 (0-16)
|
||||
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)
|
||||
sysex8_streams Max number of SysEx8 streams (8 bit)
|
||||
active Active FB flag (0 or 1)
|
||||
|
||||
@@ -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
|
||||
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
|
||||
Date: February 2014
|
||||
Contact: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
|
||||
|
||||
@@ -1,241 +1,241 @@
|
||||
What: /sys/bus/coresight/devices/<cti-name>/enable
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (RW) Enable/Disable the CTI hardware.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/powered
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Read) Indicate if the CTI hardware is powered.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/ctmid
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Read) Display the associated CTM ID
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/nr_trigger_cons
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Read) Number of devices connected to triggers on this CTI
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/name
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Read) Name of connected device <N>
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/in_signals
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Read) Input trigger signals from connected device <N>
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/in_types
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Read) Functional types for the input trigger signals
|
||||
from connected device <N>
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/out_signals
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Read) Output trigger signals to connected device <N>
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/out_types
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Read) Functional types for the output trigger signals
|
||||
to connected device <N>
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/regs/inout_sel
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (RW) Select the index for inen and outen registers.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/regs/inen
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (RW) Read or write the CTIINEN register selected by inout_sel.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/regs/outen
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (RW) Read or write the CTIOUTEN register selected by inout_sel.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/regs/gate
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (RW) Read or write CTIGATE register.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/regs/asicctl
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (RW) Read or write ASICCTL register.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/regs/intack
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Write) Write the INTACK register.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/regs/appset
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (RW) Set CTIAPPSET register to activate channel. Read back to
|
||||
determine current value of register.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/regs/appclear
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Write) Write APPCLEAR register to deactivate channel.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/regs/apppulse
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Write) Write APPPULSE to pulse a channel active for one clock
|
||||
cycle.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/regs/chinstatus
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Read) Read current status of channel inputs.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/regs/choutstatus
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Read) read current status of channel outputs.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/regs/triginstatus
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Read) read current status of input trigger signals
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/regs/trigoutstatus
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Read) read current status of output trigger signals.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/channels/trigin_attach
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Write) Attach a CTI input trigger to a CTM channel.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/channels/trigin_detach
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Write) Detach a CTI input trigger from a CTM channel.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_attach
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Write) Attach a CTI output trigger to a CTM channel.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_detach
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Write) Detach a CTI output trigger from a CTM channel.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_gate_enable
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (RW) Enable CTIGATE for single channel (Write) or list enabled
|
||||
channels through the gate (R).
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_gate_disable
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Write) Disable CTIGATE for single channel.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_set
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Write) Activate a single channel.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_clear
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Write) Deactivate a single channel.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_pulse
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Write) Pulse a single channel - activate for a single clock cycle.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_filtered
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Read) List of output triggers filtered across all connections.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/channels/trig_filter_enable
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (RW) Enable or disable trigger output signal filtering.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_inuse
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Read) show channels with at least one attached trigger signal.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_free
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Read) show channels with no attached trigger signals.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_sel
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (RW) Write channel number to select a channel to view, read to
|
||||
see selected channel number.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_in
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Read) Read to see input triggers connected to selected view
|
||||
channel.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_out
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Read) Read to see output triggers connected to selected view
|
||||
channel.
|
||||
|
||||
What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_reset
|
||||
Date: March 2020
|
||||
KernelVersion 5.7
|
||||
KernelVersion: 5.7
|
||||
Contact: Mike Leach or Mathieu Poirier
|
||||
Description: (Write) Clear all channel / trigger programming.
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
What: /sys/bus/coresight/devices/dummy_source<N>/enable_source
|
||||
Date: Dec 2024
|
||||
KernelVersion: 6.14
|
||||
Contact: Mao Jinlong <quic_jinlmao@quicinc.com>
|
||||
Description: (RW) Enable/disable tracing of dummy source. A sink should be activated
|
||||
before enabling the source. The path of coresight components linking
|
||||
the source to the sink is configured and managed automatically by the
|
||||
coresight framework.
|
||||
|
||||
What: /sys/bus/coresight/devices/dummy_source<N>/traceid
|
||||
Date: Dec 2024
|
||||
KernelVersion: 6.14
|
||||
Contact: Mao Jinlong <quic_jinlmao@quicinc.com>
|
||||
Description: (R) Show the trace ID that will appear in the trace stream
|
||||
coming from this trace entity.
|
||||
@@ -1,6 +1,6 @@
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/integration_test
|
||||
Date: January 2023
|
||||
KernelVersion 6.2
|
||||
KernelVersion: 6.2
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(Write) Run integration test for tpdm. Integration test
|
||||
@@ -14,7 +14,7 @@ Description:
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/reset_dataset
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
KernelVersion: 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(Write) Reset the dataset of the tpdm.
|
||||
@@ -24,7 +24,7 @@ Description:
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_trig_type
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
KernelVersion: 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(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
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
KernelVersion: 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(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
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
KernelVersion: 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(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
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
KernelVersion: 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(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
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
KernelVersion: 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
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
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
KernelVersion: 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
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]
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
KernelVersion: 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
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]
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
KernelVersion: 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
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]
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
KernelVersion: 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(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]
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
KernelVersion: 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(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]
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
KernelVersion: 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(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]
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
KernelVersion: 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(RW) Set/Get the mask of the pattern for the DSB subunit TPDM.
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/enable_ts
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
KernelVersion: 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(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
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
KernelVersion: 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(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]
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
KernelVersion: 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(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
|
||||
Date: January 2024
|
||||
KernelVersion 6.9
|
||||
KernelVersion: 6.9
|
||||
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
|
||||
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]
|
||||
Date: January 2024
|
||||
KernelVersion 6.9
|
||||
KernelVersion: 6.9
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(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]
|
||||
Date: January 2024
|
||||
KernelVersion 6.9
|
||||
KernelVersion: 6.9
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(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]
|
||||
Date: January 2024
|
||||
KernelVersion 6.9
|
||||
KernelVersion: 6.9
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(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]
|
||||
Date: January 2024
|
||||
KernelVersion 6.9
|
||||
KernelVersion: 6.9
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(RW) Set/Get the mask of the pattern for the CMB subunit TPDM.
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/cmb_patt/enable_ts
|
||||
Date: January 2024
|
||||
KernelVersion 6.9
|
||||
KernelVersion: 6.9
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(Write) Set the pattern timestamp of CMB tpdm. Read
|
||||
@@ -229,7 +229,7 @@ Description:
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/cmb_trig_ts
|
||||
Date: January 2024
|
||||
KernelVersion 6.9
|
||||
KernelVersion: 6.9
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(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
|
||||
Date: January 2024
|
||||
KernelVersion 6.9
|
||||
KernelVersion: 6.9
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(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]
|
||||
Date: January 2024
|
||||
KernelVersion 6.9
|
||||
KernelVersion: 6.9
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(RW) Set/Get the MSR(mux select register) for the CMB subunit
|
||||
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:
|
||||
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
|
||||
KernelVersion: 6.1
|
||||
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/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/ceiling_component_id
|
||||
What: /sys/bus/counter/devices/counterX/countY/floor_component_id
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
What: /sys/bus/cxl/flush
|
||||
Date: Januarry, 2022
|
||||
Date: January, 2022
|
||||
KernelVersion: v5.18
|
||||
Contact: linux-cxl@vger.kernel.org
|
||||
Description:
|
||||
@@ -18,6 +18,24 @@ Description:
|
||||
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
|
||||
Date: December, 2020
|
||||
KernelVersion: v5.12
|
||||
@@ -33,7 +51,7 @@ Date: May, 2023
|
||||
KernelVersion: v6.8
|
||||
Contact: linux-cxl@vger.kernel.org
|
||||
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
|
||||
specific cookies that identifies a QoS performance class
|
||||
for the volatile partition of the CXL mem device. These
|
||||
@@ -60,7 +78,7 @@ Date: May, 2023
|
||||
KernelVersion: v6.8
|
||||
Contact: linux-cxl@vger.kernel.org
|
||||
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
|
||||
specific cookies that identifies a QoS performance class
|
||||
for the persistent partition of the CXL mem device. These
|
||||
@@ -321,14 +339,13 @@ KernelVersion: v6.0
|
||||
Contact: linux-cxl@vger.kernel.org
|
||||
Description:
|
||||
(RW) When a CXL decoder is of devtype "cxl_decoder_endpoint" it
|
||||
translates from a host physical address range, to a device local
|
||||
address range. Device-local address ranges are further split
|
||||
into a 'ram' (volatile memory) range and 'pmem' (persistent
|
||||
memory) range. The 'mode' attribute emits one of 'ram', 'pmem',
|
||||
'mixed', or 'none'. The 'mixed' indication is for error cases
|
||||
when a decoder straddles the volatile/persistent partition
|
||||
boundary, and 'none' indicates the decoder is not actively
|
||||
decoding, or no DPA allocation policy has been set.
|
||||
translates from a host physical address range, to a device
|
||||
local address range. Device-local address ranges are further
|
||||
split into a 'ram' (volatile memory) range and 'pmem'
|
||||
(persistent memory) range. The 'mode' attribute emits one of
|
||||
'ram', 'pmem', or 'none'. The 'none' indicates the decoder is
|
||||
not actively decoding, or no DPA allocation policy has been
|
||||
set.
|
||||
|
||||
'mode' can be written, when the decoder is in the 'disabled'
|
||||
state, with either 'ram' or 'pmem' to set the boundaries for the
|
||||
@@ -423,7 +440,7 @@ Date: May, 2023
|
||||
KernelVersion: v6.5
|
||||
Contact: linux-cxl@vger.kernel.org
|
||||
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
|
||||
that identifies a QoS performance class for the CXL Window.
|
||||
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
|
||||
the number to the closest initiator and access1 provides the
|
||||
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.
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
What: /sys/bus/event_source/devices/<pmu>
|
||||
Date: 2014/02/24
|
||||
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
|
||||
Description: Performance Monitoring Unit (<pmu>)
|
||||
|
||||
Each <pmu> directory, for a PMU device, is a name
|
||||
optionally followed by an underscore and then either a
|
||||
decimal or hexadecimal number. For example, cpu is a
|
||||
PMU name without a suffix as is intel_bts,
|
||||
uncore_imc_0 is a PMU name with a 0 numeric suffix,
|
||||
ddr_pmu_87e1b0000000 is a PMU name with a hex
|
||||
suffix. The hex suffix must be more than two
|
||||
characters long to avoid ambiguity with PMUs like the
|
||||
S390 cpum_cf.
|
||||
|
||||
Tools can treat PMUs with the same name that differ by
|
||||
suffix as instances of the same PMU for the sake of,
|
||||
for example, opening an event. For example, the PMUs
|
||||
uncore_imc_free_running_0 and
|
||||
uncore_imc_free_running_1 have an event data_read;
|
||||
opening the data_read event on a PMU specified as
|
||||
uncore_imc_free_running should be treated as opening
|
||||
the data_read event on PMU uncore_imc_free_running_0
|
||||
and PMU uncore_imc_free_running_1.
|
||||
@@ -37,11 +37,13 @@ Description: Per-pmu performance monitoring events specific to the running syste
|
||||
performance monitoring event supported by the <pmu>. The name
|
||||
of the file is the name of the event.
|
||||
|
||||
As performance monitoring event names are case
|
||||
insensitive in the perf tool, the perf tool only looks
|
||||
for lower or upper case event names in sysfs to avoid
|
||||
As performance monitoring event names are case insensitive
|
||||
in the perf tool, the perf tool only looks for all lower
|
||||
case or all upper case event names in sysfs to avoid
|
||||
scanning the directory. It is therefore required the
|
||||
name of the event here is either lower or upper case.
|
||||
name of the event here is either completely lower or upper
|
||||
case, with no mixed-case characters. Numbers, '.', '_', and
|
||||
'-' are also allowed.
|
||||
|
||||
File contents:
|
||||
|
||||
|
||||
@@ -168,18 +168,6 @@ Description:
|
||||
is required is a consistent labeling. Units after application
|
||||
of scale and offset are millivolts.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_currentY_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_currentY_supply_raw
|
||||
KernelVersion: 3.17
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Raw (unscaled no bias removal etc.) current measurement from
|
||||
channel Y. In special cases where the channel does not
|
||||
correspond to externally available input one of the named
|
||||
versions may be used. The number must always be specified and
|
||||
unique to allow association with event codes. Units after
|
||||
application of scale and offset are milliamps.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_powerY_raw
|
||||
KernelVersion: 4.5
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
@@ -227,7 +215,7 @@ Description:
|
||||
same scaling as _raw.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_temp_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_tempX_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_tempY_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_temp_x_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_temp_y_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_temp_ambient_raw
|
||||
@@ -416,11 +404,11 @@ Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Scaled humidity measurement in milli percent.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_X_mean_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_Y_mean_raw
|
||||
KernelVersion: 3.5
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Averaged raw measurement from channel X. The number of values
|
||||
Averaged raw measurement from channel Y. The number of values
|
||||
used for averaging is device specific. The converting rules for
|
||||
normal raw values also applies to the averaged raw values.
|
||||
|
||||
@@ -448,7 +436,7 @@ What: /sys/bus/iio/devices/iio:deviceX/in_humidityrelative_offset
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_magn_offset
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_rot_offset
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_angl_offset
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_capacitanceX_offset
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_capacitanceY_offset
|
||||
KernelVersion: 2.6.35
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
@@ -508,6 +496,9 @@ What: /sys/bus/iio/devices/iio:deviceX/in_angl_scale
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_intensity_x_scale
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_intensity_y_scale
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_intensity_z_scale
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_intensity_red_scale
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_intensity_green_scale
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_intensity_blue_scale
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_concentration_co2_scale
|
||||
KernelVersion: 2.6.35
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
@@ -660,10 +651,10 @@ What: /sys/.../iio:deviceX/in_magn_scale_available
|
||||
What: /sys/.../iio:deviceX/in_illuminance_scale_available
|
||||
What: /sys/.../iio:deviceX/in_intensity_scale_available
|
||||
What: /sys/.../iio:deviceX/in_proximity_scale_available
|
||||
What: /sys/.../iio:deviceX/in_voltageX_scale_available
|
||||
What: /sys/.../iio:deviceX/in_voltageY_scale_available
|
||||
What: /sys/.../iio:deviceX/in_voltage-voltage_scale_available
|
||||
What: /sys/.../iio:deviceX/out_voltageX_scale_available
|
||||
What: /sys/.../iio:deviceX/out_altvoltageX_scale_available
|
||||
What: /sys/.../iio:deviceX/out_voltageY_scale_available
|
||||
What: /sys/.../iio:deviceX/out_altvoltageY_scale_available
|
||||
What: /sys/.../iio:deviceX/in_capacitance_scale_available
|
||||
What: /sys/.../iio:deviceX/in_pressure_scale_available
|
||||
What: /sys/.../iio:deviceX/in_pressureY_scale_available
|
||||
@@ -681,6 +672,7 @@ What: /sys/bus/iio/devices/iio:deviceX/in_intensity_red_hardwaregain
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_intensity_green_hardwaregain
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_intensity_blue_hardwaregain
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_intensity_clear_hardwaregain
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_illuminance_hardwaregain
|
||||
KernelVersion: 2.6.35
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
@@ -1562,7 +1554,7 @@ Description:
|
||||
This attribute is used to read the amount of quadrature error
|
||||
present in the device at a given time.
|
||||
|
||||
What: /sys/.../iio:deviceX/in_accelX_power_mode
|
||||
What: /sys/.../iio:deviceX/in_accelY_power_mode
|
||||
KernelVersion: 3.11
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
@@ -1633,6 +1625,10 @@ What: /sys/.../iio:deviceX/in_intensityY_uv_raw
|
||||
What: /sys/.../iio:deviceX/in_intensityY_uva_raw
|
||||
What: /sys/.../iio:deviceX/in_intensityY_uvb_raw
|
||||
What: /sys/.../iio:deviceX/in_intensityY_duv_raw
|
||||
What: /sys/.../iio:deviceX/in_intensity_red_raw
|
||||
What: /sys/.../iio:deviceX/in_intensity_green_raw
|
||||
What: /sys/.../iio:deviceX/in_intensity_blue_raw
|
||||
What: /sys/.../iio:deviceX/in_intensity_clear_raw
|
||||
KernelVersion: 3.4
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
@@ -1691,16 +1687,19 @@ Description:
|
||||
Raw value of rotation from true/magnetic north measured with
|
||||
or without compensation from tilt sensors.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_currentX_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_currentX_i_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_currentX_q_raw
|
||||
KernelVersion: 3.18
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_currentY_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_currentY_supply_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_currentY_i_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_currentY_q_raw
|
||||
KernelVersion: 3.17
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Raw current measurement from channel X. Units are in milliamps
|
||||
Raw current measurement from channel Y. Units are in milliamps
|
||||
after application of scale and offset. If no offset or scale is
|
||||
present, output should be considered as processed with the
|
||||
unit in milliamps.
|
||||
unit in milliamps. In special cases where the channel does not
|
||||
correspond to externally available input one of the named
|
||||
versions may be used.
|
||||
|
||||
Channels with 'i' and 'q' modifiers always exist in pairs and both
|
||||
channels refer to the same signal. The 'i' channel contains the in-phase
|
||||
@@ -1864,9 +1863,9 @@ Description:
|
||||
hardware fifo watermark level.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_temp_calibemissivity
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_tempX_calibemissivity
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_tempY_calibemissivity
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_temp_object_calibemissivity
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_tempX_object_calibemissivity
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_tempY_object_calibemissivity
|
||||
KernelVersion: 4.1
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
@@ -1887,17 +1886,17 @@ Description:
|
||||
is considered as one sample for <type>[_name]_sampling_frequency.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_concentration_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_concentrationX_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_concentrationY_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_concentration_co2_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_concentrationX_co2_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_concentrationY_co2_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_concentration_ethanol_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_concentrationX_ethanol_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_concentrationY_ethanol_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_concentration_h2_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_concentrationX_h2_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_concentrationY_h2_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_concentration_o2_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_concentrationX_o2_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_concentrationY_o2_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_concentration_voc_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_concentrationX_voc_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_concentrationY_voc_raw
|
||||
KernelVersion: 4.3
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
@@ -1905,9 +1904,9 @@ Description:
|
||||
after application of scale and offset are percents.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_resistance_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_resistanceX_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_resistanceY_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/out_resistance_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/out_resistanceX_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/out_resistanceY_raw
|
||||
KernelVersion: 4.3
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
@@ -2096,7 +2095,7 @@ Description:
|
||||
One of the following thermocouple types: B, E, J, K, N, R, S, T.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_temp_object_calibambient
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_tempX_object_calibambient
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_tempY_object_calibambient
|
||||
KernelVersion: 5.10
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
@@ -2172,9 +2171,9 @@ Description:
|
||||
|
||||
- a range specified as "[min step max]"
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltageX_sampling_frequency
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltageY_sampling_frequency
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_powerY_sampling_frequency
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_currentZ_sampling_frequency
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_currentY_sampling_frequency
|
||||
KernelVersion: 5.20
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
@@ -2269,7 +2268,7 @@ Description:
|
||||
representing the sensor unique ID number.
|
||||
|
||||
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
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
@@ -2291,6 +2290,16 @@ Description:
|
||||
* "sinc3+pf2" - Sinc3 + device specific Post Filter 2.
|
||||
* "sinc3+pf3" - Sinc3 + device specific Post Filter 3.
|
||||
* "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
|
||||
KernelVersion: 6.6
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltageY_sys_calibration
|
||||
KernelVersion: 5.5
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
This attribute, if available, initiates the system calibration procedure. This is done on a
|
||||
single channel at a time. Write '1' to start the calibration.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltageY_sys_calibration_mode_available
|
||||
KernelVersion: 5.5
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
This attribute, if available, returns a list with the possible calibration modes.
|
||||
There are two available options:
|
||||
"zero_scale" - calibrate to zero scale
|
||||
"full_scale" - calibrate to full scale
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltageY_sys_calibration_mode
|
||||
KernelVersion: 5.5
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
This attribute, if available, sets up the calibration mode used in the system calibration
|
||||
procedure. Reading returns the current calibration mode.
|
||||
Writing sets the system calibration mode.
|
||||
@@ -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.
|
||||
@@ -19,33 +19,9 @@ Description:
|
||||
the bridge can be disconnected (when it is not being used
|
||||
using the bridge_switch_en attribute.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltagex_sys_calibration
|
||||
KernelVersion:
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Initiates the system calibration procedure. This is done on a
|
||||
single channel at a time. Write '1' to start the calibration.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltage2-voltage2_shorted_raw
|
||||
KernelVersion:
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Measure voltage from AIN2 pin connected to AIN(+)
|
||||
and AIN(-) shorted.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltagex_sys_calibration_mode_available
|
||||
KernelVersion:
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Reading returns a list with the possible calibration modes.
|
||||
There are two available options:
|
||||
"zero_scale" - calibrate to zero scale
|
||||
"full_scale" - calibrate to full scale
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltagex_sys_calibration_mode
|
||||
KernelVersion:
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Sets up the calibration mode used in the system calibration
|
||||
procedure. Reading returns the current calibration mode.
|
||||
Writing sets the system calibration mode.
|
||||
|
||||
@@ -583,3 +583,32 @@ Description:
|
||||
enclosure-specific indications "specific0" to "specific7",
|
||||
hence the corresponding led class devices are unavailable if
|
||||
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
|
||||
Description:
|
||||
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.
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
What: /sys/class/platform-profile/platform-profile-X/name
|
||||
Date: March 2025
|
||||
KernelVersion: 6.14
|
||||
Description: Name of the class device given by the driver.
|
||||
|
||||
RO
|
||||
|
||||
What: /sys/class/platform-profile/platform-profile-X/choices
|
||||
Date: March 2025
|
||||
KernelVersion: 6.14
|
||||
Description: This file contains a space-separated list of profiles supported
|
||||
for this device.
|
||||
|
||||
Drivers must use the following standard profile-names:
|
||||
|
||||
==================== ========================================
|
||||
low-power Low power consumption
|
||||
cool Cooler operation
|
||||
quiet Quieter operation
|
||||
balanced Balance between low power consumption
|
||||
and performance
|
||||
balanced-performance Balance between performance and low
|
||||
power consumption with a slight bias
|
||||
towards performance
|
||||
performance High performance operation
|
||||
custom Driver defined custom profile
|
||||
==================== ========================================
|
||||
|
||||
RO
|
||||
|
||||
What: /sys/class/platform-profile/platform-profile-X/profile
|
||||
Date: March 2025
|
||||
KernelVersion: 6.14
|
||||
Description: Reading this file gives the current selected profile for this
|
||||
device. Writing this file with one of the strings from
|
||||
platform_profile_choices changes the profile to the new value.
|
||||
|
||||
This file can be monitored for changes by polling for POLLPRI,
|
||||
POLLPRI will be signaled on any changes, independent of those
|
||||
changes coming from a userspace write; or coming from another
|
||||
source such as e.g. a hotkey triggered profile change handled
|
||||
either directly by the embedded-controller or fully handled
|
||||
inside the kernel.
|
||||
|
||||
This file may also emit the string 'custom' to indicate
|
||||
that the driver is using a driver defined custom profile.
|
||||
|
||||
RW
|
||||
@@ -407,10 +407,30 @@ Description:
|
||||
|
||||
Access: Read, Write
|
||||
|
||||
Reading this returns the current active value, e.g. 'Standard'.
|
||||
Check charge_types to get the values supported by the battery.
|
||||
|
||||
Valid values:
|
||||
"Unknown", "N/A", "Trickle", "Fast", "Standard",
|
||||
"Adaptive", "Custom", "Long Life", "Bypass"
|
||||
|
||||
What: /sys/class/power_supply/<supply_name>/charge_types
|
||||
Date: December 2024
|
||||
Contact: linux-pm@vger.kernel.org
|
||||
Description:
|
||||
Identical to charge_type but reading returns a list of supported
|
||||
charge-types with the currently active type surrounded by square
|
||||
brackets, e.g.: "Fast [Standard] Long_Life".
|
||||
|
||||
power_supply class devices may support both charge_type and
|
||||
charge_types for backward compatibility. In this case both will
|
||||
always have the same active value and the active value can be
|
||||
changed by writing either property.
|
||||
|
||||
Note charge-types which contain a space such as "Long Life" will
|
||||
have the space replaced by a '_' resulting in e.g. "Long_Life".
|
||||
When writing charge-types both variants are accepted.
|
||||
|
||||
What: /sys/class/power_supply/<supply_name>/charge_term_current
|
||||
Date: July 2014
|
||||
Contact: linux-pm@vger.kernel.org
|
||||
@@ -433,7 +453,7 @@ Description:
|
||||
|
||||
Valid values:
|
||||
"Unknown", "Good", "Overheat", "Dead",
|
||||
"Over voltage", "Unspecified failure", "Cold",
|
||||
"Over voltage", "Under voltage", "Unspecified failure", "Cold",
|
||||
"Watchdog timer expire", "Safety timer expire",
|
||||
"Over current", "Calibration required", "Warm",
|
||||
"Cool", "Hot", "No battery"
|
||||
@@ -793,3 +813,12 @@ Description:
|
||||
|
||||
Access: Read
|
||||
Valid values: 1-31
|
||||
|
||||
What: /sys/class/power_supply/<supply_name>/extensions/<extension_name>
|
||||
Date: March 2025
|
||||
Contact: linux-pm@vger.kernel.org
|
||||
Description:
|
||||
Reports the extensions registered to the power supply.
|
||||
Each entry is a link to the device which registered the extension.
|
||||
|
||||
Access: Read
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
What: /sys/class/power_supply/max1720x/temp_ain1
|
||||
Date: January 2025
|
||||
KernelVersion: 6.14
|
||||
Contact: Dimitri Fedrau <dimitri.fedrau@liebherr.com>
|
||||
Description:
|
||||
Reports the current temperature reading from AIN1 thermistor.
|
||||
|
||||
Access: Read
|
||||
|
||||
Valid values: Represented in 1/10 Degrees Celsius
|
||||
|
||||
What: /sys/class/power_supply/max1720x/temp_ain2
|
||||
Date: January 2025
|
||||
KernelVersion: 6.14
|
||||
Contact: Dimitri Fedrau <dimitri.fedrau@liebherr.com>
|
||||
Description:
|
||||
Reports the current temperature reading from AIN2 thermistor.
|
||||
|
||||
Access: Read
|
||||
|
||||
Valid values: Represented in 1/10 Degrees Celsius
|
||||
|
||||
What: /sys/class/power_supply/max1720x/temp_int
|
||||
Date: January 2025
|
||||
KernelVersion: 6.14
|
||||
Contact: Dimitri Fedrau <dimitri.fedrau@liebherr.com>
|
||||
Description:
|
||||
Reports the current temperature reading from internal die.
|
||||
|
||||
Access: Read
|
||||
|
||||
Valid values: Represented in 1/10 Degrees Celsius
|
||||
@@ -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
|
||||
@@ -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
|
||||
Date: January 2021
|
||||
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
|
||||
of sequential MAC addresses assigned to the board
|
||||
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
|
||||
Date: January 2021
|
||||
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
|
||||
addresses assigned to the board managed by the Intel
|
||||
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
|
||||
Date: Sep 2022
|
||||
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
|
||||
region if one is programmed, else it returns the
|
||||
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
|
||||
Date: Sep 2022
|
||||
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
|
||||
reconfiguration region if one is programmed, else it
|
||||
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
|
||||
Date: Sep 2022
|
||||
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
|
||||
if one is programmed, else it returns the string:
|
||||
"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
|
||||
Date: Sep 2022
|
||||
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
|
||||
signing keys for the static region. The standard bitmap
|
||||
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
|
||||
Date: Sep 2022
|
||||
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
|
||||
signing keys for the partial reconfiguration region. The
|
||||
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
|
||||
Date: Sep 2022
|
||||
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
|
||||
signing keys for the BMC. The standard bitmap list format
|
||||
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
|
||||
Date: Sep 2022
|
||||
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
|
||||
staging area has been flashed.
|
||||
Format: "%u".
|
||||
|
||||
@@ -108,3 +108,19 @@ Contact: intel-xe@lists.freedesktop.org
|
||||
Description: RO. Package current voltage in millivolt.
|
||||
|
||||
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.
|
||||
The Manufacturer ID is defined by JEDEC in JEDEC-JEP106.
|
||||
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.
|
||||
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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
|
||||
|
||||
What: /sys/fs/f2fs/<disk>/unusable
|
||||
Date April 2019
|
||||
Date: April 2019
|
||||
Contact: "Daniel Rosenberg" <drosen@google.com>
|
||||
Description: If checkpoint=disable, it displays the number of blocks that
|
||||
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.
|
||||
|
||||
What: /sys/fs/f2fs/<disk>/encoding
|
||||
Date July 2019
|
||||
Date: July 2019
|
||||
Contact: "Daniel Rosenberg" <drosen@google.com>
|
||||
Description: Displays name and version of the encoding set for the filesystem.
|
||||
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_CONSISTENCE 0x000080000
|
||||
FAULT_NO_SEGMENT 0x000100000
|
||||
FAULT_INCONSISTENT_FOOTER 0x000200000
|
||||
=========================== ===========
|
||||
|
||||
What: /sys/fs/f2fs/<disk>/discard_io_aware_gran
|
||||
@@ -828,3 +829,20 @@ Date: November 2024
|
||||
Contact: "Chao Yu" <chao@kernel.org>
|
||||
Description: It controls max read extent count for per-inode, the value of threshold
|
||||
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
|
||||
Description: read/write
|
||||
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.
|
||||
|
||||
@@ -55,6 +55,15 @@ Description:
|
||||
An attribute which indicates whether the patch supports
|
||||
atomic-replace.
|
||||
|
||||
What: /sys/kernel/livepatch/<patch>/stack_order
|
||||
Date: Jan 2025
|
||||
KernelVersion: 6.14.0
|
||||
Description:
|
||||
This attribute specifies the sequence in which live patch modules
|
||||
are applied to the system. If multiple live patches modify the same
|
||||
function, the implementation with the biggest 'stack_order' number
|
||||
is used, unless a transition is currently in progress.
|
||||
|
||||
What: /sys/kernel/livepatch/<patch>/<object>
|
||||
Date: Nov 2014
|
||||
KernelVersion: 3.19.0
|
||||
|
||||
@@ -29,3 +29,16 @@ Date: Feb 2024
|
||||
Contact: Anshuman Khandual <anshuman.khandual@arm.com>
|
||||
Description:
|
||||
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
|
||||
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
|
||||
|
||||
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
|
||||
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
|
||||
Date: Dec 2022
|
||||
Contact: SeongJae Park <sj@kernel.org>
|
||||
@@ -355,10 +399,31 @@ Description: If 'target' is written to the 'type' file, writing to or
|
||||
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/matching
|
||||
Date: Dec 2022
|
||||
Contact: SeongJae Park <sj@kernel.org>
|
||||
Description: Writing 'Y' or 'N' to this file sets whether to filter out
|
||||
pages that do or do not match to the 'type' and 'memcg_path',
|
||||
respectively. Filter out means the action of the scheme will
|
||||
not be applied to.
|
||||
Description: Writing 'Y' or 'N' to this file sets whether the filter is for
|
||||
the memory of the 'type', or all except the 'type'.
|
||||
|
||||
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/filters/<F>/allow
|
||||
Date: Jan 2025
|
||||
Contact: SeongJae Park <sj@kernel.org>
|
||||
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
|
||||
'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
|
||||
Date: Mar 2022
|
||||
@@ -384,6 +449,12 @@ Contact: SeongJae Park <sj@kernel.org>
|
||||
Description: Reading this file returns the total size of regions that the
|
||||
action of the scheme has successfully applied in bytes.
|
||||
|
||||
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/sz_ops_filter_passed
|
||||
Date: Dec 2024
|
||||
Contact: SeongJae Park <sj@kernel.org>
|
||||
Description: Reading this file returns the total size of memory that passed
|
||||
DAMON operations layer-handled filters of the scheme in bytes.
|
||||
|
||||
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/stats/qt_exceeds
|
||||
Date: Mar 2022
|
||||
Contact: SeongJae Park <sj@kernel.org>
|
||||
@@ -424,3 +495,10 @@ Contact: SeongJae Park <sj@kernel.org>
|
||||
Description: Reading this file returns the 'age' of a memory region that
|
||||
corresponding DAMON-based Operation Scheme's action has tried
|
||||
to be applied.
|
||||
|
||||
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/tried_regions/<R>/sz_filter_passed
|
||||
Date: Dec 2024
|
||||
Contact: SeongJae Park <sj@kernel.org>
|
||||
Description: Reading this file returns the size of the memory in the region
|
||||
that passed DAMON operations layer-handled filters of the
|
||||
scheme in bytes.
|
||||
|
||||
@@ -30,3 +30,11 @@ KernelVersion: 5.11
|
||||
Contact: Matteo Croce <mcroce@microsoft.com>
|
||||
Description: Don't wait for any other CPUs on reboot and
|
||||
avoid anything that could hang.
|
||||
|
||||
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.
|
||||
A successful write to this attribute will latch the
|
||||
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.
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
HID Driver Description
|
||||
MLNXBFD0 mlxbf-pmc Performance counters (BlueField-1)
|
||||
MLNXBFD1 mlxbf-pmc Performance counters (BlueField-2)
|
||||
MLNXBFD2 mlxbf-pmc Performance counters (BlueField-3)
|
||||
|
||||
What: /sys/bus/platform/devices/<HID>/hwmon/hwmonX/<block>/event_list
|
||||
Date: Dec 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: "Shravan Kumar Ramani <shravankr@nvidia.com>"
|
||||
Description:
|
||||
List of events supported by the counters in the specific block.
|
||||
It is used to extract the event number or ID associated with
|
||||
each event.
|
||||
|
||||
What: /sys/bus/platform/devices/<HID>/hwmon/hwmonX/<block>/event<N>
|
||||
Date: Dec 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: "Shravan Kumar Ramani <shravankr@nvidia.com>"
|
||||
Description:
|
||||
Event monitored by corresponding counter. This is used to
|
||||
program or read back the event that should be or is currently
|
||||
being monitored by counter<N>.
|
||||
|
||||
What: /sys/bus/platform/devices/<HID>/hwmon/hwmonX/<block>/counter<N>
|
||||
Date: Dec 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: "Shravan Kumar Ramani <shravankr@nvidia.com>"
|
||||
Description:
|
||||
Counter value of the event being monitored. This is used to
|
||||
read the counter value of the event which was programmed using
|
||||
event<N>. This is also used to clear or reset the counter value
|
||||
by writing 0 to the counter sysfs.
|
||||
|
||||
What: /sys/bus/platform/devices/<HID>/hwmon/hwmonX/<block>/enable
|
||||
Date: Dec 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: "Shravan Kumar Ramani <shravankr@nvidia.com>"
|
||||
Description:
|
||||
Start or stop counters. This is used to start the counters
|
||||
for monitoring the programmed events and also to stop the
|
||||
counters after the desired duration. Writing value 1 will
|
||||
start all the counters in the block, and writing 0 will
|
||||
stop all the counters together.
|
||||
|
||||
What: /sys/bus/platform/devices/<HID>/hwmon/hwmonX/<block>/<reg>
|
||||
Date: Dec 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: "Shravan Kumar Ramani <shravankr@nvidia.com>"
|
||||
Description:
|
||||
Value of register. This is used to read or reset the registers
|
||||
where various performance statistics are counted for each block.
|
||||
Writing 0 to the sysfs will clear the counter, writing any other
|
||||
value is not allowed.
|
||||
|
||||
What: /sys/bus/platform/devices/<HID>/hwmon/hwmonX/<block>/count_clock
|
||||
Date: Mar 2025
|
||||
KernelVersion: 6.14
|
||||
Contact: "Shravan Kumar Ramani <shravankr@nvidia.com>"
|
||||
Description:
|
||||
Use a counter for counting cycles. This is used to repurpose/dedicate
|
||||
any of the counters in the block to counting cycles. Each counter is
|
||||
represented by a bit (bit 0 for counter0, bit1 for counter1 and so on)
|
||||
and setting the corresponding bit will reserve that specific counter
|
||||
for counting cycles and override the event<N> setting.
|
||||
@@ -33,3 +33,8 @@ Description: Reading this file gives the current selected profile for this
|
||||
source such as e.g. a hotkey triggered profile change handled
|
||||
either directly by the embedded-controller or fully handled
|
||||
inside the kernel.
|
||||
|
||||
This file may also emit the string 'custom' to indicate
|
||||
that multiple platform profiles drivers are in use but
|
||||
have different values. This string can not be written to
|
||||
this interface and is solely for informational purposes.
|
||||
|
||||
@@ -131,7 +131,7 @@ Description:
|
||||
CAUTION: Using it will cause your machine's real-time (CMOS)
|
||||
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
|
||||
Contact: James Hogan <jhogan@kernel.org>
|
||||
Description:
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
What: /sys/class/pps-gen/
|
||||
Date: February 2025
|
||||
KernelVersion: 6.13
|
||||
Contact: Rodolfo Giometti <giometti@enneenne.com>
|
||||
Description:
|
||||
The /sys/class/pps-gen/ directory contains files and
|
||||
directories that provide a unified interface to the PPS
|
||||
generators.
|
||||
|
||||
What: /sys/class/pps-gen/pps-genX/
|
||||
Date: February 2025
|
||||
KernelVersion: 6.13
|
||||
Contact: Rodolfo Giometti <giometti@enneenne.com>
|
||||
Description:
|
||||
The /sys/class/pps-gen/pps-genX/ directory is related to X-th
|
||||
PPS generator in the system. Each directory contain files to
|
||||
manage and control its PPS generator.
|
||||
|
||||
What: /sys/class/pps-gen/pps-genX/enable
|
||||
Date: February 2025
|
||||
KernelVersion: 6.13
|
||||
Contact: Rodolfo Giometti <giometti@enneenne.com>
|
||||
Description:
|
||||
This write-only file enables or disables generation of the
|
||||
PPS signal.
|
||||
|
||||
What: /sys/class/pps-gen/pps-genX/system
|
||||
Date: February 2025
|
||||
KernelVersion: 6.13
|
||||
Contact: Rodolfo Giometti <giometti@enneenne.com>
|
||||
Description:
|
||||
This read-only file returns "1" if the generator takes the
|
||||
timing from the system clock, while it returns "0" if not
|
||||
(i.e. from a peripheral device clock).
|
||||
|
||||
What: /sys/class/pps-gen/pps-genX/time
|
||||
Date: February 2025
|
||||
KernelVersion: 6.13
|
||||
Contact: Rodolfo Giometti <giometti@enneenne.com>
|
||||
Description:
|
||||
This read-only file contains the current time stored into the
|
||||
generator clock as two integers representing the current time
|
||||
seconds and nanoseconds.
|
||||
@@ -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
|
||||
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
|
||||
|
||||
# You can set these variables from the command line.
|
||||
@@ -104,7 +104,7 @@ quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4)
|
||||
YNL_INDEX:=$(srctree)/Documentation/networking/netlink_spec/index.rst
|
||||
YNL_RST_DIR:=$(srctree)/Documentation/networking/netlink_spec
|
||||
YNL_YAML_DIR:=$(srctree)/Documentation/netlink/specs
|
||||
YNL_TOOL:=$(srctree)/tools/net/ynl/ynl-gen-rst.py
|
||||
YNL_TOOL:=$(srctree)/tools/net/ynl/pyynl/ynl_gen_rst.py
|
||||
|
||||
YNL_RST_FILES_TMP := $(patsubst %.yaml,%.rst,$(wildcard $(YNL_YAML_DIR)/*.yaml))
|
||||
YNL_RST_FILES := $(patsubst $(YNL_YAML_DIR)%,$(YNL_RST_DIR)%, $(YNL_RST_FILES_TMP))
|
||||
|
||||
@@ -15,6 +15,7 @@ PCI Endpoint Framework
|
||||
pci-ntb-howto
|
||||
pci-vntb-function
|
||||
pci-vntb-howto
|
||||
pci-nvme-function
|
||||
|
||||
function/binding/pci-test
|
||||
function/binding/pci-ntb
|
||||
|
||||
@@ -57,11 +57,10 @@ by the PCI controller driver.
|
||||
The PCI controller driver can then create a new EPC device by invoking
|
||||
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
|
||||
devm_pci_epc_create() or pci_epc_create() using devm_pci_epc_destroy() or
|
||||
pci_epc_destroy().
|
||||
The PCI controller driver can destroy the EPC device created by
|
||||
pci_epc_create() using pci_epc_destroy().
|
||||
|
||||
* pci_epc_linkup()
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
=================
|
||||
PCI NVMe Function
|
||||
=================
|
||||
|
||||
:Author: Damien Le Moal <dlemoal@kernel.org>
|
||||
|
||||
The PCI NVMe endpoint function implements a PCI NVMe controller using the NVMe
|
||||
subsystem target core code. The driver for this function resides with the NVMe
|
||||
subsystem as drivers/nvme/target/nvmet-pciep.c.
|
||||
|
||||
See Documentation/nvme/nvme-pci-endpoint-target.rst for more details.
|
||||
@@ -81,8 +81,8 @@ device, the following commands can be used::
|
||||
|
||||
# echo 0x104c > functions/pci_epf_test/func1/vendorid
|
||||
# echo 0xb500 > functions/pci_epf_test/func1/deviceid
|
||||
# echo 16 > functions/pci_epf_test/func1/msi_interrupts
|
||||
# echo 8 > functions/pci_epf_test/func1/msix_interrupts
|
||||
# echo 32 > functions/pci_epf_test/func1/msi_interrupts
|
||||
# echo 2048 > functions/pci_epf_test/func1/msix_interrupts
|
||||
|
||||
|
||||
Binding pci-epf-test Device to EP Controller
|
||||
@@ -123,113 +123,83 @@ above::
|
||||
Using Endpoint Test function Device
|
||||
-----------------------------------
|
||||
|
||||
pcitest.sh added in tools/pci/ can be used to run all the default PCI endpoint
|
||||
tests. To compile this tool the following commands should be used::
|
||||
Kselftest added in tools/testing/selftests/pci_endpoint can be used to run all
|
||||
the default PCI endpoint tests. To build the Kselftest for PCI endpoint
|
||||
subsystem, the following commands should be used::
|
||||
|
||||
# cd <kernel-dir>
|
||||
# make -C tools/pci
|
||||
# make -C tools/testing/selftests/pci_endpoint
|
||||
|
||||
or if you desire to compile and install in your system::
|
||||
|
||||
# cd <kernel-dir>
|
||||
# make -C tools/pci install
|
||||
# make -C tools/testing/selftests/pci_endpoint INSTALL_PATH=/usr/bin install
|
||||
|
||||
The tool and script will be located in <rootfs>/usr/bin/
|
||||
The test will be located in <rootfs>/usr/bin/
|
||||
|
||||
|
||||
pcitest.sh Output
|
||||
~~~~~~~~~~~~~~~~~
|
||||
Kselftest Output
|
||||
~~~~~~~~~~~~~~~~
|
||||
::
|
||||
|
||||
# pcitest.sh
|
||||
BAR tests
|
||||
# pci_endpoint_test
|
||||
TAP version 13
|
||||
1..16
|
||||
# Starting 16 tests from 9 test cases.
|
||||
# RUN pci_ep_bar.BAR0.BAR_TEST ...
|
||||
# OK pci_ep_bar.BAR0.BAR_TEST
|
||||
ok 1 pci_ep_bar.BAR0.BAR_TEST
|
||||
# RUN pci_ep_bar.BAR1.BAR_TEST ...
|
||||
# OK pci_ep_bar.BAR1.BAR_TEST
|
||||
ok 2 pci_ep_bar.BAR1.BAR_TEST
|
||||
# RUN pci_ep_bar.BAR2.BAR_TEST ...
|
||||
# OK pci_ep_bar.BAR2.BAR_TEST
|
||||
ok 3 pci_ep_bar.BAR2.BAR_TEST
|
||||
# RUN pci_ep_bar.BAR3.BAR_TEST ...
|
||||
# OK pci_ep_bar.BAR3.BAR_TEST
|
||||
ok 4 pci_ep_bar.BAR3.BAR_TEST
|
||||
# RUN pci_ep_bar.BAR4.BAR_TEST ...
|
||||
# OK pci_ep_bar.BAR4.BAR_TEST
|
||||
ok 5 pci_ep_bar.BAR4.BAR_TEST
|
||||
# RUN pci_ep_bar.BAR5.BAR_TEST ...
|
||||
# OK pci_ep_bar.BAR5.BAR_TEST
|
||||
ok 6 pci_ep_bar.BAR5.BAR_TEST
|
||||
# RUN pci_ep_basic.CONSECUTIVE_BAR_TEST ...
|
||||
# OK pci_ep_basic.CONSECUTIVE_BAR_TEST
|
||||
ok 7 pci_ep_basic.CONSECUTIVE_BAR_TEST
|
||||
# RUN pci_ep_basic.LEGACY_IRQ_TEST ...
|
||||
# OK pci_ep_basic.LEGACY_IRQ_TEST
|
||||
ok 8 pci_ep_basic.LEGACY_IRQ_TEST
|
||||
# RUN pci_ep_basic.MSI_TEST ...
|
||||
# OK pci_ep_basic.MSI_TEST
|
||||
ok 9 pci_ep_basic.MSI_TEST
|
||||
# RUN pci_ep_basic.MSIX_TEST ...
|
||||
# OK pci_ep_basic.MSIX_TEST
|
||||
ok 10 pci_ep_basic.MSIX_TEST
|
||||
# RUN pci_ep_data_transfer.memcpy.READ_TEST ...
|
||||
# OK pci_ep_data_transfer.memcpy.READ_TEST
|
||||
ok 11 pci_ep_data_transfer.memcpy.READ_TEST
|
||||
# RUN pci_ep_data_transfer.memcpy.WRITE_TEST ...
|
||||
# OK pci_ep_data_transfer.memcpy.WRITE_TEST
|
||||
ok 12 pci_ep_data_transfer.memcpy.WRITE_TEST
|
||||
# RUN pci_ep_data_transfer.memcpy.COPY_TEST ...
|
||||
# OK pci_ep_data_transfer.memcpy.COPY_TEST
|
||||
ok 13 pci_ep_data_transfer.memcpy.COPY_TEST
|
||||
# RUN pci_ep_data_transfer.dma.READ_TEST ...
|
||||
# OK pci_ep_data_transfer.dma.READ_TEST
|
||||
ok 14 pci_ep_data_transfer.dma.READ_TEST
|
||||
# RUN pci_ep_data_transfer.dma.WRITE_TEST ...
|
||||
# OK pci_ep_data_transfer.dma.WRITE_TEST
|
||||
ok 15 pci_ep_data_transfer.dma.WRITE_TEST
|
||||
# RUN pci_ep_data_transfer.dma.COPY_TEST ...
|
||||
# OK pci_ep_data_transfer.dma.COPY_TEST
|
||||
ok 16 pci_ep_data_transfer.dma.COPY_TEST
|
||||
# PASSED: 16 / 16 tests passed.
|
||||
# Totals: pass:16 fail:0 xfail:0 xpass:0 skip:0 error:0
|
||||
|
||||
BAR0: OKAY
|
||||
BAR1: OKAY
|
||||
BAR2: OKAY
|
||||
BAR3: OKAY
|
||||
BAR4: NOT OKAY
|
||||
BAR5: NOT OKAY
|
||||
|
||||
Interrupt tests
|
||||
Testcase 16 (pci_ep_data_transfer.dma.COPY_TEST) will fail for most of the DMA
|
||||
capable endpoint controllers due to the absence of the MEMCPY over DMA. For such
|
||||
controllers, it is advisable to skip this testcase using this
|
||||
command::
|
||||
|
||||
SET IRQ TYPE TO LEGACY: OKAY
|
||||
LEGACY IRQ: NOT OKAY
|
||||
SET IRQ TYPE TO MSI: OKAY
|
||||
MSI1: OKAY
|
||||
MSI2: OKAY
|
||||
MSI3: OKAY
|
||||
MSI4: OKAY
|
||||
MSI5: OKAY
|
||||
MSI6: OKAY
|
||||
MSI7: OKAY
|
||||
MSI8: OKAY
|
||||
MSI9: OKAY
|
||||
MSI10: OKAY
|
||||
MSI11: OKAY
|
||||
MSI12: OKAY
|
||||
MSI13: OKAY
|
||||
MSI14: OKAY
|
||||
MSI15: OKAY
|
||||
MSI16: OKAY
|
||||
MSI17: NOT OKAY
|
||||
MSI18: NOT OKAY
|
||||
MSI19: NOT OKAY
|
||||
MSI20: NOT OKAY
|
||||
MSI21: NOT OKAY
|
||||
MSI22: NOT OKAY
|
||||
MSI23: NOT OKAY
|
||||
MSI24: NOT OKAY
|
||||
MSI25: NOT OKAY
|
||||
MSI26: NOT OKAY
|
||||
MSI27: NOT OKAY
|
||||
MSI28: NOT OKAY
|
||||
MSI29: NOT OKAY
|
||||
MSI30: NOT OKAY
|
||||
MSI31: NOT OKAY
|
||||
MSI32: NOT OKAY
|
||||
SET IRQ TYPE TO MSI-X: OKAY
|
||||
MSI-X1: OKAY
|
||||
MSI-X2: OKAY
|
||||
MSI-X3: OKAY
|
||||
MSI-X4: OKAY
|
||||
MSI-X5: OKAY
|
||||
MSI-X6: OKAY
|
||||
MSI-X7: OKAY
|
||||
MSI-X8: OKAY
|
||||
MSI-X9: NOT OKAY
|
||||
MSI-X10: NOT OKAY
|
||||
MSI-X11: NOT OKAY
|
||||
MSI-X12: NOT OKAY
|
||||
MSI-X13: NOT OKAY
|
||||
MSI-X14: NOT OKAY
|
||||
MSI-X15: NOT OKAY
|
||||
MSI-X16: NOT OKAY
|
||||
[...]
|
||||
MSI-X2047: NOT OKAY
|
||||
MSI-X2048: NOT OKAY
|
||||
|
||||
Read Tests
|
||||
|
||||
SET IRQ TYPE TO MSI: OKAY
|
||||
READ ( 1 bytes): OKAY
|
||||
READ ( 1024 bytes): OKAY
|
||||
READ ( 1025 bytes): OKAY
|
||||
READ (1024000 bytes): OKAY
|
||||
READ (1024001 bytes): OKAY
|
||||
|
||||
Write Tests
|
||||
|
||||
WRITE ( 1 bytes): OKAY
|
||||
WRITE ( 1024 bytes): OKAY
|
||||
WRITE ( 1025 bytes): OKAY
|
||||
WRITE (1024000 bytes): OKAY
|
||||
WRITE (1024001 bytes): OKAY
|
||||
|
||||
Copy Tests
|
||||
|
||||
COPY ( 1 bytes): OKAY
|
||||
COPY ( 1024 bytes): OKAY
|
||||
COPY ( 1025 bytes): OKAY
|
||||
COPY (1024000 bytes): OKAY
|
||||
COPY (1024001 bytes): OKAY
|
||||
# pci_endpoint_test -f pci_ep_bar -f pci_ep_basic -v memcpy -T COPY_TEST -v dma
|
||||
|
||||
@@ -329,10 +329,7 @@ Answer:
|
||||
was first added back in 2005. This is because on_each_cpu()
|
||||
disables preemption, which acted as an RCU read-side critical
|
||||
section, thus preventing CPU 0's grace period from completing
|
||||
until on_each_cpu() had dealt with all of the CPUs. However,
|
||||
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.
|
||||
until on_each_cpu() had dealt with all of the CPUs.
|
||||
|
||||
However, with the RCU flavor consolidation around v4.20, this
|
||||
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,
|
||||
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
|
||||
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
|
||||
|
||||
@@ -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
|
||||
reference-free spinlock acquisition completely unsafe. Therefore, when
|
||||
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
|
||||
may also use locking, including cache-friendly sequence locking.)
|
||||
|
||||
|
||||
@@ -100,29 +100,29 @@ Get delays, since system boot, for pid 10::
|
||||
# ./getdelays -d -p 10
|
||||
(output similar to next case)
|
||||
|
||||
Get sum of delays, since system boot, for all pids with tgid 5::
|
||||
Get sum and peak of delays, since system boot, for all pids with tgid 242::
|
||||
|
||||
# ./getdelays -d -t 5
|
||||
bash-4.4# ./getdelays -d -t 242
|
||||
print delayacct stats ON
|
||||
TGID 5
|
||||
TGID 242
|
||||
|
||||
|
||||
CPU count real total virtual total delay total delay average
|
||||
8 7000000 6872122 3382277 0.423ms
|
||||
IO count delay total delay average
|
||||
0 0 0.000ms
|
||||
SWAP count delay total delay average
|
||||
0 0 0.000ms
|
||||
RECLAIM count delay total delay average
|
||||
0 0 0.000ms
|
||||
THRASHING count delay total delay average
|
||||
0 0 0.000ms
|
||||
COMPACT count delay total delay average
|
||||
0 0 0.000ms
|
||||
WPCOPY count delay total delay average
|
||||
0 0 0.000ms
|
||||
IRQ count delay total delay average
|
||||
0 0 0.000ms
|
||||
CPU count real total virtual total delay total delay average delay max delay min
|
||||
39 156000000 156576579 2111069 0.054ms 0.212296ms 0.031307ms
|
||||
IO count delay total delay average delay max delay min
|
||||
0 0 0.000ms 0.000000ms 0.000000ms
|
||||
SWAP count delay total delay average delay max delay min
|
||||
0 0 0.000ms 0.000000ms 0.000000ms
|
||||
RECLAIM count delay total delay average delay max delay min
|
||||
0 0 0.000ms 0.000000ms 0.000000ms
|
||||
THRASHING count delay total delay average delay max delay min
|
||||
0 0 0.000ms 0.000000ms 0.000000ms
|
||||
COMPACT count delay total delay average delay max delay min
|
||||
0 0 0.000ms 0.000000ms 0.000000ms
|
||||
WPCOPY count delay total delay average delay max delay min
|
||||
156 11215873 0.072ms 0.207403ms 0.033913ms
|
||||
IRQ count delay total delay average delay max delay min
|
||||
0 0 0.000ms 0.000000ms 0.000000ms
|
||||
|
||||
Get IO accounting for pid 1, it works only with -p::
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ should not change the relative position of each field within the struct.
|
||||
1) Common and basic accounting fields::
|
||||
|
||||
/* The version number of this struct. This field is always set to
|
||||
* TAKSTATS_VERSION, which is defined in <linux/taskstats.h>.
|
||||
* TASKSTATS_VERSION, which is defined in <linux/taskstats.h>.
|
||||
* Each time the struct is changed, the value should be incremented.
|
||||
*/
|
||||
__u16 version;
|
||||
|
||||
@@ -48,3 +48,4 @@ subdirectories.
|
||||
Yama
|
||||
SafeSetID
|
||||
ipe
|
||||
landlock
|
||||
|
||||
@@ -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 gconfig" GTK+ based configuration tool.
|
||||
"make gconfig" GTK based configuration tool.
|
||||
|
||||
"make oldconfig" Default all questions based on the contents of
|
||||
your existing ./.config file and asking about
|
||||
@@ -176,7 +176,7 @@ Configuring the kernel
|
||||
values without prompting.
|
||||
|
||||
"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,
|
||||
depending on the architecture.
|
||||
|
||||
@@ -356,5 +356,5 @@ instructions at 'Documentation/admin-guide/reporting-issues.rst'.
|
||||
|
||||
Hints on understanding kernel bug reports are in
|
||||
'Documentation/admin-guide/bug-hunting.rst'. More on debugging the kernel
|
||||
with gdb is in 'Documentation/dev-tools/gdb-kernel-debugging.rst' and
|
||||
'Documentation/dev-tools/kgdb.rst'.
|
||||
with gdb is in 'Documentation/process/debugging/gdb-kernel-debugging.rst' and
|
||||
'Documentation/process/debugging/kgdb.rst'.
|
||||
|
||||
@@ -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
|
||||
====================
|
||||
|
||||
@@ -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
|
||||
obsolete and when it can be expected to be removed.
|
||||
|
||||
.. kernel-abi:: ABI/obsolete
|
||||
:rst:
|
||||
.. kernel-abi:: obsolete
|
||||
:no-files:
|
||||
|
||||
@@ -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
|
||||
===================
|
||||
|
||||
.. kernel-abi:: ABI/removed
|
||||
:rst:
|
||||
.. kernel-abi:: removed
|
||||
:no-files:
|
||||
|
||||
@@ -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
|
||||
==================
|
||||
|
||||
@@ -10,5 +12,5 @@ for at least 2 years.
|
||||
Most interfaces (like syscalls) are expected to never change and always
|
||||
be available.
|
||||
|
||||
.. kernel-abi:: ABI/stable
|
||||
:rst:
|
||||
.. kernel-abi:: stable
|
||||
:no-files:
|
||||
|
||||
@@ -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
|
||||
===================
|
||||
|
||||
@@ -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
|
||||
developers can easily notify them if any changes occur.
|
||||
|
||||
.. kernel-abi:: ABI/testing
|
||||
:rst:
|
||||
.. kernel-abi:: testing
|
||||
:no-files:
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
=====================
|
||||
Linux ABI description
|
||||
=====================
|
||||
|
||||
.. kernel-abi:: README
|
||||
|
||||
ABI symbols
|
||||
-----------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
@@ -9,3 +16,14 @@ Linux ABI description
|
||||
abi-testing
|
||||
abi-obsolete
|
||||
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,
|
||||
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
|
||||
handle_error
|
||||
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
|
||||
pre-created. Default: 1.
|
||||
|
||||
2) Set max number of compression streams
|
||||
========================================
|
||||
|
||||
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
|
||||
2) Select compression algorithm
|
||||
===============================
|
||||
|
||||
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
|
||||
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
|
||||
@@ -121,14 +107,14 @@ compression algorithm to use external pre-trained dictionary, pass full
|
||||
path to the `dict` along with other parameters::
|
||||
|
||||
#pass path to pre-trained zstd dictionary
|
||||
echo "algo=zstd dict=/etc/dictioary" > /sys/block/zram0/algorithm_params
|
||||
echo "algo=zstd dict=/etc/dictionary" > /sys/block/zram0/algorithm_params
|
||||
|
||||
#same, but using algorithm priority
|
||||
echo "priority=1 dict=/etc/dictioary" > \
|
||||
echo "priority=1 dict=/etc/dictionary" > \
|
||||
/sys/block/zram0/algorithm_params
|
||||
|
||||
#pass path to pre-trained zstd dictionary and compression level
|
||||
echo "algo=zstd level=8 dict=/etc/dictioary" > \
|
||||
echo "algo=zstd level=8 dict=/etc/dictionary" > \
|
||||
/sys/block/zram0/algorithm_params
|
||||
|
||||
Parameters are algorithm specific: not all algorithms support pre-trained
|
||||
@@ -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
|
||||
the value the lower the compression ratio).
|
||||
|
||||
5) Set Disksize
|
||||
4) Set 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
|
||||
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'.
|
||||
@@ -177,7 +163,7 @@ Examples::
|
||||
# To disable memory limit
|
||||
echo 0 > /sys/block/zram0/mem_limit
|
||||
|
||||
7) Activate
|
||||
6) Activate
|
||||
===========
|
||||
|
||||
::
|
||||
@@ -188,7 +174,7 @@ Examples::
|
||||
mkfs.ext4 /dev/zram1
|
||||
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
|
||||
@@ -208,7 +194,7 @@ execute::
|
||||
|
||||
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>/
|
||||
@@ -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
|
||||
can write out to backing device as 4KB unit
|
||||
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
|
||||
algorithm_params WO setup compression algorithm parameters
|
||||
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
|
||||
============== =============================================================
|
||||
|
||||
10) Deactivate
|
||||
9) Deactivate
|
||||
==============
|
||||
|
||||
::
|
||||
@@ -318,7 +302,7 @@ a single line of text and contains the following stats separated by whitespace:
|
||||
swapoff /dev/zram0
|
||||
umount /dev/zram1
|
||||
|
||||
11) Reset
|
||||
10) Reset
|
||||
=========
|
||||
|
||||
Write any positive value to 'reset' sysfs node::
|
||||
|
||||
@@ -21,8 +21,8 @@ override the baud rate to 115200, etc.
|
||||
By default, the braille device will just show the last kernel message (console
|
||||
mode). To review previous messages, press the Insert key to switch to the VT
|
||||
review mode. In review mode, the arrow keys permit to browse in the VT content,
|
||||
:kbd:`PAGE-UP`/:kbd:`PAGE-DOWN` keys go at the top/bottom of the screen, and
|
||||
the :kbd:`HOME` key goes back
|
||||
`PAGE-UP`/`PAGE-DOWN` keys go at the top/bottom of the screen, and
|
||||
the `HOME` key goes back
|
||||
to the cursor, hence providing very basic screen reviewing facility.
|
||||
|
||||
Sound feedback can be obtained by adding the ``braille_console.sound=1`` kernel
|
||||
|
||||
@@ -368,12 +368,3 @@ processed by ``klogd``::
|
||||
Aug 29 09:51:01 blizard kernel: Call Trace: [oops:_oops_ioctl+48/80] [_sys_ioctl+254/272] [_system_call+82/128]
|
||||
Aug 29 09:51:01 blizard kernel: Code: c7 00 05 00 00 00 eb 08 90 90 90 90 90 90 90 90 89 ec 5d c3
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
::
|
||||
|
||||
Dr. G.W. Wettstein Oncology Research Div. Computing Facility
|
||||
Roger Maris Cancer Center INTERNET: greg@wind.rmcc.com
|
||||
820 4th St. N.
|
||||
Fargo, ND 58122
|
||||
Phone: 701-234-7556
|
||||
|
||||
@@ -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
|
||||
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.
|
||||
memory.swappiness set/show swappiness parameter of vmscan
|
||||
(See sysctl's vm.swappiness)
|
||||
Per memcg knob does not exist in cgroup v2.
|
||||
memory.move_charge_at_immigrate This knob is deprecated.
|
||||
memory.oom_control set/show oom controls.
|
||||
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.
|
||||
|
||||
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,
|
||||
mapped_file is accounted only when the memory cgroup is owner of page
|
||||
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
|
||||
be exceeded by a CPU.
|
||||
|
||||
WARNING: cgroup2 doesn't yet support control of realtime processes. For
|
||||
a kernel built with the CONFIG_RT_GROUP_SCHED option enabled for group
|
||||
scheduling of realtime processes, the cpu controller can only be enabled
|
||||
when all RT processes are in the root cgroup. This limitation does
|
||||
not apply if CONFIG_RT_GROUP_SCHED is disabled. Be aware that system
|
||||
management software may already have placed RT processes into nonroot
|
||||
cgroups during the system boot process, and these processes may need
|
||||
to be moved to the root cgroup before the cpu controller can be enabled
|
||||
with a CONFIG_RT_GROUP_SCHED enabled kernel.
|
||||
WARNING: cgroup2 cpu controller doesn't yet fully support the control of
|
||||
realtime processes. For a kernel built with the CONFIG_RT_GROUP_SCHED option
|
||||
enabled for group scheduling of realtime processes, the cpu controller can only
|
||||
be enabled when all RT processes are in the root cgroup. Be aware that system
|
||||
management software may already have placed RT processes into non-root cgroups
|
||||
during the system boot process, and these processes may need to be moved to the
|
||||
root cgroup before the cpu controller can be enabled 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
|
||||
@@ -1440,7 +1445,10 @@ The following nested keys are defined.
|
||||
|
||||
anon
|
||||
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
|
||||
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.
|
||||
|
||||
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
|
||||
Amount of cached filesystem data that was modified but
|
||||
@@ -1555,6 +1566,12 @@ The following nested keys are defined.
|
||||
workingset_nodereclaim
|
||||
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)
|
||||
Amount of scanned pages (in an inactive LRU list)
|
||||
|
||||
@@ -1570,6 +1587,9 @@ The following nested keys are defined.
|
||||
pgscan_khugepaged (npn)
|
||||
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)
|
||||
Amount of reclaimed pages by kswapd
|
||||
|
||||
@@ -1579,6 +1599,9 @@ The following nested keys are defined.
|
||||
pgsteal_khugepaged (npn)
|
||||
Amount of reclaimed pages by khugepaged
|
||||
|
||||
pgsteal_proactive (npn)
|
||||
Amount of reclaimed pages proactively
|
||||
|
||||
pgfault (npn)
|
||||
Total number of page faults incurred
|
||||
|
||||
@@ -1656,6 +1679,9 @@ The following nested keys are defined.
|
||||
pgdemote_khugepaged
|
||||
Number of pages demoted by khugepaged.
|
||||
|
||||
pgdemote_proactive
|
||||
Number of pages demoted by proactively.
|
||||
|
||||
hugetlb
|
||||
Amount of memory used by hugetlb pages. This metric only shows
|
||||
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
|
||||
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>
|
||||
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.
|
||||
|
||||
@@ -92,6 +92,11 @@ Target arguments:
|
||||
allowed. This mode is useful for data recovery if the
|
||||
device cannot be activated in any of the other standard
|
||||
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
|
||||
|
||||
|
||||
@@ -87,6 +87,15 @@ panic_on_corruption
|
||||
Panic the device when a corrupted block is discovered. This option is
|
||||
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
|
||||
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
|
||||
@@ -142,8 +151,15 @@ root_hash_sig_key_desc <key_description>
|
||||
already in the secondary trusted keyring.
|
||||
|
||||
try_verify_in_tasklet
|
||||
If verity hashes are in cache, verify data blocks in kernel tasklet instead
|
||||
of workqueue. This option can reduce IO latency.
|
||||
If verity hashes are in cache and the IO size does not exceed the limit,
|
||||
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
|
||||
===================
|
||||
|
||||
@@ -238,11 +238,10 @@ When mounting an ext4 filesystem, the following option are accepted:
|
||||
configured using tune2fs)
|
||||
|
||||
data_err=ignore(*)
|
||||
Just print an error message if an error occurs in a file data buffer in
|
||||
ordered mode.
|
||||
Just print an error message if an error occurs in a file data buffer.
|
||||
|
||||
data_err=abort
|
||||
Abort the journal if an error occurs in a file data buffer in ordered
|
||||
mode.
|
||||
Abort the journal if an error occurs in a file data buffer.
|
||||
|
||||
grpid | bsdgroups
|
||||
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
|
||||
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
|
||||
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
|
||||
|
||||
@@ -92,7 +92,7 @@ struct. The first two take string values as arguments:
|
||||
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
|
||||
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
|
||||
|
||||
@@ -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
|
||||
=================== ============
|
||||
|
||||
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
|
||||
==========
|
||||
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)
|
||||
|
||||
* '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:
|
||||
|
||||
|
||||
@@ -7,6 +7,9 @@ added to the kernel over time. There is, as yet, little overall order or
|
||||
organization here — this material was not written to be a single, coherent
|
||||
document! With luck things will improve quickly over time.
|
||||
|
||||
General guides to kernel administration
|
||||
---------------------------------------
|
||||
|
||||
This initial section contains overall information, including the README
|
||||
file describing the kernel as a whole, documentation on kernel parameters,
|
||||
etc.
|
||||
@@ -15,19 +18,44 @@ etc.
|
||||
:maxdepth: 1
|
||||
|
||||
README
|
||||
kernel-parameters
|
||||
devices
|
||||
sysctl/index
|
||||
|
||||
abi
|
||||
features
|
||||
|
||||
This section describes CPU vulnerabilities and their mitigations.
|
||||
A big part of the kernel's administrative interface is the /proc and sysfs
|
||||
virtual filesystems; these documents describe how to interact with tem
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
sysfs-rules
|
||||
sysctl/index
|
||||
cputopology
|
||||
abi
|
||||
|
||||
Security-related documentation:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
hw-vuln/index
|
||||
LSM/index
|
||||
perf-security
|
||||
|
||||
Booting the kernel
|
||||
------------------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
bootconfig
|
||||
kernel-parameters
|
||||
efi-stub
|
||||
initrd
|
||||
|
||||
|
||||
Tracking down and identifying problems
|
||||
--------------------------------------
|
||||
|
||||
Here is a set of documents aimed at users who are trying to track down
|
||||
problems and bugs in particular.
|
||||
@@ -48,15 +76,97 @@ problems and bugs in particular.
|
||||
kdump/index
|
||||
perf/index
|
||||
pstore-blk
|
||||
clearing-warn-once
|
||||
kernel-per-CPU-kthreads
|
||||
lockup-watchdogs
|
||||
RAS/index
|
||||
sysrq
|
||||
|
||||
This is the beginning of a section with information of interest to
|
||||
application developers. Documents covering various aspects of the kernel
|
||||
ABI will be found here.
|
||||
|
||||
Core-kernel subsystems
|
||||
----------------------
|
||||
|
||||
These documents describe core-kernel administration interfaces that are
|
||||
likely to be of interest on almost any system.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
sysfs-rules
|
||||
cgroup-v2
|
||||
cgroup-v1/index
|
||||
cpu-load
|
||||
mm/index
|
||||
module-signing
|
||||
namespaces/index
|
||||
numastat
|
||||
pm/index
|
||||
syscall-user-dispatch
|
||||
|
||||
Support for non-native binary formats. Note that some of these
|
||||
documents are ... old ...
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
binfmt-misc
|
||||
java
|
||||
mono
|
||||
|
||||
|
||||
Block-layer and filesystem administration
|
||||
-----------------------------------------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
bcache
|
||||
binderfs
|
||||
blockdev/index
|
||||
cifs/index
|
||||
device-mapper/index
|
||||
ext4
|
||||
filesystem-monitoring
|
||||
nfs/index
|
||||
iostats
|
||||
jfs
|
||||
md
|
||||
ufs
|
||||
xfs
|
||||
|
||||
Device-specific guides
|
||||
----------------------
|
||||
|
||||
How to configure your hardware within your Linux system.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
acpi/index
|
||||
aoe/index
|
||||
auxdisplay/index
|
||||
braille-console
|
||||
btmrvl
|
||||
dell_rbu
|
||||
edid
|
||||
gpio/index
|
||||
hw_random
|
||||
laptops/index
|
||||
lcd-panel-cgram
|
||||
media/index
|
||||
nvme-multipath
|
||||
parport
|
||||
pnp
|
||||
rapidio
|
||||
rtc
|
||||
serial-console
|
||||
svga
|
||||
thermal/index
|
||||
thunderbolt
|
||||
vga-softcursor
|
||||
video-output
|
||||
|
||||
Workload analysis
|
||||
-----------------
|
||||
|
||||
This is the beginning of a section with information of interest to
|
||||
application developers and system integrators doing analysis of the
|
||||
@@ -69,73 +179,16 @@ subsystems expectations will be found here.
|
||||
|
||||
workload-tracing
|
||||
|
||||
The rest of this manual consists of various unordered guides on how to
|
||||
configure specific aspects of kernel behavior to your liking.
|
||||
Everything else
|
||||
---------------
|
||||
|
||||
A few hard-to-categorize and generally obsolete documents.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
acpi/index
|
||||
aoe/index
|
||||
auxdisplay/index
|
||||
bcache
|
||||
binderfs
|
||||
binfmt-misc
|
||||
blockdev/index
|
||||
bootconfig
|
||||
braille-console
|
||||
btmrvl
|
||||
cgroup-v1/index
|
||||
cgroup-v2
|
||||
cifs/index
|
||||
clearing-warn-once
|
||||
cpu-load
|
||||
cputopology
|
||||
dell_rbu
|
||||
device-mapper/index
|
||||
edid
|
||||
efi-stub
|
||||
ext4
|
||||
filesystem-monitoring
|
||||
nfs/index
|
||||
gpio/index
|
||||
highuid
|
||||
hw_random
|
||||
initrd
|
||||
iostats
|
||||
java
|
||||
jfs
|
||||
kernel-per-CPU-kthreads
|
||||
laptops/index
|
||||
lcd-panel-cgram
|
||||
ldm
|
||||
lockup-watchdogs
|
||||
LSM/index
|
||||
md
|
||||
media/index
|
||||
mm/index
|
||||
module-signing
|
||||
mono
|
||||
namespaces/index
|
||||
numastat
|
||||
parport
|
||||
perf-security
|
||||
pm/index
|
||||
pnp
|
||||
rapidio
|
||||
RAS/index
|
||||
rtc
|
||||
serial-console
|
||||
svga
|
||||
syscall-user-dispatch
|
||||
sysrq
|
||||
thermal/index
|
||||
thunderbolt
|
||||
ufs
|
||||
unicode
|
||||
vga-softcursor
|
||||
video-output
|
||||
xfs
|
||||
|
||||
.. only:: subproject and html
|
||||
|
||||
|
||||
@@ -2,62 +2,39 @@
|
||||
I/O statistics fields
|
||||
=====================
|
||||
|
||||
Since 2.4.20 (and some versions before, with patches), and 2.5.45,
|
||||
more extensive disk statistics have been introduced to help measure disk
|
||||
activity. Tools such as ``sar`` and ``iostat`` typically interpret these and do
|
||||
the work for you, but in case you are interested in creating your own
|
||||
tools, the fields are explained here.
|
||||
The kernel exposes disk statistics via ``/proc/diskstats`` and
|
||||
``/sys/block/<device>/stat``. These stats are usually accessed via tools
|
||||
such as ``sar`` and ``iostat``.
|
||||
|
||||
In 2.4 now, the information is found as additional fields in
|
||||
``/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 using a disk with two partitions::
|
||||
|
||||
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:
|
||||
3 0 39082680 hda 446216 784926 9550688 4382310 424847 312726 5922052 19310380 0 3376340 23705160
|
||||
3 1 9221278 hda1 35486 0 35496 38030 0 0 0 0 0 38030 38030
|
||||
/sys/block/nvme0n1/stat:
|
||||
255999 814 12369153 47919 996858 81 36123056 426009 0 301809 580491 0 0 0 0 60605 106562
|
||||
|
||||
2.6+ sysfs:
|
||||
446216 784926 9550688 4382310 424847 312726 5922052 19310380 0 3376340 23705160
|
||||
35486 38030 38030 38030
|
||||
/sys/block/nvme0n1/nvme0n1p1/stat:
|
||||
492 813 17572 96 848 81 108288 210 0 76 307 0 0 0 0 0 0
|
||||
|
||||
2.6+ diskstats:
|
||||
3 0 hda 446216 784926 9550688 4382310 424847 312726 5922052 19310380 0 3376340 23705160
|
||||
3 1 hda1 35486 38030 38030 38030
|
||||
Both files contain the same 17 statistics. ``/sys/block/<device>/stat``
|
||||
contains the fields for ``<device>``. In ``/proc/diskstats`` the fields
|
||||
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:
|
||||
3 0 hda 446216 784926 9550688 4382310 424847 312726 5922052 19310380 0 3376340 23705160 0 0 0 0
|
||||
The sysfs ``stat`` file is efficient for monitoring a small, known set
|
||||
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
|
||||
a choice of ``cat /sys/block/hda/stat`` or ``grep 'hda ' /proc/diskstats``.
|
||||
|
||||
The advantage of one over the other is that the sysfs choice works well
|
||||
if you are watching a known, small set of disks. ``/proc/diskstats`` may
|
||||
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.
|
||||
All fields are cumulative, monotonic counters, except for field 9, which
|
||||
resets to zero as I/Os complete. The remaining fields reset at boot, on
|
||||
device reattachment or reinitialization, or when the underlying counter
|
||||
overflows. Applications reading these counters should detect and handle
|
||||
resets when comparing stat snapshots.
|
||||
|
||||
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.
|
||||
|
||||
@@ -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
|
||||
features"::
|
||||
|
||||
CONFIG_HIGHMEM64G=y
|
||||
|
||||
or::
|
||||
|
||||
CONFIG_HIGHMEM4G
|
||||
|
||||
2) With CONFIG_SMP=y, usually nr_cpus=1 need specified on the kernel
|
||||
|
||||
@@ -194,8 +194,6 @@ is applicable::
|
||||
WDT Watchdog support is enabled.
|
||||
X86-32 X86-32, aka i386 architecture is enabled.
|
||||
X86-64 X86-64 architecture is enabled.
|
||||
More X86-64 boot options can be found in
|
||||
Documentation/arch/x86/x86_64/boot-options.rst.
|
||||
X86 Either 32-bit or 64-bit x86 (same as X86-32+X86-64)
|
||||
X86_UV SGI UV support is enabled.
|
||||
XEN Xen support is enabled
|
||||
@@ -213,7 +211,6 @@ Do not modify the syntax of boot loader parameters without extreme
|
||||
need or coordination with <Documentation/arch/x86/boot.rst>.
|
||||
|
||||
There are also arch-specific kernel-parameters not documented here.
|
||||
See for example <Documentation/arch/x86/x86_64/boot-options.rst>.
|
||||
|
||||
Note that ALL kernel parameters listed below are CASE SENSITIVE, and that
|
||||
a trailing = on the name of any parameter states that that parameter will
|
||||
|
||||
@@ -21,6 +21,10 @@
|
||||
strictly ACPI specification compliant.
|
||||
rsdt -- prefer RSDT over (default) XSDT
|
||||
copy_dsdt -- copy DSDT to memory
|
||||
nocmcff -- Disable firmware first mode for corrected
|
||||
errors. This disables parsing the HEST CMC error
|
||||
source to check if firmware has set the FF flag. This
|
||||
may result in duplicate corrected error reports.
|
||||
nospcr -- disable console in ACPI SPCR table as
|
||||
default _serial_ console on ARM64
|
||||
For ARM64, ONLY "acpi=off", "acpi=on", "acpi=force" or
|
||||
@@ -405,15 +409,13 @@
|
||||
not play well with APC CPU idle - disable it if you have
|
||||
APC and your system crashes randomly.
|
||||
|
||||
apic [APIC,X86-64] Use IO-APIC. Default.
|
||||
|
||||
apic= [APIC,X86,EARLY] Advanced Programmable Interrupt Controller
|
||||
Change the output verbosity while booting
|
||||
Format: { quiet (default) | verbose | debug }
|
||||
Change the amount of debugging information output
|
||||
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
|
||||
Format: { bsp (default) | all | none }
|
||||
@@ -424,6 +426,10 @@
|
||||
useful so that a dump capture kernel won't be
|
||||
shot down by NMI
|
||||
|
||||
apicpmtimer Do APIC timer calibration using the pmtimer. Implies
|
||||
apicmaintimer. Useful when your PIT timer is totally
|
||||
broken.
|
||||
|
||||
autoconf= [IPV6]
|
||||
See Documentation/networking/ipv6.rst.
|
||||
|
||||
@@ -1401,14 +1407,21 @@
|
||||
earlyprintk=serial[,0x...[,baudrate]]
|
||||
earlyprintk=ttySn[,baudrate]
|
||||
earlyprintk=dbgp[debugController#]
|
||||
earlyprintk=pciserial[,force],bus:device.function[,baudrate]
|
||||
earlyprintk=pciserial[,force],bus:device.function[,{nocfg|baudrate}]
|
||||
earlyprintk=xdbc[xhciController#]
|
||||
earlyprintk=bios
|
||||
earlyprintk=mmio,membase[,{nocfg|baudrate}]
|
||||
|
||||
earlyprintk is useful when the kernel crashes before
|
||||
the normal console is initialized. It is not enabled by
|
||||
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
|
||||
takes over.
|
||||
|
||||
@@ -1726,6 +1739,8 @@
|
||||
|
||||
off: Disable GDS mitigation.
|
||||
|
||||
gbpages [X86] Use GB pages for kernel direct mappings.
|
||||
|
||||
gcov_persist= [GCOV] When non-zero (default), profiling data for
|
||||
kernel modules is saved and remains accessible via
|
||||
debugfs, even when the module is unloaded/reloaded.
|
||||
@@ -1773,7 +1788,9 @@
|
||||
allocation boundaries as a proactive defense
|
||||
against bounds-checking flaws in the kernel's
|
||||
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.
|
||||
|
||||
hardlockup_all_cpu_backtrace=
|
||||
@@ -1849,7 +1866,7 @@
|
||||
hpet_mmap= [X86, HPET_MMAP] Allow userspace to mmap HPET
|
||||
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
|
||||
the number of pages of hugepagesz to be allocated.
|
||||
If this is the first HugeTLB parameter on the command
|
||||
@@ -1861,15 +1878,24 @@
|
||||
<node>:<integer>[,<node>:<integer>]
|
||||
|
||||
hugepagesz=
|
||||
[HW] The size of the HugeTLB pages. This is used in
|
||||
conjunction with hugepages (above) to allocate huge
|
||||
pages of a specific size at boot. The pair
|
||||
hugepagesz=X hugepages=Y can be specified once for
|
||||
each supported huge page size. Huge page sizes are
|
||||
architecture dependent. See also
|
||||
[HW,EARLY] The size of the HugeTLB pages. This is
|
||||
used in conjunction with hugepages (above) to
|
||||
allocate huge pages of a specific size at boot. The
|
||||
pair hugepagesz=X hugepages=Y can be specified once
|
||||
for each supported huge page size. Huge page sizes
|
||||
are architecture dependent. See also
|
||||
Documentation/admin-guide/mm/hugetlbpage.rst.
|
||||
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
|
||||
of gigantic hugepages. Or using node format, the size
|
||||
of a CMA area per node can be specified.
|
||||
@@ -1880,6 +1906,13 @@
|
||||
hugepages using the CMA allocator. If enabled, the
|
||||
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=
|
||||
[KNL] Requires CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP
|
||||
enabled.
|
||||
@@ -1921,6 +1954,12 @@
|
||||
which allow the hypervisor to 'idle' the guest
|
||||
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
|
||||
or register an additional I2C bus that is not
|
||||
registered from board initialization code.
|
||||
@@ -2008,12 +2047,21 @@
|
||||
|
||||
idle= [X86,EARLY]
|
||||
Format: idle=poll, idle=halt, idle=nomwait
|
||||
Poll forces a polling idle loop that can slightly
|
||||
improve the performance of waking up a idle CPU, but
|
||||
will use a lot of power and make the system run hot.
|
||||
Not recommended.
|
||||
|
||||
idle=poll: Don't do power saving in the idle loop
|
||||
using HLT, but poll for rescheduling event. This will
|
||||
make the CPUs eat a lot more power, but may be useful
|
||||
to get slightly better performance in multiprocessor
|
||||
benchmarks. It also makes some profiling using
|
||||
performance counters more accurate. Please note that
|
||||
on systems with MONITOR/MWAIT support (like Intel
|
||||
EM64T CPUs) this option has no performance advantage
|
||||
over the normal idle loop. It may also interact badly
|
||||
with hyperthreading.
|
||||
|
||||
idle=halt: Halt is forced to be used for CPU idle.
|
||||
In such case C2/C3 won't be used again.
|
||||
|
||||
idle=nomwait: Disable mwait for CPU C-states
|
||||
|
||||
idxd.sva= [HW]
|
||||
@@ -2295,6 +2343,9 @@
|
||||
per_cpu_perf_limits
|
||||
Allow per-logical-CPU P-State performance control limits using
|
||||
cpufreq sysfs interface
|
||||
no_cas
|
||||
Do not enable capacity-aware scheduling (CAS) on
|
||||
hybrid systems
|
||||
|
||||
intremap= [X86-64,Intel-IOMMU,EARLY]
|
||||
on enable Interrupt Remapping (default)
|
||||
@@ -2311,20 +2362,73 @@
|
||||
relaxed
|
||||
|
||||
iommu= [X86,EARLY]
|
||||
|
||||
off
|
||||
Don't initialize and use any kind of IOMMU.
|
||||
|
||||
force
|
||||
Force the use of the hardware IOMMU even when
|
||||
it is not actually needed (e.g. because < 3 GB
|
||||
memory).
|
||||
|
||||
noforce
|
||||
Don't force hardware IOMMU usage when it is not
|
||||
needed. (default).
|
||||
|
||||
biomerge
|
||||
panic
|
||||
nopanic
|
||||
merge
|
||||
nomerge
|
||||
|
||||
soft
|
||||
pt [X86]
|
||||
nopt [X86]
|
||||
nobypass [PPC/POWERNV]
|
||||
Use software bounce buffering (SWIOTLB) (default for
|
||||
Intel machines). This can be used to prevent the usage
|
||||
of an available hardware IOMMU.
|
||||
|
||||
[X86]
|
||||
pt
|
||||
[X86]
|
||||
nopt
|
||||
[PPC/POWERNV]
|
||||
nobypass
|
||||
Disable IOMMU bypass, using IOMMU for PCI devices.
|
||||
|
||||
[X86]
|
||||
AMD Gart HW IOMMU-specific options:
|
||||
|
||||
<size>
|
||||
Set the size of the remapping area in bytes.
|
||||
|
||||
allowed
|
||||
Overwrite iommu off workarounds for specific chipsets
|
||||
|
||||
fullflush
|
||||
Flush IOMMU on each allocation (default).
|
||||
|
||||
nofullflush
|
||||
Don't use IOMMU fullflush.
|
||||
|
||||
memaper[=<order>]
|
||||
Allocate an own aperture over RAM with size
|
||||
32MB<<order. (default: order=1, i.e. 64MB)
|
||||
|
||||
merge
|
||||
Do scatter-gather (SG) merging. Implies "force"
|
||||
(experimental).
|
||||
|
||||
nomerge
|
||||
Don't do scatter-gather (SG) merging.
|
||||
|
||||
noaperture
|
||||
Ask the IOMMU not to touch the aperture for AGP.
|
||||
|
||||
noagp
|
||||
Don't initialize the AGP driver and use full aperture.
|
||||
|
||||
panic
|
||||
Always panic when IOMMU overflows.
|
||||
|
||||
iommu.forcedac= [ARM64,X86,EARLY] Control IOVA allocation for PCI devices.
|
||||
Format: { "0" | "1" }
|
||||
0 - Try to allocate a 32-bit DMA address first, before
|
||||
@@ -2432,7 +2536,9 @@
|
||||
specified in the flag list (default: domain):
|
||||
|
||||
nohz
|
||||
Disable the tick when a single task runs.
|
||||
Disable the tick when a single task runs as well as
|
||||
disabling other kernel noises like having RCU callbacks
|
||||
offloaded. This is equivalent to the nohz_full parameter.
|
||||
|
||||
A residual 1Hz tick is offloaded to workqueues, which you
|
||||
need to affine to housekeeping through the global
|
||||
@@ -2695,7 +2801,7 @@
|
||||
VMs, i.e. on the 0=>1 and 1=>0 transitions of the
|
||||
number of VMs.
|
||||
|
||||
Enabling virtualization at module lode avoids potential
|
||||
Enabling virtualization at module load avoids potential
|
||||
latency for creation of the 0=>1 VM, as KVM serializes
|
||||
virtualization enabling across all online CPUs. The
|
||||
"cost" of enabling virtualization when KVM is loaded,
|
||||
@@ -2748,17 +2854,21 @@
|
||||
nvhe: Standard nVHE-based mode, without support for
|
||||
protected guests.
|
||||
|
||||
protected: nVHE-based mode with support for guests whose
|
||||
state is kept private from the host.
|
||||
protected: Mode with support for guests whose state is
|
||||
kept private from the host, using VHE or
|
||||
nVHE depending on HW support.
|
||||
|
||||
nested: VHE-based mode with support for nested
|
||||
virtualization. Requires at least ARMv8.3
|
||||
hardware.
|
||||
virtualization. Requires at least ARMv8.4
|
||||
hardware (with FEAT_NV2).
|
||||
|
||||
Defaults to VHE/nVHE based on hardware support. Setting
|
||||
mode to "protected" will disable kexec and hibernation
|
||||
for the host. "nested" is experimental and should be
|
||||
used with extreme caution.
|
||||
for the host. To force nVHE on VHE hardware, add
|
||||
"arm64_sw.hvhe=0 id_aa64mmfr1.vh=0" to the
|
||||
command-line.
|
||||
"nested" is experimental and should be used with
|
||||
extreme caution.
|
||||
|
||||
kvm-arm.vgic_v3_group0_trap=
|
||||
[KVM,ARM,EARLY] Trap guest accesses to GICv3 group-0
|
||||
@@ -3036,6 +3146,8 @@
|
||||
* max_sec_lba48: Set or clear transfer size limit to
|
||||
65535 sectors.
|
||||
|
||||
* external: Mark port as external (hotplug-capable).
|
||||
|
||||
* [no]lpm: Enable or disable link power management.
|
||||
|
||||
* [no]setxfer: Indicate if transfer speed mode setting
|
||||
@@ -3259,9 +3371,77 @@
|
||||
devices can be requested on-demand with the
|
||||
/dev/loop-control interface.
|
||||
|
||||
mce [X86-32] Machine Check Exception
|
||||
mce= [X86-{32,64}]
|
||||
|
||||
Please see Documentation/arch/x86/x86_64/machinecheck.rst for sysfs runtime tunables.
|
||||
|
||||
off
|
||||
disable machine check
|
||||
|
||||
no_cmci
|
||||
disable CMCI(Corrected Machine Check Interrupt) that
|
||||
Intel processor supports. Usually this disablement is
|
||||
not recommended, but it might be handy if your
|
||||
hardware is misbehaving.
|
||||
|
||||
Note that you'll get more problems without CMCI than
|
||||
with due to the shared banks, i.e. you might get
|
||||
duplicated error logs.
|
||||
|
||||
dont_log_ce
|
||||
don't make logs for corrected errors. All events
|
||||
reported as corrected are silently cleared by OS. This
|
||||
option will be useful if you have no interest in any
|
||||
of corrected errors.
|
||||
|
||||
ignore_ce
|
||||
disable features for corrected errors, e.g.
|
||||
polling timer and CMCI. All events reported as
|
||||
corrected are not cleared by OS and remained in its
|
||||
error banks.
|
||||
|
||||
Usually this disablement is not recommended, however
|
||||
if there is an agent checking/clearing corrected
|
||||
errors (e.g. BIOS or hardware monitoring
|
||||
applications), conflicting with OS's error handling,
|
||||
and you cannot deactivate the agent, then this option
|
||||
will be a help.
|
||||
|
||||
no_lmce
|
||||
do not opt-in to Local MCE delivery. Use legacy method
|
||||
to broadcast MCEs.
|
||||
|
||||
bootlog
|
||||
enable logging of machine checks left over from
|
||||
booting. Disabled by default on AMD Fam10h and older
|
||||
because some BIOS leave bogus ones.
|
||||
|
||||
If your BIOS doesn't do that it's a good idea to
|
||||
enable though to make sure you log even machine check
|
||||
events that result in a reboot. On Intel systems it is
|
||||
enabled by default.
|
||||
|
||||
nobootlog
|
||||
disable boot machine check logging.
|
||||
|
||||
monarchtimeout (number)
|
||||
sets the time in us to wait for other CPUs on machine
|
||||
checks. 0 to disable.
|
||||
|
||||
bios_cmci_threshold
|
||||
don't overwrite the bios-set CMCI threshold. This boot
|
||||
option prevents Linux from overwriting the CMCI
|
||||
threshold set by the bios. Without this option, Linux
|
||||
always sets the CMCI threshold to 1. Enabling this may
|
||||
make memory predictive failure analysis less effective
|
||||
if the bios sets thresholds for memory errors since we
|
||||
will not see details for all errors.
|
||||
|
||||
recovery
|
||||
force-enable recoverable machine check code paths
|
||||
|
||||
Everything else is in sysfs now.
|
||||
|
||||
mce=option [X86-64] See Documentation/arch/x86/x86_64/boot-options.rst
|
||||
|
||||
md= [HW] RAID subsystems devices and level
|
||||
See Documentation/admin-guide/md.rst.
|
||||
@@ -3351,8 +3531,8 @@
|
||||
[KNL] Set the initial state for the memory hotplug
|
||||
onlining policy. If not specified, the default value is
|
||||
set according to the
|
||||
CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE kernel config
|
||||
option.
|
||||
CONFIG_MHP_DEFAULT_ONLINE_TYPE kernel config
|
||||
options.
|
||||
See Documentation/admin-guide/mm/memory-hotplug.rst.
|
||||
|
||||
memmap=exactmap [KNL,X86,EARLY] Enable setting of an exact
|
||||
@@ -3887,6 +4067,8 @@
|
||||
noapic [SMP,APIC,EARLY] Tells the kernel to not make use of any
|
||||
IOAPICs that may be present in the system.
|
||||
|
||||
noapictimer [APIC,X86] Don't set up the APIC timer
|
||||
|
||||
noautogroup Disable scheduler automatic task group creation.
|
||||
|
||||
nocache [ARM,EARLY]
|
||||
@@ -3934,6 +4116,8 @@
|
||||
register save and restore. The kernel will only save
|
||||
legacy floating-point registers on task switch.
|
||||
|
||||
nogbpages [X86] Do not use GB pages for kernel direct mappings.
|
||||
|
||||
no_hash_pointers
|
||||
[KNL,EARLY]
|
||||
Force pointers printed to the console or buffers to be
|
||||
@@ -3960,6 +4144,8 @@
|
||||
the impact of the sleep instructions. This is also
|
||||
useful when using JTAG debugger.
|
||||
|
||||
nohpet [X86] Don't use the HPET timer.
|
||||
|
||||
nohugeiomap [KNL,X86,PPC,ARM64,EARLY] Disable kernel huge I/O mappings.
|
||||
|
||||
nohugevmalloc [KNL,X86,PPC,ARM64,EARLY] Disable kernel huge vmalloc mappings.
|
||||
@@ -4079,10 +4265,10 @@
|
||||
nosmp [SMP,EARLY] Tells an SMP kernel to act as a UP kernel,
|
||||
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.
|
||||
|
||||
[KNL,X86,PPC] Disable symmetric multithreading (SMT).
|
||||
[KNL,X86,PPC,S390] Disable symmetric multithreading (SMT).
|
||||
nosmt=force: Force disable SMT, cannot be undone
|
||||
via the sysfs control file.
|
||||
|
||||
@@ -4111,8 +4297,10 @@
|
||||
|
||||
nosync [HW,M68K] Disables sync negotiation for all devices.
|
||||
|
||||
no_timer_check [X86,APIC] Disables the code which tests for
|
||||
broken timer IRQ sources.
|
||||
no_timer_check [X86,APIC] Disables the code which tests for broken
|
||||
timer IRQ sources, i.e., the IO-APIC timer. This can
|
||||
work around problems with incorrect timer
|
||||
initialization on some boards.
|
||||
|
||||
no_uaccess_flush
|
||||
[PPC,EARLY] Don't flush the L1-D cache after accessing user data.
|
||||
@@ -4192,6 +4380,11 @@
|
||||
If given as an integer followed by 'U', it will
|
||||
divide each physical node into N emulated nodes.
|
||||
|
||||
numa=noacpi [X86] Don't parse the SRAT table for NUMA setup
|
||||
|
||||
numa=nohmat [X86] Don't parse the HMAT table for NUMA setup, or
|
||||
soft-reserved memory partitioning.
|
||||
|
||||
numa_balancing= [KNL,ARM64,PPC,RISCV,S390,X86] Enable or disable automatic
|
||||
NUMA balancing.
|
||||
Allowed values are enable and disable
|
||||
@@ -4673,7 +4866,7 @@
|
||||
'1' – force enabled
|
||||
'x' – unchanged
|
||||
For example,
|
||||
pci=config_acs=10x
|
||||
pci=config_acs=10x@pci:0:0
|
||||
would configure all devices that support
|
||||
ACS to enable P2P Request Redirect, disable
|
||||
Translation Blocking, and leave Source
|
||||
@@ -4856,6 +5049,14 @@
|
||||
Format: <bool>
|
||||
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}
|
||||
Control writing to /dev/kmsg.
|
||||
on - unlimited logging to /dev/kmsg from userspace
|
||||
@@ -5367,7 +5568,42 @@
|
||||
|
||||
rcutorture.gp_cond= [KNL]
|
||||
Use conditional/asynchronous update-side
|
||||
primitives, if available.
|
||||
normal-grace-period primitives, if available.
|
||||
|
||||
rcutorture.gp_cond_exp= [KNL]
|
||||
Use conditional/asynchronous update-side
|
||||
expedited-grace-period primitives, if available.
|
||||
|
||||
rcutorture.gp_cond_full= [KNL]
|
||||
Use conditional/asynchronous update-side
|
||||
normal-grace-period primitives that also take
|
||||
concurrent expedited grace periods into account,
|
||||
if available.
|
||||
|
||||
rcutorture.gp_cond_exp_full= [KNL]
|
||||
Use conditional/asynchronous update-side
|
||||
expedited-grace-period primitives that also take
|
||||
concurrent normal grace periods into account,
|
||||
if available.
|
||||
|
||||
rcutorture.gp_cond_wi= [KNL]
|
||||
Nominal wait interval for normal conditional
|
||||
grace periods (specified by rcutorture's
|
||||
gp_cond and gp_cond_full module parameters),
|
||||
in microseconds. The actual wait interval will
|
||||
be randomly selected to nanosecond granularity up
|
||||
to this wait interval. Defaults to 16 jiffies,
|
||||
for example, 16,000 microseconds on a system
|
||||
with HZ=1000.
|
||||
|
||||
rcutorture.gp_cond_wi_exp= [KNL]
|
||||
Nominal wait interval for expedited conditional
|
||||
grace periods (specified by rcutorture's
|
||||
gp_cond_exp and gp_cond_exp_full module
|
||||
parameters), in microseconds. The actual wait
|
||||
interval will be randomly selected to nanosecond
|
||||
granularity up to this wait interval. Defaults to
|
||||
128 microseconds.
|
||||
|
||||
rcutorture.gp_exp= [KNL]
|
||||
Use expedited update-side primitives, if available.
|
||||
@@ -5376,6 +5612,43 @@
|
||||
Use normal (non-expedited) asynchronous
|
||||
update-side primitives, if available.
|
||||
|
||||
rcutorture.gp_poll= [KNL]
|
||||
Use polled update-side normal-grace-period
|
||||
primitives, if available.
|
||||
|
||||
rcutorture.gp_poll_exp= [KNL]
|
||||
Use polled update-side expedited-grace-period
|
||||
primitives, if available.
|
||||
|
||||
rcutorture.gp_poll_full= [KNL]
|
||||
Use polled update-side normal-grace-period
|
||||
primitives that also take concurrent expedited
|
||||
grace periods into account, if available.
|
||||
|
||||
rcutorture.gp_poll_exp_full= [KNL]
|
||||
Use polled update-side expedited-grace-period
|
||||
primitives that also take concurrent normal
|
||||
grace periods into account, if available.
|
||||
|
||||
rcutorture.gp_poll_wi= [KNL]
|
||||
Nominal wait interval for normal conditional
|
||||
grace periods (specified by rcutorture's
|
||||
gp_poll and gp_poll_full module parameters),
|
||||
in microseconds. The actual wait interval will
|
||||
be randomly selected to nanosecond granularity up
|
||||
to this wait interval. Defaults to 16 jiffies,
|
||||
for example, 16,000 microseconds on a system
|
||||
with HZ=1000.
|
||||
|
||||
rcutorture.gp_poll_wi_exp= [KNL]
|
||||
Nominal wait interval for expedited conditional
|
||||
grace periods (specified by rcutorture's
|
||||
gp_poll_exp and gp_poll_exp_full module
|
||||
parameters), in microseconds. The actual wait
|
||||
interval will be randomly selected to nanosecond
|
||||
granularity up to this wait interval. Defaults to
|
||||
128 microseconds.
|
||||
|
||||
rcutorture.gp_sync= [KNL]
|
||||
Use normal (non-expedited) synchronous
|
||||
update-side primitives, if available. If all
|
||||
@@ -5429,6 +5702,22 @@
|
||||
Set time (jiffies) between CPU-hotplug operations,
|
||||
or zero to disable CPU-hotplug testing.
|
||||
|
||||
rcutorture.preempt_duration= [KNL]
|
||||
Set duration (in milliseconds) of preemptions
|
||||
by a high-priority FIFO real-time task. Set to
|
||||
zero (the default) to disable. The CPUs to
|
||||
preempt are selected randomly from the set that
|
||||
are online at a given point in time. Races with
|
||||
CPUs going offline are ignored, with that attempt
|
||||
at preemption skipped.
|
||||
|
||||
rcutorture.preempt_interval= [KNL]
|
||||
Set interval (in milliseconds, defaulting to one
|
||||
second) between preemptions by a high-priority
|
||||
FIFO real-time task. This delay is mediated
|
||||
by an hrtimer and is further fuzzed to avoid
|
||||
inadvertent synchronizations.
|
||||
|
||||
rcutorture.read_exit_burst= [KNL]
|
||||
The number of times in a given read-then-exit
|
||||
episode that a set of read-then-exit kthreads
|
||||
@@ -5509,6 +5798,11 @@
|
||||
rcutorture.test_boost_duration= [KNL]
|
||||
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]
|
||||
Interval (s) between each boost test.
|
||||
|
||||
@@ -5715,6 +6009,55 @@
|
||||
reboot_cpu is s[mp]#### with #### being the processor
|
||||
to be used for rebooting.
|
||||
|
||||
acpi
|
||||
Use the ACPI RESET_REG in the FADT. If ACPI is not
|
||||
configured or the ACPI reset does not work, the reboot
|
||||
path attempts the reset using the keyboard controller.
|
||||
|
||||
bios
|
||||
Use the CPU reboot vector for warm reset
|
||||
|
||||
cold
|
||||
Set the cold reboot flag
|
||||
|
||||
default
|
||||
There are some built-in platform specific "quirks"
|
||||
- you may see: "reboot: <name> series board detected.
|
||||
Selecting <type> for reboots." In the case where you
|
||||
think the quirk is in error (e.g. you have newer BIOS,
|
||||
or newer board) using this option will ignore the
|
||||
built-in quirk table, and use the generic default
|
||||
reboot actions.
|
||||
|
||||
efi
|
||||
Use efi reset_system runtime service. If EFI is not
|
||||
configured or the EFI reset does not work, the reboot
|
||||
path attempts the reset using the keyboard controller.
|
||||
|
||||
force
|
||||
Don't stop other CPUs on reboot. This can make reboot
|
||||
more reliable in some cases.
|
||||
|
||||
kbd
|
||||
Use the keyboard controller. cold reset (default)
|
||||
|
||||
pci
|
||||
Use a write to the PCI config space register 0xcf9 to
|
||||
trigger reboot.
|
||||
|
||||
triple
|
||||
Force a triple fault (init)
|
||||
|
||||
warm
|
||||
Don't set the cold reboot flag
|
||||
|
||||
Using warm reset will be much faster especially on big
|
||||
memory systems because the BIOS will not go through
|
||||
the memory check. Disadvantage is that not all
|
||||
hardware will be completely reinitialized on reboot so
|
||||
there may be boot problems on some systems.
|
||||
|
||||
|
||||
refscale.holdoff= [KNL]
|
||||
Set test-start holdoff period. The purpose of
|
||||
this parameter is to delay the start of the
|
||||
@@ -5784,7 +6127,7 @@
|
||||
is assumed to be I/O ports; otherwise it is memory.
|
||||
|
||||
reserve_mem= [RAM]
|
||||
Format: nn[KNG]:<align>:<label>
|
||||
Format: nn[KMG]:<align>:<label>
|
||||
Reserve physical memory and label it with a name that
|
||||
other subsystems can use to access it. This is typically
|
||||
used for systems that do not wipe the RAM, and this command
|
||||
@@ -6106,7 +6449,16 @@
|
||||
|
||||
serialnumber [BUGS=X86-32]
|
||||
|
||||
sev=option[,option...] [X86-64] See Documentation/arch/x86/x86_64/boot-options.rst
|
||||
sev=option[,option...] [X86-64]
|
||||
|
||||
debug
|
||||
Enable debug messages.
|
||||
|
||||
nosnp
|
||||
Do not enable SEV-SNP (applies to host/hypervisor
|
||||
only). Setting 'nosnp' avoids the RMP check overhead
|
||||
in memory accesses when users do not want to run
|
||||
SEV-SNP guests.
|
||||
|
||||
shapers= [NET]
|
||||
Maximal number of shapers.
|
||||
@@ -6275,6 +6627,8 @@
|
||||
|
||||
Selecting 'on' will also enable the mitigation
|
||||
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
|
||||
the user space protections.
|
||||
@@ -6858,6 +7212,14 @@
|
||||
comma-separated list of trace events to enable. See
|
||||
also Documentation/trace/events.rst
|
||||
|
||||
To enable modules, use :mod: keyword:
|
||||
|
||||
trace_event=:mod:<module>
|
||||
|
||||
The value before :mod: will only enable specific events
|
||||
that are part of the module. See the above mentioned
|
||||
document for more information.
|
||||
|
||||
trace_instance=[instance-info]
|
||||
[FTRACE] Create a ring buffer instance early in boot up.
|
||||
This will be listed in:
|
||||
@@ -6926,6 +7288,8 @@
|
||||
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.
|
||||
|
||||
NB: Both the mapped address and size must be page aligned for the architecture.
|
||||
|
||||
See also Documentation/trace/debugging.rst
|
||||
|
||||
|
||||
@@ -6964,6 +7328,15 @@
|
||||
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
|
||||
[FTRACE] enable this option to disable tracing when a
|
||||
warning is hit. This turns off "tracing_on". Tracing can
|
||||
@@ -6992,6 +7365,13 @@
|
||||
See Documentation/admin-guide/mm/transhuge.rst
|
||||
for more details.
|
||||
|
||||
transparent_hugepage_tmpfs= [KNL]
|
||||
Format: [always|within_size|advise|never]
|
||||
Can be used to control the default hugepage allocation policy
|
||||
for the tmpfs mount.
|
||||
See Documentation/admin-guide/mm/transhuge.rst
|
||||
for more details.
|
||||
|
||||
trusted.source= [KEYS]
|
||||
Format: <string>
|
||||
This parameter identifies the trust source as a backend
|
||||
@@ -7155,6 +7535,22 @@
|
||||
Note that genuine overcurrent events won't be
|
||||
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
|
||||
[X86] Cause panic on unknown NMI.
|
||||
|
||||
@@ -7350,13 +7746,6 @@
|
||||
16 - SIGBUS faults
|
||||
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]
|
||||
On X86_32, this is an alias for vdso32=. Otherwise:
|
||||
|
||||
@@ -7474,7 +7863,7 @@
|
||||
vt.cur_default= [VT] Default cursor shape.
|
||||
Format: 0xCCBBAA, where AA, BB, and CC are the same as
|
||||
the parameters of the <Esc>[?A;B;Cc escape sequence;
|
||||
see VGA-softcursor.txt. Default: 2 = underline.
|
||||
see vga-softcursor.rst. Default: 2 = underline.
|
||||
|
||||
vt.default_blu= [VT]
|
||||
Format: <blue0>,<blue1>,<blue2>,...,<blue15>
|
||||
|
||||
@@ -278,12 +278,7 @@ To reduce its OS jitter, do any of the following:
|
||||
due to the rtas_event_scan() function.
|
||||
WARNING: Please check your CPU specifications to
|
||||
make sure that this is safe on your particular system.
|
||||
e. If running on Cell Processor, 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
|
||||
e. If running on PowerMAC, build your kernel with
|
||||
CONFIG_PMAC_RACKMETER=n to disable the CPU-meter,
|
||||
avoiding OS jitter from rackmeter_do_timer().
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ Laptop Drivers
|
||||
disk-shock-protection
|
||||
laptop-mode
|
||||
lg-laptop
|
||||
samsung-galaxybook
|
||||
sony-laptop
|
||||
sonypi
|
||||
thinkpad-acpi
|
||||
|
||||
@@ -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
|
||||
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
|
||||
resolutions supported by the connected displays, and it will not be possible
|
||||
anymore to manually set the EDID for the HDMI Input.
|
||||
|
||||
@@ -98,7 +98,7 @@ frames in packed raw Bayer format to IPU3 CSI2 receiver.
|
||||
# and that ov5670 sensor is connected to i2c bus 10 with address 0x36
|
||||
export SDEV=$(media-ctl -d $MDEV -e "ov5670 10-0036")
|
||||
|
||||
# Establish the link for the media devices using media-ctl [#f3]_
|
||||
# Establish the link for the media devices using media-ctl
|
||||
media-ctl -d $MDEV -l "ov5670:0 -> ipu3-csi2 0:0[1]"
|
||||
|
||||
# Set the format for the media devices
|
||||
@@ -589,12 +589,8 @@ preserved.
|
||||
References
|
||||
==========
|
||||
|
||||
.. [#f5] drivers/staging/media/ipu3/include/uapi/intel-ipu3.h
|
||||
|
||||
.. [#f1] https://github.com/intel/nvt
|
||||
|
||||
.. [#f2] http://git.ideasonboard.org/yavta.git
|
||||
|
||||
.. [#f3] http://git.ideasonboard.org/?p=media-ctl.git;a=summary
|
||||
|
||||
.. [#f4] ImgU limitation requires an additional 16x16 for all input resolutions
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user