Commit Graph

3901 Commits

Author SHA1 Message Date
whitequark a6ae254796 Si5324: update to free run from XA/XB, with CKIN1 having priority. 2016-11-01 16:01:24 +00: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
Sebastien Bourdeauducq 0c1a76d668 unify rtio/drtio kernel interface 2016-11-01 00:30:16 +08:00
whitequark 617e345d16 gateware: fix kernel CPU exec address. 2016-10-31 15:16:35 +00:00
Sebastien Bourdeauducq 07ad00c1ca drtio: split kernel/system CSRs 2016-10-31 18:09:36 +08:00
Sebastien Bourdeauducq 9aa94e1a2d adapt to migen/misoc changes 2016-10-31 00:53:01 +08: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
Sebastien Bourdeauducq da5208e160 drtio: add master gateware target 2016-10-29 17:31:15 +08:00
Sebastien Bourdeauducq 7c05dccf65 drtio: add support for 125MHz clock on GTX_1000BASE_BX10 2016-10-29 17:30:29 +08:00
Sebastien Bourdeauducq 95def81c03 drtio: squelch frame signals until link layer ready 2016-10-29 17:05:30 +08:00
Sebastien Bourdeauducq 4f6241283c drtio: always use NoRetiming on MultiReg inputs 2016-10-29 16:37:53 +08:00
Sebastien Bourdeauducq 9bbc6eb0ef drtio: more full stack testing 2016-10-26 22:04:32 +08:00
Sebastien Bourdeauducq 929a7650a8 drtio: fixes 2016-10-26 22:03:44 +08:00
Sebastien Bourdeauducq 45621934fd drtio: forward errors to CSR 2016-10-26 22:03:05 +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 f763b519f4 drtio: fix channel selection 2016-10-26 00:33:21 +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 a4e85081aa drtio: more simple fixes 2016-10-24 23:32:49 +08:00
Sebastien Bourdeauducq 029e0d95b7 drtio: simple fixes 2016-10-24 23:10:15 +08:00
Sebastien Bourdeauducq c39987b617 drtio: handle underflow/sequence error CSRs 2016-10-24 20:46:55 +08:00
Sebastien Bourdeauducq 7dd6eb2f5e drtio: add RT write controller 2016-10-24 19:50:13 +08:00
Sebastien Bourdeauducq 83bec06226 drtio: fifo level -> fifo space 2016-10-24 15:59:12 +08:00
Sebastien Bourdeauducq aa8e211735 drtio/rt_packets: fix 2016-10-22 13:03:35 +08:00
Sebastien Bourdeauducq 449d1c4dc6 rtio: export CDC modules 2016-10-22 13:03:10 +08:00
Sebastien Bourdeauducq 67c19ab178 drtio: RTPacketMaster RX, untested 2016-10-22 01:04:14 +08:00
Sebastien Bourdeauducq 3b4a40401a drtio: RTPacketMaster TX (WIP) 2016-10-21 22:46:14 +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
whitequark 6872017449 gateware: extend mailbox to 3 entries. 2016-10-21 12:09:14 +00:00
Sebastien Bourdeauducq 6a88229e6a drtio: CrossDomainRequest 2016-10-20 23:37:59 +08:00
Sebastien Bourdeauducq 6aa13fbf25 master/worker_db: set default value for archive 2016-10-19 20:12:16 +08:00
Sebastien Bourdeauducq 9790c5d9ed drtio/iot: FIFO level 2016-10-19 18:04:03 +08:00
Sebastien Bourdeauducq 71480c4d15 drtio: fix mmcm_mult 2016-10-18 17:28:03 +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