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