Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Sep 2025 17:09:34 GMT
From:      Andrew Turner <andrew@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: b3d30be6ed71 - main - arm64/vmm: Remove support for reading CNTHCTL_EL2
Message-ID:  <202509231709.58NH9YwQ077286@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by andrew:

URL: https://cgit.FreeBSD.org/src/commit/?id=b3d30be6ed7108b97ed628f7ec9497a112d49fd6

commit b3d30be6ed7108b97ed628f7ec9497a112d49fd6
Author:     Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2025-09-22 17:08:14 +0000
Commit:     Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2025-09-23 17:08:36 +0000

    arm64/vmm: Remove support for reading CNTHCTL_EL2
    
    This is now unused as we just set the register value directly.
    
    Sponsored by:   Arm Ltd
    Differential Revision:  https://reviews.freebsd.org/D51818
---
 sys/arm64/vmm/hyp.h       | 1 -
 sys/arm64/vmm/io/vtimer.c | 5 +----
 sys/arm64/vmm/io/vtimer.h | 2 +-
 sys/arm64/vmm/vmm_arm64.c | 4 +---
 sys/arm64/vmm/vmm_hyp.c   | 2 --
 5 files changed, 3 insertions(+), 11 deletions(-)

diff --git a/sys/arm64/vmm/hyp.h b/sys/arm64/vmm/hyp.h
index 0b2977c73960..0c8d0fb28b18 100644
--- a/sys/arm64/vmm/hyp.h
+++ b/sys/arm64/vmm/hyp.h
@@ -80,7 +80,6 @@
 #define	HYP_ENTER_GUEST		0x00000002
 #define	HYP_READ_REGISTER	0x00000003
 #define	 HYP_REG_ICH_VTR	0x1
-#define	 HYP_REG_CNTHCTL	0x2
 #define	HYP_CLEAN_S2_TLBI	0x00000004
 #define	HYP_DC_CIVAC		0x00000005
 #define	HYP_EL2_TLBI		0x00000006
diff --git a/sys/arm64/vmm/io/vtimer.c b/sys/arm64/vmm/io/vtimer.c
index 51b21110d42c..ddc9e6e840a5 100644
--- a/sys/arm64/vmm/io/vtimer.c
+++ b/sys/arm64/vmm/io/vtimer.c
@@ -55,7 +55,6 @@
 #define timer_enabled(ctl)	\
     (!((ctl) & CNTP_CTL_IMASK) && ((ctl) & CNTP_CTL_ENABLE))
 
-static uint64_t cnthctl_el2_reg;
 static uint32_t tmr_frq;
 
 #define timer_condition_met(ctl)	((ctl) & CNTP_CTL_ISTATUS)
@@ -111,9 +110,8 @@ out:
 }
 
 int
-vtimer_init(uint64_t cnthctl_el2)
+vtimer_init(void)
 {
-	cnthctl_el2_reg = cnthctl_el2;
 	/*
 	 * The guest *MUST* use the same timer frequency as the host. The
 	 * register CNTFRQ_EL0 is accessible to the guest and a different value
@@ -129,7 +127,6 @@ vtimer_vminit(struct hyp *hyp)
 {
 	uint64_t now;
 
-	hyp->vtimer.cnthctl_el2 = cnthctl_el2_reg;
 
 	/*
 	 * Configure the Counter-timer Hypervisor Control Register for the VM.
diff --git a/sys/arm64/vmm/io/vtimer.h b/sys/arm64/vmm/io/vtimer.h
index 71a20344d05e..92ce025968d2 100644
--- a/sys/arm64/vmm/io/vtimer.h
+++ b/sys/arm64/vmm/io/vtimer.h
@@ -66,7 +66,7 @@ struct vtimer_cpu {
 	uint32_t	cntkctl_el1;
 };
 
-int 	vtimer_init(uint64_t cnthctl_el2);
+int 	vtimer_init(void);
 void 	vtimer_vminit(struct hyp *);
 void 	vtimer_cpuinit(struct hypctx *);
 void 	vtimer_cpucleanup(struct hypctx *);
diff --git a/sys/arm64/vmm/vmm_arm64.c b/sys/arm64/vmm/vmm_arm64.c
index 70bb914d68c6..fa13fc76677a 100644
--- a/sys/arm64/vmm/vmm_arm64.c
+++ b/sys/arm64/vmm/vmm_arm64.c
@@ -238,7 +238,6 @@ vmmops_modinit(int ipinum)
 	vm_offset_t next_hyp_va;
 	vm_paddr_t vmm_base;
 	uint64_t id_aa64mmfr0_el1, pa_range_bits, pa_range_field;
-	uint64_t cnthctl_el2;
 	int cpu, i;
 	bool rv __diagused;
 
@@ -444,10 +443,9 @@ vmmops_modinit(int ipinum)
 			vmem_add(el2_mem_alloc, next_hyp_va,
 			    HYP_VM_MAX_ADDRESS - next_hyp_va, M_WAITOK);
 	}
-	cnthctl_el2 = vmm_read_reg(HYP_REG_CNTHCTL);
 
 	vgic_init();
-	vtimer_init(cnthctl_el2);
+	vtimer_init();
 
 	return (0);
 }
diff --git a/sys/arm64/vmm/vmm_hyp.c b/sys/arm64/vmm/vmm_hyp.c
index 475ad79f63cc..6bbf0d7eb730 100644
--- a/sys/arm64/vmm/vmm_hyp.c
+++ b/sys/arm64/vmm/vmm_hyp.c
@@ -615,8 +615,6 @@ VMM_HYP_FUNC(read_reg)(uint64_t reg)
 	switch (reg) {
 	case HYP_REG_ICH_VTR:
 		return (READ_SPECIALREG(ich_vtr_el2));
-	case HYP_REG_CNTHCTL:
-		return (READ_SPECIALREG(cnthctl_el2));
 	}
 
 	return (0);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202509231709.58NH9YwQ077286>