#539 closed defect (fixed)
PCI NICs not working under newer QEMU's
Reported by: | Jakub Jermář | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 0.6.0 |
Component: | helenos/net/other | Version: | mainline |
Keywords: | QEMU, nic | Cc: | |
Blocker for: | Depends on: | ||
See also: |
Description
On 4.5.2013 20:50, Jakub Jermar wrote:
did anyone succeed in in running HelenOS networking on the newer
versions of QEMU? The last version in which I can still ping the default
gateway at 10.0.2.2 is 1.2.
On 7.5.2013 13:01, Jiri Svoboda wrote:
For me, with current mainline
Qemu 1.4.0
- working: ne2k
- not working: e1k, rtl8139
Qemu 1.0.1
- working: ne2k, e1k, rtl8139
I tend to use ne2k so I didn't notice..
Change History (2)
comment:1 by , 11 years ago
Note:
See TracTickets
for help on using tickets.
I am already investigating the problem (in QEMU 1.4.1) and it has something to do with the way the TX descriptors and frames are transferred from the memory to the NIC. If I replace the pci_dma_read() and pci_dma_write() calls in the QEMU E1000 model (hw/e1000.c) with the previously used cpu_physical_memory_read() and cpu_physical_memory_write() calls, our driver works again.
In other words, a workaround is to revert the following QEMU changeset: http://git.qemu.org/?p=qemu.git;a=commitdiff;h=62ecbd353d25e62c4a6c327ea88ba5404e13507a
I am yet to find out the root cause of the problem, because the pci_dma_*() calls in the model are technically correct and I don't see any obvious bug in their implementation so far.