forked from M-Labs/artiq
1
0
Fork 0
Commit Graph

130 Commits

Author SHA1 Message Date
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