VirtualBox

Changeset 82041 in vbox


Ignore:
Timestamp:
Nov 20, 2019 6:58:22 PM (5 years ago)
Author:
vboxsync
Message:

PIC,APIC,IOAPIC,PDM: The PIC, APIC, and IOAPIC cannot have their ring-0 bits disabled or PDM will get interrupt handling all wrong (left todo). bugref:9218

Location:
trunk/src/VBox
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/DevIoApic.cpp

    r81958 r82041  
    14051405    /* .uReserved0 = */             0,
    14061406    /* .szName = */                 "ioapic",
    1407     /* .fFlags = */                 PDM_DEVREG_FLAGS_DEFAULT_BITS | PDM_DEVREG_FLAGS_RZ | PDM_DEVREG_FLAGS_NEW_STYLE,
     1407    /* .fFlags = */                 PDM_DEVREG_FLAGS_DEFAULT_BITS | PDM_DEVREG_FLAGS_RZ | PDM_DEVREG_FLAGS_NEW_STYLE
     1408                                    | PDM_DEVREG_FLAGS_REQUIRE_R0 | PDM_DEVREG_FLAGS_REQUIRE_RC,
    14081409    /* .fClass = */                 PDM_DEVREG_CLASS_PIC,
    14091410    /* .cMaxInstances = */          1,
  • trunk/src/VBox/Devices/PC/DevPIC.cpp

    r81924 r82041  
    10311031    /* .uReserved0 = */             0,
    10321032    /* .szName = */                 "i8259",
    1033     /* .fFlags = */                 PDM_DEVREG_FLAGS_DEFAULT_BITS | PDM_DEVREG_FLAGS_RZ | PDM_DEVREG_FLAGS_NEW_STYLE,
     1033    /* .fFlags = */                 PDM_DEVREG_FLAGS_DEFAULT_BITS | PDM_DEVREG_FLAGS_RZ | PDM_DEVREG_FLAGS_NEW_STYLE
     1034                                    | PDM_DEVREG_FLAGS_REQUIRE_R0 | PDM_DEVREG_FLAGS_REQUIRE_RC,
    10341035    /* .fClass = */                 PDM_DEVREG_CLASS_PIC,
    10351036    /* .cMaxInstances = */          1,
  • trunk/src/VBox/VMM/VMMAll/APICAll.cpp

    r82039 r82041  
    35333533    /* .uReserved0 = */             0,
    35343534    /* .szName = */                 "apic",
    3535     /* .fFlags = */                 PDM_DEVREG_FLAGS_DEFAULT_BITS | PDM_DEVREG_FLAGS_RZ | PDM_DEVREG_FLAGS_NEW_STYLE,
     3535    /* .fFlags = */                 PDM_DEVREG_FLAGS_DEFAULT_BITS | PDM_DEVREG_FLAGS_RZ | PDM_DEVREG_FLAGS_NEW_STYLE
     3536                                    | PDM_DEVREG_FLAGS_REQUIRE_R0 | PDM_DEVREG_FLAGS_REQUIRE_RC,
    35363537    /* .fClass = */                 PDM_DEVREG_CLASS_PIC,
    35373538    /* .cMaxInstances = */          1,
  • trunk/src/VBox/VMM/VMMAll/PDMAll.cpp

    r81948 r82041  
    131131
    132132    int rc = VERR_PDM_NO_PIC_INSTANCE;
     133/** @todo r=bird: This code is incorrect, as it ASSUMES the PIC and I/O APIC
     134 *        are always ring-0 enabled! */
    133135    if (pVM->pdm.s.Pic.CTX_SUFF(pDevIns))
    134136    {
     
    241243VMM_INT_DECL(bool) PDMHasIoApic(PVM pVM)
    242244{
    243     return pVM->pdm.s.IoApic.CTX_SUFF(pDevIns) != NULL;
     245    return pVM->pdm.s.IoApic.pDevInsR3 != NULL;
    244246}
    245247
     
    253255VMM_INT_DECL(bool) PDMHasApic(PVM pVM)
    254256{
    255     return pVM->pdm.s.Apic.CTX_SUFF(pDevIns) != NULL;
     257    return pVM->pdm.s.Apic.pDevInsR3 != NIL_RTR3PTR;
    256258}
    257259
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