linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Documentation: Chinese translation of Documentation/arm64/amu.rst
@ 2020-09-15  2:58 Bailu Lin
  2020-09-15  6:34 ` Alex Shi
  2020-09-18  9:21 ` [PATCH v2] " Bailu Lin
  0 siblings, 2 replies; 11+ messages in thread
From: Bailu Lin @ 2020-09-15  2:58 UTC (permalink / raw)
  To: Harry Wei, Alex Shi, Jonathan Corbet, Bailu Lin, linux-doc, linux-kernel
  Cc: kernel, wangqing

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=y, Size: 4241 bytes --]

This is a Chinese translated version of Documentation/arm64/amu.rst

Signed-off-by: Bailu Lin <bailu.lin@vivo.com>
---
 .../translations/zh_CN/arm64/amu.rst          | 102 ++++++++++++++++++
 1 file changed, 102 insertions(+)

diff --git a/Documentation/translations/zh_CN/arm64/amu.rst b/Documentation/translations/zh_CN/arm64/amu.rst
index 000000000000..b02d54b91292
--- /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`
+
+---------------------------------------------------------------------
+
+==================================
+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 后我们无条件使能后续(副启动或热插拔)
+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 寄存器的行为都会触发一个注册在客户端的未定义异常。
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH] Documentation: Chinese translation of Documentation/arm64/amu.rst
  2020-09-15  2:58 [PATCH] Documentation: Chinese translation of Documentation/arm64/amu.rst Bailu Lin
@ 2020-09-15  6:34 ` Alex Shi
  2020-09-15 14:29   ` 林白鹭
  2020-09-18  9:21 ` [PATCH v2] " Bailu Lin
  1 sibling, 1 reply; 11+ messages in thread
From: Alex Shi @ 2020-09-15  6:34 UTC (permalink / raw)
  To: Bailu Lin, Harry Wei, Jonathan Corbet, linux-doc, linux-kernel
  Cc: kernel, wangqing

Hi Bailu,

I can not apply your patch even after manual set 'charset=UTF-8'
and vim can't figure out the chinese chars. Could you like to check and fix
it? 
Also it's better to run 'make htmldocs' and then put the output to website
to see if everything in your doc appear correctly on website.

Also we use '[PATCH v2]' in subject to show the 2nd version of same patch.
and reply it on the first version thread could avoid people overlook it.


Applying: Documentation: Chinese translation of Documentation/arm64/amu.rst
error: dev/null: does not exist in index
Patch failed at 0001 Documentation: Chinese translation of Documentation/arm64/amu.rst
Use 'git am --show-current-patch' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

在 2020/9/15 上午10:58, Bailu Lin 写道:
> This is a Chinese translated version of Documentation/arm64/amu.rst
> 
> Signed-off-by: Bailu Lin <bailu.lin@vivo.com>
> ---
>  .../translations/zh_CN/arm64/amu.rst          | 102 ++++++++++++++++++
>  1 file changed, 102 insertions(+)
> 
> diff --git a/Documentation/translations/zh_CN/arm64/amu.rst b/Documentation/translations/zh_CN/arm64/amu.rst
> index 000000000000..b02d54b91292
> --- /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`
> +
> +---------------------------------------------------------------------

don't need above dashline. and add the 'Translator: xxx' here.
> +
> +==================================
> +AArch64 Linux 中扩展的活动监控单元
> +==================================

does the '=' number align with chars?

> +
> +作者: 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 cpu' better to translate as '第二个cpu'

Thanks
Alex
> +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 寄存器的行为都会触发一个注册在客户端的未定义异常。
> 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re:Re: [PATCH] Documentation: Chinese translation of Documentation/arm64/amu.rst
  2020-09-15  6:34 ` Alex Shi
