Change MDSCR_EL1 register holding local variables as uint64_t that reflects its true register width as well.
Cc: Marc Zyngier maz@kernel.org Cc: Oliver Upton oliver.upton@linux.dev Cc: Joey Gouly joey.gouly@arm.com Cc: kvm@vger.kernel.org Cc: kvmarm@lists.linux.dev Cc: linux-kernel@vger.kernel.org Cc: linux-kselftest@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Reviewed-by: Ada Couprie Diaz ada.coupriediaz@arm.com Signed-off-by: Anshuman Khandual anshuman.khandual@arm.com --- tools/testing/selftests/kvm/arm64/debug-exceptions.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/kvm/arm64/debug-exceptions.c b/tools/testing/selftests/kvm/arm64/debug-exceptions.c index c7fb55c9135b..e34963956fbc 100644 --- a/tools/testing/selftests/kvm/arm64/debug-exceptions.c +++ b/tools/testing/selftests/kvm/arm64/debug-exceptions.c @@ -140,7 +140,7 @@ static void enable_os_lock(void)
static void enable_monitor_debug_exceptions(void) { - uint32_t mdscr; + uint64_t mdscr;
asm volatile("msr daifclr, #8");
@@ -223,7 +223,7 @@ void install_hw_bp_ctx(uint8_t addr_bp, uint8_t ctx_bp, uint64_t addr,
static void install_ss(void) { - uint32_t mdscr; + uint64_t mdscr;
asm volatile("msr daifclr, #8");
On Tue, 10 Jun 2025 06:31:28 +0100, Anshuman Khandual anshuman.khandual@arm.com wrote:
Change MDSCR_EL1 register holding local variables as uint64_t that reflects its true register width as well.
Cc: Marc Zyngier maz@kernel.org Cc: Oliver Upton oliver.upton@linux.dev Cc: Joey Gouly joey.gouly@arm.com Cc: kvm@vger.kernel.org Cc: kvmarm@lists.linux.dev Cc: linux-kernel@vger.kernel.org Cc: linux-kselftest@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Reviewed-by: Ada Couprie Diaz ada.coupriediaz@arm.com Signed-off-by: Anshuman Khandual anshuman.khandual@arm.com
tools/testing/selftests/kvm/arm64/debug-exceptions.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/kvm/arm64/debug-exceptions.c b/tools/testing/selftests/kvm/arm64/debug-exceptions.c index c7fb55c9135b..e34963956fbc 100644 --- a/tools/testing/selftests/kvm/arm64/debug-exceptions.c +++ b/tools/testing/selftests/kvm/arm64/debug-exceptions.c @@ -140,7 +140,7 @@ static void enable_os_lock(void) static void enable_monitor_debug_exceptions(void) {
- uint32_t mdscr;
- uint64_t mdscr;
asm volatile("msr daifclr, #8"); @@ -223,7 +223,7 @@ void install_hw_bp_ctx(uint8_t addr_bp, uint8_t ctx_bp, uint64_t addr, static void install_ss(void) {
- uint32_t mdscr;
- uint64_t mdscr;
asm volatile("msr daifclr, #8");
Why change this in the place that matters *the least*?
arch/arm64/kernel/debug-monitors.c is full of 32bit manipulation of this register, and that's only one example of it. So if you are going to change this, please do it fully, not as a random change in a random file.
Thanks,
M.
On 10/06/25 10:31 PM, Marc Zyngier wrote:
On Tue, 10 Jun 2025 06:31:28 +0100, Anshuman Khandual anshuman.khandual@arm.com wrote:
Change MDSCR_EL1 register holding local variables as uint64_t that reflects its true register width as well.
Cc: Marc Zyngier maz@kernel.org Cc: Oliver Upton oliver.upton@linux.dev Cc: Joey Gouly joey.gouly@arm.com Cc: kvm@vger.kernel.org Cc: kvmarm@lists.linux.dev Cc: linux-kernel@vger.kernel.org Cc: linux-kselftest@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Reviewed-by: Ada Couprie Diaz ada.coupriediaz@arm.com Signed-off-by: Anshuman Khandual anshuman.khandual@arm.com
tools/testing/selftests/kvm/arm64/debug-exceptions.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/kvm/arm64/debug-exceptions.c b/tools/testing/selftests/kvm/arm64/debug-exceptions.c index c7fb55c9135b..e34963956fbc 100644 --- a/tools/testing/selftests/kvm/arm64/debug-exceptions.c +++ b/tools/testing/selftests/kvm/arm64/debug-exceptions.c @@ -140,7 +140,7 @@ static void enable_os_lock(void) static void enable_monitor_debug_exceptions(void) {
- uint32_t mdscr;
- uint64_t mdscr;
asm volatile("msr daifclr, #8"); @@ -223,7 +223,7 @@ void install_hw_bp_ctx(uint8_t addr_bp, uint8_t ctx_bp, uint64_t addr, static void install_ss(void) {
- uint32_t mdscr;
- uint64_t mdscr;
asm volatile("msr daifclr, #8");
Why change this in the place that matters *the least*?
arch/arm64/kernel/debug-monitors.c is full of 32bit manipulation of this register, and that's only one example of it. So if you are going to change this, please do it fully, not as a random change in a random file.
The first patch in this series changes mdscr system register to 64 bit in the mentioned file (i.e arch/arm64/kernel/debug-monitors.c).
Thanks,
M.
On Wed, Jun 11, 2025 at 09:15:10AM +0530, Anshuman Khandual wrote:
On 10/06/25 10:31 PM, Marc Zyngier wrote:
On Tue, 10 Jun 2025 06:31:28 +0100, Anshuman Khandual anshuman.khandual@arm.com wrote:
Change MDSCR_EL1 register holding local variables as uint64_t that reflects its true register width as well.
Cc: Marc Zyngier maz@kernel.org Cc: Oliver Upton oliver.upton@linux.dev Cc: Joey Gouly joey.gouly@arm.com Cc: kvm@vger.kernel.org Cc: kvmarm@lists.linux.dev Cc: linux-kernel@vger.kernel.org Cc: linux-kselftest@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Reviewed-by: Ada Couprie Diaz ada.coupriediaz@arm.com Signed-off-by: Anshuman Khandual anshuman.khandual@arm.com
tools/testing/selftests/kvm/arm64/debug-exceptions.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/kvm/arm64/debug-exceptions.c b/tools/testing/selftests/kvm/arm64/debug-exceptions.c index c7fb55c9135b..e34963956fbc 100644 --- a/tools/testing/selftests/kvm/arm64/debug-exceptions.c +++ b/tools/testing/selftests/kvm/arm64/debug-exceptions.c @@ -140,7 +140,7 @@ static void enable_os_lock(void) static void enable_monitor_debug_exceptions(void) {
- uint32_t mdscr;
- uint64_t mdscr;
asm volatile("msr daifclr, #8"); @@ -223,7 +223,7 @@ void install_hw_bp_ctx(uint8_t addr_bp, uint8_t ctx_bp, uint64_t addr, static void install_ss(void) {
- uint32_t mdscr;
- uint64_t mdscr;
asm volatile("msr daifclr, #8");
Why change this in the place that matters *the least*?
arch/arm64/kernel/debug-monitors.c is full of 32bit manipulation of this register, and that's only one example of it. So if you are going to change this, please do it fully, not as a random change in a random file.
The first patch in this series changes mdscr system register to 64 bit in the mentioned file (i.e arch/arm64/kernel/debug-monitors.c).
You did not Cc Marc on oatch 1 or the cover letter. KVM folk are only Cc'd on patch 2.
Marc, for context the series is:
https://lore.kernel.org/linux-arm-kernel/20250610053128.4118784-1-anshuman.k...
... and I've asked Anshuman to better describe the rationale.
Mark.
On Wed, 11 Jun 2025 04:45:10 +0100, Anshuman Khandual anshuman.khandual@arm.com wrote:
On 10/06/25 10:31 PM, Marc Zyngier wrote:
On Tue, 10 Jun 2025 06:31:28 +0100, Anshuman Khandual anshuman.khandual@arm.com wrote:
Change MDSCR_EL1 register holding local variables as uint64_t that reflects its true register width as well.
Cc: Marc Zyngier maz@kernel.org Cc: Oliver Upton oliver.upton@linux.dev Cc: Joey Gouly joey.gouly@arm.com Cc: kvm@vger.kernel.org Cc: kvmarm@lists.linux.dev Cc: linux-kernel@vger.kernel.org Cc: linux-kselftest@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Reviewed-by: Ada Couprie Diaz ada.coupriediaz@arm.com Signed-off-by: Anshuman Khandual anshuman.khandual@arm.com
tools/testing/selftests/kvm/arm64/debug-exceptions.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/kvm/arm64/debug-exceptions.c b/tools/testing/selftests/kvm/arm64/debug-exceptions.c index c7fb55c9135b..e34963956fbc 100644 --- a/tools/testing/selftests/kvm/arm64/debug-exceptions.c +++ b/tools/testing/selftests/kvm/arm64/debug-exceptions.c @@ -140,7 +140,7 @@ static void enable_os_lock(void) static void enable_monitor_debug_exceptions(void) {
- uint32_t mdscr;
- uint64_t mdscr;
asm volatile("msr daifclr, #8"); @@ -223,7 +223,7 @@ void install_hw_bp_ctx(uint8_t addr_bp, uint8_t ctx_bp, uint64_t addr, static void install_ss(void) {
- uint32_t mdscr;
- uint64_t mdscr;
asm volatile("msr daifclr, #8");
Why change this in the place that matters *the least*?
arch/arm64/kernel/debug-monitors.c is full of 32bit manipulation of this register, and that's only one example of it. So if you are going to change this, please do it fully, not as a random change in a random file.
The first patch in this series changes mdscr system register to 64 bit in the mentioned file (i.e arch/arm64/kernel/debug-monitors.c).
Then please Cc me on the series, and not patches at random. Context matters.
M.
linux-kselftest-mirror@lists.linaro.org