qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 16/23] ioport: register ranges by byte aligned a


From: Avi Kivity
Subject: Re: [Qemu-devel] [PATCH 16/23] ioport: register ranges by byte aligned addresses always
Date: Tue, 26 Jul 2011 13:59:58 +0300
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.18) Gecko/20110621 Fedora/3.1.11-1.fc15 Thunderbird/3.1.11

On 07/25/2011 10:20 PM, Anthony Liguori wrote:
On 07/25/2011 09:02 AM, Avi Kivity wrote:
The I/O port space is byte addressable, even for word and long accesses.

An example is the VMware svga card, which has long ports on offsets 0,
1, and 2.

Signed-off-by: Avi Kivity<address@hidden>

I've always thought this was odd but didn't know of a specific circumstance where it broke a device.

This was a big problem with the old API. Devices don't register their interest in specific sizes. They may ignore certain size accesses but that's a device specific behavior.

In fact there's on counterexample - 440FX consumes dword accesses on port cf8 but forwards byte and word accesses to the PCI bus. This cannot be implemented with the current API (it requires the opaque to be equal for all word sizes). The new API doesn't support it either; if we need to, we can re-issue the access but using the PCI address space instead of the root I/O address space.

(of course this is purely theoretical)

--
error compiling committee.c: too many arguments to function




reply via email to

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