/freebsd/sys/i386/i386/ |
H A D | perfmon.c | 125 perfmon_setup(int pmc, unsigned int control) in perfmon_setup() argument 129 if (pmc < 0 || pmc >= NPMC) in perfmon_setup() 132 perfmon_inuse |= (1 << pmc); in perfmon_setup() 135 ctl_shadow[pmc] = control; in perfmon_setup() 136 writectl(pmc); in perfmon_setup() 137 wrmsr(msr_pmc[pmc], pmc_shadow[pmc] = 0); in perfmon_setup() 143 perfmon_get(int pmc, unsigned int *control) in perfmon_get() argument 145 if (pmc < 0 || pmc >= NPMC) in perfmon_get() 148 if (perfmon_inuse & (1 << pmc)) { in perfmon_get() 149 *control = ctl_shadow[pmc]; in perfmon_get() [all …]
|
/freebsd/lib/libpmc/ |
H A D | Makefile | 1 LIB_CXX= pmc 4 INCS= pmc.h pmclog.h pmcformat.h 46 MAN= pmc.3 61 MAN+= pmc.soft.3 64 MAN+= pmc.amd.3 65 MAN+= pmc.atom.3 66 MAN+= pmc.atomsilvermont.3 67 MAN+= pmc.cmn-600.3 68 MAN+= pmc.core.3 69 MAN+= pmc.core2.3 [all …]
|
/freebsd/sys/contrib/device-tree/src/arm/microchip/ |
H A D | sama7g5.dtsi | 37 clocks = <&pmc PMC_TYPE_CORE PMC_CPUPLL>; 192 clocks = <&pmc PMC_TYPE_CORE PMC_MCK1>; 210 clocks = <&pmc PMC_TYPE_PERIPHERAL 18>; 241 clocks = <&pmc PMC_TYPE_PERIPHERAL 11>; 244 pmc: clock-controller@e0018000 { label 245 compatible = "microchip,sama7g5-pmc", "syscon"; 315 …clocks = <&pmc PMC_TYPE_PERIPHERAL 91>, <&pmc PMC_TYPE_PERIPHERAL 92>, <&pmc PMC_TYPE_PERIPHERAL 9… 323 clocks = <&pmc PMC_TYPE_PERIPHERAL 21>; 343 clocks = <&pmc PMC_TYPE_PERIPHERAL 78>, <&pmc PMC_TYPE_GCK 78>; 358 clocks = <&pmc PMC_TYPE_PERIPHERAL 79>, <&pmc PMC_TYPE_GCK 79>; [all …]
|
H A D | sama5d2.dtsi | 48 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>; 64 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>; 134 clocks = <&pmc PMC_TYPE_PERIPHERAL 42>, <&pmc PMC_TYPE_CORE PMC_UTMI>; 143 clocks = <&pmc PMC_TYPE_PERIPHERAL 41>, <&pmc PMC_TYPE_PERIPHERAL 41>, <&pmc PMC_TYPE_SYSTEM 6>; 152 clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_PERIPHERAL 41>; 176 clocks = <&pmc PMC_TYPE_COR 287 pmc: clock-controller@f0014000 { global() label [all...] |
H A D | sam9x60.dtsi | 84 clocks = <&pmc PMC_TYPE_PERIPHERAL 23>, <&pmc PMC_TYPE_CORE PMC_UTMI>; 86 assigned-clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>; 95 clocks = <&pmc PMC_TYPE_PERIPHERAL 22>, <&pmc PMC_TYPE_PERIPHERAL 22>, <&pmc PMC_TYPE_SYSTEM 6>; 104 clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_PERIPHERAL 22>; 106 assigned-clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>; 124 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>; 141 clocks = <&pmc PMC_TYPE_PERIPHERAL 12>, <&pmc PMC_TYPE_GCK 12>; 143 assigned-clocks = <&pmc PMC_TYPE_GCK 12>; 152 clocks = <&pmc PMC_TYPE_PERIPHERAL 26>, <&pmc PMC_TYPE_GCK 26>; 154 assigned-clocks = <&pmc PMC_TYPE_GCK 26>; [all …]
|
H A D | at91sam9260.dtsi | 118 pmc: clock-controller@fffffc00 { label 119 compatible = "atmel,at91sam9260-pmc", "syscon"; 130 clocks = <&pmc PMC_TYPE_CORE PMC_SLOW>; 136 clocks = <&pmc PMC_TYPE_CORE PMC_SLOW>; 143 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>; 154 …clocks = <&pmc PMC_TYPE_PERIPHERAL 17>, <&pmc PMC_TYPE_PERIPHERAL 18>, <&pmc PMC_TYPE_PERIPHERAL 1… 166 …clocks = <&pmc PMC_TYPE_PERIPHERAL 26>, <&pmc PMC_TYPE_PERIPHERAL 27>, <&pmc PMC_TYPE_PERIPHERAL 2… 507 clocks = <&pmc PMC_TYPE_PERIPHERAL 2>; 518 clocks = <&pmc PMC_TYPE_PERIPHERAL 3>; 529 clocks = <&pmc PMC_TYPE_PERIPHERAL 4>; [all …]
|
H A D | at91sam9g45.dtsi | 111 clocks = <&pmc PMC_TYPE_SYSTEM 2>; 118 clocks = <&pmc PMC_TYPE_SYSTEM 2>; 132 pmc: clock-controller@fffffc00 { label 133 compatible = "atmel,at91sam9g45-pmc", "syscon"; 151 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>; 167 …clocks = <&pmc PMC_TYPE_PERIPHERAL 18>, <&pmc PMC_TYPE_PERIPHERAL 18>, <&pmc PMC_TYPE_PERIPHERAL 1… 177 …clocks = <&pmc PMC_TYPE_PERIPHERAL 18>, <&pmc PMC_TYPE_PERIPHERAL 18>, <&pmc PMC_TYPE_PERIPHERAL 1… 186 clocks = <&pmc PMC_TYPE_PERIPHERAL 21>; 629 clocks = <&pmc PMC_TYPE_PERIPHERAL 2>; 640 clocks = <&pmc PMC_TYPE_PERIPHERAL 3>; [all …]
|
H A D | at91sam9261.dtsi | 84 clocks = <&pmc PMC_TYPE_PERIPHERAL 20>, <&pmc PMC_TYPE_SYSTEM 16>, <&pmc PMC_TYPE_SYSTEM 6>; 95 clocks = <&pmc PMC_TYPE_PERIPHERAL 21>, <&pmc PMC_TYPE_SYSTEM 17>; 115 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>; 141 …clocks = <&pmc PMC_TYPE_PERIPHERAL 17>, <&pmc PMC_TYPE_PERIPHERAL 18>, <&pmc PMC_TYPE_PERIPHERAL 1… 149 clocks = <&pmc PMC_TYPE_PERIPHERAL 10>, <&pmc PMC_TYPE_SYSTEM 7>; 163 clocks = <&pmc PMC_TYPE_PERIPHERAL 9>; 176 clocks = <&pmc PMC_TYPE_PERIPHERAL 11>; 189 clocks = <&pmc PMC_TYPE_PERIPHERAL 6>; 203 clocks = <&pmc PMC_TYPE_PERIPHERAL 7>; 217 clocks = <&pmc PMC_TYPE_PERIPHERAL 8>; [all …]
|
H A D | sama5d4.dtsi | 109 clocks = <&pmc PMC_TYPE_PERIPHERAL 19>; 117 clocks = <&pmc PMC_TYPE_PERIPHERAL 47>, <&pmc PMC_TYPE_CORE PMC_UTMI>; 126 clocks = <&pmc PMC_TYPE_PERIPHERAL 46>, <&pmc PMC_TYPE_PERIPHERAL 46>, <&pmc PMC_TYPE_SYSTEM 6>; 135 clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_PERIPHERAL 46>; 159 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>; 189 clocks = <&pmc PMC_TYPE_PERIPHERAL 51>, <&pmc PMC_TYPE_SYSTEM 3>, <&clk32k>; 218 clocks = <&pmc PMC_TYPE_PERIPHERAL 50>; 228 clocks = <&pmc PMC_TYPE_PERIPHERAL 52>; 240 clocks = <&pmc PMC_TYPE_SYSTEM 2>, <&pmc PMC_TYPE_PERIPHERAL 16>; 249 clocks = <&pmc PMC_TYPE_PERIPHERAL 8>; [all …]
|
H A D | at91sam9x5.dtsi | 120 clocks = <&pmc PMC_TYPE_SYSTEM 2>; 129 pmc: clock-controller@fffffc00 { label 130 compatible = "atmel,at91sam9x5-pmc", "syscon"; 154 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>; 170 clocks = <&pmc PMC_TYPE_PERIPHERAL 17>, <&clk32k>; 180 clocks = <&pmc PMC_TYPE_PERIPHERAL 17>, <&clk32k>; 189 clocks = <&pmc PMC_TYPE_PERIPHERAL 20>; 198 clocks = <&pmc PMC_TYPE_PERIPHERAL 21>; 596 clocks = <&pmc PMC_TYPE_PERIPHERAL 2>; 608 clocks = <&pmc PMC_TYPE_PERIPHERAL 2>; [all …]
|
H A D | at91sam9n12.dtsi | 112 clocks = <&pmc PMC_TYPE_SYSTEM 2>; 121 pmc: clock-controller@fffffc00 { label 122 compatible = "atmel,at91sam9n12-pmc", "syscon"; 140 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>; 162 clocks = <&pmc PMC_TYPE_PERIPHERAL 12>; 175 clocks = <&pmc PMC_TYPE_PERIPHERAL 17>, <&clk32k>; 185 clocks = <&pmc PMC_TYPE_PERIPHERAL 17>, <&clk32k>; 193 clocks = <&pmc PMC_TYPE_PERIPHERAL 25>, <&pmc PMC_TYPE_SYSTEM 3>, <&clk32k>; 222 clocks = <&pmc PMC_TYPE_PERIPHERAL 20>; 540 clocks = <&pmc PMC_TYPE_PERIPHERAL 2>; [all …]
|
H A D | at91rm9200.dtsi | 105 pmc: clock-controller@fffffc00 { label 106 compatible = "atmel,at91rm9200-pmc", "syscon"; 141 …clocks = <&pmc PMC_TYPE_PERIPHERAL 17>, <&pmc PMC_TYPE_PERIPHERAL 18>, <&pmc PMC_TYPE_PERIPHERAL 1… 153 …clocks = <&pmc PMC_TYPE_PERIPHERAL 20>, <&pmc PMC_TYPE_PERIPHERAL 21>, <&pmc PMC_TYPE_PERIPHERAL 2… 163 clocks = <&pmc PMC_TYPE_PERIPHERAL 12>; 173 clocks = <&pmc PMC_TYPE_PERIPHERAL 10>; 186 clocks = <&pmc PMC_TYPE_PERIPHERAL 14>; 197 clocks = <&pmc PMC_TYPE_PERIPHERAL 15>; 208 clocks = <&pmc PMC_TYPE_PERIPHERAL 16>; 220 clocks = <&pmc PMC_TYPE_PERIPHERAL 24>; [all …]
|
/freebsd/sys/dev/hwpmc/ |
H A D | hwpmc_powerpc.h | 86 extern pmc_value_t (*powerpc_pmcn_read)(unsigned int pmc); 87 extern void (*powerpc_pmcn_write)(unsigned int pmc, uint32_t val); 95 int powerpc_describe(int cpu, int ri, struct pmc_info *pi, struct pmc **ppmc); 96 int powerpc_get_config(int cpu, int ri, struct pmc **ppm); 99 int powerpc_allocate_pmc(int cpu, int ri, struct pmc *pm, 101 int powerpc_release_pmc(int cpu, int ri, struct pmc *pmc); 102 int powerpc_start_pmc(int cpu, int ri, struct pmc *pm); 103 int powerpc_stop_pmc(int cpu, int ri, struct pmc *pm); 104 int powerpc_config_pmc(int cpu, int ri, struct pmc *pm); 105 pmc_value_t powerpc_pmcn_read_default(unsigned int pmc); [all …]
|
H A D | hwpmc_armv7.c | 61 armv7_interrupt_enable(uint32_t pmc) in armv7_interrupt_enable() argument 65 reg = (1 << pmc); in armv7_interrupt_enable() 73 armv7_interrupt_disable(uint32_t pmc) in armv7_interrupt_disable() argument 77 reg = (1 << pmc); in armv7_interrupt_disable() 85 armv7_counter_enable(unsigned int pmc) in armv7_counter_enable() argument 89 reg = (1 << pmc); in armv7_counter_enable() 97 armv7_counter_disable(unsigned int pmc) in armv7_counter_disable() argument 101 reg = (1 << pmc); in armv7_counter_disable() 109 armv7_pmcn_read(unsigned int pmc, uint32_t evsel) in armv7_pmcn_read() argument 116 KASSERT(pmc < armv7_npmcs, ("%s: illegal PMC number %d", __func__, pmc)); in armv7_pmcn_read() [all …]
|
H A D | hwpmc_arm64.c | 32 #include <sys/pmc.h> 61 arm64_interrupt_enable(uint32_t pmc) in arm64_interrupt_enable() 65 reg = (1 << pmc); in arm64_interrupt_enable() 75 arm64_interrupt_disable(uint32_t pmc) in arm64_interrupt_disable() 79 reg = (1 << pmc); in arm64_interrupt_disable() 89 arm64_counter_enable(unsigned int pmc) in arm64_counter_enable() 93 reg = (1 << pmc); in arm64_counter_enable() 103 arm64_counter_disable(unsigned int pmc) in arm64_counter_disable() 107 reg = (1 << pmc); in arm64_counter_disable() 139 arm64_pmcn_read(unsigned int pmc) in arm64_pmcn_read() 60 arm64_interrupt_enable(uint32_t pmc) arm64_interrupt_enable() argument 74 arm64_interrupt_disable(uint32_t pmc) arm64_interrupt_disable() argument 88 arm64_counter_enable(unsigned int pmc) arm64_counter_enable() argument 102 arm64_counter_disable(unsigned int pmc) arm64_counter_disable() argument 138 arm64_pmcn_read(unsigned int pmc) arm64_pmcn_read() argument 151 arm64_pmcn_write(unsigned int pmc,uint32_t reg) arm64_pmcn_write() argument 336 arm64_release_pmc(int cpu,int ri,struct pmc * pmc) arm64_release_pmc() argument [all...] |
H A D | hwpmc_powerpc.c | 62 pmc_value_t (*powerpc_pmcn_read)(unsigned int pmc); 63 void (*powerpc_pmcn_write)(unsigned int pmc, uint32_t val); 106 powerpc_describe(int cpu, int ri, struct pmc_info *pi, struct pmc **ppmc) in powerpc_describe() 130 powerpc_get_config(int cpu, int ri, struct pmc **ppm) in powerpc_get_config() 181 powerpc_allocate_pmc(int cpu, int ri, struct pmc *pm, in powerpc_allocate_pmc() 231 powerpc_release_pmc(int cpu, int ri, struct pmc *pmc) in powerpc_release_pmc() argument 248 powerpc_start_pmc(int cpu, int ri, struct pmc *pm) in powerpc_start_pmc() 258 powerpc_stop_pmc(int cpu, int ri, struct pmc *pm __unused) in powerpc_stop_pmc() 266 powerpc_config_pmc(int cpu, int ri, struct pmc *pm) in powerpc_config_pmc() 289 powerpc_pmcn_read_default(unsigned int pmc) in powerpc_pmcn_read_default() argument [all …]
|
H A D | hwpmc_uncore.c | 185 ucf_allocate_pmc(int cpu, int ri, struct pmc *pm, in ucf_allocate_pmc() 215 ucf_config_pmc(int cpu, int ri, struct pmc *pm) in ucf_config_pmc() 234 ucf_describe(int cpu, int ri, struct pmc_info *pi, struct pmc **ppmc) in ucf_describe() 255 ucf_get_config(int cpu, int ri, struct pmc **ppm) in ucf_get_config() 263 ucf_read_pmc(int cpu, int ri, struct pmc *pm, pmc_value_t *v) in ucf_read_pmc() 285 ucf_release_pmc(int cpu, int ri, struct pmc *pmc) in ucf_release_pmc() argument 287 PMCDBG3(MDP,REL,1, "ucf-release cpu=%d ri=%d pm=%p", cpu, ri, pmc); in ucf_release_pmc() 301 ucf_start_pmc(int cpu, int ri, struct pmc *pm) in ucf_start_pmc() 328 ucf_stop_pmc(int cpu, int ri, struct pmc *pm __unused) in ucf_stop_pmc() 359 ucf_write_pmc(int cpu, int ri, struct pmc *pm, pmc_value_t v) in ucf_write_pmc() [all …]
|
H A D | hwpmc_mod.c | 202 static int pmc_add_sample(ring_type_t ring, struct pmc *pm, 206 static int pmc_attach_process(struct proc *p, struct pmc *pm); 207 static struct pmc *pmc_allocate_pmc_descriptor(void); 209 static int pmc_attach_one_process(struct proc *p, struct pmc *pm); 213 static int pmc_can_attach(struct pmc *pm, struct proc *p); 217 static int pmc_detach_process(struct proc *p, struct pmc *pm); 218 static int pmc_detach_one_process(struct proc *p, struct pmc *pm, 221 static void pmc_destroy_pmc_descriptor(struct pmc *pm); 224 static int pmc_find_pmc(pmc_id_t pmcid, struct pmc **pm); 225 static struct pmc *pmc_find_pmc_descriptor_in_process(struct pmc_owner *po, [all …]
|
/freebsd/share/examples/perfmon/ |
H A D | perfmon.c | 54 struct pmc pmc; in main() local 60 pmc.pmc_num = 0; in main() 61 pmc.pmc_event = 0; in main() 62 pmc.pmc_unit = 0; in main() 63 pmc.pmc_flags = 0; in main() 64 pmc.pmc_mask = 0; in main() 72 pmc.pmc_flags |= PMCF_USR; in main() 75 pmc.pmc_flags |= PMCF_OS; in main() 78 pmc.pmc_flags |= PMCF_E; in main() 81 pmc.pmc_flags |= PMCF_INV; in main() [all …]
|
/freebsd/sys/contrib/device-tree/Bindings/powerpc/fsl/ |
H A D | pmc.txt | 4 - compatible: "fsl,<chip>-pmc". 6 "fsl,mpc8349-pmc" should be listed for any chip whose PMC is 7 compatible. "fsl,mpc8313-pmc" should also be listed for any chip 10 "fsl,mpc8548-pmc" should be listed for any chip whose PMC is 11 compatible. "fsl,mpc8536-pmc" should also be listed for any chip 14 "fsl,mpc8641d-pmc" should be listed for any chip whose PMC is 15 compatible; all statements below that apply to "fsl,mpc8548-pmc" also 16 apply to "fsl,mpc8641d-pmc". 22 - reg: For devices compatible with "fsl,mpc8349-pmc", the first resource 26 For devices compatible with "fsl,mpc8548-pmc", the first resource [all …]
|
/freebsd/sys/arm/nvidia/tegra124/ |
H A D | tegra124_mp.c | 77 bus_space_handle_t pmc; in tegra124_mp_start_ap() local 83 if (bus_space_map(fdtbus_bs_tag, PMC_PHYSBASE, PMC_SIZE, 0, &pmc) != 0) in tegra124_mp_start_ap() 95 val = bus_space_read_4(fdtbus_bs_tag, pmc, in tegra124_mp_start_ap() 100 val = bus_space_read_4(fdtbus_bs_tag, pmc, PMC_PWRGATE_STATUS); in tegra124_mp_start_ap() 105 val = bus_space_read_4(fdtbus_bs_tag, pmc, in tegra124_mp_start_ap() 108 bus_space_write_4(fdtbus_bs_tag, pmc, in tegra124_mp_start_ap() 114 val = bus_space_read_4(fdtbus_bs_tag, pmc, in tegra124_mp_start_ap() 121 bus_space_unmap(fdtbus_bs_tag, pmc, PMC_SIZE); in tegra124_mp_start_ap()
|
H A D | tegra124_machdep.c | 94 bus_space_handle_t pmc; in tegra124_cpu_reset() local 98 bus_space_map(fdtbus_bs_tag, PMC_PHYSBASE, PMC_SIZE, 0, &pmc); in tegra124_cpu_reset() 100 reg = bus_space_read_4(fdtbus_bs_tag, pmc, PMC_SCRATCH0); in tegra124_cpu_reset() 102 bus_space_write_4(fdtbus_bs_tag, pmc, PMC_SCRATCH0, in tegra124_cpu_reset() 104 bus_space_read_4(fdtbus_bs_tag, pmc, PMC_SCRATCH0); in tegra124_cpu_reset() 106 reg = bus_space_read_4(fdtbus_bs_tag, pmc, PMC_CONTROL_REG); in tegra124_cpu_reset() 109 bus_space_write_4(fdtbus_bs_tag, pmc, PMC_CONTROL_REG, reg | 0x10); in tegra124_cpu_reset() 110 bus_space_read_4(fdtbus_bs_tag, pmc, PMC_CONTROL_REG); in tegra124_cpu_reset()
|
/freebsd/sys/contrib/device-tree/Bindings/arm/tegra/ |
H A D | nvidia,tegra186-pmc.txt | 5 - "nvidia,tegra186-pmc": for Tegra186 6 - "nvidia,tegra194-pmc": for Tegra194 7 - "nvidia,tegra234-pmc": for Tegra234 11 - "pmc" 27 pmc@c3600000 { 28 compatible = "nvidia,tegra186-pmc"; 33 reg-names = "pmc", "wake", "aotag", "scratch"; 38 pmc@c360000 { 53 are placed under the pmc node and they are referred to by the pinctrl 87 pmc: pmc@7000e400 { [all …]
|
/freebsd/tools/test/stress2/misc/ |
H A D | pmc8.sh | 27 cat > /tmp/pmc-crash.c <<EOF 54 clang -lpmc pmc-crash.c -o pmc-crash 108 mycc -o /tmp/pmc-crash -Wall -Wextra -O0 /tmp/pmc-crash.c -lpmc || exit 112 ./pmc-crash; s=$? 114 rm -f /tmp/pmc-crash /tmp/pmc-crash.core /tmp/pmc-crash.c
|
/freebsd/sys/contrib/device-tree/src/powerpc/fsl/ |
H A D | mpc8568si-post.dtsi | 40 sleep = <&pmc 0x08000000>; 52 sleep = <&pmc 0x80000000>; 64 sleep = <&pmc 0x20000000>; 90 sleep = <&pmc 0x00080000>; 129 sleep = <&pmc 0x00000004>; 141 sleep = <&pmc 0x00000002>; 158 sleep = <&pmc 0x00000400>; 163 sleep = <&pmc 0x00000080>; 168 sleep = <&pmc 0x00000040>; 178 sleep = <&pmc 0x01000000>; [all …]
|