Commit Graph

180 Commits

Author SHA1 Message Date
whitequark
49ba8aec18 Rust: implement a basic scheduler. 2016-08-30 11:20:04 +00:00
whitequark
58efaad5c6 Merge branch 'rust' 2016-08-17 11:49:55 +00:00
whitequark
4c6cad2977 Add a Rust component in the runtime. 2016-08-17 09:07:19 +00:00
538d3e8a85 runtime/dds: disable dds_init_sync completely for non-9914 2016-08-17 00:23:58 +08:00
whitequark
283fc904ec runtime: follow rename of compiler_rt to compiler-rt in misoc. 2016-08-16 06:58:08 +00:00
raghu
c4d17138a1 added sync for AD9914 2016-08-15 17:44:27 +08:00
b5e52e9870 runtime: fix unused variable warning 2016-07-28 09:01:21 +08:00
92338026f6 runtime: RTIO_DDS_COUNT -> CONFIG_RTIO_DDS_COUNT 2016-07-27 21:16:19 +08:00
78366ed9db runtime: add missing include 2016-07-27 20:22:59 +08:00
f1d8848bb1 runtime: support boards without DDS 2016-07-27 19:20:49 +08:00
8fab789e39 runtime: support RTIO configurations without address (e.g. all simple TTL out) 2016-07-27 19:20:13 +08:00
7928ee4a6e runtime: support boards without RTIO CRG 2016-07-27 19:18:14 +08:00
a89f96e24b runtime: support boards without LEDS 2016-07-27 19:16:55 +08:00
whitequark
c7a5ec9e61 runtime: update ppp code for lwip 2.0.0.
Fixes #499.
2016-07-08 09:27:15 +00:00
whitequark
653eeb476f runtime: fix serialization of object lists.
Fixes #500.
2016-07-07 12:40:50 +00:00
whitequark
933ea53c77 compiler: add basic numpy array support (#424). 2016-07-06 09:51:57 +00:00
c8dc6ca07c inter-experiment smooth handover 2016-06-29 02:37:50 +08:00
ef8f60c78d Revert "runtime: save now on RPC"
This reverts commit 155794a671.
2016-06-29 02:37:50 +08:00
whitequark
5c54a6a0e9 Upgrade lwip to 2.0.0 to fix the keepalive bug #456. 2016-06-21 14:47:19 +00:00
whitequark
cae6e8639e Revert "runtime: disable lwip TCP keepalive."
This reverts commit 0db6ef0e1c.
2016-06-21 09:45:53 +00:00
whitequark
0db6ef0e1c runtime: disable lwip TCP keepalive.
This sometimes results in an RST sent by lwip after a retransmission,
although it is not clear exactly why. See #456.
2016-06-20 18:55:29 +00:00
155794a671 runtime: save now on RPC 2016-06-19 19:29:46 +08:00
0acc52d513 runtime: minor cleanup 2016-06-19 19:26:30 +08:00
8e308481c1 runtime: save now when terminating with exception 2016-06-19 19:07:09 +08:00
2ae20fbc4d runtime: cleanup now_init/now_save 2016-06-19 19:06:32 +08:00
2b447055e5 lwip/liteethif: cleanup, drop frames above MTU (#398) 2016-05-07 17:42:22 +08:00
ff721ff136 Revert "lwip: set MTU to 9000 to support jumbo frames"
This reverts commit dbbd11d798.

Breaks more than it fixes.
2016-04-30 08:20:47 +02:00
dbbd11d798 lwip: set MTU to 9000 to support jumbo frames 2016-04-30 00:30:24 +08:00
whitequark
1464bae6b7 compiler: don't typecheck RPCs except for return type.
Fixes #260.
2016-04-26 01:12:36 +00:00
whitequark
bb064c67a9 runtime: add kernel-accessible sqrt.
Fixes #382.
2016-04-06 23:17:42 +00:00
3c9e4074d5 runtime: fix ddstest help (#365) 2016-03-31 10:27:18 +08:00
whitequark
ca7463a054 compiler: do not write back kernel constant attributes.
Fixes #322.
2016-03-28 00:05:57 +00:00
b190581102 Revert "runtime/i2c: more conservative timings"
This reverts commit 799c2c77c4.
2016-03-25 14:55:40 +08:00
799c2c77c4 runtime/i2c: more conservative timings 2016-03-23 12:54:19 +08:00
ffe4d81f3e runtime/net_server: restore connection close behavior when len<0 2016-03-19 22:46:42 +08:00
fc558bcd27 analyzer: adapt analyzer_poll to new network code 2016-03-19 22:08:08 +08:00
641831e0e1 dds: improve error reporting 2016-03-19 12:15:19 +08:00
whitequark
501de30626 Report watchdog expiration and RTIO clock failure as exceptions.
Fixes #316.
2016-03-18 22:29:53 +00:00
whitequark
dbc0a89903 dds.c: turn off batch mode before an underflow can be raised.
Fixes #334.
2016-03-18 05:00:05 +00:00
whitequark
f4ab507ab2 Bring back target print function. 2016-03-18 04:42:06 +00:00
8a6873cab2 analyzer: use EOP, flush pipeline on stop 2016-03-15 17:49:59 +08:00
349a66124b Merge branch 'master' into rtiobusy
* master:
  coredevice: fix _DDSGeneric __init__ args
  rtio/core: fix syntax
  rtio: disable replace on rt2wb channels
  examples: dds_bus -> core_dds
  fix more multi-DDS-bus problems
  runtime: fix dds declarations
  support for multiple DDS buses (untested)
2016-03-09 17:58:58 +01:00
bf188d05bf rtio: cleanup RTIOBusy message 2016-03-09 13:42:32 +01:00
db5231216d rtio: remove unused include 2016-03-09 13:42:15 +01:00
861c4a9ae5 fix more multi-DDS-bus problems 2016-03-09 19:03:05 +08:00
de37487a5c runtime: fix dds declarations 2016-03-09 18:27:51 +08:00
f0b0b1bac7 support for multiple DDS buses (untested) 2016-03-09 17:12:50 +08:00
2cb58592ff rtio: add RTIOBusy 2016-03-08 18:04:34 +01:00
71105fd0d7 rtio: collision_error -> collision 2016-03-08 15:38:35 +08:00
whitequark
739568fcb8 runtime: fix sloppy memory management in cache_put. 2016-03-07 21:12:03 +00:00
125ab3e076 runtime/i2c_read: fix MSB 2016-03-05 19:00:14 +08:00
6b8efd10fd runtime/i2c: fix artiq_raise_from_c invokation 2016-03-05 00:19:08 +08:00
ff4a46c278 runtime/i2c: make syscalls more ARTIQ-Python-friendly 2016-03-05 00:16:23 +08:00
c2fcefc31f runtime/rtio: cleanup include 2016-03-03 19:48:06 +08:00
423ca03f3b runtime: bit-banged i2c support (untested) 2016-03-03 17:46:42 +08:00
5ba753425d runtime/rtio: rtio_process_exceptional_status() has only one user 2016-03-01 21:38:51 +01:00
f30dc4b39e runtime: rt2wb_input -> rtio_input_data 2016-03-01 19:22:42 +01:00
81b35be574 bridge: really fix O/OE 2016-03-01 18:49:04 +01:00
135643e3a6 runtime: define constants for ttl addresses 2016-03-01 18:22:42 +01:00
6f9656dcbe bridge: fix ttl o/oe addresses 2016-03-01 18:19:06 +01:00
8adef12781 runtime: refactor ttl*()
* remove rt2wb_output
* remove ttl_*() ttl.c ttl.h
* use rtio_output() and rtio_input_timestamp()
* adapt coredevice/compiler layer
* adapt bridge to not artiq_raise_from_c()
2016-03-01 16:36:59 +01:00
aa10791ddf rtio: rm rtio_write_and_process_status 2016-03-01 15:40:35 +01:00
324660ab40 rt2wb, exceptions: remove RTIOTimeout
Assume that rt2wb transactions either collide and are then
reported (https://github.com/m-labs/artiq/issues/308) or that
they complete and the delay with which they complete does not matter.

If a transaction is ack'ed with a delay because the WB core's downstream
logic is busy, that may lead to a later collision with another WB
transaction.
2016-03-01 14:44:07 +01:00
7d7a710a56 runtime/rt2wb: use input/output terminology and add (async) input 2016-03-01 00:35:56 +01:00
7ab7f7d75d Merge branch 'master' into spimaster
* master:
  artiq_flash: use term 'gateware'
  targets/kc705-nist_clock: add clock generator on LA32 for testing purposes
  doc: insist that output() must be called on TTLInOut. Closes #297
  doc: update install instructions
  coredevice: do not give up on UTF-8 errors in log. Closes #300
  use m-labs setup for defaults
  fix indentation
2016-02-29 20:47:52 +01:00
6c899e6ba6 runtime/rtio: fix rtio_input_wait(), add RTIOTimeout 2016-02-29 19:49:15 +01:00
ecedbbef4c runtime/ttl: use rtio_output and rtio_input_wait 2016-02-29 19:20:07 +01:00
5dae9f8aa8 runtime: refactor rt2wb/dds 2016-02-29 19:16:29 +01:00
d3c94827eb runtime/ttl: simplify ttl_get() a bit 2016-02-29 17:58:54 +01:00
6903a1d88a runtime/rt2wb: accurate exception strings 2016-02-29 14:56:04 +01:00
572c49f475 use m-labs setup for defaults 2016-02-29 21:35:23 +08:00
df7d15d1fe runtime: refactor spi into rt2wb 2016-02-29 13:54:36 +01:00
aeae565d35 runtime/spi: don't apply channel offset 2016-02-29 11:53:36 +01:00
ad34927b0a spi: RTIO_SPI_CHANNEL -> RTIO_FIRST_SPI_CHANNEL 2016-02-29 11:35:49 +01:00
d63a63531a spi: add runtime support 2016-02-29 00:38:36 +01:00
whitequark
a1dd909bc4 Take alignment into account during attribute writeback (fixes #293). 2016-02-25 01:44:05 +00:00
649f3b9094 Revert "Add workaround for analyzer core bug (#206)."
This reverts commit e94a9236aa.
2016-02-15 09:57:23 +01:00
whitequark
e94a9236aa Add workaround for analyzer core bug (#206). 2016-02-15 03:56:56 +00:00
whitequark
74a75841f6 Add rtio_log() and make print() an RPC (#206). 2016-02-15 03:56:56 +00:00
whitequark
b9448c069a Make rtio_log() accept variable number of arguments. 2016-02-15 03:56:56 +00:00
whitequark
cd7f12e4b1 Remove lognonl(); rename log() to core_log() to avoid math.h conflict.
Also, make core_log() exactly equivalent to printf(), since the lack
of a drop-in universally usable printf() equivalent annoys me.

Note that this breaks compiled experiments. They'll be fixed in
the following commits.
2016-02-15 03:56:56 +00:00
10d78a5d0b flash: grow runtime limit to 512 kB 2016-01-30 14:50:15 -07:00
e92d52314b flash storage: move to flash + 0x70000
This requires recompiling and flashing the runtime and the entire
storage area file system (ip address and idle kernel).

* with ppp the runtime is larger than 0x40000 now
* 0x60000 for the runtime should give enough space for a while,
  even including a fatter scheduler or runtime components
  in other languages
* for both pipistrello and kc705 this leaves the unused space
  starting at a nice round number
* the relevant flashes nowadays are 0x1000000 large
2016-01-28 18:08:30 -07:00
0079aa4037 runtime/main: style, wording, 1s ppp holdoff 2016-01-25 13:38:58 -07:00
2bc2cd0064 ppp: remove unneeded objects 2016-01-18 21:26:36 -07:00
1adeeabbed ppp: wait for connection 2016-01-18 21:04:51 -07:00
dc709a77b8 PPP support (TCP broken) 2016-01-18 20:09:10 -07:00
whitequark
e2910fba99 runtime: define NDEBUG to disable debug mode of __artiq_personality.
There shouldn't be any bugs left and all the printing it does slows
exception handling considerably.
2016-01-19 01:52:57 +00:00
whitequark
5c6b1517d0 Rigorously treat builtin core device exceptions. 2016-01-19 01:45:25 +00:00
53b06a0b9b RTIOUnderflow: show slack 2016-01-18 17:28:37 -07:00
15039e1d74 runtime/dds: DDS_ONEHOT_SEL -> CONFIG_DDS_ONEHOT_SEL 2016-01-15 09:32:17 -07:00
whitequark
1b9713115c runtime: link libm and libbase-nofloat where appropriate. 2016-01-14 21:02:23 +00:00
whitequark
225f7d7302 Commit missing parts of 9366a29. 2016-01-10 20:01:26 +00:00
whitequark
d1319b83e5 runtime: properly format addresses in InternalError message. 2016-01-10 18:07:08 +00:00
whitequark
bbd0ca7827 Commit missing parts of 9366a29. 2016-01-10 15:45:56 +00:00
whitequark
f8e50f2b0c Remove redundant ksupport API. 2016-01-10 14:27:46 +00:00
whitequark
cc45694f5a Commit missing parts of 9366a29. 2016-01-10 13:08:26 +00:00
whitequark
9366a29483 Implement core device storage (fixes #219). 2016-01-10 13:04:55 +00:00
whitequark
027d54ca94 Enlarge coredevice buffers to 2.5MiB (fixes #215).
This should be enough for sending a 2MiB int32 list.
2016-01-07 18:29:35 +00:00
whitequark
dcc4763914 Remove kernel-related constants from runtime.ld.
It's not used anywhere and it's one more place to adjust, which
will someday lead to obscure copy-paste bugs.
2016-01-07 18:27:38 +00:00