Commit graph

301 commits

Author SHA1 Message Date
bunnie
e5dfd14daa fix bugs found by rustc
thanks, rustc, for finding these bugs!

this is why we cleanup warnings regularly.
2024-04-29 04:08:52 +08:00
bunnie
0131315e3a cleanup trng warnings -- it's going to be a while before this is fixed
I think I may have to be patient on waiting for docus on how to
tune the trng, so, turning off these warnings for now. trng tuning
will be "an event", I expect.
2024-04-29 04:07:52 +08:00
bunnie
431ca216f9 improve visibility of hal elements 2024-04-29 03:43:03 +08:00
bunnie
e3e3b3125c cleanup warnings 2024-04-28 02:57:24 +08:00
bunnie
588e1cf9f1 add some debugging, convenience routines to trng driver 2024-04-28 02:44:10 +08:00
bunnie
c407db877e change DUART ports to accommodate jtag breakout 2024-04-22 11:00:06 +08:00
bunnie
4ace363abc this resolves comments from @xobs' code review 2024-04-09 18:23:09 +08:00
bunnie
588e7aaf0a add spi memory drivers to udma library
totally untested, but, at least structurally present so we
have a chance that our memory structures and APIs can work.
2024-04-06 22:54:34 +08:00
bunnie
d6b33159a5 stage version pin bump 2024-04-01 15:46:26 +08:00
bunnie
5911808611
Merge pull request #509 from betrusted-io/bio
WIP: BIO driver
2024-03-12 18:24:38 +08:00
bunnie
133bb2b74f fix a few minor details missing in the tests
also update docs and completion tracker
2024-03-12 13:54:07 +08:00
bunnie
4fa3dd3b59 add spi unit test 2024-03-12 04:53:37 +08:00
bunnie
a96abc669f add interrupt clear call 2024-03-07 01:32:15 +08:00
bunnie
2f5a717e65 add unit test for inter-core events and fifo events
synthetic test that exercises multiple cores triggering each
other, waiting on each other to complete tasks, and waiting on
the host to meet conditions such as fifo fullness levels before
running.

this proves out the basic concept of inter-core eventing.
2024-03-04 04:08:01 +08:00
bunnie
0844cfbc52 more unit tests
fifo input/output from host with back-pressure works
gpio loopback input testing works

framework for automated assertion testing is in place;
all tests from this point forward will endeavor to include
some asserts that will cause the test to fail, so we don't require
manual inspection to check test results.
2024-03-03 18:33:30 +08:00
bunnie
8a7b5e5627 add the FIFO basic unit test + todo list of tests 2024-03-03 02:39:12 +08:00
bunnie
e1b0d83cbd add test plan 2024-03-02 02:02:02 +08:00
bunnie
e3cdb4a35d unit test for "hello multiverse"
four cores started all at once, each responsible for updating
a byte of the GPIO range, in unison.
2024-03-02 02:02:02 +08:00
bunnie
6c6634540c skip address tag embedded within the loadable program 2024-03-02 02:02:02 +08:00
bunnie
260ec0b39b wrap assembly code generator in a macro
This macro takes as arguments the name of the function
you want to use to retrieve the assembly code, and two labels,
one for the start and one for the end of the assembly code,
and the assembly code itself.

The labels for the start/end of assembly code are identifiers
and because of Rust's rules macros can't create identifiers out
of thin air (I wish instead of saying "partially hygienic", they
just said, "you can't create identifiers that don't exist". Yes,
I'm sure "partially hygienic" has some other meaning to computer
science people but to me it's just pretentious bullshit that
forces me to read through four blog posts and three issues to
come to the practical conclusion I really wanted to know; I
think maybe they wanted to refer to it as hygiene because the
limitation is super frustrating and hygiene sounds like a positive
way to spin something that is annoying. Sure. It's fine. You
didn't want to allow macros to make identifiers because it can lead
to surprising behavior and name space conflicts. That's your choice
as a language designer, just say it.).

