Changeset 91935 in vbox
- Timestamp:
- Oct 21, 2021 11:08:45 AM (3 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
-
include/VBox/vmm/pdmdev.h (modified) (2 diffs)
-
src/VBox/Devices/Bus/DevPCI.cpp (modified) (1 diff)
-
src/VBox/VMM/VMMR3/PDMDevHlp.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/pdmdev.h
r91930 r91935 2424 2424 2425 2425 /** Current PDMDEVHLPR3 version number. */ 2426 #define PDM_DEVHLPR3_VERSION PDM_VERSION_MAKE_PP(0xffe7, 5 6, 0)2426 #define PDM_DEVHLPR3_VERSION PDM_VERSION_MAKE_PP(0xffe7, 57, 0) 2427 2427 2428 2428 /** … … 2508 2508 */ 2509 2509 DECLR3CALLBACKMEMBER(uint32_t, pfnIoPortGetMappingAddress,(PPDMDEVINS pDevIns, IOMIOPORTHANDLE hIoPorts)); 2510 2511 /** 2512 * Writes to an I/O port register. 2513 * 2514 * @returns Strict VBox status code. Informational status codes other than the one documented 2515 * here are to be treated as internal failure. Use IOM_SUCCESS() to check for success. 2516 * @retval VINF_SUCCESS Success. 2517 * @retval VINF_EM_FIRST-VINF_EM_LAST Success with some exceptions (see IOM_SUCCESS()), the 2518 * status code must be passed on to EM. 2519 * 2520 * @param pDevIns The device instance to register the ports with. 2521 * @param Port The port to write to. 2522 * @param u32Value The value to write. 2523 * @param cbValue The size of the register to read in bytes. 1, 2 or 4 bytes. 2524 * 2525 * @thread EMT 2526 * @todo r=aeichner This is only used by DevPCI.cpp to write the ELCR of the PIC. This shouldn't be done that way 2527 * and removed again as soon as possible (no time right now)... 2528 */ 2529 DECLR3CALLBACKMEMBER(VBOXSTRICTRC, pfnIoPortWrite,(PPDMDEVINS pDevIns, RTIOPORT Port, uint32_t u32Value, size_t cbValue)); 2510 2530 /** @} */ 2511 2531 -
trunk/src/VBox/Devices/Bus/DevPCI.cpp
r91897 r91935 775 775 776 776 /* Tell to the PIC. */ 777 VBOXSTRICTRC rcStrict = IOMIOPortWrite(pVM, pVCpu, 0x4d0, elcr[0], sizeof(uint8_t)); 777 /** @todo r=aeichner We should really move this to the BIOS code and get rid of this fake PCI BIOS thing, 778 * DevPciIch9.cpp lacks this code and has a todo for this. 779 */ 780 VBOXSTRICTRC rcStrict = pDevIns->pHlpR3->pfnIoPortWrite(pDevIns, 0x4d0, elcr[0], sizeof(uint8_t)); 778 781 if (rcStrict == VINF_SUCCESS) 779 rcStrict = IOMIOPortWrite(pVM, pVCpu, 0x4d1, elcr[1], sizeof(uint8_t));782 rcStrict = pDevIns->pHlpR3->pfnIoPortWrite(pDevIns, 0x4d1, elcr[1], sizeof(uint8_t)); 780 783 if (rcStrict != VINF_SUCCESS) 781 784 { -
trunk/src/VBox/VMM/VMMR3/PDMDevHlp.cpp
r91930 r91935 129 129 LogFlow(("pdmR3DevHlp_IoPortGetMappingAddress: caller='%s'/%d: returns %#RX32\n", pDevIns->pReg->szName, pDevIns->iInstance, uAddress)); 130 130 return uAddress; 131 } 132 133 134 /** @interface_method_impl{PDMDEVHLPR3,pfnIoPortWrite} */ 135 static DECLCALLBACK(VBOXSTRICTRC) pdmR3DevHlp_IoPortWrite(PPDMDEVINS pDevIns, RTIOPORT Port, uint32_t u32Value, size_t cbValue) 136 { 137 PDMDEV_ASSERT_DEVINS(pDevIns); 138 LogFlow(("pdmR3DevHlp_IoPortWrite: caller='%s'/%d:\n", pDevIns->pReg->szName, pDevIns->iInstance)); 139 PVM pVM = pDevIns->Internal.s.pVMR3; 140 VM_ASSERT_EMT_RETURN(pVM, VERR_VM_THREAD_NOT_EMT); 141 142 PVMCPU pVCpu = VMMGetCpu(pVM); 143 AssertPtrReturn(pVCpu, VERR_ACCESS_DENIED); 144 145 VBOXSTRICTRC rcStrict = IOMIOPortWrite(pVM, pVCpu, Port, u32Value, cbValue); 146 147 LogFlow(("pdmR3DevHlp_IoPortWrite: caller='%s'/%d: returns %Rrc\n", 148 pDevIns->pReg->szName, pDevIns->iInstance, VBOXSTRICTRC_VAL(rcStrict))); 149 return rcStrict; 131 150 } 132 151 … … 4585 4604 pdmR3DevHlp_IoPortUnmap, 4586 4605 pdmR3DevHlp_IoPortGetMappingAddress, 4606 pdmR3DevHlp_IoPortWrite, 4587 4607 pdmR3DevHlp_MmioCreateEx, 4588 4608 pdmR3DevHlp_MmioMap, … … 4966 4986 pdmR3DevHlpTracing_IoPortUnmap, 4967 4987 pdmR3DevHlp_IoPortGetMappingAddress, 4988 pdmR3DevHlp_IoPortWrite, 4968 4989 pdmR3DevHlpTracing_MmioCreateEx, 4969 4990 pdmR3DevHlpTracing_MmioMap, … … 5618 5639 pdmR3DevHlp_IoPortUnmap, 5619 5640 pdmR3DevHlp_IoPortGetMappingAddress, 5641 pdmR3DevHlp_IoPortWrite, 5620 5642 pdmR3DevHlp_MmioCreateEx, 5621 5643 pdmR3DevHlp_MmioMap,
Note:
See TracChangeset
for help on using the changeset viewer.

