/linux/drivers/cpufreq/ |
H A D | longrun.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de> 23 * performance_pctg = (current_freq - low_freq)/(high_freq - low_freq) 29 * longrun_get_policy - get the current LongRun policy 40 pr_debug("longrun flags are %x - %x\n", msr_lo, msr_hi); in longrun_get_policy() 42 policy->policy = CPUFREQ_POLICY_PERFORMANCE; in longrun_get_policy() 44 policy->policy = CPUFREQ_POLICY_POWERSAVE; in longrun_get_policy() 47 pr_debug("longrun ctrl is %x - %x\n", msr_lo, msr_hi); in longrun_get_policy() 53 policy->min = policy->max = longrun_high_freq; in longrun_get_policy() 55 policy->min = longrun_low_freq + msr_lo * in longrun_get_policy() [all …]
|
H A D | powernow-k8.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * (c) 2003-2006 Advanced Micro Devices, Inc. 9 u32 numps; /* number of p-states */ 10 u32 batps; /* number of p-states supported on battery */ 13 * vid/fid pairings, but are modified during the ->target() call 36 * handle hotplug events - so just point at cpufreq pol->cpus 53 /* Model Specific Registers for p-state transitions. MSRs are 64-bit. For */ 54 /* writes (wrmsr - opcode 0f 30), the register number is placed in ecx, and */ 55 /* the value to write is placed in edx:eax. For reads (rdmsr - opcode 0f 32), */ 56 /* the register number is placed in ecx, and the data is returned in edx:eax. */ [all …]
|
H A D | powernow-k7.c | 1 // SPDX-License-Identifier: GPL-2.0-only 10 * - We cli/sti on stepping A0 CPUs around the FID/VID transition. 13 * - We disable half multipliers if ACPI is used on A0 stepping CPUs. 38 #include "powernow-k7.h" 69 /* divide by 1000 to get VCore voltage in V. */ 74 1075, 1050, 1025, 1000, 975, 950, 925, 0, 82 150, 225, 160, 165, 170, 180, -1, -1, 95 static unsigned int minimum_speed = -1; 105 unsigned int f = fsb / 1000; in check_fsb() 107 delta = (fsbspeed > f) ? fsbspeed - f : f - fsbspeed; in check_fsb() [all …]
|
H A D | powernow-k8.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * (c) 2003-2012 Advanced Micro Devices, Inc. 8 * Based on the powernow-k7.c module written by Dave Jones. 48 #include "powernow-k8.h" 66 return 1000 * find_freq_from_fid(fid); in find_khz_freq_from_fid() 112 data->currvid = hi & MSR_S_HI_CURRENT_VID; in query_current_values_with_pending_wait() 113 data->currfid = lo & MSR_S_LO_CURRENT_FID; in query_current_values_with_pending_wait() 121 udelay((1 << data->irt) * 10); in count_off_irt() 127 udelay(data->vstable * VST_UNITS_20US); in count_off_vst() 149 u32 savevid = data->currvid; in write_new_fid() [all …]
|
/linux/Documentation/devicetree/bindings/arm/ |
H A D | calxeda.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Rob Herring <robh@kernel.org> 12 Bindings for boards with Calxeda Cortex-A9 based ECX-1000 (Highbank) SOC 13 or Cortex-A15 based ECX-2000 SOCs 20 - enum: 21 - calxeda,highbank 22 - calxeda,ecx-2000
|
/linux/arch/x86/kernel/cpu/ |
H A D | vmware.c | 20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 49 #define STEALCLOCK_NOT_AVAILABLE (-1) 57 /* only for little-endian */ 132 u32 eax, ebx, ecx; in __vmware_platform() local 134 eax = vmware_hypercall3(VMWARE_CMD_GETVERSION, 0, &ebx, &ecx); in __vmware_platform() 155 early_param("no-vmw-sched-clock", setup_vmw_sched_clock); 162 early_param("no-steal-acc", parse_no_stealacc); 170 ns -= vmware_cyc2ns.cyc2ns_offset; in vmware_sched_clock() 179 clocks_calc_mult_shift(&d->cyc2ns_mul, &d->cyc2ns_shift, in vmware_cyc2ns_setup() 181 d->cyc2ns_offset = mul_u64_u32_shr(tsc_now, d->cyc2ns_mul, in vmware_cyc2ns_setup() [all …]
|
H A D | mshyperv.c | 1 // SPDX-License-Identifier: GPL-2.0-only 49 return reg - HV_X64_MSR_SINT0 + HV_X64_MSR_NESTED_SINT0; in hv_get_nested_msr() 151 * Routines to do per-architecture handling of stimer0 240 * Hyper-V clock counter resets during hibernation. Save and restore clock 257 * - reference counter (time) now. in restore_hv_clock_tsc_state() 259 hv_adj_sched_clock_offset(hv_ref_counter_at_suspend - hv_read_reference_counter()); in restore_hv_clock_tsc_state() 264 * functions of x86_platform. The Hyper-V clock counter is reset during 265 * suspend-resume and the offset used to measure time needs to be 324 * Prior to WS2016 Debug-VM sends NMIs to all CPUs which makes 330 static atomic_t nmi_cpu = ATOMIC_INIT(-1); in hv_nmi_unknown() [all …]
|
/linux/arch/arm/mach-highbank/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 bool "Calxeda ECX-1000/2000 (Highbank/Midway)"
|
/linux/arch/x86/kvm/vmx/ |
H A D | tdx_arch.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 74 u32 ecx; member 128 * frequency of the core crystal clock on TDX-capable platforms, i.e. the TDX 132 #define TDX_TSC_KHZ_TO_25MHZ(tsc_in_khz) ((tsc_in_khz) / (25 * 1000)) 133 #define TDX_TSC_25MHZ_TO_KHZ(tsc_in_25mhz) ((tsc_in_25mhz) * (25 * 1000)) 134 #define TDX_MIN_TSC_FREQUENCY_KHZ (100 * 1000) 135 #define TDX_MAX_TSC_FREQUENCY_KHZ (10 * 1000 * 1000)
|
H A D | vmx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Kernel-based Virtual Machine driver for Linux 5 * This module enables machines with Intel VT-x extensions to run virtual 31 #include <linux/entry-kvm.h> 51 #include <asm/spec-ctrl.h> 81 MODULE_DESCRIPTION("KVM support for VMX (Intel VT-x) extensions"); 144 /* Guest_tsc -> host_tsc conversion requires 64-bit division. */ 171 * These 2 parameters are used to config the controls for Pause-Loop Exiting: 187 /* Default doubles per-vcpu window every exit. */ 191 /* Default resets per-vcpu window every exit to ple_window. */ [all …]
|
/linux/tools/testing/selftests/kvm/include/x86/ |
H A D | processor.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 13 #include <asm/msr-index.h> 105 * Pack the information into a 64-bit value so that each X86_FEATURE_XXX can be 134 #define X86_FEATURE_MWAIT KVM_X86_CPU_FEATURE(0x1, 0, ECX, 3) 135 #define X86_FEATURE_VMX KVM_X86_CPU_FEATURE(0x1, 0, ECX, 5) 136 #define X86_FEATURE_SMX KVM_X86_CPU_FEATURE(0x1, 0, ECX, 6) 137 #define X86_FEATURE_PDCM KVM_X86_CPU_FEATURE(0x1, 0, ECX, 15) 138 #define X86_FEATURE_PCID KVM_X86_CPU_FEATURE(0x1, 0, ECX, 17) 139 #define X86_FEATURE_X2APIC KVM_X86_CPU_FEATURE(0x1, 0, ECX, 21) 140 #define X86_FEATURE_MOVBE KVM_X86_CPU_FEATURE(0x1, 0, ECX, 22) [all …]
|
/linux/drivers/idle/ |
H A D | intel_idle.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * intel_idle.c - native hardware idle loop for modern Intel processors 5 * Copyright (c) 2013 - 2020, Intel Corporation. 23 * for preventing entry into deep C-states 25 * CPU will flush caches as needed when entering a C-state via MWAIT 33 * ACPI has a .suspend hack to turn off deep c-statees during suspend 39 /* un-comment DEBUG to enable pr_debug() statements */ 58 #include <asm/intel-family.h> 60 #include <asm/spec-ctrl.h> 73 static int max_cstate = CPUIDLE_STATE_MAX - 1; [all …]
|
/linux/drivers/video/fbdev/ |
H A D | uvesafb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 80 if (msg->seq >= UVESAFB_TASKS_MAX) in uvesafb_cn_callback() 84 task = uvfb_tasks[msg->seq]; in uvesafb_cn_callback() 86 if (!task || msg->ack != task->ack) { in uvesafb_cn_callback() 91 utask = (struct uvesafb_task *)msg->data; in uvesafb_cn_callback() 94 if (task->t.buf_len < utask->buf_len || in uvesafb_cn_callback() 95 utask->buf_len > msg->len - sizeof(*utask)) { in uvesafb_cn_callback() 100 uvfb_tasks[msg->seq] = NULL; in uvesafb_cn_callback() 103 memcpy(&task->t, utask, sizeof(*utask)); in uvesafb_cn_callback() 105 if (task->t.buf_len && task->buf) in uvesafb_cn_callback() [all …]
|
H A D | vesafb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 * (c) 1998 Gerd Knorr <kraxel@goldbach.in-berlin.de> 31 /* --------------------------------------------------------------------- */ 43 .height = -1, 44 .width = -1, 68 /* --------------------------------------------------------------------- */ 76 offset = (var->yoffset * info->fix.line_length + var->xoffset) / 4; in vesafb_pan_display() 83 "c" (offset), /* ECX */ in vesafb_pan_display() 93 int shift = 16 - depth; in vesa_setpalette() 94 int err = -EINVAL; in vesa_setpalette() [all …]
|
H A D | neofb.c | 2 * linux/drivers/video/neofb.c -- NeoMagic Framebuffer Driver 4 * Copyright (c) 2001-2002 Denis Oliver Kropp <dok@directfb.org> 16 * - Cosmetic changes (dok) 19 * - Toshiba Libretto support, allow modes larger than LCD size if 25 * - Porting over to new fbdev api. (jsimmons) 28 * - got rid of all floating point (dok) 31 * - added module license (dok) 34 * - hardware accelerated clear and move for 2200 and above (dok) 35 * - maximum allowed dotclock is handled now (dok) 38 * - correct panning after X usage (dok) [all …]
|
/linux/drivers/hwmon/ |
H A D | dell-smm-hwmon.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * dell-smm-hwmon.c -- Linux driver for accessing the SMM BIOS on Dell laptops. 9 * Copyright (C) 2013, 2014 Guenter Roeck <linux@roeck-us.net> 59 #define I8K_FAN_RPM_THRESHOLD 1000 72 #define DELL_SMM_WMI_GUID "F1DDEE52-063C-4784-A11E-8A06684B9B01" 81 unsigned int ecx; member 191 return -EBUSY; in i8k_smm_func() 197 "+a" (regs->eax), in i8k_smm_func() 198 "+b" (regs->ebx), in i8k_smm_func() 199 "+c" (regs->ecx), in i8k_smm_func() [all …]
|
H A D | fam15h_power.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * fam15h_power.c - AMD Family 15h processor power monitoring 5 * Copyright (c) 2011-2016 Advanced Micro Devices, Inc. 11 #include <linux/hwmon-sysfs.h> 43 #define MAX_INTERVAL 1000 78 struct pci_dev *f4 = data->pdev; in power1_input_show() 80 pci_bus_read_config_dword(f4->bus, PCI_DEVFN(PCI_SLOT(f4->devfn), 5), in power1_input_show() 97 pci_bus_read_config_dword(f4->bus, PCI_DEVFN(PCI_SLOT(f4->devfn), 5), in power1_input_show() 110 data->base_tdp)) << running_avg_range; in power1_input_show() 111 curr_pwr_watts -= running_avg_capture; in power1_input_show() [all …]
|
/linux/tools/power/x86/turbostat/ |
H A D | turbostat.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * turbostat -- show CPU frequency and C-state residency 19 #define VFM_MODEL_MASK GENMASK(VFM_FAMILY_BIT - 1, VFM_MODEL_BIT) 20 #define VFM_FAMILY_MASK GENMASK(VFM_VENDOR_BIT - 1, VFM_FAMILY_BIT) 21 #define VFM_VENDOR_MASK GENMASK(VFM_RSVD_BIT - 1, VFM_VENDOR_BIT) 76 * 1. built-in only, the sysfs counters are not here -- we learn of those at run-time 78 * matching on them for --show and --hide. 83 * Usually truncated to 7 characters, but also handles 18 columns for raw 64-bit counters 99 #define ROUND_UP_TO_PAGE_SIZE(n) (((n) + 0x1000UL-1UL) & ~(0x1000UL-1UL)) 582 …bool has_per_core_rapl; /* Indicates cores energy collection is per-core, not per-package. AMD spe… [all …]
|
/linux/arch/x86/kernel/ |
H A D | hpet.c | 1 // SPDX-License-Identifier: GPL-2.0-only 135 * is_hpet_enabled - Check whether the legacy HPET timer interrupt is enabled 212 hd.hd_irq[i] = hc->irq; in hpet_reserve_platform_timers() 214 switch (hc->mode) { in hpet_reserve_platform_timers() 217 hc->mode = HPET_MODE_DEVICE; in hpet_reserve_platform_timers() 221 hpet_reserve_timer(&hd, hc->num); in hpet_reserve_platform_timers() 237 if (hc->mode == HPET_MODE_UNUSED) { in hpet_select_device_channel() 238 hc->mode = HPET_MODE_DEVICE; in hpet_select_device_channel() 301 unsigned int channel = clockevent_to_channel(evt)->num; in hpet_clkevt_set_state_periodic() 306 delta = ((uint64_t)(NSEC_PER_SEC / HZ)) * evt->mult; in hpet_clkevt_set_state_periodic() [all …]
|
/linux/arch/x86/crypto/ |
H A D | aes-xts-avx-x86_64.S | 1 /* SPDX-License-Identifier: Apache-2.0 OR BSD-2-Clause */ 3 // AES-XTS for modern x86_64 CPUs 9 //------------------------------------------------------------------------------ 11 // This file is dual-licensed, meaning that you can use it under your choice of 17 // http://www.apache.org/licenses/LICENSE-2.0 50 * This file implements AES-XTS for modern x86_64 CPUs. To handle the 55 * AES-NI && AVX 56 * - 128-bit vectors (1 AES block per vector) 57 * - VEX-coded instructions 58 * - xmm0-xmm15 [all …]
|
/linux/arch/x86/kernel/cpu/microcode/ |
H A D | core.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright (C) 2000-2006 Tigran Aivazian <aivazian.tigran@gmail.com> 7 * 2013-2016 Borislav Petkov <bp@alien8.de> 54 * All non cpu-hotplug-callback call sites use: 56 * - cpus_read_lock/unlock() to synchronize with 57 * the cpu-hotplug-callback call sites. 71 0, /* T-101 terminator */ 80 * - true: if update should stop 81 * - false: otherwise 112 * 2) Bit 31 in CPUID[1]:ECX is clear in microcode_loader_disabled() [all …]
|
/linux/tools/lib/bpf/ |
H A D | usdt.c | 1 // SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) 25 /* libbpf's USDT support consists of BPF-side state/code and user-space 26 * state/code working together in concert. BPF-side parts are defined in 27 * usdt.bpf.h header library. User-space state is encapsulated by struct 31 * and IP-to-spec-ID map, which is auxiliary map necessary for kernels that 39 * USDT-related until the very first call to bpf_program__attach_usdt(), which 43 * store it in bpf_object. USDT manager is per-BPF object construct, as each 45 * the expected USDT-related state. There is no coordination between two 47 * existence and libbpf is just oblivious, dealing with bpf_object-specific 52 * From user-space application's point of view, USDT is essentially just [all …]
|
/linux/arch/x86/kvm/ |
H A D | x86.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Kernel-based Virtual Machine driver for Linux 16 * Ben-Ami Yassour <benami@il.ibm.com> 48 #include <linux/user-return-notifier.h> 62 #include <linux/entry-kvm.h> 108 ((struct kvm_vcpu *)(ctxt)->vcpu) 111 * - enable syscall per default because its emulated by KVM 112 * - enable LME and LMA per default on 64 bit KVM 143 *(((struct kvm_x86_ops *)0)->func)); 146 #include <asm/kvm-x86-ops.h> [all …]
|
H A D | hyperv.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * KVM Microsoft Hyper-V emulation 17 * Ben-Ami Yassour <benami@il.ibm.com> 48 * As per Hyper-V TLFS, extended hypercalls start from 0x8001 53 * 0x8001 - First extended hypercall, HvExtCallQueryCapabilities, no bit 56 * 0x8002 - Bit 0 57 * 0x8003 - Bit 1 59 * 0x8041 - Bit 63 70 return atomic64_read(&synic->sint[sint]); in synic_read_sint() 76 return -1; in synic_get_sint_vector() [all …]
|
/linux/arch/x86/coco/sev/ |
H A D | core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 13 #include <linux/percpu-defs.h> 25 #include <linux/psp-sev.h> 27 #include <uapi/linux/sev-guest.h> 34 #include <asm/sev-internal.h> 35 #include <asm/insn-eval.h> 67 [MSR_AMD64_SEV_ES_ENABLED_BIT] = "SEV-ES", 68 [MSR_AMD64_SEV_SNP_ENABLED_BIT] = "SEV-SNP", 99 * non-zero. The VMPL is therefore used to indicate the presence of an SVSM. 118 addr = secrets->os_area.ap_jump_table_pa; in get_snp_jump_table_addr() [all …]
|