diff options
author | Patrick Venture <venture@google.com> | 2019-03-07 12:48:32 -0800 |
---|---|---|
committer | Patrick Venture <venture@google.com> | 2019-03-08 13:10:01 -0800 |
commit | de8a16e2e85f49e142461b7e6fe901d3f8740fdf (patch) | |
tree | 065055f299e232874190c8e921d7960b9f434cd4 /crc.cpp | |
parent | b15d654ed1f6804fb2e82a5cfe97eaf35b83529e (diff) | |
download | phosphor-ipmi-blobs-de8a16e2e85f49e142461b7e6fe901d3f8740fdf.tar.gz phosphor-ipmi-blobs-de8a16e2e85f49e142461b7e6fe901d3f8740fdf.zip |
use ipmiblob library from ipmi-blob-tool
Drop all code that is now handled by the ipmiblob library provided by
the new ipmi-blob-tool. This is a library that can be included on the
BMC if necessary, but relies on nothing that is strictly meant for the
BMC.
Change-Id: I2b02ae0d432e84c08e598d27eef85b57c06a70fc
Signed-off-by: Patrick Venture <venture@google.com>
Diffstat (limited to 'crc.cpp')
-rw-r--r-- | crc.cpp | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/crc.cpp b/crc.cpp deleted file mode 100644 index 5fc4558..0000000 --- a/crc.cpp +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 2018 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "crc.hpp" - -namespace blobs -{ - -void Crc16::clear() -{ - value = crc16Initial; -} - -// Origin: security/crypta/ipmi/portable/ipmi_utils.c -void Crc16::compute(const uint8_t* bytes, uint32_t length) -{ - if (!bytes) - { - return; - } - - const int kExtraRounds = 2; - const uint16_t kLeftBit = 0x8000; - uint16_t crc = value; - size_t i, j; - - for (i = 0; i < length + kExtraRounds; ++i) - { - for (j = 0; j < 8; ++j) - { - bool xor_flag = crc & kLeftBit; - crc <<= 1; - // If this isn't an extra round and the current byte's j'th bit - // from the left is set, increment the CRC. - if (i < length && bytes[i] & (1 << (7 - j))) - { - crc++; - } - if (xor_flag) - { - crc ^= crc16Ccitt; - } - } - } - - value = crc; -} - -uint16_t Crc16::get() const -{ - return value; -} -} // namespace blobs |