Changeset 67886 in vbox
- Timestamp:
- Jul 10, 2017 5:17:05 PM (8 years ago)
- svn:sync-xref-src-repo-rev:
- 116852
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/DevBusLogic.cpp
r67806 r67886 1158 1158 { 1159 1159 LogFlowFunc(("pBusLogic=%#p\n", pBusLogic)); 1160 Assert(pBusLogic->uOperationCode != BUSLOGICCOMMAND_EXECUTE_MAILBOX_COMMAND); 1160 1161 1161 1162 pBusLogic->fUseLocalRam = false; … … 1163 1164 pBusLogic->iReply = 0; 1164 1165 1165 /* Modify I/O address does not generate an interrupt. */1166 if (pBusLogic->uOperationCode != BUSLOGICCOMMAND_E XECUTE_MAILBOX_COMMAND)1166 /* The Enable OMBR command does not set CMDC when successful. */ 1167 if (pBusLogic->uOperationCode != BUSLOGICCOMMAND_ENABLE_OUTGOING_MAILBOX_AVAILABLE_INTERRUPT) 1167 1168 { 1168 1169 /* Notify that the command is complete. */ … … 1969 1970 PRequestInitMbx pRequest = (PRequestInitMbx)pBusLogic->aCommandBuffer; 1970 1971 1972 ///@todo: Command should fail if requested no. of mailbox entries is zero 1971 1973 pBusLogic->fMbxIs24Bit = true; 1972 1974 pBusLogic->cMailbox = pRequest->cMailbox; … … 1988 1990 PRequestInitializeExtendedMailbox pRequest = (PRequestInitializeExtendedMailbox)pBusLogic->aCommandBuffer; 1989 1991 1992 ///@todo: Command should fail if requested no. of mailbox entries is zero 1990 1993 pBusLogic->fMbxIs24Bit = false; 1991 1994 pBusLogic->cMailbox = pRequest->cMailbox; … … 2090 2093 break; 2091 2094 } 2095 case BUSLOGICCOMMAND_ENABLE_OUTGOING_MAILBOX_AVAILABLE_INTERRUPT: 2096 { 2097 uint8_t uEnable = pBusLogic->aCommandBuffer[0]; 2098 2099 pBusLogic->cbReplyParametersLeft = 0; 2100 Log(("Enable OMBR: %u\n", uEnable)); 2101 /* Only 0/1 are accepted. */ 2102 if (uEnable > 1) 2103 pBusLogic->regStatus |= BL_STAT_CMDINV; 2104 else 2105 { 2106 pBusLogic->LocalRam.structured.autoSCSIData.uReserved6 = uEnable; 2107 fSuppressIrq = true; 2108 } 2109 break; 2110 } 2092 2111 case BUSLOGICCOMMAND_SET_PREEMPT_TIME_ON_BUS: 2093 2112 { … … 2306 2325 if ((uVal == BUSLOGICCOMMAND_EXECUTE_MAILBOX_COMMAND) && (pBusLogic->uOperationCode == 0xff)) 2307 2326 { 2327 ///@todo: Should fail if BL_STAT_INREQ is set 2308 2328 /* If there are no mailboxes configured, don't even try to do anything. */ 2309 2329 if (pBusLogic->cMailbox) … … 2357 2377 case BUSLOGICCOMMAND_DISABLE_HOST_ADAPTER_INTERRUPT: 2358 2378 case BUSLOGICCOMMAND_ECHO_COMMAND_DATA: 2379 case BUSLOGICCOMMAND_ENABLE_OUTGOING_MAILBOX_AVAILABLE_INTERRUPT: 2359 2380 case BUSLOGICCOMMAND_SET_PREEMPT_TIME_ON_BUS: 2360 2381 case BUSLOGICCOMMAND_SET_TIME_OFF_BUS:
Note:
See TracChangeset
for help on using the changeset viewer.