* [PATCH v2] Documentation: Chinese translation of Documentation/arm64/amu.rst [not found] <20200915025822.29885-1-bailu.lin@vivo.com> @ 2020-09-18 9:21 ` Bailu Lin 2020-09-18 13:27 ` Will Deacon 2020-09-24 16:41 ` Jonathan Corbet 0 siblings, 2 replies; 8+ messages in thread From: Bailu Lin @ 2020-09-18 9:21 UTC (permalink / raw) To: catalin.marinas, will, corbet, harryxiyou, alex.shi, linux-arm-kernel, linux-doc, linux-kernel Cc: kernel, bailu.lin This is a Chinese translated version of Documentation/arm64/amu.rst Signed-off-by: Bailu Lin <bailu.lin@vivo.com> --- Changes in v2: - Add index to arm64 directoy. - Fix a document format error. - Correct email encoding format. --- Documentation/arm64/amu.rst | 4 + .../translations/zh_CN/arm64/amu.rst | 102 ++++++++++++++++++ .../translations/zh_CN/arm64/index.rst | 2 + 3 files changed, 108 insertions(+) create mode 100644 Documentation/translations/zh_CN/arm64/amu.rst diff --git a/Documentation/arm64/amu.rst b/Documentation/arm64/amu.rst index 452ec8b115c2..a97d1e18876d 100644 --- a/Documentation/arm64/amu.rst +++ b/Documentation/arm64/amu.rst @@ -1,3 +1,7 @@ +.. SPDX-License-Identifier: GPL-2.0 + +.. _amu_index: + ======================================================= Activity Monitors Unit (AMU) extension in AArch64 Linux ======================================================= diff --git a/Documentation/translations/zh_CN/arm64/amu.rst b/Documentation/translations/zh_CN/arm64/amu.rst new file mode 100644 index 000000000000..7aa538c40304 --- /dev/null +++ b/Documentation/translations/zh_CN/arm64/amu.rst @@ -0,0 +1,102 @@ +.. SPDX-License-Identifier: GPL-2.0 + +.. include:: ../disclaimer-zh_CN.rst + +:Original: :ref:`Documentation/arm64/amu.rst <amu_index>` + +Translator: Bailu Lin <bailu.lin@vivo.com> + +=============================== +AArch64 Linux 中扩展的活动监控单元 +=============================== + +作者: Ionela Voinescu <ionela.voinescu@arm.com> + +日期: 2019-09-10 + +本文档简要描述了 AArch64 Linux 支持的活动监控单元的规范。 + + +架构总述 +-------- + +活动监控是 ARMv8.4 CPU 架构引入的一个可选扩展特性。 + +活动监控单元(在每个 CPU 中实现)为系统管理提供了性能计数器。既可以通 +过系统寄存器的方式访问计数器,同时也支持外部内存映射的方式访问计数器。 + +AMUv1 架构实现了一个由4个固定的64位事件计数器组成的计数器组。 + + - CPU 周期计数器:同 CPU 的频率增长 + - 常量计数器:同固定的系统时钟频率增长 + - 淘汰指令计数器: 同每次架构指令执行增长 + - 内存停顿周期计数器:计算由在时钟域内的最后一级缓存中未命中而引起 + 的指令调度停顿周期数 + +当处于 WFI 或者 WFE 状态时,计数器不会增长。 + +AMU 架构提供了一个高达16位的事件计数器空间,未来新的 AMU 版本中可能 +用它来实现新增的事件计数器。 + +另外,AMUv1 实现了一个多达16个64位辅助事件计数器的计数器组。 + +冷复位时所有的计数器会清零。 + + +基本支持 +-------- + +内核可以安全地运行在支持 AMU 和不支持 AMU 的 CPU 组合中。 +因此,当配置 CONFIG_ARM64_AMU_EXTN 后我们无条件使能后续 +(secondary or hotplugged) CPU 检测和使用这个特性。 + +当在 CPU 上检测到该特性时,我们会标记为特性可用但是不能保证计数器的功能, +仅表明有扩展属性。 + +固件(代码运行在高异常级别,例如 arm-tf )需支持以下功能: + + - 提供低异常级别(EL2 和 EL1)访问 AMU 寄存器的能力。 + - 使能计数器。如果未使能,它的值应为 0。 + - 在从电源关闭状态启动 CPU 前或后保存或者恢复计数器。 + +当使用使能了该特性的内核启动但固件损坏时,访问计数器寄存器可能会遭遇 +panic 或者死锁。即使未发现这些症状,计数器寄存器返回的数据结果并不一 +定能反映真实情况。通常,计数器会返回 0,表明他们未被使能。 + +如果固件没有提供适当的支持最好关闭 CONFIG_ARM64_AMU_EXTN。 +值得注意的是,出于安全原因,不要绕过 AMUSERRENR_EL0 设置而捕获从 +EL0(用户空间) 访问 EL1(内核空间)。 因此,固件应该确保访问 AMU寄存器 +不会困在 EL2或EL3。 + +AMUv1 的固定计数器可以通过如下系统寄存器访问: + + - SYS_AMEVCNTR0_CORE_EL0 + - SYS_AMEVCNTR0_CONST_EL0 + - SYS_AMEVCNTR0_INST_RET_EL0 + - SYS_AMEVCNTR0_MEM_STALL_EL0 + +特定辅助计数器可以通过 SYS_AMEVCNTR1_EL0(n) 访问,其中n介于0到15。 + +详细信息定义在目录:arch/arm64/include/asm/sysreg.h。 + + +用户空间访问 +------------ + +由于以下原因,当前禁止从用户空间访问 AMU 的寄存器: + + - 安全因数:可能会暴露处于安全模式执行的代码信息。 + - 意愿:AMU 是用于系统管理的。 + +同样,该功能对用户空间不可见。 + + +虚拟化 +------ + +由于以下原因,当前禁止从 KVM 客户端的用户空间(EL0)和内核空间(EL1) +访问 AMU 的寄存器: + + - 安全因数:可能会暴露给其他客户端或主机端执行的代码信息。 + +任何试图访问 AMU 寄存器的行为都会触发一个注册在客户端的未定义异常。 diff --git a/Documentation/translations/zh_CN/arm64/index.rst b/Documentation/translations/zh_CN/arm64/index.rst index c236b648740d..9bcf2c51a696 100644 --- a/Documentation/translations/zh_CN/arm64/index.rst +++ b/Documentation/translations/zh_CN/arm64/index.rst @@ -14,3 +14,5 @@ ARM64 架构 .. toctree:: :maxdepth: 2 + + amu -- 2.20.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2] Documentation: Chinese translation of Documentation/arm64/amu.rst 2020-09-18 9:21 ` [PATCH v2] Documentation: Chinese translation of Documentation/arm64/amu.rst Bailu Lin @ 2020-09-18 13:27 ` Will Deacon 2020-09-24 16:41 ` Jonathan Corbet 1 sibling, 0 replies; 8+ messages in thread From: Will Deacon @ 2020-09-18 13:27 UTC (permalink / raw) To: Bailu Lin Cc: linux-doc, catalin.marinas, corbet, linux-kernel, kernel, harryxiyou, alex.shi, linux-arm-kernel On Fri, Sep 18, 2020 at 02:21:36AM -0700, Bailu Lin wrote: > This is a Chinese translated version of Documentation/arm64/amu.rst > > Signed-off-by: Bailu Lin <bailu.lin@vivo.com> > --- > Changes in v2: > - Add index to arm64 directoy. > - Fix a document format error. > - Correct email encoding format. > --- > Documentation/arm64/amu.rst | 4 + > .../translations/zh_CN/arm64/amu.rst | 102 ++++++++++++++++++ > .../translations/zh_CN/arm64/index.rst | 2 + > 3 files changed, 108 insertions(+) > create mode 100644 Documentation/translations/zh_CN/arm64/amu.rst I'm supportive of translations for our documentation, but I can't really review this! Assuming it doesn't say anything rude, then I'll leave it for Jon to pick up. Will _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] Documentation: Chinese translation of Documentation/arm64/amu.rst 2020-09-18 9:21 ` [PATCH v2] Documentation: Chinese translation of Documentation/arm64/amu.rst Bailu Lin 2020-09-18 13:27 ` Will Deacon @ 2020-09-24 16:41 ` Jonathan Corbet 2020-09-25 15:17 ` [PATCH v3] " Bailu Lin 1 sibling, 1 reply; 8+ messages in thread From: Jonathan Corbet @ 2020-09-24 16:41 UTC (permalink / raw) To: Bailu Lin Cc: linux-doc, catalin.marinas, linux-kernel, kernel, harryxiyou, alex.shi, will, linux-arm-kernel On Fri, 18 Sep 2020 02:21:36 -0700 Bailu Lin <bailu.lin@vivo.com> wrote: > This is a Chinese translated version of Documentation/arm64/amu.rst > > Signed-off-by: Bailu Lin <bailu.lin@vivo.com> > --- > Changes in v2: > - Add index to arm64 directoy. > - Fix a document format error. > - Correct email encoding format. > --- > Documentation/arm64/amu.rst | 4 + > .../translations/zh_CN/arm64/amu.rst | 102 ++++++++++++++++++ > .../translations/zh_CN/arm64/index.rst | 2 + > 3 files changed, 108 insertions(+) > create mode 100644 Documentation/translations/zh_CN/arm64/amu.rst > > diff --git a/Documentation/arm64/amu.rst b/Documentation/arm64/amu.rst > index 452ec8b115c2..a97d1e18876d 100644 > --- a/Documentation/arm64/amu.rst > +++ b/Documentation/arm64/amu.rst > @@ -1,3 +1,7 @@ > +.. SPDX-License-Identifier: GPL-2.0 > + > +.. _amu_index: > + So that's not a translation, it's an unrelated change that doesn't belong in this patch. Asserting a license always needs to be done carefully, and it needs to be called out as such. Thanks, jon _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3] Documentation: Chinese translation of Documentation/arm64/amu.rst 2020-09-24 16:41 ` Jonathan Corbet @ 2020-09-25 15:17 ` Bailu Lin 2020-09-25 23:51 ` Alex Shi 2020-09-28 21:24 ` [PATCH v3] " Jonathan Corbet 0 siblings, 2 replies; 8+ messages in thread From: Bailu Lin @ 2020-09-25 15:17 UTC (permalink / raw) To: corbet Cc: linux-doc, catalin.marinas, linux-kernel, kernel, harryxiyou, bailu.lin, alex.shi, will, linux-arm-kernel This is a Chinese translated version of Documentation/arm64/amu.rst Signed-off-by: Bailu Lin <bailu.lin@vivo.com> --- Changes in v3: - Remove Documentation/arm64/amu.rst's inappropriate License claim. Changes in v2: - Add index to arm64 directoy. - Fix a document format error. - Correct email encoding format. --- Documentation/arm64/amu.rst | 2 + .../translations/zh_CN/arm64/amu.rst | 102 ++++++++++++++++++ .../translations/zh_CN/arm64/index.rst | 2 + 3 files changed, 106 insertions(+) create mode 100644 Documentation/translations/zh_CN/arm64/amu.rst diff --git a/Documentation/arm64/amu.rst b/Documentation/arm64/amu.rst index 452ec8b115c2..01f2de2b0450 100644 --- a/Documentation/arm64/amu.rst +++ b/Documentation/arm64/amu.rst @@ -1,3 +1,5 @@ +.. _amu_index: + ======================================================= Activity Monitors Unit (AMU) extension in AArch64 Linux ======================================================= diff --git a/Documentation/translations/zh_CN/arm64/amu.rst b/Documentation/translations/zh_CN/arm64/amu.rst new file mode 100644 index 000000000000..7aa538c40304 --- /dev/null +++ b/Documentation/translations/zh_CN/arm64/amu.rst @@ -0,0 +1,102 @@ +.. SPDX-License-Identifier: GPL-2.0 + +.. include:: ../disclaimer-zh_CN.rst + +:Original: :ref:`Documentation/arm64/amu.rst <amu_index>` + +Translator: Bailu Lin <bailu.lin@vivo.com> + +=============================== +AArch64 Linux 中扩展的活动监控单元 +=============================== + +作者: Ionela Voinescu <ionela.voinescu@arm.com> + +日期: 2019-09-10 + +本文档简要描述了 AArch64 Linux 支持的活动监控单元的规范。 + + +架构总述 +-------- + +活动监控是 ARMv8.4 CPU 架构引入的一个可选扩展特性。 + +活动监控单元(在每个 CPU 中实现)为系统管理提供了性能计数器。既可以通 +过系统寄存器的方式访问计数器,同时也支持外部内存映射的方式访问计数器。 + +AMUv1 架构实现了一个由4个固定的64位事件计数器组成的计数器组。 + + - CPU 周期计数器:同 CPU 的频率增长 + - 常量计数器:同固定的系统时钟频率增长 + - 淘汰指令计数器: 同每次架构指令执行增长 + - 内存停顿周期计数器:计算由在时钟域内的最后一级缓存中未命中而引起 + 的指令调度停顿周期数 + +当处于 WFI 或者 WFE 状态时,计数器不会增长。 + +AMU 架构提供了一个高达16位的事件计数器空间,未来新的 AMU 版本中可能 +用它来实现新增的事件计数器。 + +另外,AMUv1 实现了一个多达16个64位辅助事件计数器的计数器组。 + +冷复位时所有的计数器会清零。 + + +基本支持 +-------- + +内核可以安全地运行在支持 AMU 和不支持 AMU 的 CPU 组合中。 +因此,当配置 CONFIG_ARM64_AMU_EXTN 后我们无条件使能后续 +(secondary or hotplugged) CPU 检测和使用这个特性。 + +当在 CPU 上检测到该特性时,我们会标记为特性可用但是不能保证计数器的功能, +仅表明有扩展属性。 + +固件(代码运行在高异常级别,例如 arm-tf )需支持以下功能: + + - 提供低异常级别(EL2 和 EL1)访问 AMU 寄存器的能力。 + - 使能计数器。如果未使能,它的值应为 0。 + - 在从电源关闭状态启动 CPU 前或后保存或者恢复计数器。 + +当使用使能了该特性的内核启动但固件损坏时,访问计数器寄存器可能会遭遇 +panic 或者死锁。即使未发现这些症状,计数器寄存器返回的数据结果并不一 +定能反映真实情况。通常,计数器会返回 0,表明他们未被使能。 + +如果固件没有提供适当的支持最好关闭 CONFIG_ARM64_AMU_EXTN。 +值得注意的是,出于安全原因,不要绕过 AMUSERRENR_EL0 设置而捕获从 +EL0(用户空间) 访问 EL1(内核空间)。 因此,固件应该确保访问 AMU寄存器 +不会困在 EL2或EL3。 + +AMUv1 的固定计数器可以通过如下系统寄存器访问: + + - SYS_AMEVCNTR0_CORE_EL0 + - SYS_AMEVCNTR0_CONST_EL0 + - SYS_AMEVCNTR0_INST_RET_EL0 + - SYS_AMEVCNTR0_MEM_STALL_EL0 + +特定辅助计数器可以通过 SYS_AMEVCNTR1_EL0(n) 访问,其中n介于0到15。 + +详细信息定义在目录:arch/arm64/include/asm/sysreg.h。 + + +用户空间访问 +------------ + +由于以下原因,当前禁止从用户空间访问 AMU 的寄存器: + + - 安全因数:可能会暴露处于安全模式执行的代码信息。 + - 意愿:AMU 是用于系统管理的。 + +同样,该功能对用户空间不可见。 + + +虚拟化 +------ + +由于以下原因,当前禁止从 KVM 客户端的用户空间(EL0)和内核空间(EL1) +访问 AMU 的寄存器: + + - 安全因数:可能会暴露给其他客户端或主机端执行的代码信息。 + +任何试图访问 AMU 寄存器的行为都会触发一个注册在客户端的未定义异常。 diff --git a/Documentation/translations/zh_CN/arm64/index.rst b/Documentation/translations/zh_CN/arm64/index.rst index c236b648740d..9bcf2c51a696 100644 --- a/Documentation/translations/zh_CN/arm64/index.rst +++ b/Documentation/translations/zh_CN/arm64/index.rst @@ -14,3 +14,5 @@ ARM64 架构 .. toctree:: :maxdepth: 2 + + amu -- 2.20.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v3] Documentation: Chinese translation of Documentation/arm64/amu.rst 2020-09-25 15:17 ` [PATCH v3] " Bailu Lin @ 2020-09-25 23:51 ` Alex Shi 2020-09-26 2:52 ` [PATCH v4] " Bailu Lin 2020-09-28 21:24 ` [PATCH v3] " Jonathan Corbet 1 sibling, 1 reply; 8+ messages in thread From: Alex Shi @ 2020-09-25 23:51 UTC (permalink / raw) To: Bailu Lin, corbet Cc: linux-doc, catalin.marinas, linux-kernel, kernel, harryxiyou, will, linux-arm-kernel 在 2020/9/25 下午11:17, Bailu Lin 写道: > This is a Chinese translated version of Documentation/arm64/amu.rst > > Signed-off-by: Bailu Lin <bailu.lin@vivo.com> > --- > Changes in v3: > - Remove Documentation/arm64/amu.rst's inappropriate License claim. > Changes in v2: > - Add index to arm64 directoy. > - Fix a document format error. > - Correct email encoding format. > --- > Documentation/arm64/amu.rst | 2 + > .../translations/zh_CN/arm64/amu.rst | 102 ++++++++++++++++++ > .../translations/zh_CN/arm64/index.rst | 2 + > 3 files changed, 106 insertions(+) > create mode 100644 Documentation/translations/zh_CN/arm64/amu.rst > > diff --git a/Documentation/arm64/amu.rst b/Documentation/arm64/amu.rst > index 452ec8b115c2..01f2de2b0450 100644 > --- a/Documentation/arm64/amu.rst > +++ b/Documentation/arm64/amu.rst > @@ -1,3 +1,5 @@ > +.. _amu_index: > + > ======================================================= > Activity Monitors Unit (AMU) extension in AArch64 Linux > ======================================================= > diff --git a/Documentation/translations/zh_CN/arm64/amu.rst b/Documentation/translations/zh_CN/arm64/amu.rst > new file mode 100644 > index 000000000000..7aa538c40304 > --- /dev/null > +++ b/Documentation/translations/zh_CN/arm64/amu.rst > @@ -0,0 +1,102 @@ > +.. SPDX-License-Identifier: GPL-2.0 Is it appropriate if original doc has no this claim? > + > +.. include:: ../disclaimer-zh_CN.rst > + > +:Original: :ref:`Documentation/arm64/amu.rst <amu_index>` > + > +Translator: Bailu Lin <bailu.lin@vivo.com> > + > +=============================== > +AArch64 Linux 中扩展的活动监控单元 > +=============================== > + > +作者: Ionela Voinescu <ionela.voinescu@arm.com> > + > +日期: 2019-09-10 > + > +本文档简要描述了 AArch64 Linux 支持的活动监控单元的规范。 > + > + > +架构总述 > +-------- > + > +活动监控是 ARMv8.4 CPU 架构引入的一个可选扩展特性。 > + > +活动监控单元(在每个 CPU 中实现)为系统管理提供了性能计数器。既可以通 > +过系统寄存器的方式访问计数器,同时也支持外部内存映射的方式访问计数器。 > + > +AMUv1 架构实现了一个由4个固定的64位事件计数器组成的计数器组。 > + > + - CPU 周期计数器:同 CPU 的频率增长 > + - 常量计数器:同固定的系统时钟频率增长 > + - 淘汰指令计数器: 同每次架构指令执行增长 > + - 内存停顿周期计数器:计算由在时钟域内的最后一级缓存中未命中而引起 > + 的指令调度停顿周期数 > + > +当处于 WFI 或者 WFE 状态时,计数器不会增长。 > + > +AMU 架构提供了一个高达16位的事件计数器空间,未来新的 AMU 版本中可能 > +用它来实现新增的事件计数器。 > + > +另外,AMUv1 实现了一个多达16个64位辅助事件计数器的计数器组。 > + > +冷复位时所有的计数器会清零。 > + > + > +基本支持 > +-------- > + > +内核可以安全地运行在支持 AMU 和不支持 AMU 的 CPU 组合中。 > +因此,当配置 CONFIG_ARM64_AMU_EXTN 后我们无条件使能后续 > +(secondary or hotplugged) CPU 检测和使用这个特性。 > + > +当在 CPU 上检测到该特性时,我们会标记为特性可用但是不能保证计数器的功能, > +仅表明有扩展属性。 > + > +固件(代码运行在高异常级别,例如 arm-tf )需支持以下功能: > + > + - 提供低异常级别(EL2 和 EL1)访问 AMU 寄存器的能力。 > + - 使能计数器。如果未使能,它的值应为 0。 > + - 在从电源关闭状态启动 CPU 前或后保存或者恢复计数器。 > + > +当使用使能了该特性的内核启动但固件损坏时,访问计数器寄存器可能会遭遇 > +panic 或者死锁。即使未发现这些症状,计数器寄存器返回的数据结果并不一 > +定能反映真实情况。通常,计数器会返回 0,表明他们未被使能。 > + > +如果固件没有提供适当的支持最好关闭 CONFIG_ARM64_AMU_EXTN。 > +值得注意的是,出于安全原因,不要绕过 AMUSERRENR_EL0 设置而捕获从 > +EL0(用户空间) 访问 EL1(内核空间)。 因此,固件应该确保访问 AMU寄存器 > +不会困在 EL2或EL3。 > + > +AMUv1 的固定计数器可以通过如下系统寄存器访问: > + > + - SYS_AMEVCNTR0_CORE_EL0 > + - SYS_AMEVCNTR0_CONST_EL0 > + - SYS_AMEVCNTR0_INST_RET_EL0 > + - SYS_AMEVCNTR0_MEM_STALL_EL0 > + > +特定辅助计数器可以通过 SYS_AMEVCNTR1_EL0(n) 访问,其中n介于0到15。 > + > +详细信息定义在目录:arch/arm64/include/asm/sysreg.h。 > + > + > +用户空间访问 > +------------ > + > +由于以下原因,当前禁止从用户空间访问 AMU 的寄存器: > + > + - 安全因数:可能会暴露处于安全模式执行的代码信息。 > + - 意愿:AMU 是用于系统管理的。 > + > +同样,该功能对用户空间不可见。 > + > + > +虚拟化 > +------ > + > +由于以下原因,当前禁止从 KVM 客户端的用户空间(EL0)和内核空间(EL1) > +访问 AMU 的寄存器: > + > + - 安全因数:可能会暴露给其他客户端或主机端执行的代码信息。 > + > +任何试图访问 AMU 寄存器的行为都会触发一个注册在客户端的未定义异常。 > diff --git a/Documentation/translations/zh_CN/arm64/index.rst b/Documentation/translations/zh_CN/arm64/index.rst > index c236b648740d..9bcf2c51a696 100644 > --- a/Documentation/translations/zh_CN/arm64/index.rst > +++ b/Documentation/translations/zh_CN/arm64/index.rst > @@ -14,3 +14,5 @@ ARM64 架构 > > .. toctree:: > :maxdepth: 2 > + > + amu alignment? > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v4] Documentation: Chinese translation of Documentation/arm64/amu.rst 2020-09-25 23:51 ` Alex Shi @ 2020-09-26 2:52 ` Bailu Lin 2020-09-26 6:23 ` Alex Shi 0 siblings, 1 reply; 8+ messages in thread From: Bailu Lin @ 2020-09-26 2:52 UTC (permalink / raw) To: alex.shi Cc: corbet, catalin.marinas, linux-doc, linux-kernel, kernel, harryxiyou, bailu.lin, will, linux-arm-kernel This is a Chinese translated version of Documentation/arm64/amu.rst Signed-off-by: Bailu Lin <bailu.lin@vivo.com> --- Changes in v4: - Remove zh_CN/arm64/amu.rst's inappropriate License claim. - Align zh_CN/arm64/index.rst. Changes in v3: - Remove Documentation/arm64/amu.rst's inappropriate License claim. Changes in v2: - Add index to arm64 directoy. - Fix a document format error. - Correct email encoding format. --- Documentation/arm64/amu.rst | 2 + .../translations/zh_CN/arm64/amu.rst | 100 ++++++++++++++++++ .../translations/zh_CN/arm64/index.rst | 2 + 3 files changed, 104 insertions(+) create mode 100644 Documentation/translations/zh_CN/arm64/amu.rst diff --git a/Documentation/arm64/amu.rst b/Documentation/arm64/amu.rst index 452ec8b115c2..01f2de2b0450 100644 --- a/Documentation/arm64/amu.rst +++ b/Documentation/arm64/amu.rst @@ -1,3 +1,5 @@ +.. _amu_index: + ======================================================= Activity Monitors Unit (AMU) extension in AArch64 Linux ======================================================= diff --git a/Documentation/translations/zh_CN/arm64/amu.rst b/Documentation/translations/zh_CN/arm64/amu.rst new file mode 100644 index 000000000000..bd875f221330 --- /dev/null +++ b/Documentation/translations/zh_CN/arm64/amu.rst @@ -0,0 +1,100 @@ +.. include:: ../disclaimer-zh_CN.rst + +:Original: :ref:`Documentation/arm64/amu.rst <amu_index>` + +Translator: Bailu Lin <bailu.lin@vivo.com> + +================================= +AArch64 Linux 中扩展的活动监控单元 +================================= + +作者: Ionela Voinescu <ionela.voinescu@arm.com> + +日期: 2019-09-10 + +本文档简要描述了 AArch64 Linux 支持的活动监控单元的规范。 + + +架构总述 +-------- + +活动监控是 ARMv8.4 CPU 架构引入的一个可选扩展特性。 + +活动监控单元(在每个 CPU 中实现)为系统管理提供了性能计数器。既可以通 +过系统寄存器的方式访问计数器,同时也支持外部内存映射的方式访问计数器。 + +AMUv1 架构实现了一个由4个固定的64位事件计数器组成的计数器组。 + + - CPU 周期计数器:同 CPU 的频率增长 + - 常量计数器:同固定的系统时钟频率增长 + - 淘汰指令计数器: 同每次架构指令执行增长 + - 内存停顿周期计数器:计算由在时钟域内的最后一级缓存中未命中而引起 + 的指令调度停顿周期数 + +当处于 WFI 或者 WFE 状态时,计数器不会增长。 + +AMU 架构提供了一个高达16位的事件计数器空间,未来新的 AMU 版本中可能 +用它来实现新增的事件计数器。 + +另外,AMUv1 实现了一个多达16个64位辅助事件计数器的计数器组。 + +冷复位时所有的计数器会清零。 + + +基本支持 +-------- + +内核可以安全地运行在支持 AMU 和不支持 AMU 的 CPU 组合中。 +因此,当配置 CONFIG_ARM64_AMU_EXTN 后我们无条件使能后续 +(secondary or hotplugged) CPU 检测和使用这个特性。 + +当在 CPU 上检测到该特性时,我们会标记为特性可用但是不能保证计数器的功能, +仅表明有扩展属性。 + +固件(代码运行在高异常级别,例如 arm-tf )需支持以下功能: + + - 提供低异常级别(EL2 和 EL1)访问 AMU 寄存器的能力。 + - 使能计数器。如果未使能,它的值应为 0。 + - 在从电源关闭状态启动 CPU 前或后保存或者恢复计数器。 + +当使用使能了该特性的内核启动但固件损坏时,访问计数器寄存器可能会遭遇 +panic 或者死锁。即使未发现这些症状,计数器寄存器返回的数据结果并不一 +定能反映真实情况。通常,计数器会返回 0,表明他们未被使能。 + +如果固件没有提供适当的支持最好关闭 CONFIG_ARM64_AMU_EXTN。 +值得注意的是,出于安全原因,不要绕过 AMUSERRENR_EL0 设置而捕获从 +EL0(用户空间) 访问 EL1(内核空间)。 因此,固件应该确保访问 AMU寄存器 +不会困在 EL2或EL3。 + +AMUv1 的固定计数器可以通过如下系统寄存器访问: + + - SYS_AMEVCNTR0_CORE_EL0 + - SYS_AMEVCNTR0_CONST_EL0 + - SYS_AMEVCNTR0_INST_RET_EL0 + - SYS_AMEVCNTR0_MEM_STALL_EL0 + +特定辅助计数器可以通过 SYS_AMEVCNTR1_EL0(n) 访问,其中n介于0到15。 + +详细信息定义在目录:arch/arm64/include/asm/sysreg.h。 + + +用户空间访问 +------------ + +由于以下原因,当前禁止从用户空间访问 AMU 的寄存器: + + - 安全因数:可能会暴露处于安全模式执行的代码信息。 + - 意愿:AMU 是用于系统管理的。 + +同样,该功能对用户空间不可见。 + + +虚拟化 +------ + +由于以下原因,当前禁止从 KVM 客户端的用户空间(EL0)和内核空间(EL1) +访问 AMU 的寄存器: + + - 安全因数:可能会暴露给其他客户端或主机端执行的代码信息。 + +任何试图访问 AMU 寄存器的行为都会触发一个注册在客户端的未定义异常。 diff --git a/Documentation/translations/zh_CN/arm64/index.rst b/Documentation/translations/zh_CN/arm64/index.rst index 57545f19ab2d..646ed1f7aea3 100644 --- a/Documentation/translations/zh_CN/arm64/index.rst +++ b/Documentation/translations/zh_CN/arm64/index.rst @@ -12,3 +12,5 @@ ARM64 架构 .. toctree:: :maxdepth: 2 + + amu -- 2.20.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v4] Documentation: Chinese translation of Documentation/arm64/amu.rst 2020-09-26 2:52 ` [PATCH v4] " Bailu Lin @ 2020-09-26 6:23 ` Alex Shi 0 siblings, 0 replies; 8+ messages in thread From: Alex Shi @ 2020-09-26 6:23 UTC (permalink / raw) To: Bailu Lin Cc: linux-doc, catalin.marinas, corbet, linux-kernel, kernel, harryxiyou, will, linux-arm-kernel Reviewed-by: Alex Shi <alex.shi@linux.alibaba.com> 在 2020/9/26 上午10:52, Bailu Lin 写道: > This is a Chinese translated version of Documentation/arm64/amu.rst > > Signed-off-by: Bailu Lin <bailu.lin@vivo.com> > --- > Changes in v4: > - Remove zh_CN/arm64/amu.rst's inappropriate License claim. > - Align zh_CN/arm64/index.rst. > Changes in v3: > - Remove Documentation/arm64/amu.rst's inappropriate License claim. > Changes in v2: > - Add index to arm64 directoy. > - Fix a document format error. > - Correct email encoding format. > --- > Documentation/arm64/amu.rst | 2 + > .../translations/zh_CN/arm64/amu.rst | 100 ++++++++++++++++++ > .../translations/zh_CN/arm64/index.rst | 2 + > 3 files changed, 104 insertions(+) > create mode 100644 Documentation/translations/zh_CN/arm64/amu.rst > > diff --git a/Documentation/arm64/amu.rst b/Documentation/arm64/amu.rst > index 452ec8b115c2..01f2de2b0450 100644 > --- a/Documentation/arm64/amu.rst > +++ b/Documentation/arm64/amu.rst > @@ -1,3 +1,5 @@ > +.. _amu_index: > + > ======================================================= > Activity Monitors Unit (AMU) extension in AArch64 Linux > ======================================================= > diff --git a/Documentation/translations/zh_CN/arm64/amu.rst b/Documentation/translations/zh_CN/arm64/amu.rst > new file mode 100644 > index 000000000000..bd875f221330 > --- /dev/null > +++ b/Documentation/translations/zh_CN/arm64/amu.rst > @@ -0,0 +1,100 @@ > +.. include:: ../disclaimer-zh_CN.rst > + > +:Original: :ref:`Documentation/arm64/amu.rst <amu_index>` > + > +Translator: Bailu Lin <bailu.lin@vivo.com> > + > +================================= > +AArch64 Linux 中扩展的活动监控单元 > +================================= > + > +作者: Ionela Voinescu <ionela.voinescu@arm.com> > + > +日期: 2019-09-10 > + > +本文档简要描述了 AArch64 Linux 支持的活动监控单元的规范。 > + > + > +架构总述 > +-------- > + > +活动监控是 ARMv8.4 CPU 架构引入的一个可选扩展特性。 > + > +活动监控单元(在每个 CPU 中实现)为系统管理提供了性能计数器。既可以通 > +过系统寄存器的方式访问计数器,同时也支持外部内存映射的方式访问计数器。 > + > +AMUv1 架构实现了一个由4个固定的64位事件计数器组成的计数器组。 > + > + - CPU 周期计数器:同 CPU 的频率增长 > + - 常量计数器:同固定的系统时钟频率增长 > + - 淘汰指令计数器: 同每次架构指令执行增长 > + - 内存停顿周期计数器:计算由在时钟域内的最后一级缓存中未命中而引起 > + 的指令调度停顿周期数 > + > +当处于 WFI 或者 WFE 状态时,计数器不会增长。 > + > +AMU 架构提供了一个高达16位的事件计数器空间,未来新的 AMU 版本中可能 > +用它来实现新增的事件计数器。 > + > +另外,AMUv1 实现了一个多达16个64位辅助事件计数器的计数器组。 > + > +冷复位时所有的计数器会清零。 > + > + > +基本支持 > +-------- > + > +内核可以安全地运行在支持 AMU 和不支持 AMU 的 CPU 组合中。 > +因此,当配置 CONFIG_ARM64_AMU_EXTN 后我们无条件使能后续 > +(secondary or hotplugged) CPU 检测和使用这个特性。 > + > +当在 CPU 上检测到该特性时,我们会标记为特性可用但是不能保证计数器的功能, > +仅表明有扩展属性。 > + > +固件(代码运行在高异常级别,例如 arm-tf )需支持以下功能: > + > + - 提供低异常级别(EL2 和 EL1)访问 AMU 寄存器的能力。 > + - 使能计数器。如果未使能,它的值应为 0。 > + - 在从电源关闭状态启动 CPU 前或后保存或者恢复计数器。 > + > +当使用使能了该特性的内核启动但固件损坏时,访问计数器寄存器可能会遭遇 > +panic 或者死锁。即使未发现这些症状,计数器寄存器返回的数据结果并不一 > +定能反映真实情况。通常,计数器会返回 0,表明他们未被使能。 > + > +如果固件没有提供适当的支持最好关闭 CONFIG_ARM64_AMU_EXTN。 > +值得注意的是,出于安全原因,不要绕过 AMUSERRENR_EL0 设置而捕获从 > +EL0(用户空间) 访问 EL1(内核空间)。 因此,固件应该确保访问 AMU寄存器 > +不会困在 EL2或EL3。 > + > +AMUv1 的固定计数器可以通过如下系统寄存器访问: > + > + - SYS_AMEVCNTR0_CORE_EL0 > + - SYS_AMEVCNTR0_CONST_EL0 > + - SYS_AMEVCNTR0_INST_RET_EL0 > + - SYS_AMEVCNTR0_MEM_STALL_EL0 > + > +特定辅助计数器可以通过 SYS_AMEVCNTR1_EL0(n) 访问,其中n介于0到15。 > + > +详细信息定义在目录:arch/arm64/include/asm/sysreg.h。 > + > + > +用户空间访问 > +------------ > + > +由于以下原因,当前禁止从用户空间访问 AMU 的寄存器: > + > + - 安全因数:可能会暴露处于安全模式执行的代码信息。 > + - 意愿:AMU 是用于系统管理的。 > + > +同样,该功能对用户空间不可见。 > + > + > +虚拟化 > +------ > + > +由于以下原因,当前禁止从 KVM 客户端的用户空间(EL0)和内核空间(EL1) > +访问 AMU 的寄存器: > + > + - 安全因数:可能会暴露给其他客户端或主机端执行的代码信息。 > + > +任何试图访问 AMU 寄存器的行为都会触发一个注册在客户端的未定义异常。 > diff --git a/Documentation/translations/zh_CN/arm64/index.rst b/Documentation/translations/zh_CN/arm64/index.rst > index 57545f19ab2d..646ed1f7aea3 100644 > --- a/Documentation/translations/zh_CN/arm64/index.rst > +++ b/Documentation/translations/zh_CN/arm64/index.rst > @@ -12,3 +12,5 @@ ARM64 架构 > > .. toctree:: > :maxdepth: 2 > + > + amu > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3] Documentation: Chinese translation of Documentation/arm64/amu.rst 2020-09-25 15:17 ` [PATCH v3] " Bailu Lin 2020-09-25 23:51 ` Alex Shi @ 2020-09-28 21:24 ` Jonathan Corbet 1 sibling, 0 replies; 8+ messages in thread From: Jonathan Corbet @ 2020-09-28 21:24 UTC (permalink / raw) To: Bailu Lin Cc: linux-doc, catalin.marinas, linux-kernel, kernel, harryxiyou, alex.shi, will, linux-arm-kernel On Fri, 25 Sep 2020 08:17:58 -0700 Bailu Lin <bailu.lin@vivo.com> wrote: > This is a Chinese translated version of Documentation/arm64/amu.rst > > Signed-off-by: Bailu Lin <bailu.lin@vivo.com> > --- > Changes in v3: > - Remove Documentation/arm64/amu.rst's inappropriate License claim. > Changes in v2: > - Add index to arm64 directoy. > - Fix a document format error. > - Correct email encoding format. > --- > Documentation/arm64/amu.rst | 2 + > .../translations/zh_CN/arm64/amu.rst | 102 ++++++++++++++++++ > .../translations/zh_CN/arm64/index.rst | 2 + > 3 files changed, 106 insertions(+) > create mode 100644 Documentation/translations/zh_CN/arm64/amu.rst Applied, thanks. jon _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-09-28 21:26 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20200915025822.29885-1-bailu.lin@vivo.com>
2020-09-18 9:21 ` [PATCH v2] Documentation: Chinese translation of Documentation/arm64/amu.rst Bailu Lin
2020-09-18 13:27 ` Will Deacon
2020-09-24 16:41 ` Jonathan Corbet
2020-09-25 15:17 ` [PATCH v3] " Bailu Lin
2020-09-25 23:51 ` Alex Shi
2020-09-26 2:52 ` [PATCH v4] " Bailu Lin
2020-09-26 6:23 ` Alex Shi
2020-09-28 21:24 ` [PATCH v3] " Jonathan Corbet
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).