aboutsummaryrefslogtreecommitdiff
path: root/libstb/drivers/sw_driver.c
diff options
context:
space:
mode:
Diffstat (limited to 'libstb/drivers/sw_driver.c')
-rw-r--r--libstb/drivers/sw_driver.c76
1 files changed, 0 insertions, 76 deletions
diff --git a/libstb/drivers/sw_driver.c b/libstb/drivers/sw_driver.c
deleted file mode 100644
index 287dae9..0000000
--- a/libstb/drivers/sw_driver.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Copyright 2013-2016 IBM Corp.
- *
- * 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 <chip.h>
-#include <string.h>
-#include <skiboot.h>
-#include <libstb/mbedtls/sha512.h>
-#include "../rom.h"
-#include "sw_driver.h"
-
-static sha2_hash_t *hw_key_hash = NULL;
-
-static int stb_software_verify(void *container __unused)
-{
- return -100;
-}
-
-static void stb_software_sha512(const uint8_t *data, size_t len, uint8_t *digest)
-{
- mbedtls_sha512_context ctx;
- mbedtls_sha512_init(&ctx);
- memset(digest, 0, sizeof(sha2_hash_t));
- mbedtls_sha512_starts(&ctx, 0); // SHA512 = 0
- mbedtls_sha512_update(&ctx, data, len);
- mbedtls_sha512_finish(&ctx, digest);
- mbedtls_sha512_free(&ctx);
-}
-
-static void stb_software_cleanup(void)
-{
- return;
-}
-
-static struct rom_driver_ops sw_driver = {
- .name = "software",
- .verify = stb_software_verify,
- .sha512 = stb_software_sha512,
- .cleanup = stb_software_cleanup
-};
-
-void stb_software_probe(const struct dt_node *node)
-{
- const char* hash_algo;
-
- if (!dt_node_is_compatible(node, "ibm,secureboot-v1-softrom")) {
- return;
- }
-
- hash_algo = dt_prop_get(node, "hash-algo");
- if (strcmp(hash_algo, "sha512")) {
- /**
- * @fwts-label ROMHashAlgorithmInvalid
- * @fwts-advice Hostboot creates the ibm,secureboot node and
- * the hash-algo property. Check that the ibm,secureboot node
- * layout has not changed.
- */
- prlog(PR_ERR, "ROM: hash-algo=%s not expected\n", hash_algo);
- return;
- }
- hw_key_hash = (sha2_hash_t*) dt_prop_get(node, "hw-key-hash");
-
- rom_set_driver(&sw_driver);
-}