0354699ae3
runtime/kernel/dma: fixed missing end of buffer marker.
...
The DMA transfer would halt before.
2020-08-06 14:00:20 +08:00
7873565917
runtime: expose libm tan
2020-08-06 11:45:41 +08:00
05e1614313
runtime/kernel: fixed duration bug.
...
Fixes #89 .
2020-08-06 11:12:24 +08:00
323191b9fc
runtime: expose more libm functions
2020-08-06 10:32:20 +08:00
5becf0af0a
runtime/kernel: fixed memory corruption for cache and DMA.
2020-08-06 10:29:31 +08:00
e7752a3d6d
runtime/kernel: fixes core0 memory leak.
...
Fixes #85
2020-08-06 09:39:49 +08:00
de2d7ecf48
typo
2020-08-05 18:52:08 +08:00
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
4b6c5d5679
runtime/kernel: store DMA and cache buffer on core0.
...
Closes #77 .
2020-08-05 15:33:40 +08:00
72427dbebb
runtime: cleanup core_log
2020-08-05 00:40:54 +08:00
6d654de3d5
runtime: implement core_log
2020-08-04 23:27:51 +08:00
3092bfc21a
runtime: expose __aeabi_idivmod to kernel
2020-08-04 22:45:28 +08:00
b915176b29
runtime: implement acpki RTIO output
2020-08-04 17:32:43 +08:00
fc21fcc920
runtime/comms: removed sync_channel hack.
...
Fixes #80
2020-08-04 14:40:02 +08:00
6a4d871917
runtime/irq: use spinlock functions instead of asm.
...
Closes #81
2020-08-04 14:40:02 +08:00
8337c9173e
runtime: share rtio_log format function
2020-08-04 13:27:18 +08:00
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
c9bac028bf
dma: call rtio module to get time cursor position
...
More portable across RTIO implementations.
2020-08-04 13:14:00 +08:00
56e7cc822c
runtime/comms: limited concurrent connections to 1 only.
2020-08-04 10:31:03 +08:00
d58a3ef12c
runtime/comms: restart core1 before kernel load.
2020-08-04 10:17:19 +08:00
fa00ab211d
Updated zc706 dependency and fixed compiler errors.
2020-08-04 10:15:57 +08:00
7caee2bf88
improve DMA logging
2020-07-30 22:25:49 +08:00
2e7090a359
remove unused import
2020-07-30 22:07:44 +08:00
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
7f983a453d
implement core device cache
2020-07-25 17:04:40 +08:00
630dcc274e
fix compilation warning with new rustc
2020-07-25 12:15:50 +08:00
e64f59723c
dma: use const initializer for manager
2020-07-25 12:12:56 +08:00
26874030fc
retry RTIO PLL lock
2020-07-25 11:15:33 +08:00
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
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
64dad88a32
Kernel exception: fixed top level finally. ( #70 )
...
Fixes #70 .
2020-07-23 14:09:15 +08:00
4846f2891b
use blocking timer api, update microseconds api
2020-07-22 23:58:55 +02:00
9b07468e50
add libm functions from legacy runtime
2020-07-21 22:58:56 +08:00
d11e3fdad8
runtime/mgmt: mgmt.rs consistency
...
Closes #67 .
2020-07-21 13:54:32 +08:00
e0560a2db9
expose libm functions to kernel
2020-07-21 13:50:33 +08:00
21135c6a41
analyzer: report AXI bus errors
2020-07-20 19:51:22 +08:00
0b47ac75f0
comms,mgmt: log connections as soon as they arrive
2020-07-20 19:09:56 +08:00
8c60947291
moninj: better connection logging
2020-07-20 19:07:44 +08:00
4af29e8eca
comms: report error on incorrect connection start pattern
2020-07-20 19:07:12 +08:00
d65e893d1c
more conservative RTIO PLL reset timing
2020-07-20 14:19:13 +08:00
db2a8e7726
implement RTIO log
2020-07-20 14:10:46 +08:00
f5db0e06f4
update dependencies, use new libasync smoltcp recv API
2020-07-19 16:16:39 +08:00
3ec9788eb1
proto_async: always consume one byte in recv
2020-07-19 16:07:55 +08:00
6e75741aa3
analyzer: remove debug print
2020-07-16 18:37:15 +08:00
a9f725dd33
kernel: added error message after uncaught exception
2020-07-16 17:11:35 +08:00
caef2a9f84
runtime/panic: prevent nested panic and added core ID in panic msg.
2020-07-16 17:11:35 +08:00
16158acfa9
analyzer: close connection gracefully
2020-07-16 17:10:24 +08:00
84630d66e3
rpc: added #[repr(C)]
for structs.
2020-07-16 15:48:17 +08:00
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
2e10922715
analyzer: implement firmware part
2020-07-16 11:47:55 +08:00