Skip to content

Commit 59eb520

Browse files
nasahlpaengdoreis
authored andcommitted
[pentest] Separate from cryptotest
This commit separates the penetration testing firmware from the cryptotest. The reason for that is that we are running out of instruction memory when having both tests in one firmware. The penetration testing firmware for the FPGA can be build with: ./bazelisk.sh build //sw/device/tests/penetrationtests/firmware:firmware_fpga_cw310_test_rom Signed-off-by: Pascal Nasahl <nasahlpa@lowrisc.org>
1 parent 61ea8b2 commit 59eb520

57 files changed

Lines changed: 665 additions & 583 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

sw/device/tests/crypto/cryptotest/firmware/BUILD

Lines changed: 0 additions & 224 deletions
Original file line numberDiff line numberDiff line change
@@ -143,224 +143,14 @@ cc_library(
143143
],
144144
)
145145

146-
cc_library(
147-
name = "aes_sca",
148-
srcs = ["aes_sca.c"],
149-
hdrs = [
150-
"aes_sca.h",
151-
"status.h",
152-
],
153-
deps = [
154-
"//sw/device/lib/base:memory",
155-
"//sw/device/lib/base:status",
156-
"//sw/device/lib/dif:aes",
157-
"//sw/device/lib/runtime:log",
158-
"//sw/device/lib/testing:aes_testutils",
159-
"//sw/device/lib/testing/test_framework:ujson_ottf",
160-
"//sw/device/lib/ujson",
161-
"//sw/device/sca/lib:aes",
162-
"//sw/device/sca/lib:prng",
163-
"//sw/device/sca/lib:sca",
164-
"//sw/device/tests/crypto/cryptotest/firmware:sca_lib",
165-
"//sw/device/tests/crypto/cryptotest/json:aes_sca_commands",
166-
],
167-
)
168-
169-
cc_library(
170-
name = "ibex_fi",
171-
srcs = [
172-
"ibex_fi.S",
173-
"ibex_fi.c",
174-
],
175-
hdrs = ["ibex_fi.h"],
176-
deps = [
177-
"//sw/device/lib/base:csr",
178-
"//sw/device/lib/base:memory",
179-
"//sw/device/lib/base:status",
180-
"//sw/device/lib/dif:flash_ctrl",
181-
"//sw/device/lib/dif:rv_core_ibex",
182-
"//sw/device/lib/runtime:log",
183-
"//sw/device/lib/testing:flash_ctrl_testutils",
184-
"//sw/device/lib/testing/test_framework:ujson_ottf",
185-
"//sw/device/lib/ujson",
186-
"//sw/device/sca/lib:sca",
187-
"//sw/device/tests/crypto/cryptotest/firmware:sca_lib",
188-
"//sw/device/tests/crypto/cryptotest/json:ibex_fi_commands",
189-
],
190-
)
191-
192-
cc_library(
193-
name = "ibex_sca",
194-
srcs = ["ibex_sca.c"],
195-
hdrs = ["ibex_sca.h"],
196-
deps = [
197-
"//sw/device/lib/base:memory",
198-
"//sw/device/lib/base:status",
199-
"//sw/device/lib/dif:keymgr",
200-
"//sw/device/lib/dif:kmac",
201-
"//sw/device/lib/runtime:log",
202-
"//sw/device/lib/testing:keymgr_testutils",
203-
"//sw/device/lib/testing/test_framework:ujson_ottf",
204-
"//sw/device/lib/ujson",
205-
"//sw/device/sca/lib:sca",
206-
"//sw/device/tests/crypto/cryptotest/firmware:sca_lib",
207-
"//sw/device/tests/crypto/cryptotest/json:ibex_sca_commands",
208-
],
209-
)
210-
211-
cc_library(
212-
name = "extclk_sca_fi",
213-
srcs = ["extclk_sca_fi.c"],
214-
hdrs = ["extclk_sca_fi.h"],
215-
deps = [
216-
"//sw/device/lib/base:memory",
217-
"//sw/device/lib/base:multibits",
218-
"//sw/device/lib/base:status",
219-
"//sw/device/lib/dif:clkmgr",
220-
"//sw/device/lib/runtime:ibex",
221-
"//sw/device/lib/runtime:log",
222-
"//sw/device/lib/testing/test_framework:check",
223-
"//sw/device/lib/testing/test_framework:ujson_ottf",
224-
"//sw/device/lib/ujson",
225-
"//sw/device/tests/crypto/cryptotest/json:extclk_sca_fi_commands",
226-
],
227-
)
228-
229-
cc_library(
230-
name = "kmac_sca",
231-
srcs = ["kmac_sca.c"],
232-
hdrs = [
233-
"kmac_sca.h",
234-
"status.h",
235-
],
236-
deps = [
237-
"//sw/device/lib/base:memory",
238-
"//sw/device/lib/base:status",
239-
"//sw/device/lib/dif:kmac",
240-
"//sw/device/lib/runtime:log",
241-
"//sw/device/lib/testing/test_framework:ujson_ottf",
242-
"//sw/device/lib/ujson",
243-
"//sw/device/sca/lib:prng",
244-
"//sw/device/sca/lib:sca",
245-
"//sw/device/tests/crypto/cryptotest/firmware:sca_lib",
246-
"//sw/device/tests/crypto/cryptotest/json:kmac_sca_commands",
247-
],
248-
)
249-
250-
cc_library(
251-
name = "otbn_fi",
252-
srcs = ["otbn_fi.c"],
253-
hdrs = [
254-
"otbn_fi.h",
255-
"status.h",
256-
],
257-
deps = [
258-
"//sw/device/lib/base:memory",
259-
"//sw/device/lib/base:status",
260-
"//sw/device/lib/crypto/drivers:keymgr",
261-
"//sw/device/lib/crypto/drivers:otbn",
262-
"//sw/device/lib/dif:otbn",
263-
"//sw/device/lib/runtime:log",
264-
"//sw/device/lib/testing:entropy_testutils",
265-
"//sw/device/lib/testing:keymgr_testutils",
266-
"//sw/device/lib/testing/test_framework:ujson_ottf",
267-
"//sw/device/lib/ujson",
268-
"//sw/device/sca/lib:sca",
269-
"//sw/device/tests/crypto/cryptotest/firmware:sca_lib",
270-
"//sw/device/tests/crypto/cryptotest/firmware/otbn:otbn_char_hardware_dmem_op_loop",
271-
"//sw/device/tests/crypto/cryptotest/firmware/otbn:otbn_char_hardware_reg_op_loop",
272-
"//sw/device/tests/crypto/cryptotest/firmware/otbn:otbn_char_unrolled_dmem_op_loop",
273-
"//sw/device/tests/crypto/cryptotest/firmware/otbn:otbn_char_unrolled_reg_op_loop",
274-
"//sw/device/tests/crypto/cryptotest/firmware/otbn:otbn_key_sideload",
275-
"//sw/device/tests/crypto/cryptotest/firmware/otbn:otbn_load_integrity",
276-
"//sw/device/tests/crypto/cryptotest/json:otbn_fi_commands",
277-
],
278-
)
279-
280-
cc_library(
281-
name = "prng_sca",
282-
srcs = ["prng_sca.c"],
283-
hdrs = ["prng_sca.h"],
284-
deps = [
285-
"//sw/device/lib/base:memory",
286-
"//sw/device/lib/base:status",
287-
"//sw/device/lib/runtime:log",
288-
"//sw/device/lib/testing/test_framework:ujson_ottf",
289-
"//sw/device/lib/ujson",
290-
"//sw/device/sca/lib:prng",
291-
"//sw/device/tests/crypto/cryptotest/json:prng_sca_commands",
292-
],
293-
)
294-
295-
cc_library(
296-
name = "sca_lib",
297-
srcs = ["sca_lib.c"],
298-
hdrs = ["sca_lib.h"],
299-
deps = [
300-
"//sw/device/lib/base:csr",
301-
"//sw/device/lib/dif:alert_handler",
302-
"//sw/device/lib/dif:rstmgr",
303-
"//sw/device/lib/dif:rv_core_ibex",
304-
"//sw/device/lib/dif:rv_plic",
305-
"//sw/device/lib/testing:alert_handler_testutils",
306-
"//sw/device/lib/testing:rv_plic_testutils",
307-
"//sw/device/lib/testing/test_framework:ottf_main",
308-
],
309-
)
310-
311-
cc_library(
312-
name = "sha3_sca",
313-
srcs = ["sha3_sca.c"],
314-
hdrs = [
315-
"sha3_sca.h",
316-
"status.h",
317-
],
318-
deps = [
319-
"//sw/device/lib/base:memory",
320-
"//sw/device/lib/base:status",
321-
"//sw/device/lib/dif:kmac",
322-
"//sw/device/lib/runtime:log",
323-
"//sw/device/lib/testing/test_framework:ujson_ottf",
324-
"//sw/device/lib/ujson",
325-
"//sw/device/sca/lib:prng",
326-
"//sw/device/sca/lib:sca",
327-
"//sw/device/tests/crypto/cryptotest/firmware:sca_lib",
328-
"//sw/device/tests/crypto/cryptotest/json:sha3_sca_commands",
329-
],
330-
)
331-
332-
cc_library(
333-
name = "trigger_sca",
334-
srcs = ["trigger_sca.c"],
335-
hdrs = ["trigger_sca.h"],
336-
deps = [
337-
"//sw/device/lib/base:memory",
338-
"//sw/device/lib/base:status",
339-
"//sw/device/lib/runtime:log",
340-
"//sw/device/lib/testing/test_framework:ujson_ottf",
341-
"//sw/device/lib/ujson",
342-
"//sw/device/sca/lib:sca",
343-
"//sw/device/tests/crypto/cryptotest/json:trigger_sca_commands",
344-
],
345-
)
346-
347146
FIRMWARE_DEPS = [
348-
":aes_sca",
349147
":aes",
350148
":drbg",
351149
":ecdh",
352150
":ecdsa",
353-
":extclk_sca_fi",
354151
":hash",
355152
":hmac",
356-
":ibex_fi",
357-
":ibex_sca",
358-
":kmac_sca",
359153
":kmac",
360-
":otbn_fi",
361-
":prng_sca",
362-
":sha3_sca",
363-
":trigger_sca",
364154
"//sw/device/lib/base:csr",
365155
"//sw/device/lib/base:status",
366156
"//sw/device/lib/crypto/drivers:entropy",
@@ -390,17 +180,3 @@ FIRMWARE_DEPS = [
390180
"silicon_owner_prodc_rom_ext",
391181
]
392182
]
393-
394-
opentitan_test(
395-
name = "chip_pen_test",
396-
srcs = [":firmware.c"],
397-
exec_env = {
398-
"//hw/top_earlgrey:silicon_owner_sival_rom_ext": "silicon_owner",
399-
"//hw/top_earlgrey:silicon_owner_prodc_rom_ext": "silicon_owner",
400-
"//hw/top_earlgrey:silicon_owner_proda_rom_ext": "silicon_owner",
401-
},
402-
silicon_owner = silicon_params(
403-
tags = ["broken"],
404-
),
405-
deps = FIRMWARE_DEPS,
406-
)

