Sebastien Bourdeauducq
7caee2bf88
improve DMA logging
2020-07-30 22:25:49 +08:00
Sebastien Bourdeauducq
2e7090a359
remove unused import
2020-07-30 22:07:44 +08:00
Astro
b388b529ad
dyld: remove KERNEL_EXIDX_START/END globals, move dl_unwind_find_exidx() into runtime::kernel::core1
...
Gitea issue #16
2020-07-27 19:56:06 +02:00
Astro
641204425e
dyld: obtain EXIDX offsets from section headers
...
Gitea issue #16
2020-07-27 01:58:42 +02:00
Sebastien Bourdeauducq
7f983a453d
implement core device cache
2020-07-25 17:04:40 +08:00
Sebastien Bourdeauducq
630dcc274e
fix compilation warning with new rustc
2020-07-25 12:15:50 +08:00
Sebastien Bourdeauducq
e64f59723c
dma: use const initializer for manager
2020-07-25 12:12:56 +08:00
Sebastien Bourdeauducq
26874030fc
retry RTIO PLL lock
2020-07-25 11:15:33 +08:00
pca006132
0ce45b145e
kernel: proper type for static shared variables.
...
* Changed the KERNEL_CHANNEL_* to Mutex<T> with proper type, remove the
need for unsafe.
* Exposed a const pointer to KernelImage, with UnsafeCell holding
the library field for unbind with interior mutability.
2020-07-24 12:24:01 +08:00
pca006132
0310421085
RTIO DMA: Compiled but not working.
...
* Cache flush should be done before playback instead when getting the
handler.
* `csr::rtio_dma::enable_read()` would loop forever, probably bug in the
gateware.
2020-07-23 17:04:15 +08:00
pca006132
64dad88a32
Kernel exception: fixed top level finally. ( #70 )
...
Fixes #70 .
2020-07-23 14:09:15 +08:00
Astro
4846f2891b
use blocking timer api, update microseconds api
2020-07-22 23:58:55 +02:00
Astro
536f50f122
update dependencies
2020-07-22 23:51:09 +02:00
Sebastien Bourdeauducq
9b07468e50
add libm functions from legacy runtime
2020-07-21 22:58:56 +08:00
pca006132
d11e3fdad8
runtime/mgmt: mgmt.rs consistency
...
Closes #67 .
2020-07-21 13:54:32 +08:00
Sebastien Bourdeauducq
e0560a2db9
expose libm functions to kernel
2020-07-21 13:50:33 +08:00
Sebastien Bourdeauducq
59cf2764ce
dma: report AXI bus error
2020-07-21 12:47:20 +08:00
Sebastien Bourdeauducq
21135c6a41
analyzer: report AXI bus errors
2020-07-20 19:51:22 +08:00
Sebastien Bourdeauducq
9a8f8e2d7b
szl: add startup banner
2020-07-20 19:51:09 +08:00
Sebastien Bourdeauducq
0b47ac75f0
comms,mgmt: log connections as soon as they arrive
2020-07-20 19:09:56 +08:00
Sebastien Bourdeauducq
8c60947291
moninj: better connection logging
2020-07-20 19:07:44 +08:00
Sebastien Bourdeauducq
4af29e8eca
comms: report error on incorrect connection start pattern
2020-07-20 19:07:12 +08:00
Sebastien Bourdeauducq
d65e893d1c
more conservative RTIO PLL reset timing
2020-07-20 14:19:13 +08:00
Sebastien Bourdeauducq
db2a8e7726
implement RTIO log
2020-07-20 14:10:46 +08:00
Sebastien Bourdeauducq
f5db0e06f4
update dependencies, use new libasync smoltcp recv API
2020-07-19 16:16:39 +08:00
Sebastien Bourdeauducq
3ec9788eb1
proto_async: always consume one byte in recv
2020-07-19 16:07:55 +08:00
Sebastien Bourdeauducq
523524c319
zc706: add RTIO log channels
2020-07-19 14:05:35 +08:00
Sebastien Bourdeauducq
6e75741aa3
analyzer: remove debug print
2020-07-16 18:37:15 +08:00
Sebastien Bourdeauducq
f69e41af5e
gateware: fix VADJ I/O standard conflict
2020-07-16 17:58:31 +08:00
Sebastien Bourdeauducq
6a361893c2
gateware: make LEDs common to all variants
...
Makes quick testing easier.
2020-07-16 17:36:27 +08:00
Sebastien Bourdeauducq
ae7ca22db9
dma: fix endianness issues
2020-07-16 17:27:08 +08:00
pca006132
a9f725dd33
kernel: added error message after uncaught exception
2020-07-16 17:11:35 +08:00
pca006132
caef2a9f84
runtime/panic: prevent nested panic and added core ID in panic msg.
2020-07-16 17:11:35 +08:00
Sebastien Bourdeauducq
16158acfa9
analyzer: close connection gracefully
2020-07-16 17:10:24 +08:00
Sebastien Bourdeauducq
10a12245a3
analyzer: fix endianness issue
2020-07-16 17:10:09 +08:00
pca006132
84630d66e3
rpc: added `#[repr(C)]` for structs.
2020-07-16 15:48:17 +08:00
pca006132
4457af7277
rpc: Fixed alignment problem.
...
Fixes issue #42 .
Previously there was no fix for the variable alignment.
We calculate the position of the variable based on the size
of the previous variable, so we could break the alignment requirement
for variables. For example, having a `i64` after `bool` could break
the alignment required for `i64` and trigger DataAbort or data
corruption.
However, this requires the same data layout and LLVM type for the
variables. If this cannot be maintained, this would break the alignment
on the other side of the RPC, either from host to kernel or kernel to
host.
2020-07-16 14:06:39 +08:00
Sebastien Bourdeauducq
2e10922715
analyzer: implement firmware part
2020-07-16 11:47:55 +08:00
Sebastien Bourdeauducq
b62fbce826
mgmt: log incoming connection
2020-07-16 11:36:26 +08:00
Sebastien Bourdeauducq
0c6db0d12c
analyzer: use 32-bit byte_count
2020-07-16 11:36:04 +08:00
Sebastien Bourdeauducq
36338ea3b2
Makefile: fix pl.rs dependencies
2020-07-16 11:35:40 +08:00
Sebastien Bourdeauducq
0b0ca8de49
analyzer: drive wid and wstrb
2020-07-15 23:11:19 +08:00
Sebastien Bourdeauducq
8e758ecc17
add RTIO analyzer core (untested)
2020-07-15 23:06:34 +08:00
Sebastien Bourdeauducq
b68cb137e5
dma: style
2020-07-15 23:06:14 +08:00
pca006132
92405ffe91
logger: changed from RefCell to Mutex.
2020-07-15 17:04:16 +08:00
pca006132
2568d62865
mgmt: fixed pull log
2020-07-15 16:05:00 +08:00
pca006132
5149d37be9
szl: added cache flush and memory barriers.
...
Resolves #50 .
2020-07-14 17:02:42 +08:00
pca006132
8e3574080c
core1: added cache flush and barriers.
2020-07-14 10:53:35 +08:00
Astro
49d93e20dd
dyld: add Image.rebind()
2020-07-14 01:31:54 +02:00
Sebastien Bourdeauducq
12ba867268
dma: fix and cleanup test
2020-07-13 18:58:08 +08:00