Jonathan Coates
da0eedaa76
Fix mismatched signatures for the wide interface
2023-04-17 10:16:33 +08:00
occheung
e3ed41ff32
fix index table reference type
2022-06-01 18:35:50 +08:00
mwojcik
433a9cdaf1
runtime: fix warnings on nondrtio systems
2022-03-29 10:05:11 +08:00
Sebastien Bourdeauducq
a79bef2243
runtime: provide/fix more libc mem functions
2022-03-28 13:24:01 +08:00
mwojcik
a92561b9d3
implement rtio_get_destination_status ( #177 )
...
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2022-03-25 18:20:05 +08:00
pca006132
ae0d724bf8
runtime: use &CSlice for lists
2022-03-10 16:30:34 +08:00
mwojcik
9a06cd9d27
expose pca954x_select api ( #167 )
...
PR accompanying to ARTIQ's PCA954X support (#1860 ).
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2022-03-02 10:52:27 +08:00
Sebastien Bourdeauducq
880ba6b206
runtime: add nac3 exception symbols
2022-02-23 11:05:08 +08:00
pca006132
6f5ba46e89
runtime/eh_artiq: support exception allocation
...
The backtrace is now nested, and should be used together with the stack
pointer array to construct the full backtrace for each exception.
We now allocate exception objects in a stack, but their names are still
not allocated. This is fine for exceptions raised in the driver or artiq
code, but we will have to implement allocation for names of exceptions
raised in RPC calls. The compiler should also emit code to store the
exception names once they catch it, to prepare for later reraising.
2022-01-23 21:31:22 +08:00
stevefan1999
84becfe2c0
report async errors upon kernel termination
...
Port of 4a6bea479a
Co-authored-by: Steve Fan <sf@m-labs.hk>
Reviewed-on: M-Labs/artiq-zynq#156
Co-authored-by: stevefan1999 <sf@m-labs.hk>
Co-committed-by: stevefan1999 <sf@m-labs.hk>
2021-12-06 17:38:55 +08:00
Sebastien Bourdeauducq
a5e3580d18
Revert "runtime: expose rint from libm"
...
This reverts commit 3582af564d
.
2021-10-11 08:13:26 +08:00
Sebastien Bourdeauducq
3582af564d
runtime: expose rint from libm
2021-10-10 20:40:29 +08:00
pca006132
9e8b554c6d
runtime/kernel/core1: use correct ABI
2021-01-18 16:43:30 +08:00
Sebastien Bourdeauducq
57ae8619f8
remove unnecessary no_mangle
...
no_mangle does nothing on extern items as per https://github.com/rust-lang/rust/issues/78989#issuecomment-726163973
Closes #115
2020-11-16 14:51:30 +08:00
David Nadlinger
7c336f7770
kernel/api: Add additional binary libm functions
...
Also factored out (f64, f64) -> f64 libm wrappers into
a macro, similar to the unary ones.
2020-11-11 01:24:44 +01:00
pca006132
a374d8a02f
runtime/kernel/dma: reduced replay overhead
...
We can just flush the cache once when we get the handle, instead of
everytime before replay.
2020-09-09 21:25:03 +08:00
Sebastien Bourdeauducq
36d8ffec3b
expose i2c to kernels
2020-09-06 00:11:19 +08:00
pca006132
cdc8ad8aee
runtime/kernel/control: fixed memory leak
2020-09-03 16:51:51 +08:00
pca006132
ae07c05db4
runtime: optimize for speed and fix deadlock
...
The previous method of taking the channel could cause deadlock, we now
use semaphore to signal if the channel is available instead of busy
polling the mutex.
2020-09-02 10:15:52 +08:00
pca006132
321a8e1522
runtime/kernel/core1: reset rtio after interrupted
2020-08-25 14:51:39 +08:00
pca006132
0fb278f7cb
runtime/kernel/core1: allows getting backtrace when kernel is not loaded
2020-08-25 14:51:39 +08:00
pca006132
fa187fb37a
runtime/kernel: use mutable static for shared channel
...
Mutex would prevent restart if we failed while waiting for RPC.
2020-08-25 14:51:39 +08:00
Astro
760f46a115
update dependencies
2020-08-17 19:17:42 +02:00
David Nadlinger
6ccd0cb389
runtime/kernel: Expose libm::atanh
2020-08-09 20:06:09 +01:00
David Nadlinger
63250240d2
runtime/kernel: Expose __powidf2
2020-08-09 19:17:38 +01:00
pca006132
0354699ae3
runtime/kernel/dma: fixed missing end of buffer marker.
...
The DMA transfer would halt before.
2020-08-06 14:00:20 +08:00
Sebastien Bourdeauducq
7873565917
runtime: expose libm tan
2020-08-06 11:45:41 +08:00
pca006132
05e1614313
runtime/kernel: fixed duration bug.
...
Fixes #89 .
2020-08-06 11:12:24 +08:00
Sebastien Bourdeauducq
323191b9fc
runtime: expose more libm functions
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
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
8337c9173e
runtime: share rtio_log format function
2020-08-04 13:27:18 +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
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
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
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
Sebastien Bourdeauducq
9b07468e50
add libm functions from legacy runtime
2020-07-21 22:58:56 +08:00
Sebastien Bourdeauducq
e0560a2db9
expose libm functions to kernel
2020-07-21 13:50:33 +08:00
Sebastien Bourdeauducq
db2a8e7726
implement RTIO log
2020-07-20 14:10:46 +08:00