Commit graph

146 commits

Author SHA1 Message Date
Sean Cross
5ec4da0f8f emulation: use riscv32imac-unknown-xous-elf
The path to the generated file has changed. Update it.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-04 10:14:56 +08:00
Sean Cross
9e1fec4d78 emulation: update offset of xous.img
This image file should get loaded onto SPI flash rather than into RAM,
since RAM gets cleared by the bootloader now.

Place it at a location that matches real hardware.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-02 18:16:01 +08:00
Sean Cross
bb9472816f emulation: add spinor_soft_int and wfi
These two peripherals are required to run the current build.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-02 17:10:10 +08:00
bunnie
fe581d23ac update renode svd 2021-07-18 18:52:07 +08:00
Sean Cross
d248ab3cc7 emulation: engine: always update registers on write
These registers get reset when the hardware is reset, however the engine
may still be running. Ensure it's not running when the device is reset.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-07-15 18:23:36 +08:00
Sean Cross
3f1593e56e emulation: engines: cache registers in RAM
Don't consult RAM every time we want to read a register. This improves
performance at the cost of potentially having stale registers.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-07-15 18:10:38 +08:00
Sean Cross
20c91866dd emulation: add keystore and engine to loaded files
These blocks are now supported as emulation targets.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-07-15 16:41:23 +08:00
Sean Cross
e15b3e9cc1 emulation: regenerate betrusted-soc.repl
Signed-off-by: Sean Cross <sean@xobs.io>
2021-07-15 15:57:53 +08:00
Sean Cross
50c5e1290d memlcd: implement vram
Now that peripherals handle memory themselves, we need a special block
to handle video memory.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-07-15 15:56:49 +08:00
Sean Cross
9b43b7e475 emulation: engine: remove unused properties
These properties and variables were unused, and should be removed.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-07-15 15:56:18 +08:00
Sean Cross
5ae1e437ab sha512: fix length and 512/256 calculation
The length is now correctly calculated, and the engine properly
completes.

