1/* 2 * QEMU remote port memory slave. Read and write transactions 3 * recieved from the remote port are translated into an address space. 4 * 5 * Copyright (c) 2013 Xilinx Inc 6 * Written by Edgar E. Iglesias <edgar.iglesias@xilinx.com> 7 * Written by Peter Crosthwaite <peter.crosthwaite@xilinx.com> 8 * 9 * This code is licensed under the GNU GPL. 10 */ 11#ifndef REMOTE_PORT_MEMORY_SLAVE_H 12#define REMOTE_PORT_MEMORY_SLAVE_H 13 14#define TYPE_REMOTE_PORT_MEMORY_SLAVE "remote-port-memory-slave" 15#define REMOTE_PORT_MEMORY_SLAVE(obj) \ 16 OBJECT_CHECK(RemotePortMemorySlave, (obj), \ 17 TYPE_REMOTE_PORT_MEMORY_SLAVE) 18 19typedef struct RemotePortMemorySlave { 20 /* private */ 21 DeviceState parent; 22 /* public */ 23 struct RemotePort *rp; 24 struct rp_peer_state *peer; 25 MemoryRegion *mr; 26 AddressSpace *as; 27 MemTxAttrs attr; 28 RemotePortDynPkt rsp; 29} RemotePortMemorySlave; 30#endif 31