Revision d537cf6c hw/pcnet.c
b/hw/pcnet.c | ||
---|---|---|
69 | 69 |
int xmit_pos, recv_pos; |
70 | 70 |
uint8_t buffer[4096]; |
71 | 71 |
int tx_busy; |
72 |
void (*set_irq_cb)(void *s, int isr);
|
|
72 |
qemu_irq irq;
|
|
73 | 73 |
void (*phys_mem_read)(void *dma_opaque, target_phys_addr_t addr, |
74 | 74 |
uint8_t *buf, int len, int do_bswap); |
75 | 75 |
void (*phys_mem_write)(void *dma_opaque, target_phys_addr_t addr, |
... | ... | |
823 | 823 |
printf("pcnet: INTA=%d\n", isr); |
824 | 824 |
#endif |
825 | 825 |
} |
826 |
s->set_irq_cb(s, isr);
|
|
826 |
qemu_set_irq(s->irq, isr);
|
|
827 | 827 |
s->isr = isr; |
828 | 828 |
} |
829 | 829 |
|
... | ... | |
1940 | 1940 |
cpu_register_physical_memory(addr, PCNET_PNPMMIO_SIZE, d->mmio_index); |
1941 | 1941 |
} |
1942 | 1942 |
|
1943 |
static void pcnet_pci_set_irq_cb(void *opaque, int isr) |
|
1944 |
{ |
|
1945 |
PCNetState *s = opaque; |
|
1946 |
|
|
1947 |
pci_set_irq(&s->dev, 0, isr); |
|
1948 |
} |
|
1949 |
|
|
1950 | 1943 |
static void pci_physical_memory_write(void *dma_opaque, target_phys_addr_t addr, |
1951 | 1944 |
uint8_t *buf, int len, int do_bswap) |
1952 | 1945 |
{ |
... | ... | |
2001 | 1994 |
pci_register_io_region((PCIDevice *)d, 1, PCNET_PNPMMIO_SIZE, |
2002 | 1995 |
PCI_ADDRESS_SPACE_MEM, pcnet_mmio_map); |
2003 | 1996 |
|
2004 |
d->set_irq_cb = pcnet_pci_set_irq_cb;
|
|
1997 |
d->irq = d->dev.irq[0];
|
|
2005 | 1998 |
d->phys_mem_read = pci_physical_memory_read; |
2006 | 1999 |
d->phys_mem_write = pci_physical_memory_write; |
2007 | 2000 |
d->pci_dev = &d->dev; |
... | ... | |
2025 | 2018 |
(CPUWriteMemoryFunc *)&pcnet_ioport_writew, |
2026 | 2019 |
}; |
2027 | 2020 |
|
2028 |
static void pcnet_sparc_set_irq_cb(void *opaque, int isr) |
|
2029 |
{ |
|
2030 |
PCNetState *s = opaque; |
|
2031 |
|
|
2032 |
ledma_set_irq(s->dma_opaque, isr); |
|
2033 |
} |
|
2034 |
|
|
2035 |
void *lance_init(NICInfo *nd, uint32_t leaddr, void *dma_opaque) |
|
2021 |
void *lance_init(NICInfo *nd, uint32_t leaddr, void *dma_opaque, qemu_irq irq) |
|
2036 | 2022 |
{ |
2037 | 2023 |
PCNetState *d; |
2038 | 2024 |
int lance_io_memory; |
... | ... | |
2047 | 2033 |
d->dma_opaque = dma_opaque; |
2048 | 2034 |
cpu_register_physical_memory(leaddr, 4, lance_io_memory); |
2049 | 2035 |
|
2050 |
d->set_irq_cb = pcnet_sparc_set_irq_cb;
|
|
2036 |
d->irq = irq;
|
|
2051 | 2037 |
d->phys_mem_read = ledma_memory_read; |
2052 | 2038 |
d->phys_mem_write = ledma_memory_write; |
2053 | 2039 |
|
Also available in: Unified diff