mirror-linux/arch/x86/include/asm
Roger Pau Monne bfa993b355 acpi/processor: sanitize _OSC/_PDC capabilities for Xen dom0
The Processor capability bits notify ACPI of the OS capabilities, and
so ACPI can adjust the return of other Processor methods taking the OS
capabilities into account.

When Linux is running as a Xen dom0, the hypervisor is the entity
in charge of processor power management, and hence Xen needs to make
sure the capabilities reported by _OSC/_PDC match the capabilities of
the driver in Xen.

Introduce a small helper to sanitize the buffer when running as Xen
dom0.

When Xen supports HWP, this serves as the equivalent of commit
a21211672c ("ACPI / processor: Request native thermal interrupt
handling via _OSC") to avoid SMM crashes.  Xen will set bit
ACPI_PROC_CAP_COLLAB_PROC_PERF (bit 12) in the capability bits and the
_OSC/_PDC call will apply it.

[ jandryuk: Mention Xen HWP's need.  Support _OSC & _PDC ]
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Cc: stable@vger.kernel.org
Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Reviewed-by: Michal Wilczynski <michal.wilczynski@intel.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/20231108212517.72279-1-jandryuk@gmail.com
Signed-off-by: Juergen Gross <jgross@suse.com>
2023-11-13 07:22:00 +01:00
..
e820
fpu x86/fpu: Allow caller to constrain xfeatures when copying to uabi buffer 2023-10-12 11:08:58 -04:00
numachip
shared configfs-tsm for v6.7 2023-11-04 15:58:13 -10:00
trace
uv efi/runtime-wrappers: Remove duplicated macro for service returning void 2023-08-22 10:39:26 +02:00
vdso clocksource: hyper-v: Adjust hv_read_tsc_page_tsc() to avoid special casing U64_MAX 2023-06-05 21:11:07 +02:00
xen acpi/processor: sanitize _OSC/_PDC capabilities for Xen dom0 2023-11-13 07:22:00 +01:00
GEN-for-each-reg.h
Kbuild x86/headers: Remove <asm/export.h> 2023-10-03 10:38:08 +02:00
acenv.h
acpi.h acpi/processor: sanitize _OSC/_PDC capabilities for Xen dom0 2023-11-13 07:22:00 +01:00
acrn.h
agp.h char/agp: consolidate {alloc,free}_gatt_pages() 2023-02-13 22:13:12 +01:00
alternative.h x86/speculation, objtool: Use absolute relocations for annotations 2023-09-22 11:41:24 +02:00
amd-ibs.h
amd_hsmp.h
amd_nb.h
apic.h Major microcode loader restructuring, cleanup and improvements by Thomas 2023-11-04 08:46:37 -10:00
apicdef.h x86/apic: Fix use of X{,2}APIC_ENABLE in asm with older binutils 2023-05-22 14:06:33 +02:00
apm.h
arch_hweight.h
archrandom.h
asm-offsets.h
asm-prototypes.h x86/gsseg: Add the new <asm/gsseg.h> header to <asm/asm-prototypes.h> 2023-01-13 13:43:20 +01:00
asm.h
atomic.h locking/atomic: treewide: delete arch_atomic_*() kerneldoc 2023-06-05 09:57:24 +02:00
atomic64_32.h locking/atomic: treewide: delete arch_atomic_*() kerneldoc 2023-06-05 09:57:24 +02:00
atomic64_64.h locking/atomic: treewide: delete arch_atomic_*() kerneldoc 2023-06-05 09:57:24 +02:00
audit.h x86/audit: Fix -Wmissing-variable-declarations warning for ia32_xyz_class 2023-08-30 10:11:16 +02:00
barrier.h
bios_ebda.h
bitops.h Many singleton patches against the MM code. The patch series which are 2023-11-02 19:38:47 -10:00
boot.h Changes to the x86 boot code in v6.7: 2023-10-30 14:11:57 -10:00
bootparam_utils.h docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
bug.h
bugs.h x86/cpu: Switch to arch_cpu_finalize_init() 2023-06-16 10:15:59 +02:00
cache.h
cacheflush.h
cacheinfo.h x86/cpu: Move cpu_l[l2]c_id into topology info 2023-10-10 14:38:18 +02:00
ce4100.h
cfi.h
checksum.h
checksum_32.h
checksum_64.h net: checksum: drop the linux/uaccess.h include 2023-01-27 11:19:46 +00:00
clocksource.h
cmdline.h
cmpxchg.h locking/atomic/x86: Introduce arch_sync_try_cmpxchg() 2023-10-09 18:14:25 +02:00
cmpxchg_32.h arch: Remove cmpxchg_double 2023-06-05 09:36:39 +02:00
cmpxchg_64.h locking/atomic: x86: add preprocessor symbols 2023-06-05 09:57:17 +02:00
coco.h x86/coco: Get rid of accessor functions 2023-05-09 12:53:16 +02:00
compat.h
cpu.h x86/microcode/intel: Rework intel_find_matching_signature() 2023-10-24 15:05:54 +02:00
cpu_device_id.h
cpu_entry_area.h x86/mm: Randomize per-cpu entry area 2022-12-15 10:37:26 -08:00
cpufeature.h x86/cpu: Remove X86_FEATURE_NAMES 2023-05-15 20:03:08 +02:00
cpufeatures.h x86: KVM: Add feature flag for CPUID.80000021H:EAX[bit 1] 2023-10-18 13:50:28 -07:00
cpuid.h
cpuidle_haltpoll.h
cpumask.h x86/smpboot: Move synchronization masks to SMP boot code 2023-05-15 13:44:52 +02:00
crash.h
crash_core.h x86: kdump: use generic interface to simplify crashkernel reservation code 2023-10-04 10:41:58 -07:00
current.h
debugreg.h - Cache the AMD debug registers in per-CPU variables to avoid MSR writes 2023-02-21 14:51:40 -08:00
delay.h
desc.h
desc_defs.h
device.h
disabled-features.h x86/shstk: Add user control-protection fault handler 2023-08-02 15:01:50 -07:00
div64.h x86/asm: Avoid unneeded __div64_32 function definition 2023-08-03 12:08:35 +02:00
dma-mapping.h dma-mapping: no need to pass a bus_type into get_arch_dma_ops() 2023-02-15 12:35:20 +01:00
dma.h
dmi.h
doublefault.h x86: Avoid missing-prototype warnings for doublefault code 2023-05-18 11:56:18 -07:00
dwarf2.h
edac.h
efi.h efi/x86: Move EFI runtime call setup/teardown helpers out of line 2023-09-11 06:37:50 +00:00
elf.h x86/elf: Make loading of 32bit processes depend on ia32_enabled() 2023-09-14 13:19:53 +02:00
elfcore-compat.h
emergency-restart.h
emulate_prefix.h
enclu.h
entry-common.h x86/CPU/AMD: Fix the DIV(0) initial fix attempt 2023-08-14 11:02:50 +02:00
espfix.h
exec.h
extable.h
extable_fixup_types.h
fb.h fbdev: Replace fb_pgprotect() with pgprot_framebuffer() 2023-10-12 09:20:46 +02:00
fixmap.h
floppy.h
frame.h
fsgsbase.h
ftrace.h Tracing updates for 6.5: 2023-06-30 10:33:17 -07:00
futex.h
gart.h
genapic.h
geode.h
gsseg.h x86/gsseg: Use the LKGS instruction if available for load_gs_index() 2023-01-13 10:07:27 +01:00
hardirq.h
highmem.h
hpet.h
hugetlb.h
hw_breakpoint.h
hw_irq.h x86/msi: Fix compile error caused by CONFIG_GENERIC_MSI_IRQ=y && !CONFIG_X86_LOCAL_APIC 2023-10-12 08:13:27 +02:00
hyperv-tlfs.h x86/hyperv: Add hv_isolation_type_tdx() to detect TDX guests 2023-08-25 00:04:56 +00:00
hyperv_timer.h
hypervisor.h
i8259.h x86/i8259: Skip probing when ACPI/MADT advertises PCAT compatibility 2023-10-27 20:36:49 +02:00
ia32.h x86: Introduce ia32_enabled() 2023-09-14 13:19:53 +02:00
ia32_unistd.h
ibt.h x86/alternative: Rename apply_ibt_endbr() 2023-07-10 09:52:23 +02:00
idtentry.h Add x86 shadow stack support 2023-08-31 12:20:12 -07:00
imr.h
inat.h
inat_types.h
init.h x86/head/64: Move the __head definition to <asm/init.h> 2023-10-17 14:51:14 +02:00
insn-eval.h x86/insn: Avoid namespace clash by separating instruction decoder MMIO type from MMIO trace type 2023-01-03 18:46:06 +01:00
insn.h
inst.h
intel-family.h x86/cpu: Add model number for Intel Arrow Lake mobile processor 2023-10-27 10:19:26 -07:00
intel-mid.h x86/platform/intel-mid: Remove unused definitions from intel-mid.h 2023-03-22 11:08:40 -07:00
intel_ds.h
intel_pconfig.h
intel_pt.h
intel_punit_ipc.h
intel_scu_ipc.h
intel_telemetry.h
invpcid.h
io.h asm-generic/iomap.h: remove ARCH_HAS_IOREMAP_xx macros 2023-08-18 10:12:32 -07:00
io_apic.h x86/apic/ioapic: Rename skip_ioapic_setup 2023-08-09 11:58:16 -07:00
io_bitmap.h
iomap.h
iommu.h
iosf_mbi.h
irq.h nmi_backtrace: allow excluding an arbitrary CPU 2023-08-18 10:19:00 -07:00
irq_remapping.h
irq_stack.h
irq_vectors.h x86/vector: Replace IRQ_MOVE_CLEANUP_VECTOR with a timer callback 2023-08-06 14:15:10 +02:00
irq_work.h
irqdomain.h
irqflags.h objtool/idle: Validate __cpuidle code as noinstr 2023-01-13 11:48:15 +01:00
ist.h
jailhouse_para.h
jump_label.h
kasan.h x86/kasan: Map shadow for percpu pages on demand 2022-12-15 10:37:26 -08:00
kaslr.h
kbdleds.h
kdebug.h
kexec-bzimage64.h
kexec.h ARM: 2023-09-07 13:52:20 -07:00
kfence.h
kgdb.h
kmsan.h
kprobes.h kprobes: unify kprobes_exceptions_nofify() prototypes 2023-11-10 19:59:05 +09:00
kvm-x86-ops.h KVM SVM changes for 6.7: 2023-10-31 10:22:43 -04:00
kvm-x86-pmu-ops.h KVM: x86/pmu: Provide Intel PMU's pmc_is_enabled() as generic x86 code 2023-06-06 17:31:44 -07:00
kvm_host.h KVM SVM changes for 6.7: 2023-10-31 10:22:43 -04:00
kvm_page_track.h KVM: x86/mmu: Handle KVM bookkeeping in page-track APIs, not callers 2023-08-31 14:08:19 -04:00
kvm_para.h
kvm_types.h
kvm_vcpu_regs.h
kvmclock.h sched/clock/x86: Mark sched_clock() noinstr 2023-01-31 15:01:47 +01:00
linkage.h x86/asm: Fix build of UML with KASAN 2023-09-18 19:30:08 +02:00
local.h locking/local, arch: Rewrite local_add_unless() as a static inline function 2023-10-04 11:38:11 +02:00
mach_timer.h
mach_traps.h
math_emu.h
mc146818rtc.h
mce.h x86/mce: Cleanup mce_usable_address() 2023-10-16 15:37:01 +02:00
mem_encrypt.h x86/sev: Move sev_setup_arch() to mem_encrypt.c 2023-10-11 10:15:47 +02:00
memtype.h
microcode.h x86/microcode/intel: Add a minimum required revision for late loading 2023-10-24 15:05:55 +02:00
misc.h
mman.h x86: Remove the arch_calc_vm_prot_bits() macro from the UAPI 2023-09-06 23:50:46 +02:00
mmconfig.h
mmu.h x86/mm/iommu/sva: Make LAM and SVA mutually exclusive 2023-03-16 13:08:40 -07:00
mmu_context.h x86/shstk: Handle vfork clone failure correctly 2023-09-19 09:18:34 -07:00
mmzone.h
mmzone_32.h
mmzone_64.h
module.h
mpspec.h x86/apic: Use u32 for APIC IDs in global data 2023-10-10 14:38:18 +02:00
mpspec_def.h
mshyperv.h X86 core code updates: 2023-10-30 17:37:47 -10:00
msi.h
msr-index.h ARM: 2023-11-02 15:45:15 -10:00
msr-trace.h
msr.h
mtrr.h x86/mtrr: Remove unused code 2023-06-01 15:04:33 +02:00
mwait.h cpuidle, mwait: Make the mwait code noinstr clean 2023-01-13 11:48:16 +01:00
nmi.h
nops.h x86/alternatives: Add longer 64-bit NOPs 2023-05-31 10:21:21 +02:00
nospec-branch.h Misc fixes and cleanups: 2023-10-30 13:20:02 -10:00
numa.h x86/mm: Drop the 4 MB restriction on minimal NUMA node memory size 2023-10-20 10:40:22 +02:00
numa_32.h
olpc.h
olpc_ofw.h
orc_header.h x86/unwind/orc: Add ELF section with ORC version identifier 2023-06-16 17:17:42 +02:00
orc_lookup.h
orc_types.h x86,objtool: Split UNWIND_HINT_EMPTY in two 2023-03-23 23:18:58 +01:00
page.h mm: add vma_alloc_zeroed_movable_folio() 2023-02-02 22:33:18 -08:00
page_32.h mm, arch: add generic implementation of pfn_valid() for FLATMEM 2023-02-09 16:51:41 -08:00
page_32_types.h
page_64.h mm, arch: add generic implementation of pfn_valid() for FLATMEM 2023-02-09 16:51:41 -08:00
page_64_types.h docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
page_types.h x86/mm: Remove P*D_PAGE_MASK and P*D_PAGE_SIZE macros 2022-12-15 10:37:27 -08:00
paravirt.h x86/paravirt: Silence unused native_pv_lock_init() function warning 2023-08-03 16:50:19 +02:00
paravirt_api_clock.h
paravirt_types.h x86/xen: move paravirt lazy code 2023-09-19 07:04:49 +02:00
parport.h
pc-conf-reg.h
pci-direct.h
pci-functions.h
pci.h
pci_x86.h
percpu.h x86/percpu: Do not clobber %rsi in percpu_{try_,}cmpxchg{64,128}_op 2023-09-21 09:35:50 +02:00
perf_event.h perf/x86/amd/uncore: Add memory controller support 2023-10-09 16:12:25 +02:00
perf_event_p4.h
pgalloc.h
pgtable-2level.h x86/mm: support __HAVE_ARCH_PTE_SWP_EXCLUSIVE also on 32bit 2023-02-02 22:33:10 -08:00
pgtable-2level_types.h
pgtable-3level.h x86/mm: support __HAVE_ARCH_PTE_SWP_EXCLUSIVE also on 32bit 2023-02-02 22:33:10 -08:00
pgtable-3level_types.h x86/mm/pae: Make pmd_t similar to pte_t 2022-12-15 10:37:27 -08:00
pgtable-invert.h
pgtable.h x86 MM handling code changes for v6.7: 2023-10-30 15:40:57 -10:00
pgtable_32.h
pgtable_32_areas.h
pgtable_32_types.h
pgtable_64.h x86/mm: Fix __swp_entry_to_pte() for Xen PV guests 2023-05-08 15:25:24 +02:00
pgtable_64_types.h docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
pgtable_areas.h x86/mm: Randomize per-cpu entry area 2022-12-15 10:37:26 -08:00
pgtable_types.h Add x86 shadow stack support 2023-08-31 12:20:12 -07:00
pkeys.h
pkru.h
platform_sst_audio.h
pm-trace.h
posix_types.h
preempt.h x86/percpu: Use raw_cpu_try_cmpxchg() in preempt_count_set() 2023-09-15 13:19:22 +02:00
probe_roms.h
processor-cyrix.h
processor-flags.h x86: CPUID and CR3/CR4 flags for Linear Address Masking 2023-03-16 13:08:39 -07:00
processor.h X86 core code updates: 2023-10-30 17:37:47 -10:00
prom.h x86/of: Move the x86_flattree_get_config() call out of x86_dtb_init() 2023-10-02 21:30:09 +02:00
proto.h x86/entry: Make IA32 syscalls' availability depend on ia32_enabled() 2023-09-14 13:19:53 +02:00
pti.h
ptrace.h
purgatory.h
pvclock-abi.h
pvclock.h sched/clock/x86: Mark sched_clock() noinstr 2023-01-31 15:01:47 +01:00
qrwlock.h
qspinlock.h x86/paravirt: Silence unused native_pv_lock_init() function warning 2023-08-03 16:50:19 +02:00
qspinlock_paravirt.h x86/qspinlock-paravirt: Fix missing-prototype warning 2023-08-03 17:15:05 +02:00
realmode.h x86/smpboot: Implement a bit spinlock to protect the realmode stack 2023-05-15 13:45:03 +02:00
reboot.h x86/reboot: Expose VMCS crash hooks if and only if KVM_{INTEL,AMD} is enabled 2023-08-03 15:37:14 -07:00
reboot_fixups.h
required-features.h x86/cpu, kvm: Add support for CPUID_80000021_EAX 2023-01-25 12:33:06 +01:00
resctrl.h x86/resctl: fix scheduler confusion with 'current' 2023-03-08 11:48:11 -08:00
rmwcc.h x86/asm: replace custom COUNT_ARGS() & CONCATENATE() implementations 2023-08-18 10:18:56 -07:00
seccomp.h
sections.h lockdep: fix static memory detection even more 2023-08-21 13:46:24 -07:00
segment.h x86/vdso: Choose the right GDT_ENTRY_CPUNODE for 32-bit getcpu() on 64-bit kernel 2023-08-08 09:31:43 +02:00
serial.h
set_memory.h x86/mm: Implement native set_memory_rox() 2022-12-15 10:37:27 -08:00
setup.h x86/boot/32: De-uglify the 2/3 level paging difference in mk_early_pgtbl_32() 2023-10-18 18:27:30 +02:00
setup_arch.h
sev-common.h x86/sev: Put PSC struct on the stack in prep for unaccepted memory support 2023-06-06 18:28:25 +02:00
sev.h x86/efistub: Avoid legacy decompressor when doing EFI boot 2023-08-07 21:07:43 +02:00
sgx.h
shmparam.h
shstk.h x86/shstk: Add ARCH_SHSTK_STATUS 2023-08-02 15:01:51 -07:00
sigcontext.h
sigframe.h x86/init: Initialize signal frame size late 2023-06-16 10:16:00 +02:00
sighandling.h
signal.h
simd.h
smap.h
smp.h X86 core code updates: 2023-10-30 17:37:47 -10:00
softirq_stack.h
sparsemem.h x86/numa: Introduce numa_fill_memblks() 2023-09-12 16:13:05 -07:00
spec-ctrl.h x86/speculation: Add __update_spec_ctrl() helper 2023-10-07 11:33:28 +02:00
special_insns.h x86/shstk: Introduce routines modifying shstk 2023-08-02 15:01:50 -07:00
spinlock.h
spinlock_types.h
sta2x11.h
stackprotector.h
stacktrace.h
static_call.h
string.h
string_32.h
string_64.h x86: kmsan: use C versions of memset16/memset32/memset64 2023-03-28 16:20:11 -07:00
suspend.h
suspend_32.h
suspend_64.h
svm.h - Make sure the "svm" feature flag is cleared from /proc/cpuinfo when 2023-10-30 12:10:24 -10:00
switch_to.h x86: Rewrite ret_from_fork() in C 2023-07-10 09:52:25 +02:00
sync_bitops.h
sync_core.h
syscall.h x86/entry/64: Convert SYSRET validation tests to C 2023-10-13 13:05:28 +02:00
syscall_wrapper.h
syscalls.h
tdx.h configfs-tsm for v6.7 2023-11-04 15:58:13 -10:00
text-patching.h x86/alternatives: Introduce int3_emulate_jcc() 2023-01-31 15:05:30 +01:00
thermal.h
thread_info.h thread_info: move function declarations to linux/thread_info.h 2023-06-09 17:44:16 -07:00
time.h init: consolidate prototypes in linux/init.h 2023-06-09 17:44:16 -07:00
timer.h
timex.h
tlb.h
tlbbatch.h
tlbflush.h Add x86 shadow stack support 2023-08-31 12:20:12 -07:00
topology.h x86/cpu: Move cpu_l[l2]c_id into topology info 2023-10-10 14:38:18 +02:00
trace_clock.h
trap_pf.h x86/mm: Check shadow stack page fault errors 2023-07-11 14:12:19 -07:00
trapnr.h
traps.h x86/ibt: Convert IBT selftest to asm 2023-08-17 17:07:09 +02:00
tsc.h - Arnd Bergmann has fixed a bunch of -Wmissing-prototypes in 2023-06-28 10:59:38 -07:00
uaccess.h iov_iter, x86: Be consistent about the __user tag on copy_mc_to_user() 2023-09-25 14:30:27 +02:00
uaccess_32.h x86: uaccess: move 32-bit and 64-bit parts into proper <asm/uaccess_N.h> header 2023-05-03 10:37:22 -07:00
uaccess_64.h x86: bring back rep movsq for user access on CPUs without ERMS 2023-08-30 09:45:12 -07:00
umip.h
unaccepted_memory.h x86/sev: Add SNP-specific unaccepted memory support 2023-06-06 18:31:37 +02:00
unistd.h
unwind.h
unwind_hints.h drm/vmwgfx: Add unwind hints around RBP clobber 2023-06-07 10:03:12 -07:00
uprobes.h
user.h
user32.h
user_32.h
user_64.h
vdso.h x86/vdso: Move VDSO image init to vdso2c generated code 2023-01-25 12:33:40 +01:00
vermagic.h
vga.h
vgtod.h
vm86.h
vmalloc.h
vmware.h
vmx.h KVM: VMX: Rename XSAVES control to follow KVM's preferred "ENABLE_XYZ" 2023-08-17 11:38:28 -07:00
vmxfeatures.h
vsyscall.h
vvar.h
word-at-a-time.h
x86_init.h x86/cpu: Move phys_proc_id into topology info 2023-10-10 14:38:17 +02:00
xor.h
xor_32.h
xor_64.h
xor_avx.h