Commit Graph

644 Commits

Author SHA1 Message Date
whitequark
dd829afebd firmware: fix another TOCTTOU race in sync/async RPC code. 2018-11-12 15:42:07 +00:00
whitequark
583bba8777 Revert "firmware: workaround for RPC failures"
This reverts commit 59033d2588.
2018-11-12 15:36:36 +00:00
whitequark
0edae64afb firmware: fix TOCTTOU race in sync/async RPC code.
Before this commit, the main loop in session code was laid like:

  1. process_kern_queued_rpc
  2. process_host_message
  3. process_kern_message

If a host message (such as an RPC reply) caused the kernel to exit,
then any async RPCs would not complete, since RunFinished immediately
shuts down the kernel.

Fix this by reordering 1 and 2.
2018-11-12 15:30:59 +00:00
59033d2588 firmware: workaround for RPC failures 2018-11-12 19:51:54 +08:00
84a6b3d09b runtime: fix DMA recording after now-pinning 2018-11-10 14:14:55 +08:00
c990b5e4f1 Merge remote-tracking branch 'origin/master' into new 2018-11-08 20:21:56 +08:00
David Nadlinger
9740032a94 firmware: Fix dma_record_output_wide 2018-11-08 11:06:43 +00:00
8caea0e6d3 gateware,runtime: optimize RTIO kernel interface further
* now pinning (TODO: atomicity)
* for inputs, merge request and timeout registers
2018-11-08 18:29:24 +08:00
3d0c3cc1cf gateware,runtime: optimize RTIO output interface
* reduce address to 8 bits
* merge core, channel and address into 32-bit pre-computable "target"
* merge we register into data register
2018-11-07 23:39:58 +08:00
ad0254c17b Merge branch 'switching125' into new 2018-11-07 22:03:18 +08:00
efd735a6ab Revert "drtio: monitor RTIOClockMultiplier PLL (#1155)"
This reverts commit 469a66db61.
2018-11-07 22:01:03 +08:00
Florent Kermarrec
3318925f4e firmware/liboard_misoc/sdram: use similar loops on read_level_scan and read_level for consistent results 2018-10-16 09:40:39 +02:00
469a66db61 drtio: monitor RTIOClockMultiplier PLL (#1155)
Debugging by Tom Harty
2018-10-08 14:50:02 +02:00
969a305c5a Merge branch 'master' into switching125 2018-10-04 10:08:42 +08:00
b92350b0f6 drtio: monitor RTIOClockMultiplier PLL (#1155)
Debugging by Tom Harty
2018-09-26 10:52:08 +08:00
1b7f403a4b drtio: remove remote RTIO PHY resets 2018-09-20 11:10:32 +08:00
53a979e74d rtio: cleanup resets 2018-09-20 10:58:38 +08:00
3d965910f7 Revert "drtio: implement per-destination underflow margins"
This reverts commit 142c952e3d.
2018-09-19 17:05:48 +08:00
142c952e3d drtio: implement per-destination underflow margins 2018-09-19 17:03:15 +08:00
62642957cd runtime: fix DRTIO aux channel race condition 2018-09-19 11:16:21 +08:00
David Nadlinger
b482f5feae firmware: Use larger ARP cache
This works around a problematic interaction between ARP cache
expiry in smoltcp (with its 3 seconds timeout before a discovery
request is sent) and our TCP keepalive settings, where the timeout
is reached before the keepalive had a chance to be sent.

GitHub: Closes #1150.
2018-09-18 14:46:52 +00:00
whitequark
c33f74dabe firmware: derive Clone for Mutex. 2018-09-15 15:24:44 +00:00
c8cd830118 drtio: implement get_rtio_destination_status for kernels 2018-09-15 19:11:22 +08:00
f7ad7a99e3 firmware: set DEST_COUNT to 0 without routing 2018-09-15 19:10:52 +08:00
d38755feff drtio: implement destination state checks on operations 2018-09-15 15:55:45 +08:00
whitequark
1990ab35d3 firmware: implement mutexes. 2018-09-15 07:35:35 +00:00
f097b4104c satman: not(has_drtio_routing) fixes 2018-09-15 12:06:47 +08:00
2f010e0109 runtime: improve moninj aux error logging 2018-09-15 10:44:41 +08:00
f8c6fa5ad6 typo 2018-09-15 10:43:36 +08:00
65da1fee4a firmware: fix build without DRTIO 2018-09-14 20:38:41 +08:00
d19550daf8 firmware: simplify drtioaux function names 2018-09-14 20:32:09 +08:00
ae72e3a51e firmware: add support for moninj and kern_hwreq over DRTIO switching 2018-09-14 20:26:39 +08:00
1ef39a98a7 drtio: implement per-destination buffer space 2018-09-13 16:16:32 +08:00
e95638e0a7 style 2018-09-13 15:54:28 +08:00
042b0065de runtime: print destination up message for local RTIO 2018-09-13 14:10:52 +08:00
fa872c3341 firmware: implement DRTIO destination survey 2018-09-13 12:00:29 +08:00
6cf3db3485 satman: forward RTIO resets 2018-09-12 23:02:54 +08:00
5a9cc004f2 drtio: receive and print unsolicited aux packets
Helps with debugging and prevents the aux channel from getting stuck after packets arrive after the timeout.
2018-09-12 22:57:21 +08:00
0befec7d26 drtio: improve repeater error reports 2018-09-12 20:54:01 +08:00
420e1cb1d0 cri: fix firmware routing table access 2018-09-12 18:08:16 +08:00
e36a8536d7 runtime: better handling of aux timeouts 2018-09-12 17:31:23 +08:00
edf403b837 drtio: improve error reporting 2018-09-12 15:44:34 +08:00
95432a4ac1 drtio: remove old debugging features 2018-09-12 13:01:27 +08:00
5439abaa9d satman: fix error messages 2018-09-11 20:10:52 +08:00
36e3fedfc6 runtime: print routing table at boot 2018-09-11 20:10:33 +08:00
e6bd835b5d satman: fix rank setting 2018-09-11 20:04:51 +08:00
2679a35082 firwmare: propagate DRTIO routing table and rank all the way 2018-09-11 18:28:17 +08:00
c0c5867f9e satman: increase stack size
Prevents crashing when running the routing code.

Will have to be shrunk back on Sayma RTM.
2018-09-11 18:23:51 +08:00
a23af67f2b satman: print better debugging information on exception 2018-09-11 18:23:36 +08:00
f5b386c0d8 firmware: fix routing table formatting 2018-09-11 18:22:45 +08:00