[Cryptech-Commits] [core/platform/novena] 01/01: Trying to generalize more of addresses in the cores. Adding more defines for the modexp core.
git at cryptech.is
git at cryptech.is
Wed Apr 29 14:39:26 UTC 2015
This is an automated email from the git hooks/post-receive script.
joachim at secworks.se pushed a commit to branch master
in repository core/platform/novena.
commit a6effa1995fb9500cc66c2584d5f28d7585bba1c
Author: Joachim Strömbergson <joachim at secworks.se>
Date: Wed Apr 29 16:39:21 2015 +0200
Trying to generalize more of addresses in the cores. Adding more defines for the modexp core.
---
sw/cryptech.h | 37 ++++++++++++++++++++++++-------------
1 file changed, 24 insertions(+), 13 deletions(-)
diff --git a/sw/cryptech.h b/sw/cryptech.h
index 5afd08c..a8efef4 100644
--- a/sw/cryptech.h
+++ b/sw/cryptech.h
@@ -46,10 +46,18 @@
#define SEGMENT_OFFSET_MATH 4 * SEGMENT_SIZE
-// addresses and codes common to all cores
+//------------------------------------------------------------------
+// Addresses and codes common to all cores
+//------------------------------------------------------------------
#define ADDR_NAME0 0x00
#define ADDR_NAME1 0x01
#define ADDR_VERSION 0x02
+#define ADDR_CTRL 0x08
+#define CTRL_INIT_BIT 1
+#define CTRL_NEXT_BIT 2
+#define ADDR_STATUS 0x09
+#define STATUS_READY_BIT 1
+#define STATUS_VALID_BIT 2
// a handy macro from cryptlib
@@ -94,15 +102,12 @@
#define HASH_CORE_SIZE 0x100
// addresses and codes common to all hash cores
-#define ADDR_CTRL 0x8
#define CTRL_INIT_CMD 1
#define CTRL_NEXT_CMD 2
-#define ADDR_STATUS 0x9
-#define STATUS_READY_BIT 1
-#define STATUS_VALID_BIT 2
#define ADDR_BLOCK 0x10
#define ADDR_DIGEST 0x20 // except SHA512
+
// addresses and codes for the specific hash cores.
#define SHA1_ADDR_BASE SEGMENT_OFFSET_HASHES + (0 * HASH_CORE_SIZE)
#define SHA1_ADDR_NAME0 SHA1_ADDR_BASE + ADDR_NAME0
@@ -247,17 +252,22 @@
// -----------------------------------------------------------------
// MATH segment.
// -----------------------------------------------------------------
-#define MATH_CORE_SIZE 0x100
-
-// addresses and codes for the MATH cores */
-#define MODEXP_ADDR_BASE SEGMENT_OFFSET_MATH + (0x00 * MATH_CORE_SIZE)
+// Modexp core.
+#define MODEXP_CORE_SIZE 0x1000
+#define GENERAL_PREFIX 0x000
+#define MODULUS_PREFIX 0x100
+#define EXPONENT_PREFIX 0x200
+#define MESSAGE_PREFIX 0x300
+#define RESULT_PREFIX 0x400
+
+#define MODEXP_ADDR_BASE SEGMENT_OFFSET_MATH + (0x00 * MODEXP_CORE_SIZE)
#define MODEXP_ADDR_NAME0 MODEXP_ADDR_BASE + ADDR_NAME0
#define MODEXP_ADDR_NAME1 MODEXP_ADDR_BASE + ADDR_NAME1
#define MODEXP_ADDR_VERSION MODEXP_ADDR_BASE + ADDR_VERSION
-#define MODEXP_ADDR_CTRL MODEXP_ADDR_BASE + 0x08
-#define MODEXP_CTRL_INIT 1
-#define MODEXP_CTRL_NEXT 2
-#define MODEXP_ADDR_STATUS MODEXP_ADDR_BASE + 0x09
+#define MODEXP_ADDR_CTRL MODEXP_ADDR_BASE + ADDR_CTRL
+#define MODEXP_CTRL_INIT_BIT 1
+#define MODEXP_CTRL_NEXT_BIT 2
+#define MODEXP_ADDR_STATUS MODEXP_ADDR_BASE + ADDR_STATUS
#define MODEXP_ADDR_DELAY MODEXP_ADDR_BASE + 0x13
#define MODEXP_STATUS_READY 1
@@ -270,6 +280,7 @@
#define MODEXP_VERSION "0.50"
+
//------------------------------------------------------------------
// Test case public functions
//------------------------------------------------------------------
More information about the Commits
mailing list