aboutsummaryrefslogtreecommitdiff
path: root/hw/display/ramfb.c
diff options
context:
space:
mode:
authorLuc Michel <luc.michel@greensocs.com>2018-08-14 17:17:20 +0100
committerPeter Maydell <peter.maydell@linaro.org>2018-08-14 17:17:20 +0100
commit02f2e22d7c81b7514f09dfbe91e81aad8e5381dc (patch)
treeec0de594401b9296e5e05ab6ec2358c8b9e73452 /hw/display/ramfb.c
parent439badd66d6f1bf82211f86131c7ce75d951756a (diff)
downloadqemu-02f2e22d7c81b7514f09dfbe91e81aad8e5381dc.zip
qemu-02f2e22d7c81b7514f09dfbe91e81aad8e5381dc.tar.gz
qemu-02f2e22d7c81b7514f09dfbe91e81aad8e5381dc.tar.bz2
intc/arm_gic: Implement virtualization extensions in gic_(deactivate|complete_irq)
Implement virtualization extensions in the gic_deactivate_irq() and gic_complete_irq() functions. When the guest writes an invalid vIRQ to V_EOIR or V_DIR, since the GICv2 specification is not entirely clear here, we adopt the behaviour observed on real hardware: * When V_CTRL.EOIMode is false (EOI split is disabled): - In case of an invalid vIRQ write to V_EOIR: -> If some bits are set in H_APR, an invalid vIRQ write to V_EOIR triggers a priority drop, and increments V_HCR.EOICount. -> If V_APR is already cleared, nothing happen - An invalid vIRQ write to V_DIR is ignored. * When V_CTRL.EOIMode is true: - In case of an invalid vIRQ write to V_EOIR: -> If some bits are set in H_APR, an invalid vIRQ write to V_EOIR triggers a priority drop. -> If V_APR is already cleared, nothing happen - An invalid vIRQ write to V_DIR increments V_HCR.EOICount. Signed-off-by: Luc Michel <luc.michel@greensocs.com> Message-id: 20180727095421.386-13-luc.michel@greensocs.com Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/display/ramfb.c')
0 files changed, 0 insertions, 0 deletions