Commit Graph

3843 Commits

Author SHA1 Message Date
whitequark
798a5f70df Revert "runtime: remove some redundant libm functions copied inline."
This reverts commit fee75bd50f.

LLVM does not have lround as a libcall and this inhibits LICM.
2016-11-08 11:54:17 +00:00
David Nadlinger
6e77f65d50 compiler: Clarify recv_rpc value names and documentation [nfc]
Previously, the phi emitted for the pointer parameter to recv_rpc was –
rather confusingly – called "size", and the pseudo-code in the comment
had bit-rotted.

Signed-off-by: David Nadlinger <code@klickverbot.at>
2016-11-07 14:38:21 +00:00
453e8b7eb3 runtime: support configurations without moninj, log or dds 2016-11-06 23:53:10 +08:00
d158c69be0 phaser: fix frequency comment 2016-11-05 16:54:23 +01: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
whitequark
f102f2d4e6 manual: fix rustc invocation. 2016-11-04 09:11:45 +00:00
8ec73cb9ec dashboard: pack moninj widgets (#603) 2016-11-04 16:20:46 +08:00
9d58b4516c manual: Vivado is now default 2016-11-04 11:54:04 +08:00
whitequark
208f3f8568 manual: fix Rust installation instructions. 2016-11-04 03:35:59 +00:00
77bc247744 manual: add missing cd 2016-11-04 00:04:26 +08:00
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
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
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
c656a53532 kc705: clean up clock constraints 2016-10-29 21:28:01 +08:00
ed4d57c638 use new Migen signal attribute API 2016-10-29 21:19:58 +08:00
b14fcd41e4 ksupport: add ad9154* 2016-10-28 02:39:24 +02:00
2a1e529dcf phaser: DDS config dummies 2016-10-28 01:58:08 +02:00
8eff8586bb moninj.rs: force u32 dds_ftws 2016-10-28 01:57:55 +02:00
6d07a16c62 Merge branch 'master' into phaser
* master: (72 commits)
  gateware: extend mailbox to 3 entries.
  master/worker_db: set default value for archive
  master: keep dataset manager consistent when set_dataset is called with contradictory attributes
  master: archive input datasets. Closes #587
  master: ensure same dataset is in broadcast and local when mutating
  scheduler: default submission arguments, closes #577
  pdq2: sync with pdq2
  doc: clarify usage of pause/check_pause, closes #571
  dashboard/datasets: use scientific spinbox and increase number of decimals, closes #572
  gateware/spi: fix import
  runtime: fix use of $(realpath) in Makefile.
  test: fix printf specifier.
  llvm_ir_generator: make sure RPC allocations are not underaligned.
  runtime: use i64 for watchdog timeout, not i32.
  runtime: port ksupport to Rust.
  runtime: remove some redundant libm functions copied inline.
  language: Add "A" (ampere) as well-known unit for arguments
  conda: misoc 0.4 (csr)
  runtime: cap log level at debug.
  runtime: discard unnecessary sections.
  ...
2016-10-28 01:40:11 +02:00
c428800caf phaser: spi, sma_gpio: 2.5 V 2016-10-27 15:53:49 +02:00
65b2e4464c phaser: sysref/sync diff term 2016-10-27 14:14:56 +02:00
ea0c304a0c phaser2: wip 2016-10-27 01:00:42 +02:00
e981b23548 phaser: use misoc cordic 2016-10-24 19:33:23 +02:00
d2f776b0d0 phaser: add more tools 2016-10-24 17:39:14 +02:00
whitequark
6872017449 gateware: extend mailbox to 3 entries. 2016-10-21 12:09:14 +00:00
062aca2a6b conda/phaser: build-depend on jesd204b 2016-10-19 14:44:54 +02:00
6aa13fbf25 master/worker_db: set default value for archive 2016-10-19 20:12:16 +08:00
bf942fc228 ksupport: adapt to dyld_load() 2016-10-18 11:37:27 +02:00
5d184f8061 master: keep dataset manager consistent when set_dataset is called with contradictory attributes 2016-10-18 17:11:07 +08:00
69d96b0158 master: archive input datasets. Closes #587 2016-10-18 17:11:07 +08:00
ed2624545f master: ensure same dataset is in broadcast and local when mutating 2016-10-18 17:11:07 +08:00
1908339d4e scheduler: default submission arguments, closes #577 2016-10-18 17:11:06 +08:00
54f05b6fc1 ksupport: kernel_run lookup with dyld (closes #590)
adapt to misoc change
2016-10-18 10:07:07 +02:00
78700a67bc sawg: fast-math 2016-10-18 10:05:51 +02:00
b2327cf808 sawg: core is kernel_invariant 2016-10-18 10:05:51 +02:00
0e41725e2d pdq2: sync with pdq2 2016-10-18 09:43:46 +02:00
69099691f7 doc: clarify usage of pause/check_pause, closes #571 2016-10-17 20:08:15 +08:00
02adccf4a2 dashboard/datasets: use scientific spinbox and increase number of decimals, closes #572 2016-10-17 19:57:59 +08:00
b6002529cf gateware/spi: fix import 2016-10-17 14:07:11 +08:00
85834976d9 gateware/spi: fix import 2016-10-17 14:06:35 +08:00