void UnsupportRsvdFields_r11b::RunCoreTest() { /** \verbatim * Assumptions: * 1) Test CreateResources_r10b has run prior. * \endverbatim */ // Lookup objs which were created in a prior test within group SharedIOSQPtr iosq = CAST_TO_IOSQ(gRsrcMngr->GetObj(IOSQ_GROUP_ID)); SharedIOCQPtr iocq = CAST_TO_IOCQ(gRsrcMngr->GetObj(IOCQ_GROUP_ID)); SharedReadPtr readCmd = CreateCmd(); IO::SendAndReapCmd(mGrpName, mTestName, CALC_TIMEOUT_ms(1), iosq, iocq, readCmd, "none.set", true); LOG_NRM("Set all cmd's rsvd bits"); uint32_t work = readCmd->GetDword(0); work |= 0x00007c00; // Set DW0_b14:10 bits readCmd->SetDword(work, 0); readCmd->SetDword(0xffffffff, 2); readCmd->SetDword(0xffffffff, 3); work = readCmd->GetDword(12); work |= 0x03ff0000; // Set DW12_b25:16 bits readCmd->SetDword(work, 12); work = readCmd->GetDword(13); work |= 0xffffff00; // Set DW13_b31:8 bits readCmd->SetDword(work, 13); IO::SendAndReapCmd(mGrpName, mTestName, CALC_TIMEOUT_ms(1), iosq, iocq, readCmd, "all.set", true); LOG_NRM("Set DSM field reserved coded values"); uint32_t cdw13 = readCmd->GetDword(13) & ~0xf; for (int accFreq = BOOST_BINARY(111); accFreq <= BOOST_BINARY(1111); ++accFreq) { work = cdw13 | accFreq; readCmd->SetDword(work, 13); /* Controller may ignore context attributes */ IO::SendAndReapCmdIgnore(mGrpName, mTestName, CALC_TIMEOUT_ms(1), iosq, iocq, readCmd, "all.set", true); } }