Commit Graph

349 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq eb8d630148 rtio: test DMA RTIO wait state 2016-12-05 18:01:48 +08:00
Sebastien Bourdeauducq 75ea13748a rtio: fix DMA data MSB and stop signaling, self-checking unittest 2016-12-05 18:01:48 +08:00
Sebastien Bourdeauducq 43a5455058 rtio: DMA unittest WIP 2016-12-05 18:01:48 +08:00
Sebastien Bourdeauducq 74fe5c3ef0 test: make gateware simulations discoverable 2016-12-05 18:01:48 +08:00
whitequark b5a684830d compiler: fix parsing of TList annotations (fixes #632). 2016-12-05 03:18:56 +00:00
Sebastien Bourdeauducq 88ad054ab6 Merge branch 'drtio' 2016-12-03 23:25:17 +08:00
whitequark 68de724554 compiler: monomorphize int64(round(x)) to not lose precision.
This applies to any expression with an indeterminate integer type
cast to int64(), not just round().
2016-12-02 15:02:44 +00:00
Sebastien Bourdeauducq b2450c7c56 drtio: test large data 2016-11-27 12:57:12 +08:00
Sebastien Bourdeauducq d381dd5384 drtio: remove stale signal from test 2016-11-25 18:33:55 +08:00
Sebastien Bourdeauducq 8b736ddbc9 drtio: update test 2016-11-24 00:37:53 +08:00
Sebastien Bourdeauducq 3459793586 Merge branch 'master' into drtio 2016-11-22 15:15:22 +08:00
whitequark 55ea68da7f compiler: unbreak casts to int32/int64. 2016-11-21 14:20:28 +00:00
whitequark 35f4449ef2 inferencer: significantly improve the op-assignment diagnostic.
Before this commit, it displayed incorrect output if an error
appeared on 2nd run and beyond, and displayed messages for trying
to do "num32 -= num64" that made very little sense.
2016-11-21 14:20:24 +00:00
whitequark 3485c83429 Fix tests. 2016-11-21 06:40:47 +00:00
whitequark 009d396740 Move mu_to_seconds, seconds_to_mu to Core. 2016-11-21 05:37:30 +00:00
whitequark 7af41bd29c llvm_ir_generator: handle no-op coercions. 2016-11-21 02:25:34 +00:00
Sebastien Bourdeauducq bb047aabe9 drtio: simpler link layer 2016-11-17 22:32:39 +08:00
Sebastien Bourdeauducq 09363e1da8 drtio: aux controller unittest 2016-11-16 19:45:28 +08:00
Sebastien Bourdeauducq 7fa9a4efc3 drtio: aux controller unittest WIP 2016-11-15 12:02:53 +08:00
whitequark feed91d8b2 runtime: buffer RPC send packets.
This brings mean RPC time from ~45ms to ~2ms.

The cause of the slowness without buffering is, primarily, that lwip
is severely pessimized by small writes, whether with Nagle on or off.
(In fact, disabling Nagle makes it function *better* on many small
writes, which begs the question of what's the point of having Nagle
there in the first place.) In practical terms, the slowness appears
only when writing a 4-byte buffer (the synchronization segment);
writing buffers of other sizes does not trigger the problem.

This all is extremely confusing and the fix is partly palliative,
but since it seems to work reliably and we're migrating off lwip
I think it is unwise to spend any more time debugging this.
2016-11-12 23:06:33 +00:00
David Nadlinger bfbdba9205 compiler: Emit all-kernel_invariant objects as LLVM constants
This enables constant propagation optimisations, as verified by
the included test case. This is only a first stop-gap measure, though;
we should support optimisation based on kernel invariants on a more
fine-grained level.
2016-11-09 14:50:48 +00:00
Sebastien Bourdeauducq 863934c4fa drtio: more reliable link layer init 2016-11-09 22:03:47 +08:00
Sebastien Bourdeauducq c4cd269afc Merge branch 'master' into drtio 2016-11-06 00:13:32 +08:00
David Nadlinger 7dcc987dd7 compiler: Fix break/continue targets in loop else blocks
Previously, they would still target the respective labels in the
just-exited loop.

Signed-off-by: David Nadlinger <code@klickverbot.at>
2016-11-05 02:35:01 +00:00
Sebastien Bourdeauducq 5019b03f10 drtio: add echo and packet count test 2016-11-04 22:24:35 +08:00
Sebastien Bourdeauducq df7294792c drtio: break some RT features into manager, add echo request CSR 2016-11-04 19:38:24 +08:00
Sebastien Bourdeauducq 747da3da15 drtio: differentiate local and remote unknown packet type errors 2016-11-04 15:17:19 +08:00
Sebastien Bourdeauducq a4ba34bb2c drtio: cleanup test_full_stack 2016-11-03 20:13:31 +08:00
whitequark 6fcd57a41a runtime: fix remaining async RPC bugs. 2016-11-01 10:33:57 +00:00
Sebastien Bourdeauducq 07ad00c1ca drtio: split kernel/system CSRs 2016-10-31 18:09:36 +08:00
whitequark cd68577dbc compiler: add support for async RPCs. 2016-10-30 00:57:31 +00:00
Sebastien Bourdeauducq 95def81c03 drtio: squelch frame signals until link layer ready 2016-10-29 17:05:30 +08:00
Sebastien Bourdeauducq 9bbc6eb0ef drtio: more full stack testing 2016-10-26 22:04:32 +08:00
Sebastien Bourdeauducq 7f8e53aa5c drtio: more fixes and tests 2016-10-26 11:48:47 +08:00
Sebastien Bourdeauducq 22173b8c70 drtio: full stack unittest 2016-10-26 00:35:22 +08:00
Sebastien Bourdeauducq ad042de954 drtio: fixes, basic TTL working in simulation 2016-10-25 12:41:16 +08:00
Sebastien Bourdeauducq 94e68dbae4 drtio: test_full_stack (WIP) 2016-10-24 23:36:33 +08:00
Sebastien Bourdeauducq 1e313afe64 drtio: CrossDomainNotification 2016-10-21 22:45:45 +08:00
Sebastien Bourdeauducq c71c4c89e0 drtio: change data direction in _CrossDomainRequest 2016-10-21 22:44:47 +08:00
Sebastien Bourdeauducq 6a88229e6a drtio: CrossDomainRequest 2016-10-20 23:37:59 +08:00
whitequark f10a4498c7 test: fix printf specifier. 2016-10-16 23:54:29 +00:00
whitequark 7618907cad runtime: use i64 for watchdog timeout, not i32. 2016-10-16 16:32:43 +00:00
Sebastien Bourdeauducq a40b39e9a2 drtio: structure 2016-10-10 23:12:12 +08:00
Sebastien Bourdeauducq 23b3302200 drtio: implement TSC load in satellite 2016-10-07 19:30:53 +08:00
Sebastien Bourdeauducq 43caffc168 drtio: self-checking echo test 2016-10-07 17:31:51 +08:00
Sebastien Bourdeauducq 0574e882d2 drtio: basic RT packet echo test 2016-10-07 15:36:32 +08:00
whitequark edafb08b43 test: fix d6193365. 2016-10-06 16:27:12 +00:00
whitequark d619336503 test: update libartiq_support for changed personality ABI. 2016-10-06 15:44:55 +00:00
whitequark 6b2789e3db test: add more RPC tests. 2016-10-06 12:54:08 +00:00
Sebastien Bourdeauducq 95d7cba34a drtio: fixes, add aux packet test 2016-09-27 12:46:01 +08:00