]> Git Repo - qemu.git/commitdiff
target-arm: Expose output GPIO line for VCPU maintenance interrupt
authorPeter Maydell <[email protected]>
Fri, 20 Jan 2017 11:15:09 +0000 (11:15 +0000)
committerPeter Maydell <[email protected]>
Fri, 20 Jan 2017 11:15:09 +0000 (11:15 +0000)
The GICv3 support for virtualization includes an outbound
maintenance interrupt signal which is asserted when the
CPU interface wants to signal to the hypervisor that it
needs attention. Expose this as an outbound GPIO line from
the CPU object which can be wired up as a physical interrupt
line by the board code (as we do already for the CPU timers).

Signed-off-by: Peter Maydell <[email protected]>
Reviewed-by: Edgar E. Iglesias <[email protected]>
Reviewed-by: Alistair Francis <[email protected]>
Message-id: 1483977924[email protected]

target/arm/cpu.c
target/arm/cpu.h

index 91046111d9e6094b2ad9c9db91329d272114b7cc..93ebbc92aff87d96415092e78972217e54928374 100644 (file)
@@ -465,6 +465,9 @@ static void arm_cpu_initfn(Object *obj)
                                                 arm_gt_stimer_cb, cpu);
     qdev_init_gpio_out(DEVICE(cpu), cpu->gt_timer_outputs,
                        ARRAY_SIZE(cpu->gt_timer_outputs));
+
+    qdev_init_gpio_out_named(DEVICE(cpu), &cpu->gicv3_maintenance_interrupt,
+                             "gicv3-maintenance-interrupt", 1);
 #endif
 
     /* DTB consumers generally don't in fact care what the 'compatible'
index 7bd16eec18d86d2c976aa35f853bf751e33035aa..fa094989395f40cbece947d0edd1aad5fca88ad5 100644 (file)
@@ -558,6 +558,8 @@ struct ARMCPU {
     QEMUTimer *gt_timer[NUM_GTIMERS];
     /* GPIO outputs for generic timer */
     qemu_irq gt_timer_outputs[NUM_GTIMERS];
+    /* GPIO output for GICv3 maintenance interrupt signal */
+    qemu_irq gicv3_maintenance_interrupt;
 
     /* MemoryRegion to use for secure physical accesses */
     MemoryRegion *secure_memory;
This page took 0.027601 seconds and 4 git commands to generate.