Commit Graph

52 Commits (eb750eb1f0051a58d0cf6f7bce78b47227ca3a9d)

Author SHA1 Message Date
pca006132 eb750eb1f0 Exception handling: patched exception handling for ARTIQ. 2020-07-02 10:13:42 +08:00
pca006132 26ac3194d1 Exception handling: copied eh_artiq from current artiq firmware. 2020-07-02 10:08:16 +08:00
pca006132 0a35f68562 Added libpanic_unwind/dwarf from rustc as libdwarf. 2020-07-02 09:51:47 +08:00
pca006132 6be44c3483 Libunwind: build libunwind with rust bindings 2020-07-02 09:51:44 +08:00
pca006132 9282dcffdb Dyld: provides unwind section for libunwind 2020-07-02 09:50:53 +08:00
pca006132 29dd311c0f Runtime config: fixed warning 2020-06-29 10:05:15 +08:00
Sebastien Bourdeauducq 507edb5a78 make config demo errors non-fatal 2020-06-25 11:27:50 +08:00
Astro 64cdf0ade3 sd_reader: use const for magic numbers 2020-06-18 23:56:32 +02:00
Astro d9bd42389f kernel: flush now write-buffered dcache of image before execution 2020-06-18 20:14:02 +02:00
pca006132 6608c16f46 Config: Renamed ConfigNotFound into KeyNotFoundError. 2020-06-18 12:05:24 +08:00
pca006132 f43ad05be5 Testing for config. 2020-06-18 11:33:52 +08:00
pca006132 a55a6291a4 SD reader: optimized stack and binary size 2020-06-18 11:33:18 +08:00
pca006132 2b1b0dc49f Load PL: simplify logic by using fatfs find_file directly. 2020-06-18 11:32:23 +08:00
pca006132 228c0c813d SD reader: changed from &mut to owning. 2020-06-18 11:31:46 +08:00
pca006132 f7bb339275 Config: implemented config struct. 2020-06-18 11:29:33 +08:00
pca006132 0dc0bb391d
add support for loading bitstream from bootimage. 2020-06-16 17:45:54 +08:00
pca006132 e4b17f9473 Fixed incorrect byte_addr after multiple block read... 2020-06-15 15:12:22 +08:00
Sebastien Bourdeauducq da6bda9a06 add config skeleton 2020-06-13 16:44:54 +08:00
Sebastien Bourdeauducq f52f10abc2 remove unnecessary dereferencing 2020-06-13 16:43:32 +08:00
pca006132 1138db34a2 add SD card FAT filesystem interface 2020-06-13 15:33:28 +08:00
Sebastien Bourdeauducq e77cb5de7e fix comment in previous commit 2020-06-13 15:27:51 +08:00
Astro e6b8bf5481 provide many move __aeabi_* calls 2020-06-11 22:49:52 +02:00
Sebastien Bourdeauducq dc78868109 update dependencies and add fatfs 2020-06-11 17:36:23 +08:00
Sebastien Bourdeauducq 81b8fc8916 implement attribute writeback 2020-06-10 17:01:17 +08:00
Sebastien Bourdeauducq bc81fa2e48 handle recursive RPC return values 2020-06-09 13:03:08 +08:00
Sebastien Bourdeauducq 7387e42306 provide __aeabi_l2d 2020-06-09 12:57:13 +08:00
Sebastien Bourdeauducq b16ec2c6a8 provide mockups for all exception functions 2020-06-09 12:56:58 +08:00
Sebastien Bourdeauducq 12c2d658f3 tune heap/stack sizes 2020-06-09 12:56:18 +08:00
Sebastien Bourdeauducq 4d03ecc187 decode RPC exception 2020-06-08 18:32:44 +08:00
Sebastien Bourdeauducq bdf0831eb2 style 2020-06-08 18:16:38 +08:00
Sebastien Bourdeauducq b1161a0f71 process RPC replies (WIP) 2020-06-08 13:11:09 +08:00
Sebastien Bourdeauducq 06915ec25d rpc: make alloc async 2020-06-07 21:47:36 +08:00
Sebastien Bourdeauducq 7df6ab2149 rpc: use async-recursion 2020-06-07 21:30:33 +08:00
Sebastien Bourdeauducq f0588c49ed rpc: make receive async 2020-06-07 20:24:41 +08:00
Sebastien Bourdeauducq ef4bdbb668 rpc: enable logging 2020-06-07 20:23:43 +08:00
Sebastien Bourdeauducq 4b8bbdc3dc send RPC requests to host 2020-06-07 15:13:20 +08:00
Sebastien Bourdeauducq 1f23a1b86c enable FPU on Core1 2020-06-07 15:12:34 +08:00
Sebastien Bourdeauducq ed21457f28 replace libio with core_io
* based on https://github.com/jethrogb/rust-core_io but could not get the packaging scripts to work
  and the repos is unmaintained anyway, so just copied the result
* more features and more up-to-date
* compatible with the fatfs crate
2020-06-05 17:14:36 +08:00
Sebastien Bourdeauducq a915ed172a send RPC requests to comms CPU, handle kernel termination 2020-06-05 11:48:34 +08:00
Sebastien Bourdeauducq 8e68e65ca7 remove dead code 2020-06-05 11:47:36 +08:00
Sebastien Bourdeauducq d65df2f454 rpc: revert to libio
* Recursive async fns in Rust are a mess and not usable.
* When doing ARTIQ async RPCs, it is simpler to encode the buffer on the kernel CPU and pass that to the comms CPU,
  instead of tracking when kernel CPU memory with the RPC values can be freed.
2020-06-03 11:17:49 +08:00
Sebastien Bourdeauducq 9c0cf7e84c remove unneeded import 2020-06-03 11:17:37 +08:00
Sebastien Bourdeauducq 6454f994af add libio from ARTIQ 2020-06-03 11:17:28 +08:00
Sebastien Bourdeauducq cb24b82e68 rpc: strings 2020-06-01 18:21:04 +08:00
Sebastien Bourdeauducq 7aa9a95c21 add RPC protocol module (WIP) 2020-06-01 18:02:21 +08:00
Sebastien Bourdeauducq 4464b85ab3 move build artifacts out of tree 2020-05-07 13:52:40 +08:00
Sebastien Bourdeauducq 47261a1d84 update comment/message 2020-05-07 12:43:53 +08:00
Sebastien Bourdeauducq 90faeb6fa2 use new core1 startup mechanism 2020-05-06 22:16:34 +08:00
Sebastien Bourdeauducq 198985cd6d runtime: check PL DONE 2020-05-04 22:27:15 +08:00
Sebastien Bourdeauducq b7695d9313 typo 2020-05-02 11:50:29 +08:00