forked from M-Labs/artiq
1
0
Fork 0
Commit Graph

3699 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq a252b88a36 manual: fix binutils patch download URL 2016-11-03 23:56:13 +08:00
whitequark b30734a105 runtime: fix a race condition with async RPCs.
session.rs has code like:

    while !rpc_queue::empty() {
        try!(process_kern_queued_rpc(stream, &mut session))
    }

    // A

    if mailbox::receive() != 0 {
        try!(process_kern_message(waiter, Some(stream), &mut session));
    }

If both an async and a mailbox RPC (async or large sync) are posted
at point A then they will be processed out of order.
This commit fixes the issue by flushing the async RPC queue before
posting any RPC to the mailbox.
2016-11-01 13:22:22 +00:00
whitequark 6fcd57a41a runtime: fix remaining async RPC bugs. 2016-11-01 10:33:57 +00:00
whitequark 2095d01b84 runtime: dirty hacks to remove allocations in ksupport. 2016-11-01 08:55:49 +00:00
whitequark c1e6d4b67c runtime: fix multiple async RPC bugs. 2016-11-01 06:51:44 +00:00
whitequark 636d4efe81 gateware: rewrite mailbox to use bits_for. 2016-11-01 06:28:43 +00:00
Sebastien Bourdeauducq 43cd970100 make set_dataset and mutate_dataset async RPCs 2016-11-01 11:11:41 +08:00
whitequark 18ae8d54a3 gateware: fix mailbox. 2016-11-01 02:33:00 +00:00
whitequark 898a716b91 runtime: work around mor1kx ignoring low bits of reset address.
Fixes #599.
2016-10-31 18:13:15 +00:00
whitequark 617e345d16 gateware: fix kernel CPU exec address. 2016-10-31 15:16:35 +00:00
Sebastien Bourdeauducq 2392113bb6 kc705: use misoc clock for false path 2016-10-30 11:16:04 +08:00
whitequark cd68577dbc compiler: add support for async RPCs. 2016-10-30 00:57:31 +00:00
whitequark 2ac85cd40f runtime: implement prototype background RPCs. 2016-10-29 21:34:25 +00:00
Sebastien Bourdeauducq c656a53532 kc705: clean up clock constraints 2016-10-29 21:28:01 +08:00
Sebastien Bourdeauducq ed4d57c638 use new Migen signal attribute API 2016-10-29 21:19:58 +08:00
whitequark 6872017449 gateware: extend mailbox to 3 entries. 2016-10-21 12:09:14 +00:00
Sebastien Bourdeauducq 6aa13fbf25 master/worker_db: set default value for archive 2016-10-19 20:12:16 +08:00
Sebastien Bourdeauducq 5d184f8061 master: keep dataset manager consistent when set_dataset is called with contradictory attributes 2016-10-18 17:11:07 +08:00
Sebastien Bourdeauducq 69d96b0158 master: archive input datasets. Closes #587 2016-10-18 17:11:07 +08:00
Sebastien Bourdeauducq ed2624545f master: ensure same dataset is in broadcast and local when mutating 2016-10-18 17:11:07 +08:00
Sebastien Bourdeauducq 1908339d4e scheduler: default submission arguments, closes #577 2016-10-18 17:11:06 +08:00
Robert Jördens 0e41725e2d pdq2: sync with pdq2 2016-10-18 09:43:46 +02:00
Sebastien Bourdeauducq 69099691f7 doc: clarify usage of pause/check_pause, closes #571 2016-10-17 20:08:15 +08:00
Sebastien Bourdeauducq 02adccf4a2 dashboard/datasets: use scientific spinbox and increase number of decimals, closes #572 2016-10-17 19:57:59 +08:00
Sebastien Bourdeauducq 85834976d9 gateware/spi: fix import 2016-10-17 14:06:35 +08:00
whitequark 6da1f39670 runtime: fix use of $(realpath) in Makefile. 2016-10-17 00:11:02 +00:00
whitequark f10a4498c7 test: fix printf specifier. 2016-10-16 23:54:29 +00:00
whitequark 2a9e370840 llvm_ir_generator: make sure RPC allocations are not underaligned. 2016-10-16 16:43:03 +00:00
whitequark 7618907cad runtime: use i64 for watchdog timeout, not i32. 2016-10-16 16:32:43 +00:00
whitequark a8c017bfcc runtime: port ksupport to Rust. 2016-10-16 16:32:43 +00:00
whitequark fee75bd50f runtime: remove some redundant libm functions copied inline. 2016-10-16 16:25:29 +00:00
David Nadlinger e037d167f4 language: Add "A" (ampere) as well-known unit for arguments
Signed-off-by: David Nadlinger <code@klickverbot.at>
2016-10-13 12:22:01 +08:00
Robert Jördens 290498aca0 conda: misoc 0.4 (csr) 2016-10-12 16:34:19 +02:00
whitequark 9c3394794e runtime: cap log level at debug. 2016-10-07 14:24:12 +00:00
whitequark 4d790b452c runtime: discard unnecessary sections. 2016-10-07 08:30:14 +00:00
whitequark 8eeb6ea1b9 packaging: include runtime.rs in MANIFEST. 2016-10-07 07:53:38 +00:00
whitequark ef10344b3e runtime: rewrite isr() in Rust. 2016-10-07 06:27:10 +00:00
whitequark 8be60cc223 runtime: fix KERNELCPU_LAST_ADDRESS after layout change. 2016-10-07 05:53:55 +00:00
whitequark 4f11b071a5 runtime: remove useless handshaking in analyzer. 2016-10-07 05:53:16 +00:00
whitequark b52ecda1d5 runtime: make memory map saner. 2016-10-06 18:05:38 +00:00
whitequark b4bbf44a0a runtime: buffer writes of RPC data.
This improves upload speed ~166×.
2016-10-06 17:32:26 +00:00
whitequark 557bc4bb56 runtime: remove unnecessary buffering. 2016-10-06 17:25:43 +00: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 bcdbd00e7b runtime: remove unnecessary null bytes from session protocol. 2016-10-06 15:39:00 +00:00
whitequark 5428a866b3 runtime: the Rust runtime is now just the runtime. 2016-10-06 15:38:45 +00:00
whitequark 3e829d0d01 Rust: unborrow cache after kernel stops. 2016-10-06 14:19:12 +00:00
whitequark e92f20546a Rust: implement exceptional RPC replies. 2016-10-06 14:08:02 +00:00
whitequark 226fa723bb Rust: implement exceptional kernel termination.
This also adjusts the way backtraces are serialized by kloader.
2016-10-06 13:42:35 +00:00
whitequark 84214ab0d1 Rust: don't panic when loading a kernel twice in same session. 2016-10-06 12:55:19 +00:00