Commit Graph

221 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq 0cd74533ca runtime: more explicit message about startup clock failure 2015-07-28 00:38:38 +08:00
Sebastien Bourdeauducq 7feaca7c7c runtime: allow selecting external clock at startup 2015-07-28 00:19:07 +08:00
Sebastien Bourdeauducq 09d837e4ba runtime: monitor RTIO clock status 2015-07-28 00:05:24 +08:00
Sebastien Bourdeauducq fe57308e71 runtime: support for RTIO PLL 2015-07-27 20:11:31 +08:00
whitequark 244ace19e1 Add artiq_raise_from_c macro. 2015-07-27 13:56:18 +03:00
whitequark edffb40ef2 On uncaught exception, execute finally clauses and collect backtrace. 2015-07-27 13:51:24 +03:00
whitequark 2939d4f0f3 Add tests for finally clause and reraising. 2015-07-27 12:36:21 +03:00
whitequark a83e7e2248 Add tests for exceptional control flow. 2015-07-27 10:22:28 +03:00
whitequark 7c77dd317a Implement __artiq_personality. 2015-07-27 09:10:20 +03:00
Sebastien Bourdeauducq 117b361a06 Merge branch 'master' of github.com:m-labs/artiq 2015-07-27 11:42:29 +08:00
Sebastien Bourdeauducq d3f05e414a runtime: account for RTIO_FINE_TS_WIDTH in time buffers 2015-07-27 10:50:25 +08:00
whitequark bb5fe60137 Implement exception raising. 2015-07-27 05:46:43 +03:00
whitequark 14c7b15785 Add a test harness for exceptions.
The libunwind.h is duplicated here so that it would be possible
to test the Python parts without pulling in misoc.
2015-07-27 04:18:12 +03:00
whitequark 1d9f40833d Update ldscripts with -fPIC support. 2015-07-26 16:16:48 +03:00
Sebastien Bourdeauducq aba2d3f112 runtime: process essential kernel CPU messages at all time 2015-07-25 16:26:04 +08:00
Sebastien Bourdeauducq 34aacd3c5f complete AD9914 support (no programmable modulus, untested) 2015-07-08 17:22:43 +02:00
Sebastien Bourdeauducq 8a33d8c868 never stop RTIO counter 2015-07-07 15:29:38 +02:00
Sebastien Bourdeauducq d20fb5abb2 remove workaround 2015-07-07 13:46:14 +02:00
Sebastien Bourdeauducq 753d61b38f complete support for TTL clock generator 2015-07-04 18:36:01 +02:00
Sebastien Bourdeauducq 944bfafefa soc: support QC2 and AD9914 (untested) 2015-06-28 21:37:27 +02:00
Sebastien Bourdeauducq b6310b72db runtime: fix log formatting 2015-06-28 17:29:52 +02:00
Sebastien Bourdeauducq 8b5b219a18 runtime: provide fixdfdi 2015-06-27 23:51:48 +02:00
Sebastien Bourdeauducq 3bd7f11737 update lwip 2015-06-27 22:48:41 +02:00
Sebastien Bourdeauducq 2d475e146b runtime/flash_storage: use log not printf 2015-06-27 22:47:36 +02:00
Sebastien Bourdeauducq 87ea1433d3 dds: all working 2015-06-20 18:42:39 -06:00
Sebastien Bourdeauducq 5a9bdb2e33 DDS monitoring 2015-06-19 15:30:17 -06:00
Sebastien Bourdeauducq 03fe71228b dds: phase computation fixes 2015-06-19 11:01:43 -06:00
Florent Kermarrec 449964cce8 runtime/mailbox: remove flush of L2 cache (L2 cache is now shared between CPUs) 2015-06-18 12:18:45 +02:00
Sebastien Bourdeauducq b2af0f6cc3 soc,runtime: support TTL override 2015-06-09 19:51:02 +08:00
Sebastien Bourdeauducq 37c7ea31c3 gui: TTL override support 2015-06-06 00:03:30 +08:00
Sebastien Bourdeauducq a2ae5e4706 runtime: report TTL status over UDP 2015-06-03 18:26:19 +08:00
Sebastien Bourdeauducq 59b339462c Merge branch 'master' of github.com:m-labs/artiq 2015-06-02 17:45:16 +08:00
Sebastien Bourdeauducq b81151eb42 soc: rtio monitor 2015-06-02 17:41:40 +08:00
Yann Sionneau ed95038681 flash_storage: remove useless parentheses 2015-05-29 11:11:29 +02:00
Yann Sionneau 575dfade38 flash_storage comm: use OK/ERROR replies instead of specific FLASH_WRITE_REPLY 2015-05-29 11:10:40 +02:00
Yann Sionneau c32133b815 flash_storage: avoid crash if a record size gets corrupted to be less than 6 2015-05-27 12:56:21 +02:00
Yann Sionneau 4bf7875b87 flash_storage: refactor + unit tests + artiq_coreconfig.py CLI + doc 2015-05-27 18:06:12 +08:00
Sebastien Bourdeauducq 6c35d066fc runtime: add missing include 2015-05-21 12:00:48 +08:00
Sebastien Bourdeauducq 0ca42dbdbe runtime/dds: send one FUD per command in a batch, compensate POW 2015-05-09 17:26:36 +08:00
Sebastien Bourdeauducq ce4b5739ed runtime: reset all DDSes upon startup 2015-05-09 17:12:38 +08:00
Sebastien Bourdeauducq b22b8b661b runtime: fix rtio channel selection in dds batch 2015-05-08 22:09:08 +08:00
Sebastien Bourdeauducq 55f2fef576 runtime: support DDS batches 2015-05-08 16:51:54 +08:00
Sebastien Bourdeauducq 53c6339307 runtime: break ttl-specific functions from rtio 2015-05-08 16:20:12 +08:00
Sebastien Bourdeauducq a36c51eb83 DDS over RTIO (batch mode not supported yet) 2015-05-08 14:44:39 +08:00
Sebastien Bourdeauducq 4048568d8e support kernel handover with coherent time 2015-05-02 23:41:49 +08:00
Sebastien Bourdeauducq d8fdac6f86 runtime/bridge: factor rtio_init 2015-05-02 12:27:15 +08:00
Sebastien Bourdeauducq 050db0b0f5 runtime: support platforms without flash 2015-05-02 12:20:20 +08:00
Sebastien Bourdeauducq 8fe5c7ac01 runtime/test_mode: support setting O and OE separately 2015-05-02 12:16:09 +08:00
Sebastien Bourdeauducq a61d701d47 rtio: decouple PHY reset from logic reset 2015-05-02 11:47:11 +08:00
Sebastien Bourdeauducq 4d31194343 runtime: load idle kernel from flash storage 2015-05-01 13:49:26 +08:00
Sebastien Bourdeauducq d3753c9643 runtime: get IP and MAC from flash storage 2015-05-01 12:34:47 +08:00
Sebastien Bourdeauducq 56c85dd2cb style 2015-04-30 20:03:29 +08:00
Sebastien Bourdeauducq 87ae250baa runtime: validate pointers received from kernel CPU 2015-04-30 10:52:50 +08:00
Sebastien Bourdeauducq 967145f2dc watchdog support on core device (broken by bug similar to issue #19) 2015-04-29 12:58:37 +08:00
Sebastien Bourdeauducq f60868f084 runtime/kloader: clear kernel-CPU mailbox on stop to avoid fake spurious messages 2015-04-29 12:57:09 +08:00
Sebastien Bourdeauducq 37ac6c4542 runtime: [HACK] workaround for intermittent RPC crashes 2015-04-28 17:15:39 +08:00
Sebastien Bourdeauducq 1ce41d567c runtime/mailbox: fix mailbox_acknowledged for first message 2015-04-28 16:51:55 +08:00
Sebastien Bourdeauducq 53055a045d test_mode: flash storage access 2015-04-28 13:01:54 +08:00
Sebastien Bourdeauducq 9fceae7515 runtime/session: simplify buffer management 2015-04-28 13:01:22 +08:00
Sebastien Bourdeauducq 9b62e7e77b runtime,coredevice: support session reset for serial 2015-04-28 02:11:58 +08:00
Sebastien Bourdeauducq 8a19766278 runtime,comm_generic: improve and fix list encoding 2015-04-28 01:31:55 +08:00
Sebastien Bourdeauducq 86c012924e targets: rename AMP->Top, merge peripherals 2015-04-28 00:18:54 +08:00
Sebastien Bourdeauducq 938e1c2842 Remove UP support.
The only advantage of UP is to support the Papilio Pro, but that port is also very limited in other ways and the Pipistrello provides a more reasonable platform that also supports AMP.

On the other hand, RPCs on UP are difficult to implement with the session.c protocol system (without an operating system or coroutines), along with many other minor difficulties and maintainance issues. Planned features such as watchdogs in the core device are also difficult on UP.
2015-04-27 20:43:45 +08:00
Sebastien Bourdeauducq 1ca49787b4 runtime: update lwip 2015-04-27 20:34:34 +08:00
Sebastien Bourdeauducq bd7a031466 flash_storage: cleanup and compile 2015-04-27 17:48:31 +08:00
Yann Sionneau 13119eb9ee flash_storage: add key-value flash storage support 2015-04-27 11:39:19 +08:00
Sebastien Bourdeauducq 110f7bce64 runtime: saner lwipopts 2015-04-25 18:58:45 +08:00
Sebastien Bourdeauducq 8f5f428c0b runtime/main: fix sys_now 2015-04-24 18:30:27 +08:00
Sebastien Bourdeauducq 934a6b0495 runtime,coredevice: Ethernet support (buggy) 2015-04-23 23:22:40 +08:00
Sebastien Bourdeauducq 1968304b4f runtime: upgrade lwip (fixes zero-copy tcp_write) 2015-04-23 19:13:09 +08:00
Sebastien Bourdeauducq d99976dc37 runtime/elf_loader: add alignment comment 2015-04-23 19:06:23 +08:00
Sebastien Bourdeauducq 459da723d3 liblwip/netif/liteethif: follow lwip doc recommendations regarding end of pbuf chain detection 2015-04-23 17:21:42 +08:00
Sebastien Bourdeauducq 7290013671 liblwip/netif/liteethif: fix buffer pointer arithmetic 2015-04-23 17:18:03 +08:00
Sebastien Bourdeauducq 6a80944c3f runtime: increase packet buffer size 2015-04-22 15:01:58 +08:00
Sebastien Bourdeauducq e4251c7f41 runtime: get lwip to run 2015-04-22 15:01:32 +08:00
Sebastien Bourdeauducq d5d49e73d2 runtime: fix user_kernel_state on UP 2015-04-22 11:41:54 +08:00
Sebastien Bourdeauducq 18106cc014 comm: refactor to support lwip event model 2015-04-22 01:31:31 +08:00
Sebastien Bourdeauducq 904bcd247f runtime: only build liteethif if Ethernet core present 2015-04-18 22:25:27 +08:00
Sebastien Bourdeauducq b972abd142 runtime: fix test mode on UP 2015-04-18 15:30:46 +08:00
Sebastien Bourdeauducq 4c6387929b runtime: link against lwip, cleanups 2015-04-17 16:38:46 +08:00
Sebastien Bourdeauducq 91cd79a8a3 soc/runtime: add lwip (thanks Florent) 2015-04-17 14:51:30 +08:00
Sebastien Bourdeauducq 6a5f58e5a9 runtime: support test mode on AMP 2015-04-16 21:47:05 +08:00
Sebastien Bourdeauducq 546996f896 coredevice,runtime: put ref_period into the ddb 2015-04-16 15:15:38 +08:00
Robert Jördens a5ea40478c runtime/Makefile: use printf instead of non-portable echo -e 2015-04-15 21:13:20 -06:00
Florent Kermarrec fd2def4951 generate MAILBOX_BASE with SoC and use it in runtime
to avoid possible future mismatches between SoC/runtime, constants that can be easily generated from SoC should be defined this way.
2015-04-15 20:40:28 +08:00
Sebastien Bourdeauducq c1f9fc2ae4 runtime: update mailbox address 2015-04-15 14:11:12 +08:00
Sebastien Bourdeauducq 9cfe00e23e runtime: keep .bin 2015-04-15 14:05:34 +08:00
Sebastien Bourdeauducq ffe4ee9137 runtime: build flash image by default 2015-04-15 12:43:15 +08:00
Robert Jördens a336c95d0a runtime/Makefile: work around echo vs bin/echo 2015-04-14 21:26:49 -06:00
Sebastien Bourdeauducq 4c10182c9f rtio: refactor, use rtlink 2015-04-14 19:44:45 +08:00
Florent Kermarrec 24b2bd7b6f soc/targets: use mem_map, fix addressing conflict on UP between ethernet and dds 2015-04-11 21:32:11 +08:00
Sebastien Bourdeauducq cb2596bd81 coredevice/comm: split protocol to allow reuse for Ethernet 2015-04-10 00:59:35 +08:00
Sebastien Bourdeauducq 44304a33b2 soc,runtime: define RTIO FUD channel number in targets 2015-04-09 00:35:11 +08:00
Sebastien Bourdeauducq 5538ad5c70 runtime: support RPC exceptions on AMP 2015-04-06 22:28:10 +08:00
Sebastien Bourdeauducq 45bb9d8840 runtime: support RPC and log on AMP 2015-04-06 19:40:12 +08:00
Sebastien Bourdeauducq f26c53cb35 runtime: use KERNELCPU_PAYLOAD_ADDRESS on UP 2015-04-05 22:16:51 +08:00
Sebastien Bourdeauducq 0c62f0f69c runtime: remove generated service_table.h 2015-04-05 22:08:20 +08:00
Sebastien Bourdeauducq 72f9f7ed79 runtime: implement mailbox, use it for kernel startup, exceptions and termination 2015-04-05 22:07:34 +08:00
Sebastien Bourdeauducq 1bca614d11 runtime: use UP/AMP terminology 2015-04-05 17:55:05 +08:00
Sebastien Bourdeauducq cbdc1ba46f runtime: biprocessor support (incomplete, WIP) 2015-04-04 22:08:32 +08:00