Commit Graph

374 Commits

Author SHA1 Message Date
c834e4f503 enable network and mgmt during Rust panic, make RTIO PLL lock failure a panic
Closes #198 #200

Making it a soft panic makes it more involved with a bit of code duplication - setting up mgmt requires setting up the interface and sockets. Maybe can be done a bit cleaner.

```
[spaqin@hera:~/m-labs/artiq-zynq]$ artiq_sinara_tester
****** Sinara system tester ******
[...]
ConnectionRefusedError: [Errno 111] Connection refused

[spaqin@hera:~/m-labs/artiq-zynq]$ artiq_coremgmt -D 192.168.1.56 log
[     0.000067s]  INFO(runtime): NAR3/Zynq7000 starting...
[     0.005238s]  INFO(runtime): detected gateware: GenericMaster
[     0.016152s]  INFO(libboard_zynq::i2c): PCA9548 detected
[     0.023004s]  WARN(runtime): config initialization failed: SD error: Card initialization error: No card inserted, check if the card is inserted properly.
[     0.036730s]  WARN(runtime::rtio_clocking): error reading configuration. Falling back to default.
[     0.213000s] ERROR(runtime::rtio_clocking): RTIO PLL failed to lock
[     0.224443s]  INFO(libboard_zynq::i2c): PCA9548 detected
[     0.256197s]  INFO(runtime::comms): network addresses: MAC=e8-eb-1b-13-49-8b IPv4=192.168.1.56 IPv6-LL=fe80::eaeb:1bff:fe13:498b IPv6: no configured address
[     0.270183s] ERROR(runtime::comms): There has been an error configuring the device: RTIO PLL failed to lock. Only mgmt interface will be available.
[     4.000095s]  INFO(libboard_zynq::eth): eth: got Link { speed: S1000, duplex: Full }
[    33.148521s]  INFO(runtime::mgmt): received connection
```

Reviewed-on: M-Labs/artiq-zynq#199
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2022-10-21 17:56:34 +08:00
dc862a9051 match ident message with mainline 2022-10-21 12:08:11 +08:00
19e60073de kasli_soc: ident = variant name 2022-10-21 11:55:24 +08:00
a546d0f95b Implement reboot for artiq_coremgmt 2022-10-07 18:31:11 +08:00
d6ae646790 update dependencies 2022-10-07 18:30:39 +08:00
f3310324d7 update dependencies 2022-08-26 17:37:27 +08:00
0812f22423 update dependencies 2022-07-20 17:34:26 +08:00
b638fce069 update SEEN_ASYNC_ERRORS in destination_survey (#195)
Co-authored-by: kk105 <kkl@m-kabs.hk>
Reviewed-on: M-Labs/artiq-zynq#195
Co-authored-by: kk105 <kkl@m-labs.hk>
Co-committed-by: kk105 <kkl@m-labs.hk>
2022-06-20 17:41:08 +08:00
9ec6a1feab dyld/rebind: support rela generation with nac3ld 2022-06-01 21:27:38 +08:00
8e144e41de reloc: impl ARM_PREL31 handling 2022-06-01 21:27:38 +08:00
512b6bac12 reloc: add PC-relative relocation support 2022-06-01 21:27:38 +08:00
e3ed41ff32 fix index table reference type 2022-06-01 18:35:50 +08:00
97a63ca8d0 dyld: add EXIDX entry type
The type is just for aesthetic. The interpretation of an index table entry is not our concern.
2022-06-01 18:33:19 +08:00
f0febe0ee4 change catch type to single reference 2022-05-31 18:26:30 +08:00
7a8f96dbd9 rtio_mgt: use mutex's async_lock 2022-05-25 10:39:06 +08:00
596edb480c cargo: update zynq-rs 2022-05-25 10:37:38 +08:00
4f457d9c24 moninj: log link down at debug level 2022-05-25 10:37:38 +08:00
24df52268e moninj: restructure timeout
stop logging errors if satellite is unavailable
drtio: don't even send message if link is down
2022-05-25 10:37:38 +08:00
48c9b43171 moninj: make it use async drtioaux 2022-05-25 10:37:38 +08:00
57d7f01b04 drtio: port 64-bit padding from mainline 2022-05-24 15:43:01 +08:00
efc432352e zc706: no syncrtio for master, fixes hangs (#188) 2022-05-03 14:36:10 +08:00
def4d989cd kasli_soc: fix si5324 pins routed to GTX 2022-04-25 12:33:21 +08:00
1d731a3589 zc706 master: route sma clock to si5324 2022-04-13 16:35:52 +08:00
3cf86a6335 satellites: add rtio_crg cfg 2022-04-12 13:44:53 +08:00
78bc162749 rtio_clocking: remove loop 2022-04-12 13:33:52 +08:00
14f7778732 update libconfig features 2022-04-08 10:30:21 +08:00
dcfb28ce61 fix drtioaux packet corruption
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2022-04-01 14:15:14 +08:00
433a9cdaf1 runtime: fix warnings on nondrtio systems 2022-03-29 10:05:11 +08:00
a79bef2243 runtime: provide/fix more libc mem functions 2022-03-28 13:24:01 +08:00
c6ef9b117c fix previous commit 2022-03-26 20:08:11 +08:00
dcfaf587ec firmware: add UnwrapNoneError exception 2022-03-26 15:29:40 +08:00
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
161044e78f drop support for big-endian moninj 2022-03-19 23:01:36 +08:00
426500d2f9 firmware: support 64-bit moninj probes 2022-03-17 20:26:44 +08:00
ebdb08180d drtio: demote default routing table message to info 2022-03-16 21:04:12 +08:00
0530e596ba mgmt: remove spurious config write warning 2022-03-16 08:24:52 +08:00
7502f3a765 update dependencies 2022-03-10 17:25:40 +08:00
ae0d724bf8 runtime: use &CSlice for lists 2022-03-10 16:30:34 +08:00
6c834899e9 si5324: fix clock source 2022-03-09 13:55:36 +08:00
a22b13cc46 kasli_soc: forward SMA clkin 2022-03-09 12:43:47 +08:00
85e5c08d7f kasli_soc: use si5324 in master 2022-03-04 13:17:53 +08:00
3c17362fad satman: fix i2cswitch 2022-03-03 17:18:22 +08:00
4f2a0986da rtio_clocking: fix wrong descriptions 2022-03-03 10:24:13 +08:00
4a2218641f fix BorrowMutError in moninj 2022-03-02 15:45:17 +08:00
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
b56b50b147 add comment about EXCEPTION_ID_LOOKUP sync 2022-03-01 09:50:28 +08:00
f38117774f runtime/eh_artiq: updated exception IDs
Fixes #166
2022-02-28 21:15:07 +08:00
880ba6b206 runtime: add nac3 exception symbols 2022-02-23 11:05:08 +08:00
accac99f48 updated zynq-rs with pca9547 support (#165)
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2022-02-11 13:53:58 +08:00
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