| /OK3568_Linux_fs/u-boot/arch/x86/cpu/ivybridge/ |
| H A D | model_206ax.c | 35 msr_t msr; in enable_vmx() local 42 msr = msr_read(MSR_IA32_FEATURE_CONTROL); in enable_vmx() 44 if (msr.lo & (1 << 0)) { in enable_vmx() 55 msr.hi = 0; in enable_vmx() 56 msr.lo = 0; in enable_vmx() 77 msr.lo |= (1 << 2); in enable_vmx() 79 msr.lo |= (1 << 1); in enable_vmx() 82 msr_write(MSR_IA32_FEATURE_CONTROL, msr); in enable_vmx() 164 msr_t msr = msr_read(MSR_PLATFORM_INFO); in set_power_limits() local 173 if (!(msr.lo & PLATFORM_INFO_SET_TDP)) in set_power_limits() [all …]
|
| /OK3568_Linux_fs/u-boot/arch/x86/cpu/broadwell/ |
| H A D | cpu.c | 105 msr_t msr, perf_ctl, platform_info; in set_max_freq() local 112 msr = msr_read(MSR_CONFIG_TDP_NOMINAL); in set_max_freq() 113 perf_ctl.lo = (msr.lo & 0xff) << 8; in set_max_freq() 116 msr = msr_read(MSR_PLATFORM_INFO); in set_max_freq() 117 perf_ctl.lo = msr.lo & 0xff00; in set_max_freq() 233 msr_t msr; in initialize_vr_config() local 238 msr = msr_read(MSR_VR_CURRENT_CONFIG); in initialize_vr_config() 243 msr.hi &= 0xc0000000; in initialize_vr_config() 244 msr.hi |= (0x01 << (52 - 32)); /* PSI3 threshold - 1A */ in initialize_vr_config() 245 msr.hi |= (0x05 << (42 - 32)); /* PSI2 threshold - 5A */ in initialize_vr_config() [all …]
|
| /OK3568_Linux_fs/u-boot/arch/x86/include/asm/ |
| H A D | msr.h | 27 struct msr { struct 39 struct msr reg; argument 40 struct msr *msrs; 76 unsigned long long native_read_msr(unsigned int msr) in native_read_msr() argument 80 asm volatile("rdmsr" : EAX_EDX_RET(val, low, high) : "c" (msr)); in native_read_msr() 84 static inline void native_write_msr(unsigned int msr, in native_write_msr() argument 87 asm volatile("wrmsr" : : "c" (msr), "a"(low), "d" (high) : "memory"); in native_write_msr() 113 #define rdmsr(msr, val1, val2) \ argument 115 u64 __val = native_read_msr((msr)); \ 120 static inline void wrmsr(unsigned msr, unsigned low, unsigned high) in wrmsr() argument [all …]
|
| /OK3568_Linux_fs/kernel/arch/x86/include/asm/ |
| H A D | msr.h | 14 struct msr { struct 26 struct msr reg; argument 27 struct msr *msrs; 73 extern void do_trace_write_msr(unsigned int msr, u64 val, int failed); 74 extern void do_trace_read_msr(unsigned int msr, u64 val, int failed); 75 extern void do_trace_rdpmc(unsigned int msr, u64 val, int failed); 77 static inline void do_trace_write_msr(unsigned int msr, u64 val, int failed) {} in do_trace_write_msr() argument 78 static inline void do_trace_read_msr(unsigned int msr, u64 val, int failed) {} in do_trace_read_msr() argument 79 static inline void do_trace_rdpmc(unsigned int msr, u64 val, int failed) {} in do_trace_rdpmc() argument 89 static __always_inline unsigned long long __rdmsr(unsigned int msr) in __rdmsr() argument [all …]
|
| H A D | msr-trace.h | 3 #define TRACE_SYSTEM msr 6 #define TRACE_INCLUDE_FILE msr-trace 22 TP_PROTO(unsigned msr, u64 val, int failed), 23 TP_ARGS(msr, val, failed), 25 __field( unsigned, msr ) 30 __entry->msr = msr; 35 __entry->msr, 41 TP_PROTO(unsigned msr, u64 val, int failed), 42 TP_ARGS(msr, val, failed) 46 TP_PROTO(unsigned msr, u64 val, int failed), [all …]
|
| /OK3568_Linux_fs/kernel/arch/x86/kernel/cpu/ |
| H A D | perfctr-watchdog.c | 45 static inline unsigned int nmi_perfctr_msr_to_bit(unsigned int msr) in nmi_perfctr_msr_to_bit() argument 51 if (msr >= MSR_F15H_PERF_CTR) in nmi_perfctr_msr_to_bit() 52 return (msr - MSR_F15H_PERF_CTR) >> 1; in nmi_perfctr_msr_to_bit() 53 return msr - MSR_K7_PERFCTR0; in nmi_perfctr_msr_to_bit() 56 return msr - MSR_ARCH_PERFMON_PERFCTR0; in nmi_perfctr_msr_to_bit() 60 return msr - MSR_P6_PERFCTR0; in nmi_perfctr_msr_to_bit() 62 return msr - MSR_KNC_PERFCTR0; in nmi_perfctr_msr_to_bit() 64 return msr - MSR_P4_BPU_PERFCTR0; in nmi_perfctr_msr_to_bit() 69 return msr - MSR_ARCH_PERFMON_PERFCTR0; in nmi_perfctr_msr_to_bit() 78 static inline unsigned int nmi_evntsel_msr_to_bit(unsigned int msr) in nmi_evntsel_msr_to_bit() argument [all …]
|
| /OK3568_Linux_fs/kernel/arch/powerpc/kvm/ |
| H A D | book3s_hv_tm.c | 19 u64 msr = vcpu->arch.shregs.msr; in emulate_tx_failure() local 23 if (MSR_TM_SUSPENDED(vcpu->arch.shregs.msr)) in emulate_tx_failure() 25 if (msr & MSR_PR) { in emulate_tx_failure() 45 u64 msr = vcpu->arch.shregs.msr; in kvmhv_p9_tm_emulation() local 65 WARN_ON_ONCE(!(MSR_TM_SUSPENDED(msr) && in kvmhv_p9_tm_emulation() 69 vcpu->arch.shregs.msr = newmsr; in kvmhv_p9_tm_emulation() 75 if ((msr & MSR_PR) && (vcpu->arch.vcore->pcr & PCR_ARCH_206)) { in kvmhv_p9_tm_emulation() 86 if ((msr & MSR_PR) && !(vcpu->arch.fscr & FSCR_EBB)) { in kvmhv_p9_tm_emulation() 95 WARN_ON_ONCE(!(MSR_TM_SUSPENDED(msr) && in kvmhv_p9_tm_emulation() 101 msr = (msr & ~MSR_TS_MASK) | MSR_TS_T; in kvmhv_p9_tm_emulation() [all …]
|
| H A D | book3s_hv_tm_builtin.c | 23 u64 newmsr, msr, bescr; in kvmhv_p9_tm_emulation_early() local 45 vcpu->arch.shregs.msr = newmsr; in kvmhv_p9_tm_emulation_early() 52 msr = vcpu->arch.shregs.msr; in kvmhv_p9_tm_emulation_early() 53 if ((msr & MSR_PR) && (vcpu->arch.vcore->pcr & PCR_ARCH_206)) in kvmhv_p9_tm_emulation_early() 57 ((msr & MSR_PR) && !(mfspr(SPRN_FSCR) & FSCR_EBB))) in kvmhv_p9_tm_emulation_early() 67 msr = (msr & ~MSR_TS_MASK) | MSR_TS_T; in kvmhv_p9_tm_emulation_early() 68 vcpu->arch.shregs.msr = msr; in kvmhv_p9_tm_emulation_early() 77 msr = vcpu->arch.shregs.msr; in kvmhv_p9_tm_emulation_early() 82 newmsr = (newmsr & ~MSR_LE) | (msr & MSR_LE); in kvmhv_p9_tm_emulation_early() 84 vcpu->arch.shregs.msr = newmsr; in kvmhv_p9_tm_emulation_early() [all …]
|
| /OK3568_Linux_fs/kernel/arch/x86/lib/ |
| H A D | msr.c | 9 struct msr *msrs_alloc(void) in msrs_alloc() 11 struct msr *msrs = NULL; in msrs_alloc() 13 msrs = alloc_percpu(struct msr); in msrs_alloc() 23 void msrs_free(struct msr *msrs) in msrs_free() 39 int msr_read(u32 msr, struct msr *m) in msr_read() argument 44 err = rdmsrl_safe(msr, &val); in msr_read() 57 int msr_write(u32 msr, struct msr *m) in msr_write() argument 59 return wrmsrl_safe(msr, m->q); in msr_write() 62 static inline int __flip_bit(u32 msr, u8 bit, bool set) in __flip_bit() argument 64 struct msr m, m1; in __flip_bit() [all …]
|
| /OK3568_Linux_fs/kernel/tools/power/x86/turbostat/ |
| H A D | turbostat.c | 279 int get_msr_sum(int cpu, off_t offset, unsigned long long *msr); 497 int get_msr(int cpu, off_t offset, unsigned long long *msr) in get_msr() argument 501 retval = pread(get_msr_fd(cpu), msr, sizeof(*msr), offset); in get_msr() 503 if (retval != sizeof *msr) in get_msr() 1895 unsigned long long msr; in get_counters() local 1972 if (get_msr(cpu, MSR_SMI_COUNT, &msr)) in get_counters() 1974 t->smi_count = msr & 0xFFFFFFFF; in get_counters() 2012 if (get_msr(cpu, MSR_IA32_THERM_STATUS, &msr)) in get_counters() 2014 c->core_temp_c = tcc_activation_temp - ((msr >> 16) & 0x7F); in get_counters() 2018 if (get_msr(cpu, MSR_CORE_ENERGY_STAT, &msr)) in get_counters() [all …]
|
| /OK3568_Linux_fs/u-boot/arch/arm/include/asm/ |
| H A D | macro.h | 167 msr cptr_el3, xzr /* Disable coprocessor traps to EL3 */ 169 msr cptr_el2, \tmp /* Disable coprocessor traps to EL2 */ 172 msr cntvoff_el2, xzr 184 msr sctlr_el2, \tmp 187 msr sp_el2, \tmp /* Migrate SP */ 189 msr vbar_el2, \tmp /* Migrate VBAR */ 208 msr scr_el3, \tmp 214 msr spsr_el3, \tmp 215 msr elr_el3, \ep 226 msr scr_el3, \tmp [all …]
|
| /OK3568_Linux_fs/kernel/arch/x86/kvm/ |
| H A D | mtrr.c | 27 static bool msr_mtrr_valid(unsigned msr) in msr_mtrr_valid() argument 29 switch (msr) { in msr_mtrr_valid() 54 bool kvm_mtrr_valid(struct kvm_vcpu *vcpu, u32 msr, u64 data) in kvm_mtrr_valid() argument 59 if (!msr_mtrr_valid(msr)) in kvm_mtrr_valid() 62 if (msr == MSR_IA32_CR_PAT) { in kvm_mtrr_valid() 64 } else if (msr == MSR_MTRRdefType) { in kvm_mtrr_valid() 68 } else if (msr >= MSR_MTRRfix64K_00000 && msr <= MSR_MTRRfix4K_F8000) { in kvm_mtrr_valid() 76 WARN_ON(!(msr >= 0x200 && msr < 0x200 + 2 * KVM_NR_VAR_MTRR)); in kvm_mtrr_valid() 79 if ((msr & 1) == 0) { in kvm_mtrr_valid() 186 static bool fixed_msr_to_seg_unit(u32 msr, int *seg, int *unit) in fixed_msr_to_seg_unit() argument [all …]
|
| /OK3568_Linux_fs/kernel/arch/m68k/bvme6000/ |
| H A D | config.c | 171 unsigned char msr; in bvme6000_timer_int() local 174 msr = rtc->msr & 0xc0; in bvme6000_timer_int() 175 rtc->msr = msr | 0x20; /* Ack the interrupt */ in bvme6000_timer_int() 196 unsigned char msr = rtc->msr & 0xc0; in bvme6000_sched_init() local 198 rtc->msr = 0; /* Ensure timer registers accessible */ in bvme6000_sched_init() 208 rtc->msr = 0x40; /* Access int.cntrl, etc */ in bvme6000_sched_init() 213 rtc->msr = 0; /* Access timer 1 control */ in bvme6000_sched_init() 216 rtc->msr = msr; in bvme6000_sched_init() 238 unsigned char msr, msb; in bvme6000_read_clk() local 244 msr = rtc->msr & 0xc0; in bvme6000_read_clk() [all …]
|
| /OK3568_Linux_fs/kernel/arch/x86/xen/ |
| H A D | pmu.c | 132 static inline bool is_amd_pmu_msr(unsigned int msr) in is_amd_pmu_msr() argument 134 if ((msr >= MSR_F15H_PERF_CTL && in is_amd_pmu_msr() 135 msr < MSR_F15H_PERF_CTR + (amd_num_counters * 2)) || in is_amd_pmu_msr() 136 (msr >= MSR_K7_EVNTSEL0 && in is_amd_pmu_msr() 137 msr < MSR_K7_PERFCTR0 + amd_num_counters)) in is_amd_pmu_msr() 189 static bool xen_intel_pmu_emulate(unsigned int msr, u64 *val, int type, in xen_intel_pmu_emulate() argument 205 switch (msr) { in xen_intel_pmu_emulate() 243 if (msr == MSR_CORE_PERF_GLOBAL_OVF_CTRL) in xen_intel_pmu_emulate() 252 static bool xen_amd_pmu_emulate(unsigned int msr, u64 *val, bool is_read) in xen_amd_pmu_emulate() argument 265 ((msr >= MSR_K7_EVNTSEL0) && (msr <= MSR_K7_PERFCTR3))) in xen_amd_pmu_emulate() [all …]
|
| /OK3568_Linux_fs/kernel/arch/microblaze/kernel/ |
| H A D | process.c | 46 regs->msr, regs->ear, regs->esr, regs->fsr); in show_regs() 71 local_save_flags(childregs->msr); in copy_thread() 73 ti->cpu_context.msr = childregs->msr & ~MSR_IE; in copy_thread() 85 ti->cpu_context.msr = (unsigned long)childregs->msr; in copy_thread() 87 childregs->msr |= MSR_UMS; in copy_thread() 99 childregs->msr &= ~MSR_EIP; in copy_thread() 100 childregs->msr |= MSR_IE; in copy_thread() 101 childregs->msr &= ~MSR_VM; in copy_thread() 102 childregs->msr |= MSR_VMS; in copy_thread() 103 childregs->msr |= MSR_EE; /* exceptions will be enabled*/ in copy_thread() [all …]
|
| /OK3568_Linux_fs/kernel/arch/powerpc/kernel/ |
| H A D | signal_64.c | 108 unsigned long msr = regs->msr; in setup_sigcontext() local 127 msr |= MSR_VEC; in setup_sigcontext() 150 msr &= ~MSR_VSX; in setup_sigcontext() 164 msr |= MSR_VSX; in setup_sigcontext() 170 err |= __put_user(msr, &sc->gp_regs[PT_MSR]); in setup_sigcontext() 196 unsigned long msr) in setup_tm_sigcontexts() argument 215 BUG_ON(!MSR_TM_ACTIVE(msr)); in setup_tm_sigcontexts() 223 msr |= tsk->thread.ckpt_regs.msr & (MSR_FP | MSR_VEC | MSR_VSX); in setup_tm_sigcontexts() 237 if (msr & MSR_VEC) in setup_tm_sigcontexts() 249 msr |= MSR_VEC; in setup_tm_sigcontexts() [all …]
|
| H A D | signal_32.c | 242 unsigned long msr = regs->msr; in save_user_regs() local 260 msr |= MSR_VEC; in save_user_regs() 282 msr &= ~MSR_VSX; in save_user_regs() 294 msr |= MSR_VSX; in save_user_regs() 306 msr |= MSR_SPE; in save_user_regs() 315 if (__put_user(msr, &frame->mc_gregs[PT_MSR])) in save_user_regs() 348 unsigned long msr) in save_tm_user_regs() argument 363 if (__put_user((msr >> 32), &tm_frame->mc_gregs[PT_MSR])) in save_tm_user_regs() 372 if (msr & MSR_VEC) { in save_tm_user_regs() 387 msr |= MSR_VEC; in save_tm_user_regs() [all …]
|
| H A D | process.c | 96 MSR_TM_ACTIVE(tsk->thread.regs->msr) && in check_if_tm_restore_required() 98 tsk->thread.ckpt_regs.msr = tsk->thread.regs->msr; in check_if_tm_restore_required() 156 unsigned long msr; in __giveup_fpu() local 159 msr = tsk->thread.regs->msr; in __giveup_fpu() 160 msr &= ~(MSR_FP|MSR_FE0|MSR_FE1); in __giveup_fpu() 162 msr &= ~MSR_VSX; in __giveup_fpu() 163 tsk->thread.regs->msr = msr; in __giveup_fpu() 192 if (tsk->thread.regs->msr & MSR_FP) { in flush_fp_to_thread() 216 if (current->thread.regs && (current->thread.regs->msr & MSR_FP)) { in enable_kernel_fp() 226 MSR_TM_ACTIVE(current->thread.regs->msr)) in enable_kernel_fp() [all …]
|
| H A D | cpu_setup_power.c | 19 u64 msr; in init_hvmode_206() local 21 msr = mfmsr(); in init_hvmode_206() 22 if (msr & MSR_HV) in init_hvmode_206() 146 u64 msr; in __restore_cpu_power7() local 148 msr = mfmsr(); in __restore_cpu_power7() 149 if (!(msr & MSR_HV)) in __restore_cpu_power7() 176 u64 msr; in __restore_cpu_power8() local 182 msr = mfmsr(); in __restore_cpu_power8() 183 if (!(msr & MSR_HV)) in __restore_cpu_power8() 214 u64 msr; in __restore_cpu_power9() local [all …]
|
| /OK3568_Linux_fs/u-boot/arch/arm/cpu/armv8/ |
| H A D | start.S | 100 3: msr vbar_el3, x0 103 msr scr_el3, x0 104 msr cptr_el3, xzr /* Enable FP/SIMD */ 107 msr cntfrq_el0, x0 /* Initialize CNTFRQ */ 110 2: msr vbar_el2, x0 112 msr cptr_el2, x0 /* Enable FP/SIMD */ 114 1: msr vbar_el1, x0 116 msr cpacr_el1, x0 /* Enable FP/SIMD */ 131 msr sctlr_el3, x0 133 msr daifclr, #4 /* Enable SError. SCR_EL3.EA=1 was already set in start.S */ [all …]
|
| /OK3568_Linux_fs/kernel/tools/power/x86/x86_energy_perf_policy/ |
| H A D | x86_energy_perf_policy.c | 677 int get_msr(int cpu, int offset, unsigned long long *msr) in get_msr() argument 688 retval = pread(fd, msr, sizeof(*msr), offset); in get_msr() 689 if (retval != sizeof(*msr)) { in get_msr() 695 fprintf(stderr, "get_msr(cpu%d, 0x%X, 0x%llX)\n", cpu, offset, *msr); in get_msr() 734 unsigned long long msr; in read_hwp_cap() local 736 get_msr(cpu, msr_offset, &msr); in read_hwp_cap() 738 cap->highest = msr_perf_2_ratio(HWP_HIGHEST_PERF(msr)); in read_hwp_cap() 739 cap->guaranteed = msr_perf_2_ratio(HWP_GUARANTEED_PERF(msr)); in read_hwp_cap() 740 cap->efficient = msr_perf_2_ratio(HWP_MOSTEFFICIENT_PERF(msr)); in read_hwp_cap() 741 cap->lowest = msr_perf_2_ratio(HWP_LOWEST_PERF(msr)); in read_hwp_cap() [all …]
|
| /OK3568_Linux_fs/kernel/arch/arm64/kvm/hyp/nvhe/ |
| H A D | hyp-init.S | 87 msr tpidr_el2, x1 93 msr mair_el2, x1 96 msr hcr_el2, x1 99 msr vttbr_el2, x1 102 msr vtcr_el2, x1 109 msr ttbr0_el2, x2 116 msr tcr_el2, x0 131 msr sctlr_el2, x0 136 msr vbar_el2, x0 182 2: msr SPsel, #1 // We want to use SP_EL{1,2} [all …]
|
| /OK3568_Linux_fs/kernel/tools/testing/selftests/kvm/x86_64/ |
| H A D | user_msr_test.c | 33 static void deny_msr(uint8_t *bitmap, u32 msr) in deny_msr() argument 35 u32 idx = msr & (KVM_MSR_FILTER_MAX_BITMAP_SIZE - 1); in deny_msr() 156 run->msr.data = run->msr.index; in handle_rdmsr() 159 if (run->msr.index == MSR_SYSCALL_MASK || in handle_rdmsr() 160 run->msr.index == MSR_GS_BASE) { in handle_rdmsr() 161 TEST_ASSERT(run->msr.reason == KVM_MSR_EXIT_REASON_FILTER, in handle_rdmsr() 165 if (run->msr.index == 0xdeadbeef) { in handle_rdmsr() 166 TEST_ASSERT(run->msr.reason == KVM_MSR_EXIT_REASON_UNKNOWN, in handle_rdmsr() 176 if (run->msr.index == MSR_IA32_POWER_CTL) { in handle_wrmsr() 177 TEST_ASSERT(run->msr.data == 0x1234, in handle_wrmsr() [all …]
|
| /OK3568_Linux_fs/kernel/arch/x86/events/ |
| H A D | probe.c | 19 perf_msr_probe(struct perf_msr *msr, int cnt, bool zero, void *data) in perf_msr_probe() argument 29 if (!msr[bit].no_check) { in perf_msr_probe() 30 struct attribute_group *grp = msr[bit].grp; in perf_msr_probe() 39 if (!msr[bit].msr) in perf_msr_probe() 42 if (msr[bit].test && !msr[bit].test(bit, data)) in perf_msr_probe() 45 if (rdmsrl_safe(msr[bit].msr, &val)) in perf_msr_probe()
|
| /OK3568_Linux_fs/kernel/arch/x86/kvm/vmx/ |
| H A D | pmu_intel.c | 172 static inline struct kvm_pmc *get_fw_gp_pmc(struct kvm_pmu *pmu, u32 msr) in get_fw_gp_pmc() argument 177 return get_gp_pmc(pmu, msr, MSR_IA32_PMC0); in get_fw_gp_pmc() 180 static bool intel_is_valid_msr(struct kvm_vcpu *vcpu, u32 msr) in intel_is_valid_msr() argument 185 switch (msr) { in intel_is_valid_msr() 193 ret = get_gp_pmc(pmu, msr, MSR_IA32_PERFCTR0) || in intel_is_valid_msr() 194 get_gp_pmc(pmu, msr, MSR_P6_EVNTSEL0) || in intel_is_valid_msr() 195 get_fixed_pmc(pmu, msr) || get_fw_gp_pmc(pmu, msr); in intel_is_valid_msr() 202 static struct kvm_pmc *intel_msr_idx_to_pmc(struct kvm_vcpu *vcpu, u32 msr) in intel_msr_idx_to_pmc() argument 207 pmc = get_fixed_pmc(pmu, msr); in intel_msr_idx_to_pmc() 208 pmc = pmc ? pmc : get_gp_pmc(pmu, msr, MSR_P6_EVNTSEL0); in intel_msr_idx_to_pmc() [all …]
|