Commit Graph

4537 Commits

Author SHA1 Message Date
whitequark
b913d1d6f2 runtime: make a copy of startup/idle kernel firmware before loading.
Fixes #716.
2017-04-21 16:46:40 +00:00
whitequark
726ee7370a runtime: update smoltcp.
This brings in correct TIME-WAIT handling. Fixes #722.
2017-04-21 16:08:04 +00:00
whitequark
0e68eaa879 runtime: print a heap dump on out-of-memory condition. 2017-04-21 14:48:10 +00:00
whitequark
fd994ceef3 DMA: various fixes to bring tests in line. 2017-04-20 20:05:03 +00:00
whitequark
d383145752 conda: use GIT_FULL_HASH rather than GIT_DESCRIBE_HASH. 2017-04-20 16:58:38 +00:00
whitequark
c9b20a1765 Commit missing parts of 0d0ddf2e. 2017-04-20 16:53:16 +00:00
whitequark
0d0ddf2e58 conda: limit git hashes in build numbers to 8 chars exactly.
Before this commit, a nasty edge case was possible where repositories
on different builders have had different sets of objects fetched
into them, and so git-describe selected different lengths for
abbreviating hashes.

See also https://github.com/conda/conda-build/issues/1940.
2017-04-20 16:40:10 +00:00
whitequark
af20e7ede4 conda: update rust dependency. 2017-04-19 12:53:13 +00:00
whitequark
5324a42549 conda: update rust dependency. 2017-04-19 11:18:14 +00:00
whitequark
db494967c5 firmware use Rust 0.18.0. 2017-04-19 09:38:24 +00:00
fe05aede78 firmware: DmaPlayback → DMARetrieve 2017-04-19 11:11:42 +08:00
badbd72beb manual: update example to use DMA handle API 2017-04-19 11:07:41 +08:00
e8f7f8ef9c DMA: speed up playback
Time reduced from 1.53µs to 1.37µs.
2017-04-19 10:59:12 +08:00
whitequark
41c4de4556 DMA: add API for a much faster replay using handles. 2017-04-18 08:20:12 +00:00
whitequark
c6e8d5c901 runtime: allow setting UART log level explicitly.
This is way more convenient than commenting out parts
of session.rs when debugging.
2017-04-15 08:27:18 +00:00
whitequark
0531dc45c3 DMA: erase trace before re-recording it.
Or we could needlessly OOM replacing a large trace.
2017-04-15 07:48:02 +00:00
whitequark
9dfe9c1248 DMA: improve recording performance.
This commit moves DMA serialization code to the kernel CPU
(to cope with the existence of rtio_output_wide) and batches
the resulting sequences. This results in less data being transferred
between kernel and comms CPUs (24 octets with one pointer before,
18 octets with no pointers now, for the common case of rtio_output),
but most importantly reduces cache flushes, which now happen
once per 64k octets.

On average, it now takes about 15us to record a single RTIO event
in a DMA trace.

Fixes #712.
2017-04-15 07:29:52 +00:00
whitequark
ea753bed17 runtime: advise to set panic_reboot=1 on panic. 2017-04-15 07:29:36 +00:00
whitequark
0b9601f12d artiq_devtool: more robust defaults. 2017-04-13 08:26:48 +00:00
whitequark
3a1fc729cf compiler: refactor type annotations recognizing in kernels.
The new implementation is much more generic, more robust,
and shares code with the same for syscalls as well as RPCs.

Fixes #713.
2017-04-13 08:26:10 +00:00
99196986c0 conda: use conda-forge and depend on pyqtgraph 0.10.0 (#704) 2017-04-13 00:55:16 +08:00
whitequark
31048f4b6a compiler: fix monomorphization of coerced integer literals.
Fixes #703.
2017-04-12 04:11:47 +00:00
c5cd77f177 manual: add DRTIO intro 2017-04-12 00:43:35 +08:00
598533adba manual: add DMA to tutorial 2017-04-12 00:43:09 +08:00
whitequark
296dc3b0c4 artiq_coreboot: allow hot-rebooting the device. 2017-04-11 03:24:24 +00:00
whitequark
1bd4d13391 artiq_compile: make print() write to core log, not an invalid op.
Fixes #710.
2017-04-11 03:16:34 +00:00
f314f8b8f5 relax test_rpc_timing 2017-04-08 22:45:08 +08:00
c2667debf8 drtio: test replace in RTL simulation 2017-04-06 16:33:59 +08:00
729e7b52f0 drtio: collision/replace fixes 2017-04-06 16:33:49 +08:00
83d87b5805 drtio: remove outdated comment 2017-04-06 12:45:10 +08:00
c0100ebc56 rtio: fix indentation 2017-04-06 12:08:13 +08:00
207453efcd rtio: add a missing case for collision reporting 2017-04-06 11:28:16 +08:00
whitequark
14ae1cc100 runtime: advance now on DMA replay.
Fixes #700.
2017-04-05 18:34:36 +00:00
674bf82f3a gateware: add cri_con CSRs to all DMA-capable targets 2017-04-06 01:14:09 +08:00
5e3aef45dc drtio: support collision/replace + detect sequence errors at satellite 2017-04-06 01:06:56 +08:00
whitequark
56918fb375 test: re-enable DMA tests as the feature is now stable. 2017-04-05 16:43:22 +00:00
whitequark
17b5388259 gateware: remove one stray CRI arbiter remnant. 2017-04-05 16:38:56 +00:00
whitequark
464202d0aa gateware: connect CRI switch to kernel CPU. 2017-04-05 16:10:53 +00:00
whitequark
47632f81b1 gateware: CRIArbiter -> CRISwitch. 2017-04-05 16:10:39 +00:00
whitequark
391660e545 gateware: simplify the CRI arbiter to use a plain mux. 2017-04-05 15:09:19 +00:00
12249dac57 rtio: do not clear asynchronous error flags on RTIO reset 2017-04-03 00:20:30 +08:00
db3118b916 drtio: use BlindTransfer for error reporting 2017-04-03 00:18:07 +08:00
8c414cebc7 drtio: report busy errors 2017-04-03 00:11:08 +08:00
008678b741 drtio: add infrastructure for reporting busy/collision errors 2017-04-02 23:45:55 +08:00
0a687b7902 drtio: report satellite errors through firmware 2017-04-01 12:18:00 +08:00
whitequark
8b98e1ea6d test: relax test_rpc_timing: rpc_time_mean <2ms → <3ms. 2017-03-31 20:41:47 +00:00
7ec14f26c2 examples: fix after introduction of RangeScan 2017-03-31 16:54:07 +08:00
58da76a169 gui: remove unnecessary state test 2017-03-31 16:48:39 +08:00
bdf1ca25c6 scannable: fix RangeScan randomize seeding 2017-03-31 16:48:39 +08:00
07c71bf020 language,gui: combine LinearScan and RandomScan into RangeScan. Closes #679 2017-03-31 16:48:39 +08:00