Connectal (http://www.connectal.org) is an open source framework that enables user-space software to communicate to Xilinx or Altera FPGAs. Very little of that communication involves the device-driver, actually.
Connectal supports message-passing between the software and hardware over memory mapped hardware FIFOs, and it supports shared memory via DMA from the FPGA.
The device-driver is designed to be architecture independent but PCIe communication has only been tested from x86.
Connectal also supports Zynq, so some of the problems you will run into (non-snooped I/O) have been debugged.
Connectal's hardware is currently implemented in Bluespec Systems Verilog and uses Xilinx or Altera PCIe cores.
drivers/dma
– 0andriy