@ 2020-09-15 14:29   ` 林白鹭
  0 siblings, 0 replies; 11+ messages in thread
From: 林白鹭 @ 2020-09-15 14:29 UTC (permalink / raw)
  To: Alex Shi
  Cc: Harry Wei, Jonathan Corbet, linux-doc, linux-kernel, kernel, wangqing

Hi Alex

>I can not apply your patch even after manual set 'charset=UTF-8'
>and vim can't figure out the chinese chars. Could you like to check and fix
>it? 
>Also it's better to run 'make htmldocs' and then put the output to website
>to see if everything in your doc appear correctly on website.

I will make htmldocs and check.

>Applying: Documentation: Chinese translation of Documentation/arm64/amu.rst
>error: dev/null: does not exist in index

I will send the added index patch for arm64 dir first.

>Patch failed at 0001 Documentation: Chinese translation of Documentation/arm64/amu.rst
>Use 'git am --show-current-patch' to see the failed patch
>When you have resolved this problem, run "git am --continue".
>If you prefer to skip this patch, run "git am --skip" instead.
>To restore the original branch and stop patching, run "git am --abort".

I just git am --abort , then send [PATCH v2], that's ok?

>'secondary cpu' better to translate as '第二个cpu'

In ARM smp, the cpu0 is boot cpu or primary cpu,  and other cpu is noboot cpu or  secondary cpu.
The '第二个cpu' is not suitable,  so we can keep 'secondary'. 

From: Alex Shi <alex.shi@linux.alibaba.com>
Date: 2020-09-15 14:34:56
To:  Bailu Lin <bailu.lin@vivo.com>,Harry Wei <harryxiyou@gmail.com>,Jonathan Corbet <corbet@lwn.net>,linux-doc@vger.kernel.org,linux-kernel@vger.kernel.org
Cc:  kernel@vivo.com,wangqing@vivo.com
Subject: Re: [PATCH] Documentation: Chinese translation of Documentation/arm64/amu.rst>Hi Bailu,
>
>I can not apply your patch even after manual set 'charset=UTF-8'
>and vim can't figure out the chinese chars. Could you like to check and fix
>it? 
>Also it's better to run 'make htmldocs' and then put the output to website
>to see if everything in your doc appear correctly on website.
>
>Also we use '[PATCH v2]' in subject to show the 2nd version of same patch.
>and reply it on the first version thread could avoid people overlook it.
>
>
>Applying: Documentation: Chinese translation of Documentation/arm64/amu.rst
>error: dev/null: does not exist in index
>Patch failed at 0001 Documentation: Chinese translation of Documentation/arm64/amu.rst
>Use 'git am --show-current-patch' to see the failed patch
>When you have resolved this problem, run "git am --continue".
>If you prefer to skip this patch, run "git am --skip" instead.
>To restore the original branch and stop patching, run "git am --abort".
>
>在 2020/9/15 上午10:58, Bailu Lin 写道:
>> This is a Chinese translated version of Documentation/arm64/amu.rst
>> 
>> Signed-off-by: Bailu Lin <bailu.lin@vivo.com>
>> ---
>>  .../translations/zh_CN/arm64/amu.rst          | 102 ++++++++++++++++++
>>  1 file changed, 102 insertions(+)
>> 
>> diff --git a/Documentation/translations/zh_CN/arm64/amu.rst b/Documentation/translations/zh_CN/arm64/amu.rst
>> index 000000000000..b02d54b91292
>> --- /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`
>> +
>> +---------------------------------------------------------------------
>
>don't need above dashline. and add the 'Translator: xxx' here.
>> +
>> +==================================
>> +AArch64 Linux 中扩展的活动监控单元
>> +==================================
>
>does the '=' number align with chars?
>
>> +
>> +作者: 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 cpu' better to translate as '第二个cpu'
>
>Thanks
>Alex
>> +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 寄存器的行为都会触发一个注册在客户端的未定义异常。
>> 



^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2] Documentation: Chinese translation of Documentation/arm64/amu.rst
  2020-09-15  2:58 [PATCH] Documentation: Chinese translation of Documentation/arm64/amu.rst Bailu Lin
  2020-09-15  6:34 ` Alex Shi
@ 2020-09-18  9:21 ` Bailu Lin
  2020-09-18 13:27   ` Will Deacon
  2020-09-24 16:41   ` Jonathan Corbet
  1 sibling, 2 replies; 11+ 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: bailu.lin, kernel

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


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH v2] Documentation: Chinese translation of Documentation/arm64/amu.rst
  2020-09-18  9:21 ` [PATCH v2] " Bailu Lin
@ 2020-09-18 13:27   ` Will Deacon
  2020-09-24 16:41   ` Jonathan Corbet
  1 sibling, 0 replies; 11+ messages in thread
From: Will Deacon @ 2020-09-18 13:27 UTC (permalink / raw)
  To: Bailu Lin
  Cc: catalin.marinas, corbet, harryxiyou, alex.shi, linux-arm-kernel,
	linux-doc, linux-kernel, 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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2] Documentation: Chinese translation of Documentation/arm64/amu.rst
  2020-09-18  9:21 ` [PATCH v2] " 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; 11+ messages in thread
From: Jonathan Corbet @ 2020-09-24 16:41 UTC (permalink / raw)
  To: Bailu Lin
  Cc: catalin.marinas, will, harryxiyou, alex.shi, linux-arm-kernel,
	linux-doc, linux-kernel, 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

^ permalink raw reply	[flat|nested] 11+ 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; 11+ messages in thread
From: Bailu Lin @ 2020-09-25 15:17 UTC (permalink / raw)
  To: corbet
  Cc: alex.shi, bailu.lin, catalin.marinas, harryxiyou, kernel,
	linux-arm-kernel, linux-doc, linux-kernel, will

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


^ permalink raw reply related	[flat|nested] 11+ 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; 11+ messages in thread
From: Alex Shi @ 2020-09-25 23:51 UTC (permalink / raw)
  To: Bailu Lin, corbet
  Cc: catalin.marinas, harryxiyou, kernel, linux-arm-kernel, linux-doc,
	linux-kernel, will



在 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?

> 

^ permalink raw reply	[flat|nested] 11+ 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; 11+ messages in thread
From: Bailu Lin @ 2020-09-26  2:52 UTC (permalink / raw)
  To: alex.shi
  Cc: bailu.lin, catalin.marinas, corbet, harryxiyou, kernel,
	linux-arm-kernel, linux-doc, linux-kernel, will

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


^ permalink raw reply related	[flat|nested] 11+ 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; 11+ messages in thread
From: Alex Shi @ 2020-09-26  6:23 UTC (permalink / raw)
  To: Bailu Lin
  Cc: catalin.marinas, corbet, harryxiyou, kernel, linux-arm-kernel,
	linux-doc, linux-kernel, will

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
> 

^ permalink raw reply	[flat|nested] 11+ 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; 11+ messages in thread
From: Jonathan Corbet @ 2020-09-28 21:24 UTC (permalink / raw)
  To: Bailu Lin
  Cc: alex.shi, catalin.marinas, harryxiyou, kernel, linux-arm-kernel,
	linux-doc, linux-kernel, will

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-09-28 21:24 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-15  2:58 [PATCH] Documentation: Chinese translation of Documentation/arm64/amu.rst Bailu Lin
2020-09-15  6:34 ` Alex Shi
2020-09-15 14:29   ` 林白鹭
2020-09-18  9:21 ` [PATCH v2] " 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).