EasyManua.ls Logo

Oracle StorageTek T10000

Oracle StorageTek T10000
310 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Vendor Unique iSCSI CRC32C
August 2016 Data Integrity Validation 259
crc = calc_crc32c_intel(buf, len, CRC32C_INIT);
#endif
} else {
/* use software crc */
crc = calc_crc32c_sw(buf, len, CRC32C_INIT);
}
/*************************/
/* End Solaris ONLY */
/*************************/
#else
/********************/
/* Linux ONLY */
/********************/
if (hasSSE42()) {
/* use intel crc instruction */
crc = calc_crc32c_intel(buf, len, CRC32C_INIT);
} else {
/* use software crc */
crc = calc_crc32c_sw(buf, len, CRC32C_INIT);
}
/* printf("hasSSE42 %d\n", hasSSE42()); */
/*************************/
/* End Linux ONLY */
/*************************/
#endif
/* add crc to tape block in big endian format */
#if defined(__sparc)
buf[len] = (uchar_t)(crc);
buf[len+1] = (uchar_t)(crc >> 8);
buf[len+2] = (uchar_t)(crc >> 16);
buf[len+3] = (uchar_t)(crc >> 24);
#else
buf[len] = (uchar_t)(crc >> 24);
buf[len+1] = (uchar_t)(crc >> 16);
buf[len+2] = (uchar_t)(crc >> 8);
buf[len+3] = (uchar_t)(crc);
#endif
}
Software Method
/***************************************************************
*
* CRC LOOKUP TABLE
*
***************************************************************/
uint32_t crc32c_table[256] =
{

Table of Contents

Other manuals for Oracle StorageTek T10000

Related product manuals