sw/device/tests/crypto/cryptotest/firmware/firmware.c

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -12,40 +12,22 @@
1212

1313
// Include commands
1414
#include "sw/device/tests/crypto/cryptotest/json/aes_commands.h"
15-
#include "sw/device/tests/crypto/cryptotest/json/aes_sca_commands.h"
1615
#include "sw/device/tests/crypto/cryptotest/json/commands.h"
1716
#include "sw/device/tests/crypto/cryptotest/json/drbg_commands.h"
1817
#include "sw/device/tests/crypto/cryptotest/json/ecdh_commands.h"
1918
#include "sw/device/tests/crypto/cryptotest/json/ecdsa_commands.h"
20-
#include "sw/device/tests/crypto/cryptotest/json/extclk_sca_fi_commands.h"
2119
#include "sw/device/tests/crypto/cryptotest/json/hash_commands.h"
2220
#include "sw/device/tests/crypto/cryptotest/json/hmac_commands.h"
23-
#include "sw/device/tests/crypto/cryptotest/json/ibex_fi_commands.h"
24-
#include "sw/device/tests/crypto/cryptotest/json/ibex_sca_commands.h"
2521
#include "sw/device/tests/crypto/cryptotest/json/kmac_commands.h"
26-
#include "sw/device/tests/crypto/cryptotest/json/kmac_sca_commands.h"
27-
#include "sw/device/tests/crypto/cryptotest/json/otbn_fi_commands.h"
28-
#include "sw/device/tests/crypto/cryptotest/json/prng_sca_commands.h"
29-
#include "sw/device/tests/crypto/cryptotest/json/sha3_sca_commands.h"
30-
#include "sw/device/tests/crypto/cryptotest/json/trigger_sca_commands.h"
3122

