651d538217
Merge branch 'master' into drtio
2016-11-08 16:11:18 +08:00
8c86920364
drtio: add examples
2016-11-08 16:11:10 +08: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
78f18a12eb
runtime: basic DRTIO init code
2016-11-07 19:34:34 +08:00
453e8b7eb3
runtime: support configurations without moninj, log or dds
2016-11-06 23:53:10 +08:00
266ae292d9
runtime: support configurations without moninj, log or dds
2016-11-06 23:52:27 +08:00
c4cd269afc
Merge branch 'master' into drtio
2016-11-06 00:13:32 +08:00
47b9868c68
kc705_drtio_master: pretend drtio is rtio
2016-11-05 23:48:29 +08:00
de065b7578
kc705_drtio_satellite: set output dir
2016-11-05 23:48:15 +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
de47123737
drtio: connect RST and LOCKED on 7series RXSynchronizer MMCM
2016-11-05 00:24:49 +08:00
5019b03f10
drtio: add echo and packet count test
2016-11-04 22:24:35 +08:00
df7294792c
drtio: break some RT features into manager, add echo request CSR
2016-11-04 19:38:24 +08:00
1145a193dd
drtio: fix ack of echo and set_time requests
2016-11-04 18:36:43 +08:00
3da1cce783
drtio: add packet counters
2016-11-04 17:53:42 +08:00
8ec73cb9ec
dashboard: pack moninj widgets ( #603 )
2016-11-04 16:20:46 +08:00
747da3da15
drtio: differentiate local and remote unknown packet type errors
2016-11-04 15:17:19 +08:00
f76aa249ce
drtio: squelch 7series RXSynchronizer outputs when MMCM is unlocked
2016-11-04 15:16:48 +08:00
6a75837261
drtio: fix link_layer remote RX ready detection
2016-11-03 20:15:04 +08:00
1d027ffa95
drtio: fix gtx_7series comma alignment
2016-11-03 20:14:11 +08:00
a4ba34bb2c
drtio: cleanup test_full_stack
2016-11-03 20:13:31 +08:00
ba58a8affd
drtio/gtx_7series: paranoid reset deglitching
2016-11-02 18:30:22 +08:00
whitequark
00100148f1
Si5324: actually write value of N32 into registers.
2016-11-02 07:09:04 +00:00
bee9774bd5
drtio: add link layer status CSR
2016-11-02 13:09:13 +08:00
1ed3278783
remove stale TODO
2016-11-02 10:53:54 +08:00
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
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
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
07ad00c1ca
drtio: split kernel/system CSRs
2016-10-31 18:09:36 +08:00
9aa94e1a2d
adapt to migen/misoc changes
2016-10-31 00:53:01 +08: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
da5208e160
drtio: add master gateware target
2016-10-29 17:31:15 +08:00
7c05dccf65
drtio: add support for 125MHz clock on GTX_1000BASE_BX10
2016-10-29 17:30:29 +08:00
95def81c03
drtio: squelch frame signals until link layer ready
2016-10-29 17:05:30 +08:00
4f6241283c
drtio: always use NoRetiming on MultiReg inputs
2016-10-29 16:37:53 +08:00
9bbc6eb0ef
drtio: more full stack testing
2016-10-26 22:04:32 +08:00
929a7650a8
drtio: fixes
2016-10-26 22:03:44 +08:00
45621934fd
drtio: forward errors to CSR
2016-10-26 22:03:05 +08:00
7f8e53aa5c
drtio: more fixes and tests
2016-10-26 11:48:47 +08:00
22173b8c70
drtio: full stack unittest
2016-10-26 00:35:22 +08:00
f763b519f4
drtio: fix channel selection
2016-10-26 00:33:21 +08:00
ad042de954
drtio: fixes, basic TTL working in simulation
2016-10-25 12:41:16 +08:00
94e68dbae4
drtio: test_full_stack (WIP)
2016-10-24 23:36:33 +08:00
a4e85081aa
drtio: more simple fixes
2016-10-24 23:32:49 +08:00
029e0d95b7
drtio: simple fixes
2016-10-24 23:10:15 +08:00
c39987b617
drtio: handle underflow/sequence error CSRs
2016-10-24 20:46:55 +08:00
7dd6eb2f5e
drtio: add RT write controller
2016-10-24 19:50:13 +08:00
83bec06226
drtio: fifo level -> fifo space
2016-10-24 15:59:12 +08:00
aa8e211735
drtio/rt_packets: fix
2016-10-22 13:03:35 +08:00
449d1c4dc6
rtio: export CDC modules
2016-10-22 13:03:10 +08:00
67c19ab178
drtio: RTPacketMaster RX, untested
2016-10-22 01:04:14 +08:00
3b4a40401a
drtio: RTPacketMaster TX (WIP)
2016-10-21 22:46:14 +08:00
1e313afe64
drtio: CrossDomainNotification
2016-10-21 22:45:45 +08:00
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
6a88229e6a
drtio: CrossDomainRequest
2016-10-20 23:37:59 +08:00
6aa13fbf25
master/worker_db: set default value for archive
2016-10-19 20:12:16 +08:00
9790c5d9ed
drtio/iot: FIFO level
2016-10-19 18:04:03 +08:00
71480c4d15
drtio: fix mmcm_mult
2016-10-18 17:28:03 +08: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
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
e7dbed3b02
gateware: KC705 satellite target
2016-10-17 19:23:45 +08:00
9752ffe3d1
drtio: various fixes
2016-10-17 19:23:08 +08:00
cce29e8b83
gateware/spi: fix import
2016-10-17 14:47:19 +08:00
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
d3b274fc4d
drtio: synchronizer MMCM
2016-10-16 17:40:58 +08:00
03d3a85e75
drtio: RX clock alignment and ready
2016-10-15 18:36:27 +08:00
08e4aa3e3f
drtio: GTX WIP
2016-10-14 00:36:13 +08:00
c548a65ec3
drtio: clock domains
2016-10-14 00:34:59 +08: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
018f6d1b52
drtio: implement basic IOT
2016-10-11 17:59:22 +08:00
a40b39e9a2
drtio: structure
2016-10-10 23:12:12 +08:00
87ec333f55
drtio: implement basic writes, errors, fifo levels on satellite
2016-10-10 00:13:41 +08:00
whitequark
9c3394794e
runtime: cap log level at debug.
2016-10-07 14:24:12 +00:00
23b3302200
drtio: implement TSC load in satellite
2016-10-07 19:30:53 +08:00
43caffc168
drtio: self-checking echo test
2016-10-07 17:31:51 +08:00
whitequark
4d790b452c
runtime: discard unnecessary sections.
2016-10-07 08:30:14 +00:00
0574e882d2
drtio: basic RT packet echo test
2016-10-07 15:36:32 +08:00
cb0d1549c6
drtio: add rt_packets TX datapath, fixes
2016-10-07 15:35:29 +08: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
whitequark
6b2789e3db
test: add more RPC tests.
2016-10-06 12:54:08 +00:00
whitequark
2ae30b5a95
Rust: aggregate kernel CPU log messages and print line by line.
2016-10-06 10:56:19 +00:00
whitequark
3362887d75
Rust: implement receiving for all RPC types.
2016-10-06 10:55:54 +00:00
whitequark
516c6fdea9
language: export TTuple.
2016-10-06 10:55:33 +00:00
76bac21d14
drtio: RT RX datapath, untested
2016-10-06 18:51:20 +08:00
whitequark
5a630067cb
Rust: implement sending for all RPC types.
2016-10-06 06:31:27 +00:00
whitequark
4cfc4e89b9
Rust: add basic RPC support.
2016-10-05 14:15:53 +00:00
whitequark
0a29c00fcc
Rust: implement analyzer.
2016-10-05 05:59:38 +00:00
whitequark
2fefd0ad4a
Rust: implement moninj.
2016-10-04 12:42:44 +00:00
whitequark
2e4d19a1ce
Rust: add some conditional compilation back to rtio_crg.
2016-10-04 12:42:42 +00:00
whitequark
b590c6c7d8
Rust: import --cfg flags generated by misoc.
2016-10-04 08:15:13 +00:00
whitequark
0e2cd38135
Rust: set the SOF_KEEPALIVE flag on session sockets.
2016-10-04 06:42:09 +00:00
whitequark
2b3bc30396
Rust: implement startup kernels.
2016-10-04 06:08:08 +00:00
whitequark
0cd87af386
Rust: don't crash kernel CPU when no flash kernel is present.
2016-10-04 05:27:54 +00:00
whitequark
6bbaff81bf
Rust: implement idle kernels.
2016-10-04 05:20:56 +00:00
whitequark
398b709e25
Rust: use try_borrow where applicable.
2016-10-04 03:26:53 +00:00
whitequark
30e997f045
Rust: implement idle kernels and session takeover.
2016-10-02 04:37:24 +00:00
whitequark
8bced9dcb5
Rust: implement cache.
2016-10-01 18:24:53 +00:00
whitequark
d825393e81
Rust: implement watchdogs.
2016-10-01 16:26:57 +00:00
whitequark
5701b2095b
Rust: implement all messages used in the kernel interface.
2016-10-01 16:10:09 +00:00
whitequark
ab3bd67412
Rust: style (NFC).
2016-10-01 16:10:09 +00:00
whitequark
999290fe52
runtime: link ksupport with libm, not runtime.
...
We need libm for the %g format specifier.
2016-10-01 16:10:09 +00:00
whitequark
d3dcb4b8a2
runtime: remove useless copy of flush_cpu_dcache().
...
ksupport used to not link to libbase, I think.
2016-10-01 16:10:09 +00:00
whitequark
b3b1ea71c5
Rust: implement basic communication with kernel CPU.
2016-10-01 04:20:27 +00:00
1e0c6d6d5d
drtio: monitor received link_init
2016-09-30 11:25:06 +08:00
whitequark
1cbb187136
runtime: eliminate va_list from kernel interface.
2016-09-30 03:07:27 +00:00
whitequark
7cfa667d98
runtime: eliminate struct dyld_info from kernel interface.
2016-09-30 03:03:35 +00:00
whitequark
c6a57d2043
Rust: port mailbox routines.
2016-09-30 00:15:20 +00:00
whitequark
55b2535477
Rust: print git commit during startup.
2016-09-29 22:04:52 +00:00
whitequark
9d00023401
Rust: move a few things around (NFC).
2016-09-29 20:56:35 +00:00
whitequark
9c18f1b555
Rust: port clock, rtio_crg routines.
2016-09-29 20:42:40 +00:00
whitequark
83940ae4a6
Rust: add support for artiq_coreconfig.
2016-09-29 18:54:08 +00:00
whitequark
1e392cca64
runtime: remove "test mode" functionality.
2016-09-29 14:48:26 +00:00
whitequark
3263def5c8
Rust: use generated CSR functions.
2016-09-29 14:04:42 +00:00