From e94d0a807ce8f406ea5287610fe871f4f2c6d4c9 Mon Sep 17 00:00:00 2001 From: Yangyu Chen Date: Thu, 15 Jun 2023 12:12:03 +0000 Subject: [PATCH] midas: mmap from xdma_user instead of pci resource --- .../src/main/cc/simif_xilinx_alveo_u250.cc | 30 ++++++++----------- 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/sim/midas/src/main/cc/simif_xilinx_alveo_u250.cc b/sim/midas/src/main/cc/simif_xilinx_alveo_u250.cc index 7108f320..6bcdfc4e 100644 --- a/sim/midas/src/main/cc/simif_xilinx_alveo_u250.cc +++ b/sim/midas/src/main/cc/simif_xilinx_alveo_u250.cc @@ -246,27 +246,10 @@ void simif_xilinx_alveo_u250_t::fpga_setup(uint16_t domain_id, assert(ret >= 0); fpga_pci_check_file_id(sysfs_name, pci_device_id); - // open and memory map - snprintf(sysfs_name, - sizeof(sysfs_name), - "/sys/bus/pci/devices/" PCI_DEV_FMT "/resource%u", - domain_id, - bus_id, - device_id, - pf_id, - bar_id); - - fd = open(sysfs_name, O_RDWR | O_SYNC); - assert(fd != -1); - - bar0_base = mmap(0, bar0_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); - assert(bar0_base != MAP_FAILED); - close(fd); - fd = -1; - // XDMA setup char device_file_name[256]; char device_file_name2[256]; + char user_file_name[256]; ret = snprintf(sysfs_name, sizeof(sysfs_name), @@ -294,6 +277,17 @@ void simif_xilinx_alveo_u250_t::fpga_setup(uint16_t domain_id, assert(xdma_id != -1); + // open and memory map + sprintf(user_file_name, "/dev/xdma%d_user", xdma_id); + + fd = open(user_file_name, O_RDWR | O_SYNC); + assert(fd != -1); + + bar0_base = mmap(0, bar0_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); + assert(bar0_base != MAP_FAILED); + close(fd); + fd = -1; + sprintf(device_file_name, "/dev/xdma%d_h2c_0", xdma_id); printf("Using xdma write queue: %s\n", device_file_name); sprintf(device_file_name2, "/dev/xdma%d_c2h_0", xdma_id);