3223
// Include handlers
3324
#include "aes.h"
34-
#include "aes_sca.h"
3525
#include "drbg.h"
3626
#include "ecdh.h"
3727
#include "ecdsa.h"
38-
#include "extclk_sca_fi.h"
3928
#include "hash.h"
4029
#include "hmac.h"
41-
#include "ibex_fi.h"
42-
#include "ibex_sca.h"
4330
#include "kmac.h"
44-
#include "kmac_sca.h"
45-
#include "otbn_fi.h"
46-
#include "prng_sca.h"
47-
#include "sha3_sca.h"
48-
#include "trigger_sca.h"
4931

5032
OTTF_DEFINE_TEST_CONFIG(.enable_uart_flow_control = true);
5133

@@ -75,33 +57,6 @@ status_t process_cmd(ujson_t *uj) {
7557
case kCryptotestCommandKmac:
7658
RESP_ERR(uj, handle_kmac(uj));
7759
break;
78-
case kCryptotestCommandAesSca:
79-
RESP_ERR(uj, handle_aes_sca(uj));
80-
break;
81-
case kCryptotestCommandExtClkScaFi:
82-
RESP_ERR(uj, handle_extclk_sca_fi(uj));
83-
break;
84-
case kCryptotestCommandIbexFi:
85-
RESP_ERR(uj, handle_ibex_fi(uj));
86-
break;
87-
case kCryptotestCommandIbexSca:
88-
RESP_ERR(uj, handle_ibex_sca(uj));
89-
break;
90-
case kCryptotestCommandKmacSca:
91-
RESP_ERR(uj, handle_kmac_sca(uj));
92-
break;
93-
case kCryptotestCommandOtbnFi:
94-
RESP_ERR(uj, handle_otbn_fi(uj));
95-
break;
96-
case kCryptotestCommandPrngSca:
97-
RESP_ERR(uj, handle_prng_sca(uj));
98-
break;
99-
case kCryptotestCommandSha3Sca:
100-
RESP_ERR(uj, handle_sha3_sca(uj));
101-
break;
102-
case kCryptotestCommandTriggerSca:
103-
RESP_ERR(uj, handle_trigger_sca(uj));
104-
break;
10560
default:
10661
LOG_ERROR("Unrecognized command: %d", cmd);
10762
RESP_ERR(uj, INVALID_ARGUMENT());

sw/device/tests/crypto/cryptotest/firmware/status.h

Lines changed: 0 additions & 22 deletions
This file was deleted.

0 commit comments

Comments
 (0)