Egor Savkin
a519d24074
firmware: create and apply rustfmt policy
...
Co-authored-by: Egor Savkin <es@m-labs.hk>
Co-committed-by: Egor Savkin <es@m-labs.hk>
2023-02-22 11:02:43 +08:00
mwojcik
dce37a52aa
KasliSoC satellite: fix serdes timing
2023-02-20 13:07:42 +08:00
Egor Savkin
d72a2e7d07
fix previous commit
...
Co-authored-by: Egor Savkin <es@m-labs.hk>
Co-committed-by: Egor Savkin <es@m-labs.hk>
2023-02-17 17:49:36 +08:00
Egor Savkin
05c22792d6
satman: drive SFP TX_DISABLE
...
Co-authored-by: Egor Savkin <es@m-labs.hk>
Co-committed-by: Egor Savkin <es@m-labs.hk>
2023-02-17 17:19:30 +08:00
mwojcik
dcc5cc7555
satellite: add Error LED on panic
2023-02-17 16:21:52 +08:00
mwojcik
46b2687d70
RTIO/SYS Clock merge
...
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2023-02-17 15:52:43 +08:00
Egor Savkin
ca6e0d13ad
Remove virtual LEDs from io_expander
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-02-15 18:14:05 +08:00
Egor Savkin
b4b7912c40
Port tx_disable-related code from Kasli
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-02-15 17:44:01 +08:00
Egor Savkin
8230a01701
Build io_expander
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-02-15 15:31:22 +08:00
Egor Savkin
4bc936f071
Copy io expander from kasli
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-02-15 14:37:55 +08:00
David Nadlinger
df4988c774
rpc: Port over size/alignment fix for structs (tuples) with tail padding
...
This ports over the following commits from the main ARTIQ repo:
- 8740ec3dd52d85084237797881ea137492bfe070
- dbbe8e8ed4f852e623775b7bd3aec818cdd03376
- b9f13d48aa7e2c0652210152b971b21c3c419347
2023-01-28 16:15:28 +00:00
Sebastien Bourdeauducq
800c12e794
fix resolve_channel_name typing
2023-01-12 16:52:36 +08:00
Egor Savkin
d36899b485
firmware: unify RTIO error message format
...
Co-authored-by: Egor Savkin <es@m-labs.hk>
Co-committed-by: Egor Savkin <es@m-labs.hk>
2023-01-09 16:13:42 +08:00
Egor Savkin
6b3fa98d70
add channel names to RTIO errors
...
Co-authored-by: Egor Savkin <es@m-labs.hk>
Co-committed-by: Egor Savkin <es@m-labs.hk>
2023-01-09 12:35:56 +08:00
Egor Savkin
44ef13d1c0
Fix idle/startup_kernel typos in config
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-01-03 09:55:36 +08:00
David Nadlinger
8e0229d265
si5324: crystal_{ref -> as_ckin2} [nfc]
...
This makes it clear that by itself, the flag does not
cause the input mux to be changed.
2022-12-17 01:33:50 +00:00
David Nadlinger
2ddb4d259f
Undo most of Si5324 unification ( 5c054cc901
)
...
This reverts most of 5c054cc901
, as it turns out that
si5324::setup is in fact also used to configure the
chip for operation as a DRTIO satellite.
2022-12-17 01:31:14 +00:00
David Nadlinger
5c054cc901
Unify Si5324 setup code with main ARTIQ repository [nfc]
...
I chose the version from the main repository for two
reasons:
- Explicitly specifying si5324_ref_input every time would
not work for the different Kasli/… hardware versions.
- Having `crystal_ref` as a setting in the configuration
is misleading if it does not actually activate the crystal
for use as a reference (but rather does
`route_crystal_to_ckin2`).
Related m-labs/artiq commits:
- 740543d4e284245248e3ff838c46505938dcae7a
- 3c7a394eff553ab75a7ea78bdd17830366504dc6
2022-12-12 23:22:01 +00:00
Sebastien Bourdeauducq
db0e41af6d
update zynq-rs and some Rust deps
2022-11-30 22:49:10 +08:00
mwojcik
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
mwojcik
dc862a9051
match ident message with mainline
2022-10-21 12:08:11 +08:00
mwojcik
19e60073de
kasli_soc: ident = variant name
2022-10-21 11:55:24 +08:00
Egor Savkin
a546d0f95b
Implement reboot for artiq_coremgmt
2022-10-07 18:31:11 +08:00
Sebastien Bourdeauducq
d6ae646790
update dependencies
2022-10-07 18:30:39 +08:00
Sebastien Bourdeauducq
f3310324d7
update dependencies
2022-08-26 17:37:27 +08:00
Sebastien Bourdeauducq
0812f22423
update dependencies
2022-07-20 17:34:26 +08:00
kk105
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
occheung
9ec6a1feab
dyld/rebind: support rela generation with nac3ld
2022-06-01 21:27:38 +08:00
occheung
8e144e41de
reloc: impl ARM_PREL31 handling
2022-06-01 21:27:38 +08:00
occheung
512b6bac12
reloc: add PC-relative relocation support
2022-06-01 21:27:38 +08:00
occheung
e3ed41ff32
fix index table reference type
2022-06-01 18:35:50 +08:00
occheung
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
occheung
f0febe0ee4
change catch type to single reference
2022-05-31 18:26:30 +08:00
mwojcik
7a8f96dbd9
rtio_mgt: use mutex's async_lock
2022-05-25 10:39:06 +08:00
mwojcik
596edb480c
cargo: update zynq-rs
2022-05-25 10:37:38 +08:00
mwojcik
4f457d9c24
moninj: log link down at debug level
2022-05-25 10:37:38 +08:00
mwojcik
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
mwojcik
48c9b43171
moninj: make it use async drtioaux
2022-05-25 10:37:38 +08:00
mwojcik
57d7f01b04
drtio: port 64-bit padding from mainline
2022-05-24 15:43:01 +08:00
mwojcik
efc432352e
zc706: no syncrtio for master, fixes hangs ( #188 )
2022-05-03 14:36:10 +08:00
mwojcik
def4d989cd
kasli_soc: fix si5324 pins routed to GTX
2022-04-25 12:33:21 +08:00
mwojcik
1d731a3589
zc706 master: route sma clock to si5324
2022-04-13 16:35:52 +08:00
mwojcik
3cf86a6335
satellites: add rtio_crg cfg
2022-04-12 13:44:53 +08:00
mwojcik
78bc162749
rtio_clocking: remove loop
2022-04-12 13:33:52 +08:00
mwojcik
14f7778732
update libconfig features
2022-04-08 10:30:21 +08:00
mwojcik
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
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
Sebastien Bourdeauducq
c6ef9b117c
fix previous commit
2022-03-26 20:08:11 +08:00
Sebastien Bourdeauducq
dcfaf587ec
firmware: add UnwrapNoneError exception
2022-03-26 15:29:40 +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
Sebastien Bourdeauducq
161044e78f
drop support for big-endian moninj
2022-03-19 23:01:36 +08:00
Sebastien Bourdeauducq
426500d2f9
firmware: support 64-bit moninj probes
2022-03-17 20:26:44 +08:00
Sebastien Bourdeauducq
ebdb08180d
drtio: demote default routing table message to info
2022-03-16 21:04:12 +08:00
Sebastien Bourdeauducq
0530e596ba
mgmt: remove spurious config write warning
2022-03-16 08:24:52 +08:00
Sebastien Bourdeauducq
7502f3a765
update dependencies
2022-03-10 17:25:40 +08:00
pca006132
ae0d724bf8
runtime: use &CSlice for lists
2022-03-10 16:30:34 +08:00
occheung
6c834899e9
si5324: fix clock source
2022-03-09 13:55:36 +08:00
occheung
a22b13cc46
kasli_soc: forward SMA clkin
2022-03-09 12:43:47 +08:00
spaqin
85e5c08d7f
kasli_soc: use si5324 in master
2022-03-04 13:17:53 +08:00
spaqin
3c17362fad
satman: fix i2cswitch
2022-03-03 17:18:22 +08:00
spaqin
4f2a0986da
rtio_clocking: fix wrong descriptions
2022-03-03 10:24:13 +08:00
spaqin
4a2218641f
fix BorrowMutError in moninj
2022-03-02 15:45:17 +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
b56b50b147
add comment about EXCEPTION_ID_LOOKUP sync
2022-03-01 09:50:28 +08:00
pca006132
f38117774f
runtime/eh_artiq: updated exception IDs
...
Fixes #166
2022-02-28 21:15:07 +08:00
Sebastien Bourdeauducq
880ba6b206
runtime: add nac3 exception symbols
2022-02-23 11:05:08 +08:00
mwojcik
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
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
pca006132
8923feceac
runtime/eh_artiq: use forced unwind
...
This patches ports the LLVM libunwind newly added forced unwinding
function. This enables us to run forced unwinding to obtain correct
backtrace when uncaught exceptions occur.
This patch also changes the exception handling scheme from the standard
two-phase unwinding to single phase using forced unwinding. This brings
some performance improvement and prepared for later nested exception
support. For nested exceptions, we will have to record the backtrace
regardless if the exception is an uncaught exception, as there can be
another exception being thrown while executing the finally block for
caught exceptions, and we will lose the backtrace if we don't store it
earlier before running the cleanup pads.
2022-01-14 13:35:24 +08:00
pca006132
97ca72f7f1
libunwind: enable lto
2022-01-06 14:04:04 +08:00
pca006132
acaf388dbb
eh_artiq: handle catch clauses appropriately
2022-01-06 13:41:47 +08:00
pca006132
8788d6458e
runtime/rpc: fixes alignment and size problem
2022-01-04 18:25:53 +08:00
pca006132
efe315c21d
libdyld: accepts R_ARM_ABS32
...
Somehow this relocation type is emitted by nac3.
According to table 4-9 of ARM ELF ABI and discussion in ld bugzilla
(https://sourceware.org/bugzilla/show_bug.cgi?id=16163 ), this behaves
the same as R_ARM_GLOB_DAT and R_ARM_JUMP_SLOT.
2021-12-30 00:05:47 +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
mwojcik
31fb2b388a
Support for DRTIO 100MHz ( #155 )
...
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2021-12-03 17:19:42 +08:00
mwojcik
e045837b67
zc706: not actually ultrascale
2021-11-29 12:48:45 +08:00
mwojcik
ada3f2e704
drtio: reading still needs work buffer after all
2021-11-29 12:46:08 +08:00
mwojcik
8be5048cd3
upgrade to new clock configuration system ( #152 )
...
As mentioned in https://github.com/m-labs/artiq/issues/1735 - this is the Zynq version.
Reviewed-on: M-Labs/artiq-zynq#152
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2021-11-29 11:17:59 +08:00
mwojcik
e8db2a4b49
drtio: crc from mainline, removed byte swap
2021-11-24 12:12:40 +08:00
mwojcik
0b27349ec4
dummy_spi -> pmod_spi
2021-10-14 16:37:13 +08:00
mwojcik
21eb1cab1a
zc706: added dummy spi in place of sdio
2021-10-14 15:43:51 +08:00
mwojcik
3096daaaee
zc706: removed nist_clock sdcard, put pmod instead
2021-10-14 15:01:38 +08:00
mwojcik
4fbfccf575
zc706: fix nist_qc2 extension, ams101 iostandard
2021-10-14 12:39:09 +08:00
mwojcik
5c40115945
make ZC706 RTIO channels consistent with KC705
...
Reviewed-on: M-Labs/artiq-zynq#147
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2021-10-13 17:20:25 +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
mwojcik
219c075931
added explicit runtime/satman targets for makefile
...
Reviewed-on: M-Labs/artiq-zynq#144
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2021-10-08 21:06:23 +08:00
mwojcik
d04a7decfe
removed simple variants from zc706
2021-10-08 11:07:12 +02:00
mwojcik
0efa83e956
update build scripts for DRTIO
...
Reviewed-on: M-Labs/artiq-zynq#135
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2021-10-08 16:25:13 +08:00
Sebastien Bourdeauducq
4fa824f42b
kasli-soc: remove irrelevant comment
2021-10-08 16:13:17 +08:00
mwojcik
ab0c205dd2
gateware: add DRTIO
...
Reviewed-on: M-Labs/artiq-zynq#140
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2021-10-08 16:12:30 +08:00
mwojcik
8d2bb09149
add satman firmware ( #136 )
...
Reviewed-on: M-Labs/artiq-zynq#136
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2021-10-08 16:04:50 +08:00
mwojcik
aaec0abdf6
fix build/warnings before drtio is fully merged
2021-10-06 16:17:19 +08:00
mwojcik
e241957419
add libbuild_zynq
...
Reviewed-on: M-Labs/artiq-zynq#141
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2021-10-06 16:16:49 +08:00
mwojcik
50262b3f0c
runtime: link_thread -> link_task
2021-10-06 07:59:55 +02:00
mwojcik
827c6c1306
runtime: switch to libio/libboard_artiq, add DRTIO mastering support
...
Reviewed-on: M-Labs/artiq-zynq#137
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2021-10-06 13:05:45 +08:00
mwojcik
e6863263b4
add libboard_artiq (to be shared between runtime and satman)
...
Reviewed-on: M-Labs/artiq-zynq#139
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2021-10-06 13:02:28 +08:00
mwojcik
d7f45d473e
add libio (to be shared between runtime and satman)
...
Reviewed-on: M-Labs/artiq-zynq#138
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2021-10-06 13:01:52 +08:00
pca006132
35250b3f56
libdyld: fixed symbol relocation
...
Note that in libdyld/src/lib.rs #117-118, image pointer is already added
to the symbol offset, so we do not need to add the pointer again
2021-09-25 11:30:45 +08:00