Sebastien Bourdeauducq
323191b9fc
runtime: expose more libm functions
2020-08-06 10:32:20 +08:00
Sebastien Bourdeauducq
2f7cc6fc38
tune compiler optimizations
2020-08-06 10:32:20 +08:00
pca006132
5becf0af0a
runtime/kernel: fixed memory corruption for cache and DMA.
2020-08-06 10:29:31 +08:00
pca006132
e7752a3d6d
runtime/kernel: fixes core0 memory leak.
...
Fixes #85
2020-08-06 09:39:49 +08:00
Sebastien Bourdeauducq
984bb08d27
Makefile: optimize
2020-08-05 19:14:18 +08:00
Sebastien Bourdeauducq
de2d7ecf48
typo
2020-08-05 18:52:08 +08:00
pca006132
c85e85aa6d
runtime/logger: use blocking wait.
...
Fixes #84 using the first solution.
If the performance is considered too slow,
we can do the second option later.
2020-08-05 18:51:27 +08:00
pca006132
4b6c5d5679
runtime/kernel: store DMA and cache buffer on core0.
...
Closes #77 .
2020-08-05 15:33:40 +08:00
Sebastien Bourdeauducq
72427dbebb
runtime: cleanup core_log
2020-08-05 00:40:54 +08:00
Sebastien Bourdeauducq
6d654de3d5
runtime: implement core_log
2020-08-04 23:27:51 +08:00
Sebastien Bourdeauducq
3092bfc21a
runtime: expose __aeabi_idivmod to kernel
2020-08-04 22:45:28 +08:00
Sebastien Bourdeauducq
b915176b29
runtime: implement acpki RTIO output
2020-08-04 17:32:43 +08:00
Sebastien Bourdeauducq
537f4968eb
acpki: add legacy i_status/o_status registers
2020-08-04 17:31:35 +08:00
Sebastien Bourdeauducq
62988a580e
acpki: update for combined RTIO channel/address
2020-08-04 17:28:15 +08:00
pca006132
fc21fcc920
runtime/comms: removed sync_channel hack.
...
Fixes #80
2020-08-04 14:40:02 +08:00
pca006132
6a4d871917
runtime/irq: use spinlock functions instead of asm.
...
Closes #81
2020-08-04 14:40:02 +08:00
Sebastien Bourdeauducq
8337c9173e
runtime: share rtio_log format function
2020-08-04 13:27:18 +08:00
Sebastien Bourdeauducq
1e20259c36
fix acpki selection
2020-08-04 13:26:45 +08:00
Sebastien Bourdeauducq
f8d4036451
add ACP kernel initiator
...
Based on work by Chris Ballance
https://github.com/m-labs/artiq/issues/1167#issuecomment-427188287
M-Labs/artiq-zynq#55
Work-in-progress, only gateware part and build system, untested.
2020-08-04 13:15:26 +08:00
Sebastien Bourdeauducq
c9bac028bf
dma: call rtio module to get time cursor position
...
More portable across RTIO implementations.
2020-08-04 13:14:00 +08:00
pca006132
56e7cc822c
runtime/comms: limited concurrent connections to 1 only.
2020-08-04 10:31:03 +08:00
pca006132
d58a3ef12c
runtime/comms: restart core1 before kernel load.
2020-08-04 10:17:19 +08:00
pca006132
fa00ab211d
Updated zc706 dependency and fixed compiler errors.
2020-08-04 10:15:57 +08:00
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