On 8/24/06, *Blue Swirl* <address@hidden
<mailto:address@hidden>> wrote:
>- 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.
Do you want to preserve bitfields in structures? See comments near
PACKED_FIELD() decl