a85b4d5f5e
I2C API for PCA9547 support ( #1860 )
2022-03-01 15:07:53 +08:00
Steve Fan
34008b7a21
Backport of "fixes alignment and size problem" from artiq-zynq ( #1841 )
2022-01-28 20:49:55 +08:00
4132c450a5
firmware: runtime changes for exception
...
Ported from:
M-Labs/artiq-zynq#162
This includes new API for exception handling, some refactoring to avoid
code duplication for exception structures, and modified protocols to
send nested exceptions and avoid string allocation.
2022-01-26 07:16:54 +08:00
Steve Fan
4a6bea479a
Host report for async error upon kernel termination ( #1791 )
...
Closes #1644
2021-12-04 13:33:24 +08:00
eecd825d23
firmware: suppress warning
2021-09-10 13:25:12 +08:00
8fa47b8119
rpc: enforce alignment
2021-09-10 13:25:12 +08:00
de0f2d4a28
firmware: adopt endianness protocol in artiq-zynq
...
Related:
artiq-zynq: M-Labs/artiq-zynq#126
artiq: #1588
2021-09-10 13:25:12 +08:00
ebb9f298b5
proto_artiq: update alloc type path
2021-09-10 13:20:31 +08:00
9f94bc61ae
missing part of 477b1516d
2021-08-12 12:55:37 +08:00
477b1516d3
remove profiler
2021-08-12 12:51:55 +08:00
6b88ea563d
talk to ICAP primitive to restart gateware ( #1733 )
2021-08-05 17:00:31 +08:00
92fd705990
increase memory allocated to comms CPU
...
See discussion in #1612 .
2021-02-21 19:06:12 +08:00
3832b261b1
firmware: optimize integer array/list rpc
2021-01-21 09:05:17 +01:00
90017da484
firmware: remove obsolete watchdog code ( #1458 )
2020-10-15 18:38:00 +08:00
aac2194759
Ported rpc changes to or1k
2020-08-26 14:17:06 +08:00
d8cd5023f6
runtime: expose more libm functions
2020-08-12 13:36:06 +08:00
David Nadlinger
8783ba2072
compiler/firmware: RPCs for ndarrays
2020-08-09 17:08:43 +01:00
eb28d7be3a
firmware/rpc: fixed typo
2020-07-16 15:15:47 +08:00
f78d673079
firmware/rpc: added #[repr(C)]
for structs.
...
Previously the structs are in repr(Rust) which has no layout guarantee.
2020-07-16 15:11:17 +08:00
05e8f24c24
sayma2: JESD204 synchronization
2019-10-18 23:28:47 +08:00
4b3baf4825
firmware: run PRBS and STPL JESD204 tests
2019-10-08 00:10:36 +08:00
a421820a32
sayma: initialize DACs over DRTIO
2019-10-06 21:42:45 +08:00
David Nadlinger
8e225433a5
firmware: Fix kernel RPC strings size (memory corruption)
...
Test case to follow.
2019-03-31 17:10:27 +01:00
David Nadlinger
b8ff627be9
firmware: Fix kernel RPC tuple size calculation (memory corruption)
...
Test case to follow.
2019-03-31 17:10:27 +01:00
whitequark
dd829afebd
firmware: fix another TOCTTOU race in sync/async RPC code.
2018-11-12 15:42:07 +00:00
whitequark
583bba8777
Revert "firmware: workaround for RPC failures"
...
This reverts commit 59033d2588
.
2018-11-12 15:36:36 +00:00
59033d2588
firmware: workaround for RPC failures
2018-11-12 19:51:54 +08:00
8caea0e6d3
gateware,runtime: optimize RTIO kernel interface further
...
* now pinning (TODO: atomicity)
* for inputs, merge request and timeout registers
2018-11-08 18:29:24 +08:00
1b7f403a4b
drtio: remove remote RTIO PHY resets
2018-09-20 11:10:32 +08:00
c8cd830118
drtio: implement get_rtio_destination_status for kernels
2018-09-15 19:11:22 +08:00
ae72e3a51e
firmware: add support for moninj and kern_hwreq over DRTIO switching
2018-09-14 20:26:39 +08:00
e95638e0a7
style
2018-09-13 15:54:28 +08:00
fa872c3341
firmware: implement DRTIO destination survey
2018-09-13 12:00:29 +08:00
95432a4ac1
drtio: remove old debugging features
2018-09-12 13:01:27 +08:00
b38c57d73b
firmware: send DRTIO routing table to satellite
2018-09-11 14:12:41 +08:00
014cfd8dbd
firmware: add drtioaux routing packets
2018-09-09 22:44:25 +08:00
whitequark
7bd7b6592a
rpc_proto: serialize keywords correctly.
...
Fixes #1109 .
2018-08-07 06:47:09 +00:00
6fc8439399
tweak moninj to allow old dashboard with new firmware
2018-08-02 19:34:14 +08:00
47740c8930
share moninj injection state between dashboards
...
Previously if one dashboard overrode a channel this was not visible on
any other dashboard - the channel appeared to operate normally.
2018-08-02 19:34:14 +08:00
e4d48a78eb
drtio: wait for remote to ack TSC synchronization
...
Sayma takes a long time after TSC sync to align SYSREF, and this caused two issues:
1. Aux packets getting lost and causing error reports
2. DRTIO links reported up and kernels proceeding despite the DACs not being properly synced.
2018-07-26 20:28:17 +08:00
whitequark
095ee28fd9
runtime: fix size values for bytes and bytearray RPCs.
...
Fixes #1076 .
2018-06-21 00:51:56 +00:00
b10d3ee4b4
make RTIO clock switch optional and simplify
...
Kasli no longer has an internal RTIO clock.
Switching clocks dynamically is no longer supported.
2018-05-18 17:41:34 +08:00
whitequark
4d06c1d84b
coredevice.CommKernel: modernize. NFC.
2018-05-16 14:40:14 +00:00
whitequark
ca93b94aea
firmware: move config requests to management protocol.
...
They were only in session protocol because of historical reasons.
2018-05-16 14:32:49 +00:00
whitequark
9347f6e00c
firmware: use a dedicated error type in the scheduler.
...
After this commit, error handling does not normally allocate
(session::Error::{Load,Unexpected} still allocate, but those two
are very rare).
Good riddance to libstd_artiq.
2018-05-15 14:19:44 +00:00
whitequark
479cb9a857
firmware: use dedicated error types for every protocol and thread.
...
Good riddance to io::Error::Unrecognized.
2018-05-15 13:27:23 +00:00
whitequark
26faaad2b7
firmware: remove io::Result<T, E> in favor of Result<T, impl Fail>.
...
This doesn't yet use impl Fail since std_artiq::io::Error doesn't
impl it.
2018-05-15 08:29:03 +00:00
whitequark
ce0593315b
firmware: move {ProtoRead,ProtoWrite} to the root of libio.
2018-05-15 08:16:09 +00:00
whitequark
a4ab236af3
firmware: simplify some use
s.
2018-05-14 19:24:14 +00:00
whitequark
ae50196186
firmware: rename libproto to libproto_artiq.
...
libproto_artiq only has ARTIQ-specific protocols.
2018-05-14 18:09:44 +00:00