kvm.h (b22498c4846b52a5df2cc821d97c4049df0cf67a) | kvm.h (6dcf7316e05eccded11fc640813c8a8879f271a6) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2/* 3 * Copyright (C) 2012,2013 - ARM Ltd 4 * Author: Marc Zyngier <marc.zyngier@arm.com> 5 * 6 * Derived from arch/arm/include/uapi/asm/kvm.h: 7 * Copyright (C) 2012 - Virtual Open Systems and Columbia University 8 * Author: Christoffer Dall <c.dall@virtualopensystems.com> --- 367 unchanged lines hidden (view full) --- 376enum { 377 KVM_REG_ARM_VENDOR_HYP_BIT_FUNC_FEAT = 0, 378 KVM_REG_ARM_VENDOR_HYP_BIT_PTP = 1, 379#ifdef __KERNEL__ 380 KVM_REG_ARM_VENDOR_HYP_BMAP_BIT_COUNT, 381#endif 382}; 383 | 1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2/* 3 * Copyright (C) 2012,2013 - ARM Ltd 4 * Author: Marc Zyngier <marc.zyngier@arm.com> 5 * 6 * Derived from arch/arm/include/uapi/asm/kvm.h: 7 * Copyright (C) 2012 - Virtual Open Systems and Columbia University 8 * Author: Christoffer Dall <c.dall@virtualopensystems.com> --- 367 unchanged lines hidden (view full) --- 376enum { 377 KVM_REG_ARM_VENDOR_HYP_BIT_FUNC_FEAT = 0, 378 KVM_REG_ARM_VENDOR_HYP_BIT_PTP = 1, 379#ifdef __KERNEL__ 380 KVM_REG_ARM_VENDOR_HYP_BMAP_BIT_COUNT, 381#endif 382}; 383 |
384/* Device Control API on vm fd */ 385#define KVM_ARM_VM_SMCCC_CTRL 0 386#define KVM_ARM_VM_SMCCC_FILTER 0 387 |
|
384/* Device Control API: ARM VGIC */ 385#define KVM_DEV_ARM_VGIC_GRP_ADDR 0 386#define KVM_DEV_ARM_VGIC_GRP_DIST_REGS 1 387#define KVM_DEV_ARM_VGIC_GRP_CPU_REGS 2 388#define KVM_DEV_ARM_VGIC_CPUID_SHIFT 32 389#define KVM_DEV_ARM_VGIC_CPUID_MASK (0xffULL << KVM_DEV_ARM_VGIC_CPUID_SHIFT) 390#define KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT 32 391#define KVM_DEV_ARM_VGIC_V3_MPIDR_MASK \ --- 83 unchanged lines hidden (view full) --- 475 * Reset caused by a PSCI v1.1 SYSTEM_RESET2 call. 476 * Valid only when the system event has a type of KVM_SYSTEM_EVENT_RESET. 477 */ 478#define KVM_SYSTEM_EVENT_RESET_FLAG_PSCI_RESET2 (1ULL << 0) 479 480/* run->fail_entry.hardware_entry_failure_reason codes. */ 481#define KVM_EXIT_FAIL_ENTRY_CPU_UNSUPPORTED (1ULL << 0) 482 | 388/* Device Control API: ARM VGIC */ 389#define KVM_DEV_ARM_VGIC_GRP_ADDR 0 390#define KVM_DEV_ARM_VGIC_GRP_DIST_REGS 1 391#define KVM_DEV_ARM_VGIC_GRP_CPU_REGS 2 392#define KVM_DEV_ARM_VGIC_CPUID_SHIFT 32 393#define KVM_DEV_ARM_VGIC_CPUID_MASK (0xffULL << KVM_DEV_ARM_VGIC_CPUID_SHIFT) 394#define KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT 32 395#define KVM_DEV_ARM_VGIC_V3_MPIDR_MASK \ --- 83 unchanged lines hidden (view full) --- 479 * Reset caused by a PSCI v1.1 SYSTEM_RESET2 call. 480 * Valid only when the system event has a type of KVM_SYSTEM_EVENT_RESET. 481 */ 482#define KVM_SYSTEM_EVENT_RESET_FLAG_PSCI_RESET2 (1ULL << 0) 483 484/* run->fail_entry.hardware_entry_failure_reason codes. */ 485#define KVM_EXIT_FAIL_ENTRY_CPU_UNSUPPORTED (1ULL << 0) 486 |
487enum kvm_smccc_filter_action { 488 KVM_SMCCC_FILTER_HANDLE = 0, 489 KVM_SMCCC_FILTER_DENY, 490 KVM_SMCCC_FILTER_FWD_TO_USER, 491 492#ifdef __KERNEL__ 493 NR_SMCCC_FILTER_ACTIONS |
|
483#endif | 494#endif |
495}; |
|
484 | 496 |
497struct kvm_smccc_filter { 498 __u32 base; 499 __u32 nr_functions; 500 __u8 action; 501 __u8 pad[15]; 502}; 503 504/* arm64-specific KVM_EXIT_HYPERCALL flags */ 505#define KVM_HYPERCALL_EXIT_SMC (1U << 0) 506#define KVM_HYPERCALL_EXIT_16BIT (1U << 1) 507 508#endif 509 |
|
485#endif /* __ARM_KVM_H__ */ | 510#endif /* __ARM_KVM_H__ */ |