Configure a SPEC host
A SPEC host is a normal Linux PC with the SPECv4 card inserted into a 4+ lane PCI express slot. In order to communicate with the card, you will need the kernel driver and Etherbone library. Simply follow the Building-from-Sources directions to install them on your system.
After "make install" as root, run "depmod -a" and reboot. You should see the device listed as a PCIe device and see that the driver loaded (here I have two SPECs):
root@host:~# lspci | grep 018d 01:00.0 Non-VGA unclassified device: CERN/ECP/EDU Device 018d (rev 03) 02:00.0 Non-VGA unclassified device: CERN/ECP/EDU Device 018d (rev 03) root@host:~# lsmod | grep spec spec_wb 12596 0 wishbone 12660 1 spec_wb root@host:~# dmesg | grep spec [ 8.856298] spec_wb 0000:01:00.0: irq 44 for MSI/MSI-X [ 8.866082] spec_wb 0000:02:00.0: irq 45 for MSI/MSI-X root@host:~# ls -l /dev/spec* crw------- 1 root root 252, 0 Dec 3 2009 /dev/spec_wb0 crw------- 1 root root 252, 1 Dec 3 2009 /dev/spec_wb1
In order to communicate with the device, you use the Etherbone address dev/spec_wb0. This is not a filesystem path and there is no leading '/'! For example,
root@host:~# eb-ls dev/spec_wb0 BusPath VendorID Product BaseAddress(Hex) Description 1 000000000000ce42:66cfeb52 0 WB4-BlockRAM 2 0000000000000651:eef0b198 20000 WB4-Bridge-GSI 2.1 000000000000ce42:ab28633a 20000 WR-Mini-NIC 2.2 000000000000ce42:650c2d4f 20100 WR-Endpoint 2.3 000000000000ce42:65158dc0 20200 WR-Soft-PLL 2.4 000000000000ce42:de0d8ced 20300 WR-PPS-Generator 2.5 000000000000ce42:ff07fc47 20400 WR-Periph-Syscon 2.6 000000000000ce42:e2d13d04 20500 WR-Periph-UART 2.7 000000000000ce42:779c5443 20600 WR-Periph-1Wire 2.8 0000000000000651:68202b22 20700 Etherbone-Config
Notice that the Wishbone bus as seen from a SPEC host is smaller than what you will see from the data master over Etherbone and also smaller than what you will see from an SCU ComExpress board. The SPEC PCIe bridge can only expose 256kB of the Wishbone bus so the rest of the devices are missing.
Thus, you can Read-the-current-time from a SPEC host, but you will be unable to Schedule-events or Capture-timestamps. For the last to features, you need to Configure-a-Data-Master.