linux-stable/arch/x86/include/asm
Jane Malalane b1c3497e60 x86/xen: Add support for HVMOP_set_evtchn_upcall_vector
Implement support for the HVMOP_set_evtchn_upcall_vector hypercall in
order to set the per-vCPU event channel vector callback on Linux and
use it in preference of HVM_PARAM_CALLBACK_IRQ.

If the per-VCPU vector setup is successful on BSP, use this method
for the APs. If not, fallback to the global vector-type callback.

Also register callback_irq at per-vCPU event channel setup to trick
toolstack to think the domain is enlightened.

Suggested-by: "Roger Pau Monné" <roger.pau@citrix.com>
Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Link: https://lore.kernel.org/r/20220729070416.23306-1-jane.malalane@citrix.com
Signed-off-by: Juergen Gross <jgross@suse.com>
2022-08-12 11:28:21 +02:00
..
e820 x86/PCI: Revert "x86/PCI: Clip only host bridge windows for E820 regions" 2022-06-17 14:24:14 -05:00
fpu This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
numachip
shared Intel Trust Domain Extensions 2022-05-23 17:51:12 -07:00
trace
uv
vdso
xen x86/xen: Add support for HVMOP_set_evtchn_upcall_vector 2022-08-12 11:28:21 +02:00
acenv.h ACPICA: Avoid cache flush inside virtual machines 2022-04-07 08:27:54 -07:00
acpi.h
acrn.h
agp.h
alternative.h x86: Undo return-thunk damage 2022-06-27 10:33:58 +02:00
amd-ibs.h perf/ibs: Fix comment 2022-05-11 16:27:10 +02:00
amd_hsmp.h platform/x86: Add AMD system management interface 2022-03-02 11:42:36 +01:00
amd_nb.h x86/amd_nb: Unexport amd_cache_northbridges() 2022-04-05 19:22:27 +02:00
apic.h x86/acpi/x86/boot: Add multiprocessor wake-up support 2022-04-07 08:27:53 -07:00
apicdef.h x86/apic: Clarify i82489DX bit overlap in APIC_LVT0 2022-04-13 18:39:48 +02:00
apm.h
arch_hweight.h
archrandom.h
asm-offsets.h
asm-prototypes.h
asm.h x86/extable: Prefer local labels in .set directives 2022-04-07 11:27:02 +02:00
atomic.h
atomic64_32.h
atomic64_64.h
audit.h
barrier.h x86/barriers, kcsan: Use generic instrumentation for non-smp barriers 2021-12-09 16:42:28 -08:00
bios_ebda.h
bitops.h include: move find.h from asm_generic to linux 2022-01-15 08:47:31 -08:00
boot.h
bootparam_utils.h x86/boot: Add a pointer to Confidential Computing blob in bootparams 2022-04-07 16:47:11 +02:00
bug.h - Remove all the code around GS switching on 32-bit now that it is not 2022-05-23 18:42:07 -07:00
bugs.h
cache.h
cacheflush.h
cacheinfo.h
ce4100.h
checksum.h
checksum_32.h
checksum_64.h
clocksource.h
cmdline.h
cmpxchg.h
cmpxchg_32.h locking/atomic/x86: Introduce arch_try_cmpxchg64 2022-05-18 00:08:28 +02:00
cmpxchg_64.h locking/atomic/x86: Introduce arch_try_cmpxchg64 2022-05-18 00:08:28 +02:00
coco.h x86/coco: Add API to handle encryption mask 2022-02-23 19:14:29 +01:00
compat.h RISC-V Patches for the 5.19 Merge Window, Part 1 2022-05-31 14:10:54 -07:00
cpu.h platform-drivers-x86 for v5.19-1 2022-05-23 20:38:39 -07:00
cpu_device_id.h
cpu_entry_area.h task_stack, x86/cea: Force-inline stack helpers 2022-04-04 10:13:07 +02:00
cpufeature.h x86/cpu: Elide KCSAN for cpu_has() and friends 2022-05-27 12:34:43 +02:00
cpufeatures.h x86/amd: Use IBPB for firmware calls 2022-07-18 15:38:09 +02:00
cpuid.h KVM: x86: Move lookup of indexed CPUID leafs to helper 2022-04-07 16:47:11 +02:00
cpuidle_haltpoll.h
cpumask.h cpumask: Add a x86-specific cpumask_clear_cpu() helper 2022-02-12 18:20:05 +01:00
crash.h
current.h
debugreg.h
delay.h
desc.h
desc_defs.h
device.h
disabled-features.h x86/retbleed: Add fine grained Kconfig knobs 2022-06-29 17:43:41 +02:00
div64.h
dma-mapping.h x86: remove cruft from <asm/dma-mapping.h> 2022-04-18 07:21:14 +02:00
dma.h
dmi.h
doublefault.h
dwarf2.h
edac.h
efi.h efi/x86: libstub: Fix typo in __efi64_argmap* name 2022-06-21 18:11:46 +02:00
elf.h x86/32: Simplify ELF_CORE_COPY_REGS 2022-04-12 15:42:59 +02:00
elfcore-compat.h
emergency-restart.h
emulate_prefix.h
enclu.h
entry-common.h entry: Rename arch_check_user_regs() to arch_enter_from_user_mode() 2022-05-09 11:33:38 +02:00
espfix.h
exec.h
extable.h x86/extable: Annotate ex_handler_msr_mce() as a dead end 2022-05-27 12:34:45 +02:00
extable_fixup_types.h x86/entry_32: Fix segment exceptions 2022-01-12 16:38:25 +01:00
fb.h
fixmap.h
floppy.h
frame.h
fsgsbase.h
ftrace.h ftrace: Add FTRACE_MCOUNT_MAX_OFFSET to avoid adding weak function 2022-05-28 09:31:19 -04:00
futex.h x86/futex: Remove .fixup usage 2021-12-11 09:09:47 +01:00
gart.h x86: remove the IOMMU table infrastructure 2022-04-18 07:21:10 +02:00
GEN-for-each-reg.h
genapic.h
geode.h
hardirq.h
highmem.h mm/usercopy: Check kmap addresses properly 2022-04-13 12:15:50 -07:00
hpet.h
hugetlb.h
hw_breakpoint.h
hw_irq.h
hyperv-tlfs.h PCI: hv: Make the code arch neutral by adding arch specific interfaces 2022-01-12 08:21:54 -06:00
hypervisor.h
i8259.h
ia32.h
ia32_unistd.h
ibt.h x86/alternative: Use .ibt_endbr_seal to seal indirect calls 2022-03-15 10:32:47 +01:00
idtentry.h x86/traps: Add #VE support for TDX guest 2022-04-07 08:27:51 -07:00
imr.h
inat.h
inat_types.h
init.h
insn-eval.h - Get rid of all the .fixup sections because this generates 2022-01-12 16:31:19 -08:00
insn.h x86/insn: Add AVX512-FP16 instructions to the x86 instruction decoder 2022-01-23 20:38:01 +01:00
inst.h
intel-family.h x86/cpu: Add new Alderlake and Raptorlake CPU model numbers 2022-04-19 12:04:51 +02:00
intel-mid.h
intel_ds.h perf/x86/intel: Enable PEBS format 5 2022-02-02 13:11:43 +01:00
intel_pconfig.h
intel_pt.h perf/x86/intel/pt: Add a capability and config bit for disabling TNTs 2022-02-15 17:47:11 +01:00
intel_punit_ipc.h
intel_scu_ipc.h
intel_telemetry.h
invpcid.h
io.h Intel Trust Domain Extensions 2022-05-23 17:51:12 -07:00
io_apic.h
io_bitmap.h
iomap.h
iommu.h x86: remove cruft from <asm/dma-mapping.h> 2022-04-18 07:21:14 +02:00
iosf_mbi.h
irq.h
irq_remapping.h
irq_stack.h x86,objtool: Move the ASM_REACHABLE annotation to objtool.h 2022-03-15 10:32:45 +01:00
irq_vectors.h
irq_work.h
irqdomain.h
irqflags.h x86/entry: Convert SWAPGS to swapgs and remove the definition of SWAPGS 2022-05-03 12:26:08 +02:00
ist.h
jailhouse_para.h
jump_label.h objtool: Make jump label hack optional 2022-04-22 12:32:04 +02:00
kasan.h
kaslr.h
kbdleds.h
Kbuild
kdebug.h
kexec-bzimage64.h
kexec.h kexec_file: drop weak attribute from arch_kexec_apply_relocations[_add] 2022-05-27 08:55:18 -07:00
kfence.h
kgdb.h
kprobes.h
kvm-x86-ops.h KVM/arm64 updates for 5.19 2022-05-25 05:09:23 -04:00
kvm-x86-pmu-ops.h KVM: x86: Use static calls to reduce kvm_pmu_ops overhead 2022-04-13 13:37:45 -04:00
kvm_host.h KVM: x86: inhibit APICv/AVIC on changes to APIC ID or APIC base 2022-06-09 10:52:18 -04:00
kvm_page_track.h KVM: x86/mmu: Propagate memslot const qualifier 2021-12-08 04:24:43 -05:00
kvm_para.h x86/tdx: Wire up KVM hypercalls 2022-04-07 08:27:52 -07:00
kvm_types.h
kvm_vcpu_regs.h
kvmclock.h
linkage.h x86/retbleed: Add fine grained Kconfig knobs 2022-06-29 17:43:41 +02:00
local.h
mach_timer.h
mach_traps.h
math_emu.h
mc146818rtc.h
mce.h x86/MCE/AMD, EDAC/mce_amd: Support non-uniform MCA bank type enumeration 2021-12-22 17:22:09 +01:00
mem_encrypt.h x86/mm: Make DMA memory shared for TD guest 2022-04-07 08:27:53 -07:00
memtype.h
microcode.h x86/cpu: Load microcode during restore_processor_state() 2022-04-19 19:37:05 +02:00
microcode_amd.h treewide: Replace zero-length arrays with flexible-array members 2022-02-17 07:00:39 -06:00
microcode_intel.h treewide: Replace zero-length arrays with flexible-array members 2022-02-17 07:00:39 -06:00
misc.h
mmconfig.h
mmu.h
mmu_context.h x86/32: Remove lazy GS macros 2022-04-14 14:09:43 +02:00
mmzone.h
mmzone_32.h
mmzone_64.h
module.h
mpspec.h
mpspec_def.h
mshyperv.h x86/Hyper-V: Add SEV negotiate protocol support in Isolation VM 2022-06-15 18:27:40 +00:00
msi.h x86/msi: Fix msi message data shadow struct 2022-04-07 15:19:32 +02:00
msr-index.h x86/speculation: Disable RRSBA behavior 2022-07-09 13:12:45 +02:00
msr-trace.h
msr.h x86/boot: Introduce helpers for MSR reads/writes 2022-04-06 12:59:17 +02:00
mtrr.h x86/mtrr: Remove the mtrr_bp_init() stub 2021-12-22 19:50:26 +01:00
mwait.h
nmi.h x86/nmi: Make register_nmi_handler() more robust 2022-05-17 09:25:25 +02:00
nops.h
nospec-branch.h x86/amd: Use IBPB for firmware calls 2022-07-18 15:38:09 +02:00
numa.h
numa_32.h
olpc.h
olpc_ofw.h
orc_lookup.h
orc_types.h
page.h x86: Share definition of __is_canonical_address() 2022-02-02 13:11:42 +01:00
page_32.h x86/mmx_32: Remove X86_USE_3DNOW 2021-12-11 09:09:45 +01:00
page_32_types.h
page_64.h x86/mm: Force-inline __phys_addr_nodebug() 2022-04-04 10:13:25 +02:00
page_64_types.h
page_types.h
paravirt.h x86/ibt,paravirt: Sprinkle ENDBR 2022-03-15 10:32:36 +01:00
paravirt_api_clock.h sched/headers: Add initial new headers as identity mappings 2022-02-23 10:58:28 +01:00
paravirt_types.h Add support for Intel CET-IBT, available since Tigerlake (11th gen), which is a 2022-03-27 10:17:23 -07:00
parport.h
pc-conf-reg.h
pci-direct.h
pci-functions.h
pci.h treewide: Replace zero-length arrays with flexible-array members 2022-02-17 07:00:39 -06:00
pci_x86.h x86/PCI: Revert "x86/PCI: Clip only host bridge windows for E820 regions" 2022-06-17 14:24:14 -05:00
percpu.h x86/percpu: Remove volatile from arch_raw_cpu_ptr(). 2022-04-05 09:59:38 +02:00
perf_event.h perf/amd/ibs: Add support for L3 miss filtering 2022-05-11 16:27:10 +02:00
perf_event_p4.h
pgalloc.h
pgtable-2level.h
pgtable-2level_types.h
pgtable-3level.h
pgtable-3level_types.h
pgtable-invert.h
pgtable.h mm: page_table_check: add hooks to public helpers 2022-05-13 07:20:17 -07:00
pgtable_32.h
pgtable_32_areas.h
pgtable_32_types.h
pgtable_64.h x86/pgtable: support __HAVE_ARCH_PTE_SWP_EXCLUSIVE 2022-05-09 18:20:46 -07:00
pgtable_64_types.h x86/pgtable: support __HAVE_ARCH_PTE_SWP_EXCLUSIVE 2022-05-09 18:20:46 -07:00
pgtable_areas.h
pgtable_types.h Yang Shi has improved the behaviour of khugepaged collapsing of readonly 2022-05-26 12:32:41 -07:00
pkeys.h x86/pkeys: Remove __arch_set_user_pkey_access() declaration 2022-04-04 15:58:24 -07:00
pkru.h x86/pkey: Fix undefined behaviour with PKRU_WD_BIT 2021-12-19 22:44:34 +01:00
platform_sst_audio.h
pm-trace.h
posix_types.h
preempt.h sched/preempt: Refactor sched_dynamic_update() 2022-02-19 11:11:07 +01:00
probe_roms.h
processor-cyrix.h
processor-flags.h
processor.h x86: Always inline on_thread_stack() and current_top_of_stack() 2022-05-27 12:34:44 +02:00
prom.h
proto.h - Serious sanitization and cleanup of the whole APERF/MPERF and 2022-05-23 18:17:09 -07:00
pti.h
ptrace.h x86/sev: Mark the code returning to user space as syscall gap 2022-05-19 10:56:46 +02:00
purgatory.h
pvclock-abi.h
pvclock.h
qrwlock.h
qspinlock.h x86/qspinlock, kcsan: Instrument barrier of pv_queued_spin_unlock() 2021-12-09 16:42:28 -08:00
qspinlock_paravirt.h x86/ibt,paravirt: Sprinkle ENDBR 2022-03-15 10:32:36 +01:00
realmode.h x86/boot: Add a trampoline for booting APs via firmware handoff 2022-04-07 08:27:52 -07:00
reboot.h
reboot_fixups.h
required-features.h x86/mmx_32: Remove X86_USE_3DNOW 2021-12-11 09:09:45 +01:00
resctrl.h
rmwcc.h
seccomp.h
sections.h
segment.h x86/asm: Merge load_gs_index() 2022-04-14 14:15:54 +02:00
serial.h
set_memory.h x86/mce: relocate set{clear}_mce_nospec() functions 2022-05-16 11:46:44 -07:00
setup.h x86/xen: Use clear_bss() for Xen PV guests 2022-07-01 10:57:52 +02:00
setup_arch.h
sev-common.h x86/sev: Provide support for SNP guest request NAEs 2022-04-07 16:47:12 +02:00
sev.h Revert "x86/sev: Expose sev_es_ghcb_hv_call() for use by HyperV" 2022-07-27 18:09:13 +02:00
sgx.h x86/sgx: Remove .fixup usage 2021-12-11 09:09:49 +01:00
shmparam.h
sigcontext.h
sigframe.h
sighandling.h
signal.h
simd.h
smap.h x86/cpu: Remove CONFIG_X86_SMAP and "nosmap" 2022-04-04 10:16:57 +02:00
smp.h x86/smp: Factor out parts of native_smp_prepare_cpus() 2021-11-11 13:09:32 +01:00
softirq_stack.h
sparsemem.h
spec-ctrl.h
special_insns.h x86/asm: Merge load_gs_index() 2022-04-14 14:15:54 +02:00
spinlock.h
spinlock_types.h
sta2x11.h
stackprotector.h
stacktrace.h
static_call.h x86/retbleed: Add fine grained Kconfig knobs 2022-06-29 17:43:41 +02:00
string.h
string_32.h x86/mmx_32: Remove X86_USE_3DNOW 2021-12-11 09:09:45 +01:00
string_64.h
suspend.h
suspend_32.h x86/pm: Fix false positive kmemleak report in msr_build_context() 2022-04-27 13:55:19 +02:00
suspend_64.h x86/pm: Fix false positive kmemleak report in msr_build_context() 2022-04-27 13:55:19 +02:00
svm.h Locking changes in this cycle were: 2022-05-24 10:18:23 -07:00
switch_to.h fork: Generalize PF_IO_WORKER handling 2022-05-07 09:01:59 -05:00
sync_bitops.h
sync_core.h
syscall.h
syscall_wrapper.h x86: Remove toolchain check for X32 ABI capability 2022-03-15 10:32:48 +01:00
syscalls.h
tdx.h x86/tdx: Wire up KVM hypercalls 2022-04-07 08:27:52 -07:00
text-patching.h x86/alternative: Introduce text_poke_set 2022-05-23 23:07:38 +02:00
thermal.h
thread_info.h x86/split-lock: Remove unused TIF_SLD bit 2022-04-27 15:43:39 +02:00
time.h
timer.h
timex.h x86/tsc: Use fallback for random_get_entropy() instead of zero 2022-05-13 23:59:23 +02:00
tlb.h mmu_gather: Remove per arch tlb_{start,end}_vma() 2022-07-21 10:50:13 -07:00
tlbbatch.h
tlbflush.h mm/mprotect: do not flush when not required architecturally 2022-05-13 07:20:05 -07:00
topology.h x86/aperfperf: Make it correct on 32bit and UP kernels 2022-05-02 09:19:05 +02:00
trace_clock.h
trap_pf.h
trapnr.h
traps.h x86/traps: Use pt_regs directly in fixup_bad_iret() 2022-05-03 11:18:59 +02:00
tsc.h x86/tsc: Use fallback for random_get_entropy() instead of zero 2022-05-13 23:59:23 +02:00
uaccess.h x86: drop bogus "cc" clobber from __try_cmpxchg_user_asm() 2022-06-07 11:28:49 -04:00
uaccess_32.h
uaccess_64.h
umip.h
unistd.h fs: stat: compat: Add __ARCH_WANT_COMPAT_STAT 2022-04-26 13:35:45 -07:00
unwind.h x86,rethook,kprobes: Replace kretprobe with rethook on x86 2022-03-28 19:38:51 -07:00
unwind_hints.h objtool: Re-add UNWIND_HINT_{SAVE_RESTORE} 2022-06-27 10:34:00 +02:00
uprobes.h
user.h
user32.h
user_32.h asm/user.h: killed unused macros 2022-01-30 21:17:00 -05:00
user_64.h asm/user.h: killed unused macros 2022-01-30 21:17:00 -05:00
vdso.h x86: Remove toolchain check for X32 ABI capability 2022-03-15 10:32:48 +01:00
vermagic.h
vga.h
vgtod.h
virtext.h
vm86.h
vmalloc.h
vmware.h
vmx.h KVM: x86/mmu: Derive EPT violation RWX bits from EPTE RWX bits 2022-04-13 13:37:37 -04:00
vmxfeatures.h
vsyscall.h
vvar.h
word-at-a-time.h x86/word-at-a-time: Remove .fixup usage 2021-12-11 09:09:50 +01:00
x86_init.h x86/mm/cpa: Generalize __set_memory_enc_pgtable() 2022-02-23 19:14:29 +01:00
xor.h lib/xor: make xor prototypes more friendly to compiler vectorization 2022-02-11 20:39:39 +11:00
xor_32.h lib/xor: make xor prototypes more friendly to compiler vectorization 2022-02-11 20:39:39 +11:00
xor_64.h
xor_avx.h lib/xor: make xor prototypes more friendly to compiler vectorization 2022-02-11 20:39:39 +11:00