Commit Graph

221 Commits

Author SHA1 Message Date
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
Sebastien Bourdeauducq 21a0919ddc runtime: load support code into kernel CPU 2015-04-03 17:44:56 +08:00
Sebastien Bourdeauducq c6d3750076 runtime,amp: set kernel memory start to SDRAM+128K, use custom linker file to split memory 2015-04-03 16:03:38 +08:00
Sebastien Bourdeauducq f124350555 runtime: disable kernel-CPU functions when kernel-CPU not present 2015-04-02 17:00:59 +08:00
Sebastien Bourdeauducq 4b66e3108a runtime: demonstrate basic inter-CPU communication 2015-04-02 16:54:08 +08:00
Sebastien Bourdeauducq 7a1d60ee15 coredevice,runtime,language: add parameters to runtime exceptions, include information with RTIO errors 2015-03-13 14:55:18 +01:00
Sebastien Bourdeauducq 0416da8634 runtime/test: implement ttlout, clksel and dds functions 2015-03-12 13:14:06 +01:00
Sebastien Bourdeauducq d38014b07d soc/runtime: import DDS/TTL tester (functions not accessible yet) 2015-03-11 22:02:19 +01:00
Sebastien Bourdeauducq 15d09c0b94 runtime: use new uart tuning word function 2015-03-02 23:36:05 +00:00
Sebastien Bourdeauducq f7232fd3d1 support exceptions raised by RPCs 2014-12-20 21:33:22 +08:00
Sebastien Bourdeauducq 0d10ae7580 rpc: support all data types as parameters 2014-12-19 12:46:24 +08:00
Sebastien Bourdeauducq 059608d1fd dds: fix phase modes 2014-12-09 13:50:33 +08:00
Sebastien Bourdeauducq fc690ead75 runtime: support clock switching 2014-12-02 14:06:32 +08:00
Sebastien Bourdeauducq 94218f785e comm_serial: cleanup 2014-12-02 11:09:02 +08:00
Yann Sionneau 20adb57140 comm_serial: allow to use dynamic baudrate 2014-12-02 10:42:14 +08:00
Sebastien Bourdeauducq cd587e4f12 rtio: do housekeeping in gateware 2014-12-01 17:32:36 +08:00
Sebastien Bourdeauducq 99d530e498 targets/ARTIQMiniSoC: remove 2 TTL channels to make room in FPGA 2014-12-01 17:31:35 +08:00
Sebastien Bourdeauducq 50e0bf3280 rtio: optimize flag handling 2014-12-01 14:29:50 +08:00
Sebastien Bourdeauducq 1f6441948d more TTL channels and larger input FIFOs on Papilio Pro 2014-11-30 15:50:57 +08:00
Sebastien Bourdeauducq 901073acf3 asynchronous RTIO 2014-11-30 00:13:54 +08:00
Sebastien Bourdeauducq dfd779c7c5 core: add underflow recovery function 2014-11-20 12:38:52 -08:00
Sebastien Bourdeauducq 1780759327 dds: phase control (mostly untested) 2014-11-20 12:32:56 -08:00
Sebastien Bourdeauducq 17f5a31320 runtime/dds: fix reset glitches 2014-11-15 11:23:23 -07:00
Sebastien Bourdeauducq 5105b88302 rtio: raise input overflow exception 2014-10-21 23:41:02 +08:00
Sebastien Bourdeauducq 9a14081031 rtio: add pileup count reporting 2014-10-21 23:14:01 +08:00
Sebastien Bourdeauducq 61a50ee53c reorganize for devices/controllers 2014-10-19 23:51:49 +08:00
Sebastien Bourdeauducq 0c9632d71b runtime/exception_raise: never return 2014-10-15 16:11:28 +08:00
Sebastien Bourdeauducq d22c30650d rtio: add timestamp function 2014-10-14 15:54:10 +08:00
Sebastien Bourdeauducq 7d48ef263a soc/runtime: fix RTIO sequence error detection on FUD 2014-10-14 12:47:04 +08:00
Sebastien Bourdeauducq 1c24a5971b rtio: error recovery 2014-10-10 20:12:22 +08:00
Sebastien Bourdeauducq 53b259b9a0 soc/runtime/dds: fix FUD sequence error detection 2014-10-05 10:34:32 +08:00
Sebastien Bourdeauducq 5d8c53abb3 soc/runtime/exceptions: do not crash when exception is raised with no handler 2014-10-05 10:33:27 +08:00
Sebastien Bourdeauducq 76fed11d59 rtio: raise RTIOSequenceError exceptions when events are not submitted in-order 2014-09-30 19:32:11 +08:00
Sebastien Bourdeauducq e263b63527 soc/runtime: raise underflow exception for replace and DDS FUD operations 2014-09-26 17:24:45 +08:00
Sebastien Bourdeauducq af0cd902d3 get frequency from RTIO, support fractional frequencies 2014-09-26 17:24:06 +08:00
Sebastien Bourdeauducq f4d6bfc094 soc/runtime: raise exception on RTIO underflow 2014-09-25 12:55:50 +08:00
Sebastien Bourdeauducq 378ca64193 soc/runtime/exception: fix eid bug 2014-09-25 12:55:22 +08:00
Sebastien Bourdeauducq 1b81fc8a8f soc/runtime: cleanup/simplify exception_longjmp 2014-09-24 00:00:10 +08:00
Sebastien Bourdeauducq af15f45bb9 runtime: do not use buggy llvm.eh.sjlj.* intrinsics 2014-09-23 22:09:08 +08:00
Sebastien Bourdeauducq 0a02d9fb78 soc/runtime: add levels to exception_pop 2014-09-23 16:22:32 +08:00
Sebastien Bourdeauducq ec7a92983d soc/runtime: provide exception handling services 2014-09-22 13:19:26 +08:00
Sebastien Bourdeauducq b37ceb328f soc/runtime: fix use of setjmp 2014-09-22 13:18:48 +08:00
Sebastien Bourdeauducq 3de24619b2 corecom: exception support 2014-09-21 23:36:10 +08:00
Sebastien Bourdeauducq 0c9f05dc80 soc/runtime: add exception management functions 2014-09-21 23:32:14 +08:00
Sebastien Bourdeauducq d52d641dcd soc/runtime/services: add alternative names for comparedf2 routines 2014-09-18 09:36:06 +08:00
Sebastien Bourdeauducq 040fa0e02a runtime: blink LED at startup 2014-09-15 22:56:23 +08:00
Sebastien Bourdeauducq 11d8840277 runtime: new serial protocol, support multiple entry points and log messages 2014-09-15 22:40:33 +08:00
Sebastien Bourdeauducq f529361c8b runtime: add rtio_oe and rtio_get syscalls 2014-09-14 23:30:33 +08:00
Sebastien Bourdeauducq 6861d28d2d runtime: support arbitrarily long initial DDS setup time 2014-09-12 15:40:34 +08:00
Sebastien Bourdeauducq 16b2d9f177 runtime: support real-time FUD 2014-09-12 15:34:11 +08:00
Sebastien Bourdeauducq 10d796e026 runtime: add rtio_replace syscall 2014-09-11 23:14:45 +08:00
Sebastien Bourdeauducq 800096f9a0 soc/runtime: fix DDS reset 2014-09-11 19:25:55 +08:00
Sebastien Bourdeauducq 3d8159ceb5 soc/runtime: find ELF entry point
This allows multiple functions to be defined, with the main one not necessarily starting at 0.
2014-09-07 17:30:35 +08:00
Sebastien Bourdeauducq 15dcf3351b py2llvm: move GCD function into LLVM IR 2014-09-07 14:46:32 +08:00
Sebastien Bourdeauducq 66af70bfe0 soc/runtime: resolve compiler_rt symbols in kernel 2014-09-05 17:50:24 +08:00
Sebastien Bourdeauducq 4915b4b5aa PEP8 2014-09-05 12:03:22 +08:00
Sebastien Bourdeauducq a579b105b6 soc/runtime: split main.c, add gcd64 2014-08-28 16:56:48 +08:00
Sebastien Bourdeauducq 7a90f4f4ec runtime: start RTIO counter at first rtio_set 2014-08-18 23:46:58 +08:00
Sebastien Bourdeauducq 7d8dc4ef30 runtime: support 64-bit RTIO timestamps 2014-08-18 23:41:54 +08:00
Sebastien Bourdeauducq f390e9a7d1 corecom_serial: add CRC for kernel 2014-07-23 19:12:22 -06:00
Sebastien Bourdeauducq 06cc9302f8 soc/runtime: fix DDS programming 2014-07-23 17:10:49 -06:00
Sebastien Bourdeauducq ba088614d8 runtime: add dds_program 2014-07-23 11:49:48 -06:00
Sebastien Bourdeauducq dec7c1438f runtime: implement rtio_sync syscall 2014-07-22 11:36:54 -06:00
Sebastien Bourdeauducq 5573cf3688 soc: add tester IO 2014-07-22 10:45:59 -06:00
Sebastien Bourdeauducq 043c4345e5 soc/runtime: add RTIO support 2014-07-20 18:28:56 -06:00
Sebastien Bourdeauducq 17fab6f024 corecom_serial: support ident and runtime environment creation 2014-07-15 11:21:31 -06:00
Sebastien Bourdeauducq bb4a992907 runtime: implement RPC syscall 2014-07-07 19:13:43 +02:00
Sebastien Bourdeauducq a03a60b90e Variadic function demo 2014-07-06 21:06:53 +02:00
Sebastien Bourdeauducq 5570d45acb runtime: run kernel just once 2014-07-05 22:47:23 +02:00
Sebastien Bourdeauducq 301b7d51fa add gpio_out syscall 2014-07-05 22:46:43 +02:00
Sebastien Bourdeauducq a08c6d4410 runtime: support regular function calls from the kernel 2014-07-05 19:39:49 +02:00
Sebastien Bourdeauducq 6072f0c42f Basic SoC and runtime design 2014-07-04 17:49:08 +02:00