VirtualBox

Changeset 107929 in vbox for trunk/src/VBox/VMM/VMMR3


Ignore:
Timestamp:
Jan 24, 2025 9:43:16 AM (3 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
167164
Message:

VMM: GIC: bugref:10404 Renamed some places where GICv3 to GIC, a doxygen fix plus some minor updates. No functional changes.

Location:
trunk/src/VBox/VMM/VMMR3
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/GICR3.cpp

    r107780 r107929  
    11/* $Id$ */
    22/** @file
    3  * GIC - Generic Interrupt Controller Architecture (GICv3).
     3 * GIC - Generic Interrupt Controller Architecture (GIC).
    44 */
    55
     
    5454
    5555# define GIC_SYSREGRANGE(a_uFirst, a_uLast, a_szName) \
    56     { (a_uFirst), (a_uLast), kCpumSysRegRdFn_GicV3Icc, kCpumSysRegWrFn_GicV3Icc, 0, 0, 0, 0, 0, 0, a_szName, { 0 }, { 0 }, { 0 }, { 0 } }
     56    { (a_uFirst), (a_uLast), kCpumSysRegRdFn_GicIcc, kCpumSysRegWrFn_GicIcc, 0, 0, 0, 0, 0, 0, a_szName, { 0 }, { 0 }, { 0 }, { 0 } }
    5757
    5858
     
    6161*********************************************************************************************************************************/
    6262/**
    63  * System register ranges for the GICv3.
    64  */
    65 static CPUMSYSREGRANGE const g_aSysRegRanges_GICv3[] =
     63 * System register ranges for the GIC.
     64 */
     65static CPUMSYSREGRANGE const g_aSysRegRanges_GIC[] =
    6666{
    6767    GIC_SYSREGRANGE(ARMV8_AARCH64_SYSREG_ICC_PMR_EL1,   ARMV8_AARCH64_SYSREG_ICC_PMR_EL1,     "ICC_PMR_EL1"),
     
    7070    GIC_SYSREGRANGE(ARMV8_AARCH64_SYSREG_ICC_DIR_EL1,   ARMV8_AARCH64_SYSREG_ICC_SGI0R_EL1,   "ICC_DIR_EL1 - ICC_SGI0R_EL1"),
    7171    GIC_SYSREGRANGE(ARMV8_AARCH64_SYSREG_ICC_IAR1_EL1,  ARMV8_AARCH64_SYSREG_ICC_IGRPEN1_EL1, "ICC_IAR1_EL1 - ICC_IGRPEN1_EL1"),
    72     GIC_SYSREGRANGE(ARMV8_AARCH64_SYSREG_ICC_SRE_EL2,   ARMV8_AARCH64_SYSREG_ICC_SRE_EL2,     "ICC_SRE_EL2")
     72    GIC_SYSREGRANGE(ARMV8_AARCH64_SYSREG_ICC_SRE_EL2,   ARMV8_AARCH64_SYSREG_ICC_SRE_EL2,     "ICC_SRE_EL2"),
     73    GIC_SYSREGRANGE(ARMV8_AARCH64_SYSREG_ICC_SRE_EL3,   ARMV8_AARCH64_SYSREG_ICC_SRE_EL3,     "ICC_SRE_EL3")
    7374};
    7475
     
    102103    PGICDEV    pGicDev = PDMDEVINS_2_DATA(pDevIns, PGICDEV);
    103104
    104     pHlp->pfnPrintf(pHlp, "GICv3 Distributor:\n");
     105    pHlp->pfnPrintf(pHlp, "GIC Distributor:\n");
    105106    pHlp->pfnPrintf(pHlp, "  IGRP0            = %#RX32\n", pGicDev->u32RegIGrp0);
    106107    pHlp->pfnPrintf(pHlp, "  ICFG0            = %#RX32\n", pGicDev->u32RegICfg0);
     
    364365
    365366/**
    366  * Initializes the GIC state.
    367  *
    368  * @returns VBox status code.
    369  * @param   pVM     The cross context VM structure.
    370  */
    371 static int gicR3InitState(PVM pVM)
    372 {
    373     LogFlowFunc(("pVM=%p\n", pVM));
    374 
    375     RT_NOREF(pVM);
    376     return VINF_SUCCESS;
    377 }
    378 
    379 
    380 /**
    381367 * @interface_method_impl{PDMDEVREG,pfnDestruct}
    382368 */
     
    410396     * Validate GIC settings.
    411397     */
    412     PDMDEV_VALIDATE_CONFIG_RETURN(pDevIns, "DistributorMmioBase|RedistributorMmioBase|ItsMmioBase", "");
     398    PDMDEV_VALIDATE_CONFIG_RETURN(pDevIns, "DistributorMmioBase|RedistributorMmioBase|ItsMmioBase|ItLinesNumber", "");
    413399
    414400#if 0
     
    422408#endif
    423409
     410    /** @devcfgm{gic, ItLinesNumber, uint16_t, 1}
     411     * Configures GICD_TYPER.ItLinesNumber, bits [4:0].
     412     *
     413     * For the INTID range 32-1023, configures the maximum SPI supported. Valid values
     414     * are [1, 31] which equates to interrupt IDs [63, 1023]. A value of 0 indicates no
     415     * SPIs are supported, we do not allow configuring this value as it's expected most
     416     * guests would assume support for SPIs. */
     417    rc = pHlp->pfnCFGMQueryU16Def(pCfg, "ItLinesNumber", &pGicDev->uItLinesNumber, 1 /* 63 interrupt IDs */);
     418    AssertLogRelRCReturn(rc, rc);
     419    if (   pGicDev->uItLinesNumber
     420        && !(pGicDev->uItLinesNumber & ~GIC_DIST_REG_TYPER_NUM_ITLINES))
     421    { /* likely */ }
     422    else
     423        return PDMDevHlpVMSetError(pDevIns, VERR_INVALID_PARAMETER, RT_SRC_POS,
     424                                   N_("Configuration error: \"ItLinesNumber\" must be in the range [1,%u]"),
     425                                   GIC_DIST_REG_TYPER_NUM_ITLINES);
     426
    424427    /*
    425428     * Register the GIC with PDM.
     
    432435
    433436    /*
    434      * Initialize the GIC state.
    435      */
    436     for (uint32_t i = 0; i < RT_ELEMENTS(g_aSysRegRanges_GICv3); i++)
     437     * Insert the GIC system registers.
     438     */
     439    for (uint32_t i = 0; i < RT_ELEMENTS(g_aSysRegRanges_GIC); i++)
    437440    {
    438         rc = CPUMR3SysRegRangesInsert(pVM, &g_aSysRegRanges_GICv3[i]);
     441        rc = CPUMR3SysRegRangesInsert(pVM, &g_aSysRegRanges_GIC[i]);
    439442        AssertLogRelRCReturn(rc, rc);
    440443    }
    441 
    442     /* Finally, initialize the state. */
    443     rc = gicR3InitState(pVM);
    444     AssertRCReturn(rc, rc);
    445444
    446445    /*
     
    454453
    455454    rc = PDMDevHlpMmioCreateAndMap(pDevIns, GCPhysMmioBase, GIC_DIST_REG_FRAME_SIZE, gicDistMmioWrite, gicDistMmioRead,
    456                                    IOMMMIO_FLAGS_READ_DWORD | IOMMMIO_FLAGS_WRITE_DWORD_ZEROED, "GICv3_Dist", &pGicDev->hMmioDist);
     455                                   IOMMMIO_FLAGS_READ_DWORD | IOMMMIO_FLAGS_WRITE_DWORD_ZEROED, "GIC_Dist", &pGicDev->hMmioDist);
    457456    AssertRCReturn(rc, rc);
    458457
     
    464463    RTGCPHYS cbRegion = (RTGCPHYS)pVM->cCpus * (GIC_REDIST_REG_FRAME_SIZE + GIC_REDIST_SGI_PPI_REG_FRAME_SIZE); /* Adjacent and per vCPU. */
    465464    rc = PDMDevHlpMmioCreateAndMap(pDevIns, GCPhysMmioBase, cbRegion, gicReDistMmioWrite, gicReDistMmioRead,
    466                                    IOMMMIO_FLAGS_READ_DWORD | IOMMMIO_FLAGS_WRITE_DWORD_ZEROED, "GICv3_ReDist", &pGicDev->hMmioReDist);
     465                                   IOMMMIO_FLAGS_READ_DWORD | IOMMMIO_FLAGS_WRITE_DWORD_ZEROED, "GIC_ReDist", &pGicDev->hMmioReDist);
    467466    AssertRCReturn(rc, rc);
    468467
  • trunk/src/VBox/VMM/VMMR3/GICR3Nem-darwin.cpp

    r107308 r107929  
    11/* $Id$ */
    22/** @file
    3  * GIC - Generic Interrupt Controller Architecture (GICv3) - Hypervisor.framework in kernel interface.
     3 * GIC - Generic Interrupt Controller Architecture (GIC) - Hypervisor.framework in kernel interface.
    44 */
    55
  • trunk/src/VBox/VMM/VMMR3/GICR3Nem-linux.cpp

    r107308 r107929  
    11/* $Id$ */
    22/** @file
    3  * GIC - Generic Interrupt Controller Architecture (GICv3) - KVM in kernel interface.
     3 * GIC - Generic Interrupt Controller Architecture (GIC) - KVM in kernel interface.
    44 */
    55
     
    8787#if 0
    8888/**
    89  * System register ranges for the GICv3.
    90  */
    91 static CPUMSYSREGRANGE const g_aSysRegRanges_GICv3[] =
     89 * System register ranges for the GIC.
     90 */
     91static CPUMSYSREGRANGE const g_aSysRegRanges_GIC[] =
    9292{
    9393    GIC_SYSREGRANGE(ARMV8_AARCH64_SYSREG_ICC_PMR_EL1,   ARMV8_AARCH64_SYSREG_ICC_PMR_EL1,     "ICC_PMR_EL1"),
  • trunk/src/VBox/VMM/VMMR3/GICR3Nem-win.cpp

    r107313 r107929  
    11/* $Id$ */
    22/** @file
    3  * GIC - Generic Interrupt Controller Architecture (GICv3) - Hyper-V interface.
     3 * GIC - Generic Interrupt Controller Architecture (GIC) - Hyper-V interface.
    44 */
    55
     
    7777
    7878/*
    79  * The following definitions appeared in build 27744 allow interacting with the GICv3 controller,
     79 * The following definitions appeared in build 27744 allow interacting with the GIC controller,
    8080 * (there is no official SDK for this yet).
    8181 */
Note: See TracChangeset for help on using the changeset viewer.

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