Anyways. as usual, rust macro took way too long to write.
2024-03-02 02:02:02 +08:00
bunnie
f24746b88a start on a simple "multi-core" test 2024-03-02 02:02:02 +08:00
bunnie
633b76eb5d flesh out common useful routines for bio access 2024-03-02 02:02:02 +08:00
bunnie
e297c02cf3 add crate for BIO - better I/O - driver 2024-03-02 02:02:02 +08:00
bunnie
b6e5e7f2c2 apply formatting patch
@nworbnhoj, i saw you had explicitly done a formatting pass.
However, I think maybe the +nightly flag was missing, it looks
like the formatting ignored our custom rule set, which requires
nightly?
2024-03-02 01:26:51 +08:00
nworbnhoj
ffac721c6b rustfmt
deliberate check of automated rustfmt_check.yaml

confirmed - system works
2024-03-01 09:19:15 +10:00
nworbnhoj
01b13e0e32 replace vendored-in rustls::crypto:💍:SUPPORTED_SIG_ALGS with public access 2024-03-01 06:50:04 +10:00
nworbnhoj
7f19e660d9 add link to rustls issue
https://github.com/rustls/rustls/issues/1819
2024-02-29 09:53:02 +10:00
nworbnhoj
b217c1546e tls tidy-up 2024-02-29 06:52:50 +10:00
nworbnhoj
6d24f1af41 refine tls probe() remove unnecessary Option 2024-02-29 06:18:43 +10:00
nworbnhoj
17c1fabc1e refine shellchat net tls test for tls 1.3
https://docs.rs/rustls/latest/rustls/manual/_03_howto/index.html#unexpected-eof
2024-02-28 13:55:49 +10:00
nworbnhoj
332c2975ba reinstate tls::ota add_der_header() and rm_der_header()
In keeping with webpki-roots - the TrustAnchors are managed without the Der Tag::Sequence header

This in turn requires that:
- the header is removed from x509 fields before saving in the pddb, and
- the der Tag::Sequence is added to ota.subject before it can be decoded  () see ota.subject()
2024-02-28 12:40:05 +10:00
nworbnhoj
7760b02229 refine tls::ota.from(&TrustAnchor) 2024-02-28 06:59:38 +10:00
nworbnhoj
faece9783e refine tls:rota.subject() -> Result<String, Error> 2024-02-28 05:24:57 +10:00
nworbnhoj
8ed22b8257 refine shellchat net tls mozilla 2024-02-27 08:48:10 +10:00
nworbnhoj
a3740df71a refine shellchat net tls test 2024-02-27 07:23:09 +10:00
nworbnhoj
bb2b7f05e7 fix tls::ota.pddb_key() 2024-02-27 07:22:11 +10:00
nworbnhoj
2cc0052d7d refine tls::ota.into() TrustAnchor 2024-02-27 07:21:36 +10:00
nworbnhoj
e608e7bb30 update shellchat net tls mozilla for rustls v22.2 2024-02-27 07:20:32 +10:00
nworbnhoj
1f6ec1fe69 refine danger:StifledCertificateVerifier 2024-02-25 15:50:47 +10:00
nworbnhoj
92d1b21caf Add a single bogus TrustAnchor to danger::StifledCertificateVerification root_cert_store
rustls::ServerCertVerifierBuilder::build() returns a `CertVerifierBuilderError` if no trust anchors have been provided.
2024-02-25 15:49:36 +10:00
nworbnhoj
8d4494a005 implement tls::ota.subject() 2024-02-25 15:47:32 +10:00
nworbnhoj
04e2311920 simplify rustls::ClientConfig in tls.probe() 2024-02-25 07:42:45 +10:00
nworbnhoj
bda9bc94e2 tidy-up after update to rustls v22.2 2024-02-25 05:28:07 +10:00
nworbnhoj
2d744f1267 resolve tls ownership issues 2024-02-25 05:23:57 +10:00
nworbnhoj
39f3b782fa update tls lib.rs for rustls v22.2 2024-02-25 05:20:48 +10:00
nworbnhoj
ad01b7de6c rename RustlsOwnedTrustAnchor to OwnedTrustAnchor and update for rustls v22.2 2024-02-25 05:07:05 +10:00
nworbnhoj
fa24528226 update impl ServerCertVerifier for StifledCertificateVerification 2024-02-25 03:16:18 +10:00
nworbnhoj
8e7fd7d1a8 relocate ServerCertVerifier 2024-02-15 10:42:32 +10:00
nworbnhoj
84200b2cd2 replace Certificate with CertificateDer 2024-02-15 10:41:45 +10:00
nworbnhoj
60aa640f23 relocate ServerName 2024-02-15 10:33:55 +10:00