[PATCH 0/3] arm64:msr: Add MSR driver

Rongwei Wang rongwei.wang at linux.alibaba.com
Thu Dec 3 00:45:36 EST 2020

> 2020年12月1日 下午11:37,Marc Zyngier <maz at kernel.org> 写道:
> On 2020-12-01 14:25, wangrongwei wrote:
>>> 2020年12月1日 下午4:12,Marc Zyngier <maz at kernel.org> 写道:
>>> On 2020-12-01 03:09, wangrongwei wrote:
>>>> Hi
>>>> We have validate this driver in vm and physical machine, and works fine.
>>> But what does "work fine" mean? None of these system registers are supposed
>>> to be accessible from userspace, so please explain *what* you are trying to
>>> do with this, other that introducing security holes and general system
>>> instability?
>> I think I know what you mean. Do you want me to describe how we achieved it?
>> In x86, the different registers can be accessed directly using the
>> rdmsr and wrmsr instructions, but in ARM, since these two instructions
>> are missing, so we modify the code segment during runtime, similar to
>> the principle of static_key.
> [...]
> These are implementation details, none of which answer my question:
> What makes you think this is a good idea? I cannot see any legitimate
In fact, I think this tool useful mainly in the following scenarios:
	1. performance debug
	2. Arm-core features test
	3. Debug-tool for kernel developer 
Also, for example, MSR-ARM is needed for chip verification and system-level functional verification.
A simple example, perf stat can test pmu, but the overflow interrupt function and forced overflow function of pmu is not covered.
In both cases, we need a special interface to configure it, which can be considered as testing requirements, so it can only be tested by configuring (access) registers, e.g., devmem command for memmap registers, MSR-ARM driver for system registers.
> reason for userspace to ever access privileged system registers, and
> the fact that x86 has such feature isn't a good justification.
>        M.
> -- 
> Jazz is not dead. It just smells funny…

Sorry for the delayed response.

Rongwei Wang.

More information about the linux-arm-kernel mailing list