mirror of
https://github.com/tillitis/tillitis-key1.git
synced 2025-08-03 12:16:24 -04:00
fpga/fw/testfw: Remove Blake2s register
Since the introduction of the syscall mechanism we don't allow execution in ROM anymore so it's impossible to call the firmware's blake2s() function. Co-authored-by: Mikael Ågren <mikael@tillitis.se>
This commit is contained in:
parent
24ef39b739
commit
5eb020275b
5 changed files with 1 additions and 66 deletions
|
@ -3,8 +3,6 @@
|
|||
* SPDX-License-Identifier: GPL-2.0-only
|
||||
*/
|
||||
|
||||
#include "../tk1/assert.h"
|
||||
#include "../tk1/blake2s/blake2s.h"
|
||||
#include "../tk1/lib.h"
|
||||
#include "../tk1/proto.h"
|
||||
#include "../tk1/types.h"
|
||||
|
@ -26,7 +24,6 @@ volatile uint32_t *timer_status = (volatile uint32_t *)TK1_MMIO_TIMER_STATUS
|
|||
volatile uint32_t *timer_ctrl = (volatile uint32_t *)TK1_MMIO_TIMER_CTRL;
|
||||
volatile uint32_t *trng_status = (volatile uint32_t *)TK1_MMIO_TRNG_STATUS;
|
||||
volatile uint32_t *trng_entropy = (volatile uint32_t *)TK1_MMIO_TRNG_ENTROPY;
|
||||
volatile uint32_t *fw_blake2s_addr = (volatile uint32_t *)TK1_MMIO_TK1_BLAKE2S;
|
||||
// clang-format on
|
||||
|
||||
#define UDS_WORDS 8
|
||||
|
@ -196,11 +193,6 @@ void failmsg(char *s)
|
|||
|
||||
int main(void)
|
||||
{
|
||||
// Function pointer to blake2s()
|
||||
volatile int (*fw_blake2s)(void *, unsigned long, const void *,
|
||||
unsigned long, const void *, unsigned long,
|
||||
blake2s_ctx *);
|
||||
|
||||
uint8_t in = 0;
|
||||
uint8_t mode = 0;
|
||||
uint8_t mode_bytes_left = 0;
|
||||
|
@ -311,9 +303,6 @@ int main(void)
|
|||
anyfailed = 1;
|
||||
}
|
||||
|
||||
// Store function pointer to blake2s() so it's reachable from app
|
||||
*fw_blake2s_addr = (uint32_t)blake2s;
|
||||
|
||||
// Turn on application mode.
|
||||
// -------------------------
|
||||
|
||||
|
@ -394,32 +383,6 @@ int main(void)
|
|||
anyfailed = 1;
|
||||
}
|
||||
|
||||
// Testing the blake2s MMIO in app mode
|
||||
|
||||
fw_blake2s = (volatile int (*)(void *, unsigned long, const void *,
|
||||
unsigned long, const void *,
|
||||
unsigned long, blake2s_ctx *)) *
|
||||
fw_blake2s_addr;
|
||||
|
||||
char msg[17] = "dldlkjsdkljdslsdj";
|
||||
uint32_t digest0[8];
|
||||
uint32_t digest1[8];
|
||||
blake2s_ctx b2s_ctx;
|
||||
|
||||
blake2s(&digest0[0], 32, NULL, 0, &msg, 17, &b2s_ctx);
|
||||
fw_blake2s(&digest1[0], 32, NULL, 0, &msg, 17, &b2s_ctx);
|
||||
|
||||
puts("\r\ndigest #0: \r\n");
|
||||
hexdump((uint8_t *)digest0, 32);
|
||||
|
||||
puts("digest #1: \r\n");
|
||||
hexdump((uint8_t *)digest1, 32);
|
||||
|
||||
if (!memeq(digest0, digest1, 32)) {
|
||||
failmsg("Digests not the same");
|
||||
anyfailed = 1;
|
||||
}
|
||||
|
||||
// Check and display test results.
|
||||
puts("\r\n--> ");
|
||||
if (anyfailed) {
|
||||
|
|
|
@ -21,7 +21,6 @@ static volatile uint32_t *udi = (volatile uint32_t *)TK1_MMIO_TK1_U
|
|||
static volatile uint32_t *cdi = (volatile uint32_t *)TK1_MMIO_TK1_CDI_FIRST;
|
||||
static volatile uint32_t *app_addr = (volatile uint32_t *)TK1_MMIO_TK1_APP_ADDR;
|
||||
static volatile uint32_t *app_size = (volatile uint32_t *)TK1_MMIO_TK1_APP_SIZE;
|
||||
static volatile uint32_t *fw_blake2s_addr = (volatile uint32_t *)TK1_MMIO_TK1_BLAKE2S;
|
||||
static volatile uint32_t *trng_status = (volatile uint32_t *)TK1_MMIO_TRNG_STATUS;
|
||||
static volatile uint32_t *trng_entropy = (volatile uint32_t *)TK1_MMIO_TRNG_ENTROPY;
|
||||
static volatile uint32_t *timer = (volatile uint32_t *)TK1_MMIO_TIMER_TIMER;
|
||||
|
@ -409,9 +408,6 @@ int main(void)
|
|||
|
||||
print_hw_version();
|
||||
|
||||
// Let the app know the function adddress for blake2s()
|
||||
*fw_blake2s_addr = (uint32_t)blake2s;
|
||||
|
||||
/*@-mustfreeonly@*/
|
||||
/* Yes, splint, this points directly to RAM and we don't care
|
||||
* about freeing anything was pointing to 0x0 before.
|
||||
|
|
|
@ -126,8 +126,6 @@
|
|||
#define TK1_MMIO_TK1_APP_ADDR 0xff000030
|
||||
#define TK1_MMIO_TK1_APP_SIZE 0xff000034
|
||||
|
||||
#define TK1_MMIO_TK1_BLAKE2S 0xff000040
|
||||
|
||||
#define TK1_MMIO_TK1_CDI_FIRST 0xff000080
|
||||
#define TK1_MMIO_TK1_CDI_LAST 0xff00009c
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue