Revision ee6847d1 hw/xilinx_ethlite.c
b/hw/xilinx_ethlite.c | ||
---|---|---|
53 | 53 |
qemu_irq irq; |
54 | 54 |
VLANClientState *vc; |
55 | 55 |
|
56 |
unsigned int c_tx_pingpong;
|
|
57 |
unsigned int c_rx_pingpong;
|
|
56 |
uint32_t c_tx_pingpong;
|
|
57 |
uint32_t c_rx_pingpong;
|
|
58 | 58 |
unsigned int txbuf; |
59 | 59 |
unsigned int rxbuf; |
60 | 60 |
|
... | ... | |
213 | 213 |
int regs; |
214 | 214 |
|
215 | 215 |
sysbus_init_irq(dev, &s->irq); |
216 |
s->c_tx_pingpong = qdev_get_prop_int(&dev->qdev, "txpingpong", 1); |
|
217 |
s->c_rx_pingpong = qdev_get_prop_int(&dev->qdev, "rxpingpong", 1); |
|
218 | 216 |
s->rxbuf = 0; |
219 | 217 |
|
220 | 218 |
regs = cpu_register_io_memory(eth_read, eth_write, s); |
... | ... | |
225 | 223 |
eth_can_rx, eth_rx, NULL, eth_cleanup, s); |
226 | 224 |
} |
227 | 225 |
|
226 |
static SysBusDeviceInfo xilinx_ethlite_info = { |
|
227 |
.init = xilinx_ethlite_init, |
|
228 |
.qdev.name = "xilinx,ethlite", |
|
229 |
.qdev.size = sizeof(struct xlx_ethlite), |
|
230 |
.qdev.props = (Property[]) { |
|
231 |
{ |
|
232 |
.name = "txpingpong", |
|
233 |
.info = &qdev_prop_uint32, |
|
234 |
.offset = offsetof(struct xlx_ethlite, c_tx_pingpong), |
|
235 |
.defval = (uint32_t[]) { 1 }, |
|
236 |
},{ |
|
237 |
.name = "rxpingpong", |
|
238 |
.info = &qdev_prop_uint32, |
|
239 |
.offset = offsetof(struct xlx_ethlite, c_rx_pingpong), |
|
240 |
.defval = (uint32_t[]) { 1 }, |
|
241 |
}, |
|
242 |
{/* end of list */} |
|
243 |
} |
|
244 |
}; |
|
245 |
|
|
228 | 246 |
static void xilinx_ethlite_register(void) |
229 | 247 |
{ |
230 |
sysbus_register_dev("xilinx,ethlite", sizeof (struct xlx_ethlite), |
|
231 |
xilinx_ethlite_init); |
|
248 |
sysbus_register_withprop(&xilinx_ethlite_info); |
|
232 | 249 |
} |
233 | 250 |
|
234 | 251 |
device_init(xilinx_ethlite_register) |
Also available in: Unified diff