VirtualBox

Changeset 99821 in vbox


Ignore:
Timestamp:
May 17, 2023 7:35:02 AM (20 months ago)
Author:
vboxsync
Message:

VMM/GIC: Implement interrupt forwarding to the GIC from shared peripherals, bugref:10404

Location:
trunk/src/VBox/VMM
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/PDMAll.cpp

    r99576 r99821  
    3636#include <VBox/vmm/vmcc.h>
    3737#include <VBox/err.h>
    38 #include <VBox/vmm/apic.h>
     38#ifdef VBOX_VMM_TARGET_ARMV8
     39# include <VBox/vmm/gic.h>
     40#else
     41# include <VBox/vmm/apic.h>
     42#endif
    3943
    4044#include <VBox/log.h>
     
    144148    Log9(("PDMIsaSetIrq: irq=%#x lvl=%u tag=%#x\n", u8Irq, u8Level, uTagSrc));
    145149
     150#ifdef VBOX_VMM_TARGET_ARMV8
     151    int rc = VINF_SUCCESS;
     152    GICSpiSet(pVM, u8Level, u8Level == PDM_IRQ_LEVEL_HIGH ? true : false);
     153#else
    146154    int rc = VERR_PDM_NO_PIC_INSTANCE;
    147155/** @todo r=bird: This code is incorrect, as it ASSUMES the PIC and I/O APIC
     
    173181        rc = VINF_SUCCESS;
    174182    }
     183#endif
    175184
    176185    if (!uTagSrc && u8Level == PDM_IRQ_LEVEL_LOW)
     
    195204{
    196205    Log9(("PDMIoApicSetIrq: irq=%#x lvl=%u tag=%#x src=%#x\n", u8Irq, u8Level, uTagSrc, uBusDevFn));
     206
     207#ifdef VBOX_VMM_TARGET_ARMV8
     208    int rc = VINF_SUCCESS;
     209    RT_NOREF(uBusDevFn, uTagSrc);
     210    GICSpiSet(pVM, u8Irq, u8Level == PDM_IRQ_LEVEL_HIGH ? true : false);
     211#else
    197212    if (pVM->pdm.s.IoApic.CTX_SUFF(pDevIns))
    198213    {
     
    202217    }
    203218    return VERR_PDM_NO_PIC_INSTANCE;
     219#endif
    204220}
    205221
  • trunk/src/VBox/VMM/VMMR3/PDMDevMiscHlp.cpp

    r99051 r99821  
    3535#include <VBox/vmm/pgm.h>
    3636#include <VBox/vmm/hm.h>
    37 #include <VBox/vmm/apic.h>
     37#ifndef VBOX_VMM_TARGET_ARMV8
     38# include <VBox/vmm/apic.h>
     39#endif
    3840#include <VBox/vmm/vm.h>
    3941#include <VBox/vmm/vmm.h>
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette