From b6dd9c8bb054945ba38cbb64294cad914bb71682 Mon Sep 17 00:00:00 2001 From: whitequark Date: Sat, 23 Jun 2018 00:56:21 +0000 Subject: [PATCH] runtime: support builds without RTIO DMA. Fixes #1079. --- artiq/firmware/ksupport/lib.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/artiq/firmware/ksupport/lib.rs b/artiq/firmware/ksupport/lib.rs index c3e05c138..73360ce05 100644 --- a/artiq/firmware/ksupport/lib.rs +++ b/artiq/firmware/ksupport/lib.rs @@ -17,7 +17,6 @@ use core::{mem, ptr, slice, str}; use cslice::{CSlice, AsCSlice}; use io::Cursor; use dyld::Library; -use board_misoc::csr; use board_artiq::{mailbox, rpc_queue}; use proto_artiq::{kernel_proto, rpc_proto}; use kernel_proto::*; @@ -365,11 +364,13 @@ extern fn dma_retrieve(name: CSlice) -> DmaTrace { }) } -#[cfg(has_rtio)] +#[cfg(has_rtio_dma)] extern fn dma_playback(timestamp: i64, ptr: i32) { assert!(ptr % 64 == 0); unsafe { + use board_misoc::csr; + csr::rtio_dma::base_address_write(ptr as u64); csr::rtio_dma::time_offset_write(timestamp as u64); @@ -397,9 +398,9 @@ extern fn dma_playback(timestamp: i64, ptr: i32) { } } -#[cfg(not(has_rtio))] -extern fn dma_playback(timestamp: i64, ptr: i32) { - unimplemented!("not(has_rtio)") +#[cfg(not(has_rtio_dma))] +extern fn dma_playback(_timestamp: i64, _ptr: i32) { + unimplemented!("not(has_rtio_dma)") } unsafe fn attribute_writeback(typeinfo: *const ()) {