Sebastien Bourdeauducq
125ab3e076
runtime/i2c_read: fix MSB
2016-03-05 19:00:14 +08:00
Sebastien Bourdeauducq
6b8efd10fd
runtime/i2c: fix artiq_raise_from_c invokation
2016-03-05 00:19:08 +08:00
Sebastien Bourdeauducq
ff4a46c278
runtime/i2c: make syscalls more ARTIQ-Python-friendly
2016-03-05 00:16:23 +08:00
Sebastien Bourdeauducq
c2fcefc31f
runtime/rtio: cleanup include
2016-03-03 19:48:06 +08:00
Sebastien Bourdeauducq
423ca03f3b
runtime: bit-banged i2c support (untested)
2016-03-03 17:46:42 +08:00
Robert Jördens
5ba753425d
runtime/rtio: rtio_process_exceptional_status() has only one user
2016-03-01 21:38:51 +01:00
Robert Jördens
f30dc4b39e
runtime: rt2wb_input -> rtio_input_data
2016-03-01 19:22:42 +01:00
Robert Jördens
81b35be574
bridge: really fix O/OE
2016-03-01 18:49:04 +01:00
Robert Jördens
135643e3a6
runtime: define constants for ttl addresses
2016-03-01 18:22:42 +01:00
Robert Jördens
6f9656dcbe
bridge: fix ttl o/oe addresses
2016-03-01 18:19:06 +01:00
Robert Jördens
8adef12781
runtime: refactor ttl*()
...
* remove rt2wb_output
* remove ttl_*() ttl.c ttl.h
* use rtio_output() and rtio_input_timestamp()
* adapt coredevice/compiler layer
* adapt bridge to not artiq_raise_from_c()
2016-03-01 16:36:59 +01:00
Robert Jördens
aa10791ddf
rtio: rm rtio_write_and_process_status
2016-03-01 15:40:35 +01:00
Robert Jördens
324660ab40
rt2wb, exceptions: remove RTIOTimeout
...
Assume that rt2wb transactions either collide and are then
reported (https://github.com/m-labs/artiq/issues/308 ) or that
they complete and the delay with which they complete does not matter.
If a transaction is ack'ed with a delay because the WB core's downstream
logic is busy, that may lead to a later collision with another WB
transaction.
2016-03-01 14:44:07 +01:00
Robert Jördens
7d7a710a56
runtime/rt2wb: use input/output terminology and add (async) input
2016-03-01 00:35:56 +01:00
Robert Jördens
7ab7f7d75d
Merge branch 'master' into spimaster
...
* master:
artiq_flash: use term 'gateware'
targets/kc705-nist_clock: add clock generator on LA32 for testing purposes
doc: insist that output() must be called on TTLInOut. Closes #297
doc: update install instructions
coredevice: do not give up on UTF-8 errors in log. Closes #300
use m-labs setup for defaults
fix indentation
2016-02-29 20:47:52 +01:00
Robert Jördens
6c899e6ba6
runtime/rtio: fix rtio_input_wait(), add RTIOTimeout
2016-02-29 19:49:15 +01:00
Robert Jördens
ecedbbef4c
runtime/ttl: use rtio_output and rtio_input_wait
2016-02-29 19:20:07 +01:00
Robert Jördens
5dae9f8aa8
runtime: refactor rt2wb/dds
2016-02-29 19:16:29 +01:00
Robert Jördens
d3c94827eb
runtime/ttl: simplify ttl_get() a bit
2016-02-29 17:58:54 +01:00
Robert Jördens
6903a1d88a
runtime/rt2wb: accurate exception strings
2016-02-29 14:56:04 +01:00
Sebastien Bourdeauducq
572c49f475
use m-labs setup for defaults
2016-02-29 21:35:23 +08:00
Robert Jördens
df7d15d1fe
runtime: refactor spi into rt2wb
2016-02-29 13:54:36 +01:00
Robert Jördens
aeae565d35
runtime/spi: don't apply channel offset
2016-02-29 11:53:36 +01:00
Robert Jördens
ad34927b0a
spi: RTIO_SPI_CHANNEL -> RTIO_FIRST_SPI_CHANNEL
2016-02-29 11:35:49 +01:00
Robert Jördens
d63a63531a
spi: add runtime support
2016-02-29 00:38:36 +01:00
whitequark
a1dd909bc4
Take alignment into account during attribute writeback ( fixes #293 ).
2016-02-25 01:44:05 +00:00
Sebastien Bourdeauducq
649f3b9094
Revert "Add workaround for analyzer core bug ( #206 )."
...
This reverts commit e94a9236aa
.
2016-02-15 09:57:23 +01:00
whitequark
e94a9236aa
Add workaround for analyzer core bug ( #206 ).
2016-02-15 03:56:56 +00:00
whitequark
74a75841f6
Add rtio_log() and make print() an RPC ( #206 ).
2016-02-15 03:56:56 +00:00
whitequark
b9448c069a
Make rtio_log() accept variable number of arguments.
2016-02-15 03:56:56 +00:00
whitequark
cd7f12e4b1
Remove lognonl(); rename log() to core_log() to avoid math.h conflict.
...
Also, make core_log() exactly equivalent to printf(), since the lack
of a drop-in universally usable printf() equivalent annoys me.
Note that this breaks compiled experiments. They'll be fixed in
the following commits.
2016-02-15 03:56:56 +00:00
Robert Jördens
10d78a5d0b
flash: grow runtime limit to 512 kB
2016-01-30 14:50:15 -07:00
Robert Jördens
e92d52314b
flash storage: move to flash + 0x70000
...
This requires recompiling and flashing the runtime and the entire
storage area file system (ip address and idle kernel).
* with ppp the runtime is larger than 0x40000 now
* 0x60000 for the runtime should give enough space for a while,
even including a fatter scheduler or runtime components
in other languages
* for both pipistrello and kc705 this leaves the unused space
starting at a nice round number
* the relevant flashes nowadays are 0x1000000 large
2016-01-28 18:08:30 -07:00
Robert Jördens
0079aa4037
runtime/main: style, wording, 1s ppp holdoff
2016-01-25 13:38:58 -07:00
Robert Jördens
2bc2cd0064
ppp: remove unneeded objects
2016-01-18 21:26:36 -07:00
Robert Jördens
1adeeabbed
ppp: wait for connection
2016-01-18 21:04:51 -07:00
Sebastien Bourdeauducq
dc709a77b8
PPP support (TCP broken)
2016-01-18 20:09:10 -07:00
whitequark
e2910fba99
runtime: define NDEBUG to disable debug mode of __artiq_personality.
...
There shouldn't be any bugs left and all the printing it does slows
exception handling considerably.
2016-01-19 01:52:57 +00:00
whitequark
5c6b1517d0
Rigorously treat builtin core device exceptions.
2016-01-19 01:45:25 +00:00
Robert Jördens
53b06a0b9b
RTIOUnderflow: show slack
2016-01-18 17:28:37 -07:00
Sebastien Bourdeauducq
15039e1d74
runtime/dds: DDS_ONEHOT_SEL -> CONFIG_DDS_ONEHOT_SEL
2016-01-15 09:32:17 -07:00
whitequark
1b9713115c
runtime: link libm and libbase-nofloat where appropriate.
2016-01-14 21:02:23 +00:00
whitequark
225f7d7302
Commit missing parts of 9366a29
.
2016-01-10 20:01:26 +00:00
whitequark
d1319b83e5
runtime: properly format addresses in InternalError message.
2016-01-10 18:07:08 +00:00
whitequark
bbd0ca7827
Commit missing parts of 9366a29
.
2016-01-10 15:45:56 +00:00
whitequark
f8e50f2b0c
Remove redundant ksupport API.
2016-01-10 14:27:46 +00:00
whitequark
cc45694f5a
Commit missing parts of 9366a29
.
2016-01-10 13:08:26 +00:00
whitequark
9366a29483
Implement core device storage ( fixes #219 ).
2016-01-10 13:04:55 +00:00
whitequark
027d54ca94
Enlarge coredevice buffers to 2.5MiB ( fixes #215 ).
...
This should be enough for sending a 2MiB int32 list.
2016-01-07 18:29:35 +00:00
whitequark
dcc4763914
Remove kernel-related constants from runtime.ld.
...
It's not used anywhere and it's one more place to adjust, which
will someday lead to obscure copy-paste bugs.
2016-01-07 18:27:38 +00:00
whitequark
577108554f
Move kernel CPU address space up to 0x40800000.
2016-01-07 18:26:11 +00:00
whitequark
81427af506
Remove selective attribute writeback; always synchronize all attributes.
...
The reasons are:
1. Shadow memory manipulation added ~12 instructions to TTLOut.pulse
(without inlining), and it's already barely fast enough.
2. More importantly, code such as self.ts[1] did not trigger
attribute writeback, and there seems to be no easy way to fix
that.
2016-01-03 04:57:58 +08:00
whitequark
38a99fde52
Implement selective attribute writeback using shadow memory.
2016-01-02 22:51:04 +08:00
whitequark
71d8cbb431
runtime/artiq_personality: add missing cast.
2015-12-31 22:10:30 +08:00
whitequark
a2618f0b5b
runtime/artiq_personality.c: add missing cast.
2015-12-31 22:06:01 +08:00
whitequark
f9e90d90fa
runtime/artiq_personality.c: don't dereference nonexistent typeInfoPtr.
2015-12-31 21:16:18 +08:00
whitequark
51e966edf2
Commit missing parts of 0b69e488
.
2015-12-31 21:09:24 +08:00
whitequark
0b69e488e6
transforms.llvm_ir_generator: compare exn typeinfo using strcmp.
...
This is necessary to correctly catch exceptions from RPCs.
2015-12-31 19:53:28 +08:00
Sebastien Bourdeauducq
048dcbee92
runtime/rtio: reverse char ordering in log messages
2015-12-27 01:07:18 +08:00
Sebastien Bourdeauducq
50a463a6fd
runtime: support for RTIO logging
2015-12-26 22:44:50 +08:00
Sebastien Bourdeauducq
e41e2c088d
analyzer: encapsulate decoded dump, get onehot sel from header
2015-12-24 00:31:21 +08:00
Sebastien Bourdeauducq
007a7170e1
analyzer: report DDS channel number
2015-12-21 18:37:53 +08:00
whitequark
d5216879d4
runtime: implement round() ( fixes #198 ).
...
From https://github.com/bpowers/musl/blob/master/src/math/round.c .
2015-12-20 04:06:11 +08:00
whitequark
e9afe5a93b
runtime: include __powidf2.
2015-12-19 00:14:51 +08:00
Sebastien Bourdeauducq
f431add20e
runtime/analyzer: fix zero data corner case, handle cache
2015-12-18 15:17:22 +08:00
Sebastien Bourdeauducq
b3abc9baf9
runtime/net_server: fix PCB filter
2015-12-18 01:14:57 +08:00
Sebastien Bourdeauducq
73794b5c25
runtime: send analyzer data
2015-12-18 00:13:22 +08:00
Sebastien Bourdeauducq
6ae41e6024
runtime/net_server: refactor to support multiple services
2015-12-17 16:55:39 +08:00
Sebastien Bourdeauducq
eeb53c5aa5
coredevice/comm: compare software and gateware versions. Closes #97
2015-12-11 22:56:40 +08:00
Robert Jördens
7886827b80
CSRConstant: also port DDS constants
2015-12-04 18:27:59 +08:00
Robert Jördens
5db1f9794e
top.add_constant() -> top.config[] (CSRConstant)
...
This is to be synchronized with the corresponding change in misoc.
2015-12-04 18:27:54 +08:00
whitequark
c14299dca8
Merge branch 'new-py2llvm'
2015-11-24 03:01:54 +08:00
whitequark
28fa68730a
Merge branch 'master' into new-py2llvm
2015-11-20 15:55:29 +08:00
Sebastien Bourdeauducq
ae99af27ee
runtime,gateware: use new misoc identifier
2015-11-10 22:44:38 +08:00
Sebastien Bourdeauducq
3c63e5bc61
runtime/liblwip: fix symbolic link creation
2015-11-09 11:07:22 +08:00
whitequark
51f04f6311
Explicitly use the python3.5 binary everywhere.
2015-11-07 13:39:39 +03:00
whitequark
d6d0a3e3e9
Merge branch 'master' into new-py2llvm
2015-11-07 12:57:18 +03:00
Sebastien Bourdeauducq
38740a4abe
runtime: log startup kernel start
2015-11-04 12:34:18 +08:00
Sebastien Bourdeauducq
087c2fd078
runtime: fix generation of service_table.h
2015-11-04 11:22:56 +08:00
Sebastien Bourdeauducq
e26147b2ac
gateware,runtime: use new migen/misoc
2015-11-04 00:35:03 +08:00