qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] 64 bit I/O support v7


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH] 64 bit I/O support v7
Date: Sat, 2 May 2009 18:23:42 +0300

On 5/2/09, Paul Brook <address@hidden> wrote:
> > Should a new intermediate bus layer also do byte swapping?
>
>
> Yes, though a bus layer isn't actually a necessary prerequisite.
>
>  As I mentioned in the recent "Smarter compilation for target devices"
>  thread[1], having individual devices do byteswapping is bogus. A while ago I
>  reworked the TLB handling, so there should now be spare bits that can be used
>  for things like byteswapping.

This version does the byte swapping and width translation in exec.c.
Sparc32 OpenBIOS/Linux does not use the wrong sized accesses, so that
part may be untested.

Some problems:

- Small writes cause a read-modify-write cycle, but I think that may
happen with real devices too. Another solution is to write zero in
other byte lanes without reading.

- The LE/BE distinction does not seem to be very obvious for devices.
I think the board should give the is_le value to the device.

- There is a small performance hit for the native access case. This
could be avoided by extending io_mem_opaque to cover all sizes.

Attachment: Emulate_non_native_widths.patch
Description: application/mbox

Attachment: Use_new_registration_functions.patch
Description: application/mbox


reply via email to

[Prev in Thread] Current Thread [Next in Thread]