- A general remark : instead of using SPARC_IOMMU_TRANSLATE, you should use
new memory helpers to read or write bytes such as
pcnet_physical_memory_read() and pcnet_physical_memory_write(). The
rationale is that ultimately pci memory accesses will also use PCI specific
I/Os to handle the case where the PCI memory is not mapped directly in the
CPU address space. For the sparc iommu you should define global helpers
such as sparc_iommu_memory_read() and sparc_iommu_memory_write().
Good, that's much cleaner than the current mechanism.
- CPU specific #ifdefs (or CPU specific endianness macros) should be
avoided in device code unless it is really necessary. The rationale is that
ultimately there will be a single QEMU executable supporting all machines
and CPUs. In the pcnet case for example, the macro 'SPARC_FIX_DESC' is
almost surely not necessary because the device seems implicitely little
endian (the original code lacks correct endianness conversion routines !).
That's what I suspected. I'll try to make an universal version.
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel