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
 
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to