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
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
21135c6a41
analyzer: report AXI bus errors
2020-07-20 19:51:22 +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
6e75741aa3
analyzer: remove debug print
2020-07-16 18:37:15 +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
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
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
8e3574080c
core1: added cache flush and barriers.
2020-07-14 10:53:35 +08:00
Sebastien Bourdeauducq
fa2d71615a
report async RTIO errors
2020-07-13 16:06:05 +08:00
Sebastien Bourdeauducq
b42ab0634b
complete RTIO exceptions
2020-07-13 15:47:34 +08:00
pca006132
62f39e2c08
mgmt: Implemented network log access.
2020-07-13 15:15:06 +08:00
pca006132
855b26aa19
Logger: ported log_buffer.
2020-07-13 14:59:56 +08:00
pca006132
7aec419ed6
kernel: added core1 instruction cache flush
2020-07-10 17:21:55 +08:00
pca006132
68d27ca2ee
comms: removed core1 restart
2020-07-10 17:21:55 +08:00
Sebastien Bourdeauducq
407e18a6a0
fix typos
2020-07-10 16:36:45 +08:00
pca006132
2d58193930
Panic: single line backtrace for addr2line.
2020-07-10 12:26:28 +08:00
Astro
2c1773b91b
kernel: refactor main_core1 into KernelImage
2020-07-08 23:49:43 +02:00
Astro
b3d4590eec
kernel: split into {api,control,core1,rpc}
2020-07-08 23:49:32 +02:00
Sebastien Bourdeauducq
bd7d58e239
add RTIO PLL and clock source selection
2020-07-08 19:58:13 +08:00
Sebastien Bourdeauducq
6454315cd2
config: refactor and share
2020-07-08 19:24:26 +08:00
pca006132
e263814546
Kernel: Added startup kernel
2020-07-08 15:54:50 +08:00
Sebastien Bourdeauducq
a8de572014
set up PL clocks
2020-07-07 19:40:32 +08:00
Sebastien Bourdeauducq
7bfe882710
eh_artiq: reduce verbosity
2020-07-07 17:21:28 +08:00
pca006132
c071507ff8
RTIO: implemented exceptions
2020-07-07 16:26:33 +08:00
pca006132
f1750cf8cd
Kernel: Fixed use-after-free
2020-07-07 15:51:12 +08:00
pca006132
0f797284e2
SdReader: fixed write cache bug.
2020-07-07 14:02:13 +08:00
Sebastien Bourdeauducq
0119022b2c
remove compiler warning
2020-07-06 21:55:30 +08:00
Sebastien Bourdeauducq
de2c2af523
use new exception vectors
2020-07-06 21:16:32 +08:00
Sebastien Bourdeauducq
8c0b7cdcf2
runtime: adjust stack and heap sizes
2020-07-06 20:48:22 +08:00
Sebastien Bourdeauducq
7661b2a288
remove unused import
2020-07-06 20:41:24 +08:00
pca006132
c59772dca3
Exception handling: Implemented RPC exception.
2020-07-06 15:34:49 +08:00
Sebastien Bourdeauducq
f895773535
runtime: do not use slcr soft_reset in panic
2020-07-06 13:07:52 +08:00