whitequark
501ba912c2
Implement {delay,now,at}{,_mu} and {mu,seconds}_to_{seconds,mu}.
2015-08-31 09:59:33 -06:00
whitequark
79af228af3
ksupport: provide abort() to the kernel library.
2015-08-28 04:53:51 -05:00
whitequark
98bb570aec
log.c: fix off-by-one error.
2015-08-28 03:06:40 -05:00
whitequark
30cdb209c6
log.c: fix warnings.
2015-08-28 03:03:32 -05:00
whitequark
d80be482fc
Allow clearing core device log buffer.
...
This is useful to get a fresh environment, such as when
running tests that print to log buffer.
2015-08-28 00:37:46 -05:00
whitequark
9b9fa1ab7c
Allow embedding and RPC sending host objects.
2015-08-25 21:56:01 -07:00
whitequark
46476516ba
ARTIQException: tell linecache where to look for runtime sources.
...
Runtime sources can appear in the backtrace when
artiq_raise_from_c is used.
2015-08-10 20:26:07 +03:00
whitequark
b99eae6b3f
session.c: send_rpc_value: fix list serialization.
2015-08-09 20:36:14 +03:00
whitequark
d4270cf66e
Implement receiving data from RPCs.
2015-08-09 20:17:00 +03:00
whitequark
02b1543c63
Implement receiving exceptions from RPCs.
2015-08-09 16:16:41 +03:00
whitequark
153592f1cc
Naming.
2015-08-09 02:25:58 +03:00
whitequark
b26af5df60
Implement sending RPCs.
2015-08-09 02:17:19 +03:00
whitequark
27d2390fed
Add zero-cost exception support to runtime and host.
2015-08-08 16:01:31 +03:00
whitequark
1d61e446cb
session.c: ensure session reset on out buffer overrun during RPC.
2015-08-08 14:12:28 +03:00
whitequark
f5ea202e25
session.c: bring back session_ack_{consumed,sent}.
...
These (called session_ack_{data,mem} before) were removed in error.
2015-08-08 14:06:11 +03:00
whitequark
4efae2b67d
Formatting.
2015-08-08 13:48:25 +03:00
whitequark
ecdebc0b8a
session.c: refactor.
2015-08-08 13:21:43 +03:00
whitequark
b6e2613f77
runtime: avoid spurious error messages.
2015-08-07 11:03:36 +03:00
whitequark
b5cf1e395d
runtime: avoid race condition when running kernel.
...
Also, don't bother passing kernel name: entry point is already
recorded in DT_INIT when the kernel is linked.
2015-08-07 08:51:33 +03:00
whitequark
98cd4288c1
artiq_personality: cast exception params so that %lld is always valid.
2015-08-06 08:25:53 +03:00
whitequark
722dfef97b
artiq_personality: simplify.
2015-08-06 07:59:15 +03:00
whitequark
62fdc75d2d
Integrate libdyld and libunwind.
...
It is currently possible to run the idle experiment, and it
can raise and catch exceptions, but exceptions are not yet
propagated across RPC boundaries.
2015-08-02 15:43:03 +03:00
whitequark
6db93b34e8
artiq_personality: port to device.
2015-08-02 06:34:11 +03:00
whitequark
aae2923c4c
runtime: add lognonl{,_va} functions.
...
The kernels have print(), which prints aggregates (such as
arrays) piece-by-piece, and newlines would interfere.
2015-08-02 06:33:12 +03:00
whitequark
cd294e2986
artiq_personality: avoid unaligned loads.
2015-08-02 06:28:58 +03:00
whitequark
697b78ddf2
Rename {kserver → net_server}.{c,h}.
2015-07-30 13:45:57 +03:00
whitequark
fd46d8b11e
Merge branch 'master' into new-py2llvm
2015-07-29 12:52:19 +03:00
whitequark
c40ae9dbd3
MiSoC is not built with -fPIC anymore, remove support code for that.
2015-07-29 12:40:46 +03:00
Robert Jördens
f0a7078336
Revert "rtiocrg.c: pipistrello also has pll_reset"
...
This reverts commit bdee914828
.
2015-07-27 22:18:45 -06:00
Robert Jördens
bdee914828
rtiocrg.c: pipistrello also has pll_reset
2015-07-27 22:14:42 -06:00
Sebastien Bourdeauducq
ae3a52c49c
runtime: fix KERNELCPU_PAYLOAD_ADDRESS
2015-07-28 02:12:14 +08:00
whitequark
eec4a2d2d2
Update buildsystem to track -fPIC and ranlib removal in MiSoC.
2015-07-27 21:10:46 +03:00
Sebastien Bourdeauducq
0cd74533ca
runtime: more explicit message about startup clock failure
2015-07-28 00:38:38 +08:00
Sebastien Bourdeauducq
7feaca7c7c
runtime: allow selecting external clock at startup
2015-07-28 00:19:07 +08:00
Sebastien Bourdeauducq
09d837e4ba
runtime: monitor RTIO clock status
2015-07-28 00:05:24 +08:00
Sebastien Bourdeauducq
fe57308e71
runtime: support for RTIO PLL
2015-07-27 20:11:31 +08:00
whitequark
244ace19e1
Add artiq_raise_from_c macro.
2015-07-27 13:56:18 +03:00
whitequark
edffb40ef2
On uncaught exception, execute finally clauses and collect backtrace.
2015-07-27 13:51:24 +03:00
whitequark
2939d4f0f3
Add tests for finally clause and reraising.
2015-07-27 12:36:21 +03:00
whitequark
a83e7e2248
Add tests for exceptional control flow.
2015-07-27 10:22:28 +03:00
whitequark
7c77dd317a
Implement __artiq_personality.
2015-07-27 09:10:20 +03:00
Sebastien Bourdeauducq
117b361a06
Merge branch 'master' of github.com:m-labs/artiq
2015-07-27 11:42:29 +08:00
Sebastien Bourdeauducq
d3f05e414a
runtime: account for RTIO_FINE_TS_WIDTH in time buffers
2015-07-27 10:50:25 +08:00
whitequark
bb5fe60137
Implement exception raising.
2015-07-27 05:46:43 +03:00
whitequark
14c7b15785
Add a test harness for exceptions.
...
The libunwind.h is duplicated here so that it would be possible
to test the Python parts without pulling in misoc.
2015-07-27 04:18:12 +03:00
whitequark
1d9f40833d
Update ldscripts with -fPIC support.
2015-07-26 16:16:48 +03:00
Sebastien Bourdeauducq
aba2d3f112
runtime: process essential kernel CPU messages at all time
2015-07-25 16:26:04 +08:00
Sebastien Bourdeauducq
34aacd3c5f
complete AD9914 support (no programmable modulus, untested)
2015-07-08 17:22:43 +02:00
Sebastien Bourdeauducq
8a33d8c868
never stop RTIO counter
2015-07-07 15:29:38 +02:00
Sebastien Bourdeauducq
d20fb5abb2
remove workaround
2015-07-07 13:46:14 +02:00