Changeset 88037 in vbox for trunk/src/VBox/Devices/Storage
- Timestamp:
- Mar 9, 2021 9:10:52 AM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 143166
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/DevBusLogic.cpp
r87166 r88037 399 399 /** Whether the extended LUN CCB format is enabled for 32 possible logical units. */ 400 400 bool fExtendedLunCCBFormat; 401 bool fAlignment2; 401 /** Last completed command, for debugging. */ 402 uint8_t uPrevCmd; 402 403 403 404 /** Current incoming mailbox position. */ … … 1177 1178 pThis->regGeometry = BL_GEOM_XLATEN; 1178 1179 pThis->uOperationCode = 0xff; /* No command executing. */ 1180 pThis->uPrevCmd = 0xff; 1179 1181 pThis->iParameter = 0; 1180 1182 pThis->cbCommandParametersLeft = 0; … … 1185 1187 pThis->uMailboxIncomingPositionCurrent = 0; 1186 1188 pThis->uAhaSigIdx = 0; 1189 pThis->cMailbox = 0; 1190 pThis->GCPhysAddrMailboxIncomingBase = 0; 1191 pThis->GCPhysAddrMailboxOutgoingBase = 0; 1187 1192 1188 1193 /* Clear any active/pending interrupts. */ … … 1228 1233 } 1229 1234 1235 pThis->uPrevCmd = pThis->uOperationCode; 1230 1236 pThis->uOperationCode = 0xff; 1231 1237 pThis->iParameter = 0; … … 1907 1913 pReply->JP1 = 1; /* Closed; "Factory configured - do not alter" */ 1908 1914 pReply->InformationIsValid = 1; 1909 pReply->IsaIOPort = pThis->uISABaseCode ;1915 pReply->IsaIOPort = pThis->uISABaseCode < 6 ? pThis->uISABaseCode : 0xff; 1910 1916 pReply->IRQ = PCIDevGetInterruptLine(pDevIns->apPciDevs[0]); 1911 1917 pThis->cbReplyParametersLeft = sizeof(ReplyInquirePCIHostAdapterInformation); … … 1920 1926 case BUSLOGICCOMMAND_MODIFY_IO_ADDRESS: 1921 1927 { 1928 1922 1929 /* Modify the ISA-compatible I/O port base. Note that this technically 1923 1930 * violates the PCI spec, as this address is not reported through PCI. … … 1925 1932 */ 1926 1933 #ifdef IN_RING3 /* We can do this from ring-0 now, but we'd like to see the LogRel, so we keep going back to ring-3 anyway. */ 1927 Log(("ISA I/O for PCI (code %x)\n", pThis->aCommandBuffer[0])); 1928 buslogicR3RegisterISARange(pDevIns, pThis, pThis->aCommandBuffer[0]); 1934 uint8_t baseCode = pThis->aCommandBuffer[0]; 1935 1936 Log(("ISA I/O for PCI (code %x)\n", baseCode)); 1929 1937 pThis->cbReplyParametersLeft = 0; 1930 fSuppressIrq = true; 1931 fSuppressCMDC = true; 1938 if (baseCode < 8) { 1939 buslogicR3RegisterISARange(pDevIns, pThis, baseCode); 1940 fSuppressIrq = true; 1941 fSuppressCMDC = true; 1942 } 1943 else 1944 { 1945 Log(("ISA base %#x not valid for this adapter\n", baseCode)); 1946 pThis->regStatus |= BL_STAT_CMDINV; 1947 } 1932 1948 break; 1933 1949 #else … … 3873 3889 pHlp->pfnPrintf(pHlp, "Current command: %02X\n", pThis->uOperationCode); 3874 3890 3891 /* Print the previous command, if any. */ 3892 if (pThis->uPrevCmd != 0xff ) 3893 pHlp->pfnPrintf(pHlp, "Last completed command: %02X\n", pThis->uPrevCmd); 3894 3875 3895 if (fVerbose && (pThis->regStatus & BL_STAT_INREQ) == 0) 3876 3896 {
Note:
See TracChangeset
for help on using the changeset viewer.