Additionally, a bulk 512/256 implementation has been written that works
well enough, but will fall over if asked to compute a large amount of
data.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-07-15 15:55:13 +08:00
Sean Cross
4790686dd9 engine: pass all checks with engine check
This fixes bugs in SUB, XOR, MUL, NOT, and gets register windows working.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-07-15 11:28:53 +08:00
Sean Cross
acc981638e engine: only 4 tests are failing
Signed-off-by: Sean Cross <sean@xobs.io>
2021-07-15 09:24:19 +08:00
Sean Cross
fd5e07b983 emulation: add broken engine implementation
Signed-off-by: Sean Cross <sean@xobs.io>
2021-07-13 22:25:46 +08:00
Sean Cross
4b619bb0a9 emulation: update trng peripherals
The register mapping for the TRNG has changed. Update these peripherals
to reflect the latest shuffle.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-07-13 22:24:04 +08:00
Sean Cross
4864d6bae7 emulation: implement sha512
This implements the sha512 block.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-07-13 22:22:31 +08:00
Sean Cross
dfcc62b96a emulation: add keyrom
This contains the default dev key.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-07-13 22:22:03 +08:00
bunnie
2a417557a5 update renode artifacts 2021-07-13 01:02:08 +08:00
Sean Cross
2339b7315f emulation: memlcd: add DEVBOOT register and defacement
Add this new register as well as the defacement that occurs when it is
enabled.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-07-05 17:35:15 +08:00
Sean Cross
c1d41bb168 emulation: repl: shrink memory range for sram
Signed-off-by: Sean Cross <sean@xobs.io>
2021-07-05 17:34:58 +08:00
Sean Cross
2c2fdaa1b4 emulation: sync svd from precursors
Signed-off-by: Sean Cross <sean@xobs.io>
2021-07-05 17:18:29 +08:00
Sean Cross
deb524e570 emulation: sha512: wire up done bit
Signed-off-by: Sean Cross <sean@xobs.io>
2021-06-28 21:37:42 +08:00
Sean Cross
3de0b4cf06 emulation: connect sha512 to Renode
Signed-off-by: Sean Cross <sean@xobs.io>
2021-06-28 21:35:17 +08:00
Sean Cross
96c3c59b72 emulation: add first draft of sha512 engine
This should be feature complete, but has not been tested.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-06-28 21:34:50 +08:00
Sean Cross
2877fcc72a emulation: correctly wire keyboard inject interrupt
This interrupt was wired to the incorrect variable.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-06-28 21:34:20 +08:00
bunnie
4a3258f6bd Merge branch 'bunnie-dev' into main 2021-06-28 01:33:42 +08:00
bunnie
e2ada8f8fe attempt to fix up some build system warts 2021-06-28 01:31:43 +08:00
bunnie
a9cc7c3b53 unbreak the renode build 2021-06-27 16:22:30 +08:00
Sean Cross
6b53b1e159 keyboard: map "Home" key to home button
It just makes sense.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-06-26 00:40:48 +08:00
Sean Cross
e6073c585d emulation: fix mapping for down/left
This also maps backslash to Menu.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-06-26 00:39:45 +08:00
Sean Cross
24fbdd9c48 emulation: check in newly-minted i2c drivers
Signed-off-by: Sean Cross <sean@xobs.io>
2021-06-25 23:55:50 +08:00
Sean Cross
2c270ee355 emulation: add initial drafts of i2c for soc
Signed-off-by: Sean Cross <sean@xobs.io>
2021-06-25 23:55:04 +08:00
Sean Cross
7371ac7bd5 emulation: connect kernel uart to port 9999
This port is used to attach a debugger.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-06-21 14:11:58 +08:00
Sean Cross
266a4541d9 emulation: update renode svd file
Signed-off-by: Sean Cross <sean@xobs.io>
2021-06-21 13:56:51 +08:00
Sean Cross
e883dc56d3 emulation: remove unused csr.csv file
This file appears to be completely unused, and is only causing
confusion.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-06-21 13:55:33 +08:00
Sean Cross
6691c6e4a7 peripherals: sync trng blocks with latest bitstream
The bitstream definition for the TRNG blocks has changed. Update the
Renode models to match.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-06-21 13:54:53 +08:00
Sean Cross
80860f0a51 Merge remote-tracking branch 'origin/main' into debugger 2021-06-21 13:22:51 +08:00
Sean Cross
fb839f3217 wip
Signed-off-by: Sean Cross <sean@xobs.io>
2021-06-16 16:53:40 +08:00
bunnie
b1d027bc52 adding AES native instruction support 2021-06-04 00:49:34 +08:00
bunnie
77ed8972f6 Merge branch 'aes' into bunnie-dev 2021-06-02 04:08:00 +08:00
bunnie
fadc9c29ab Merge remote-tracking branch 'origin/master' into bunnie-dev 2021-06-02 03:59:25 +08:00
bunnie
25e6bced00 add power-on utilization reporting
there is now an extra field in the status bar that gives
the %'age of time that the clocks are running.
2021-06-02 01:08:31 +08:00
Sean Cross
0644d681c5 emulation: add simple vexriscv aes engine
This Python-based engine implements the vexriscv accelerated
instructions.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-06-01 20:01:43 +08:00
bunnie
ee2e38be05 add commands to help manage wfi/power debugging 2021-06-01 17:02:30 +08:00
bunnie
61f95363fd mark a commit for the latest build submitted for testing 2021-06-01 15:33:48 +08:00
bunnie
2f9fa57bdd clock-gate based power management now seems to be more or less working 2021-05-31 23:14:35 +08:00
bunnie
d9e56fd321 very preliminary power savings working 2021-05-31 05:20:54 +08:00
bunnie
7c55925926 intermediate check-in on wfi 2021-05-30 23:07:16 +08:00
bunnie
afe8d8733d updates to use the always-on power domain timers 2021-05-30 04:29:03 +08:00
bunnie
52c32cc4d1 auto-powerdown of sha block when not in use 2021-05-30 00:12:18 +08:00