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

From: Rongwei Wang
Date: Thu Dec 03 2020 - 00:46:38 EST




> 2020年12月1日 下午11:37,Marc Zyngier <maz@xxxxxxxxxx> 写道:
>
> On 2020-12-01 14:25, wangrongwei wrote:
>>> 2020年12月1日 下午4:12,Marc Zyngier <maz@xxxxxxxxxx> 写道:
>>> 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.

Regards,
Rongwei Wang.