| /linux/arch/x86/kvm/svm/ |
| H A D | avic.c | 42 * use whatever bits remain to assign arbitrary AVIC IDs to VMs. Note, the 86 * Enable / disable AVIC. In "auto" mode (default behavior), AVIC is enabled 89 static int avic = AVIC_AUTO_MODE; variable 90 module_param_cb(avic, &avic_ops, &avic, 0444); 91 __MODULE_PARM_TYPE(avic, "bool"); 171 * Note: KVM supports hybrid-AVIC mode, where KVM emulates x2APIC MSR in avic_activate_vmcb() 173 * achieved using AVIC doorbell. KVM disables the APIC access page in avic_activate_vmcb() 175 * AVIC in hybrid mode activates only the doorbell mechanism. in avic_activate_vmcb() 185 * mapping into the TLB while AVIC was disabled. in avic_activate_vmcb() 338 * Inhibit AVIC if the vCPU ID is bigger than what is supported by AVIC in avic_init_backing_page() [all …]
|
| H A D | svm.h | 76 VMCB_AVIC, /* AVIC APIC_BAR, AVIC APIC_BACKING_PAGE, 77 * AVIC PHYSICAL_TABLE pointer, 78 * AVIC LOGICAL_TABLE pointer 126 /* Struct members for AVIC */ 327 * target pCPU), when AVIC is toggled on/off (to (de)activate bypass), 789 /* avic.c */
|
| H A D | svm.c | 1452 * The following fields are ignored when AVIC is enabled in svm_set_vintr() 3057 * If not running nested, for AVIC, the only reason to end up here is ExtINTs. in interrupt_window_interception() 3058 * In this case AVIC was temporarily disabled for in interrupt_window_interception() 3061 * If running nested, still remove the VM wide AVIC inhibit to in interrupt_window_interception() 3066 * AVIC still inhibited due to per-cpu AVIC inhibition. in interrupt_window_interception() 3682 * will automatically process AVIC interrupts at the next VMRUN. in svm_complete_interrupt_delivery() 3854 * IRQ window is not needed when AVIC is enabled, in svm_enable_irq_window() 3856 * via AVIC. In such case, KVM needs to temporarily disable AVIC, in svm_enable_irq_window() 3859 * If running nested, AVIC is already locally inhibited in svm_enable_irq_window() 3861 * the VM wide AVIC inhibition. in svm_enable_irq_window() [all …]
|
| /linux/arch/x86/kernel/apic/ |
| H A D | x2apic_savic.c | 3 * AMD Secure AVIC Support (SEV-SNP Guests) 50 * When Secure AVIC is enabled, RDMSR/WRMSR of the APIC registers 118 pr_err("Error reading unknown Secure AVIC reg offset 0x%x\n", reg); in savic_read() 126 * On WRMSR to APIC_SELF_IPI register by the guest, Secure AVIC hardware 240 pr_err("Error writing unknown Secure AVIC reg offset 0x%x\n", reg); in savic_write() 335 /* Disable Secure AVIC */ in savic_teardown() 347 * Before Secure AVIC is enabled, APIC MSR reads are intercepted. in savic_setup() 356 * present when the vCPU is running in order for Secure AVIC to in savic_setup() 378 pr_err("Secure AVIC enabled in non x2APIC mode\n"); in savic_probe() 392 .name = "secure avic x2apic",
|
| /linux/arch/arm/mach-imx/ |
| H A D | avic.c | 97 * The LPIMR registers use 0 to allow an interrupt, the AVIC in avic_irq_suspend() 130 gc = irq_alloc_generic_chip("mxc-avic", 1, irq_start, avic_base, in avic_init_gc() 162 * This function initializes the AVIC hardware and disables all the 186 /* put the AVIC into the reset value with in mxc_init_irq() 203 np = of_find_compatible_node(NULL, NULL, "fsl,avic"); in mxc_init_irq() 236 IRQCHIP_DECLARE(imx_avic, "fsl,avic", imx_avic_init);
|
| H A D | hardware.h | 49 * AVIC 0x68000000+0x100000 -> 0xf5800000+0x100000 57 * AVIC 0x68000000+0x100000 -> 0xf5800000+0x100000 63 * AVIC 0x68000000+0x100000 -> 0xf5800000+0x100000
|
| H A D | mm-imx3.c | 75 imx_map_entry(MX31, AVIC, MT_DEVICE_NONSHARED), 116 imx_map_entry(MX35, AVIC, MT_DEVICE_NONSHARED),
|
| H A D | mx3x.h | 19 * FC400000 68000000 128M AVIC 98 * ROMP and AVIC
|
| H A D | Makefile | 15 obj-$(CONFIG_MXC_AVIC) += avic.o
|
| /linux/tools/testing/selftests/kvm/x86/ |
| H A D | xapic_state_test.c | 239 * the guest in order to test AVIC. KVM disallows changing CPUID after in main() 240 * KVM_RUN and AVIC is disabled if _any_ vCPU is allowed to use x2APIC. in main() 246 * AMD's AVIC implementation is buggy (fails to clear the ICR BUSY bit), in main() 252 get_kvm_amd_param_bool("avic"); in main()
|
| /linux/arch/arm/boot/dts/nxp/imx/ |
| H A D | imx35.dtsi | 48 avic: avic-interrupt-controller@68000000 { label 49 compatible = "fsl,imx35-avic", "fsl,avic"; 59 interrupt-parent = <&avic>;
|
| H A D | imx31.dtsi | 44 avic: interrupt-controller@68000000 { label 45 compatible = "fsl,imx31-avic", "fsl,avic"; 55 interrupt-parent = <&avic>;
|
| H A D | imx1.dtsi | 35 compatible = "fsl,imx1-aitc", "fsl,avic";
|
| H A D | imx27.dtsi | 44 compatible = "fsl,imx27-aitc", "fsl,avic";
|
| H A D | imx25.dtsi | 57 compatible = "fsl,imx25-asic", "fsl,avic";
|
| /linux/include/linux/ |
| H A D | cc_platform.h | 101 * @CC_ATTR_SNP_SECURE_AVIC: Secure AVIC mode is active. 104 * to run SEV-SNP guests with full Secure AVIC capabilities.
|
| H A D | amd-iommu.h | 30 /* IOMMU AVIC Function */
|
| /linux/arch/x86/include/asm/ |
| H A D | kvm_host.h | 1253 /* INHIBITs that are relevant to both Intel's APICv and AMD's AVIC. */ 1276 * was enabled, to avoid AVIC/APICv bypassing it. 1295 /* INHIBITs that are relevant only to the AMD's AVIC. */ 1299 * AVIC is inhibited on a vCPU because it runs a nested guest. 1302 * cannot use the doorbell mechanism to signal interrupts via AVIC when 1309 * which cannot be injected when the AVIC is enabled, thus AVIC 1316 * which AVIC doesn't support for edge triggered interrupts. 1321 * AVIC is disabled because SEV doesn't support it. 1326 * AVIC is disabled because not all vCPUs with a valid LDR have a 1:1 1332 * AVIC is disabled because the vCPU's APIC ID is beyond the max [all …]
|
| H A D | svm.h | 250 /* AVIC */ 285 * For AVIC, the max index allowed for physical APIC ID table is 0xfe (254), as
|
| H A D | sev-common.h | 211 #define GHCB_TERM_SAVIC_FAIL 12 /* Secure AVIC-specific failure */
|
| /linux/arch/x86/kvm/ |
| H A D | Makefile | 24 kvm-amd-y += svm/svm.o svm/vmenter.o svm/pmu.o svm/nested.o svm/avic.o
|
| H A D | ioapic.c | 211 * AMD SVM AVIC accelerate EOI write iff the interrupt is edge in ioapic_set_irq()
|
| /linux/drivers/irqchip/ |
| H A D | irq-aspeed-vic.c | 152 .name = "AVIC",
|
| /linux/arch/x86/coco/sev/ |
| H A D | vc-handle.c | 423 * Secure AVIC is enabled. Terminate the Secure AVIC guest in sev_es_ghcb_handle_msr()
|
| /linux/arch/x86/ |
| H A D | Kconfig | 485 bool "AMD Secure AVIC" 488 Enable this to get AMD Secure AVIC support on guests that have this feature. 490 AMD Secure AVIC provides hardware acceleration for performance sensitive 492 guests. Secure AVIC does not support xAPIC mode. It has functional
|