svn commit: r306085 - in stable/11/sys/arm64: arm64 include
Andrew Turner
andrew at FreeBSD.org
Wed Sep 21 09:45:15 UTC 2016
Author: andrew
Date: Wed Sep 21 09:45:14 2016
New Revision: 306085
URL: https://svnweb.freebsd.org/changeset/base/306085
Log:
MFC 305285:
Add a pc_clock pcpu field and use it to implement cpu_est_clockrate. This
will allow drivers that manage the clock frequency to communicate this with
the reset of the kernel.
Sponsored by: ABT Systems Ltd
Modified:
stable/11/sys/arm64/arm64/machdep.c
stable/11/sys/arm64/include/pcpu.h
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/sys/arm64/arm64/machdep.c
==============================================================================
--- stable/11/sys/arm64/arm64/machdep.c Wed Sep 21 09:06:06 2016 (r306084)
+++ stable/11/sys/arm64/arm64/machdep.c Wed Sep 21 09:45:14 2016 (r306085)
@@ -407,8 +407,17 @@ cpu_flush_dcache(void *ptr, size_t len)
int
cpu_est_clockrate(int cpu_id, uint64_t *rate)
{
+ struct pcpu *pc;
- panic("ARM64TODO: cpu_est_clockrate");
+ pc = pcpu_find(cpu_id);
+ if (pc == NULL || rate == NULL)
+ return (EINVAL);
+
+ if (pc->pc_clock == 0)
+ return (EOPNOTSUPP);
+
+ *rate = pc->pc_clock;
+ return (0);
}
void
Modified: stable/11/sys/arm64/include/pcpu.h
==============================================================================
--- stable/11/sys/arm64/include/pcpu.h Wed Sep 21 09:06:06 2016 (r306084)
+++ stable/11/sys/arm64/include/pcpu.h Wed Sep 21 09:45:14 2016 (r306085)
@@ -38,7 +38,8 @@
#define PCPU_MD_FIELDS \
u_int pc_acpi_id; /* ACPI CPU id */ \
u_int pc_midr; /* stored MIDR value */ \
- char __pad[121]
+ uint64_t pc_clock; \
+ char __pad[113]
#ifdef _KERNEL
More information about the svn-src-stable-11
mailing list