From: Paul Brook <paul@codesourcery.com>
To: qemu-devel@nongnu.org
Cc: Robert Reif <reif@earthlink.net>
Subject: Re: [Qemu-devel] [PATCH] 64 bit I/O support v7
Date: Fri, 1 May 2009 13:03:50 +0100 [thread overview]
Message-ID: <200905011303.50885.paul@codesourcery.com> (raw)
In-Reply-To: <49EDB109.5010009@earthlink.net>
> The old array function call is supported so no existing drivers need
> to be modified. They can continue to do 2 32 bit accesses because 2
> helper functions have been added to break up the accesses automatically.
> However, the helper functions should only be used until all drivers are
> converted to use the structure and then can be removed along
> with the old array functions api. The replacement of the arrays with
> structures in the drivers is very straightforward for drivers that don't
> do 64 bit I/O and the few that do can be cleaned up to remove the
> work arounds for the lack of true 64 bit I/O by their maintainers.
This is going to be a bit of a pain, and a lot of duplication. My expectation
is that most devices don't know/care about 64-bit accesses and want them to
be automatically split into a pair of 32-bit accesses. I suggest pushing this
down into the lower level dispatch routines. By my reading your mem_writeq
helpers are broken if we happen to have multiple regions with the same opaque
value (this effects at least lsi53c895a.c).
In the interests of avoiding duplication, I'd also implement
cpu_register_io_memory in terms of cpu_register_io_memory64.
> + return ((CPUReadMemoryFunc64*)(*mmio->mem_read[idx][3]))
> (mmio->opaque[idx][0][3], addr + mmio->region_offset[idx][0][3]);
Eww. It would be a good idea to fix this at the same time.
Paul
next prev parent reply other threads:[~2009-05-01 12:04 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-21 11:42 [Qemu-devel] [PATCH] 64 bit I/O support v7 Robert Reif
2009-05-01 12:03 ` Paul Brook [this message]
2009-05-01 13:46 ` Robert Reif
2009-05-01 14:14 ` Paul Brook
2009-05-01 14:39 ` Robert Reif
2009-05-01 14:52 ` Paul Brook
2009-05-01 15:19 ` Robert Reif
2009-05-01 15:33 ` Paul Brook
2009-05-01 15:51 ` Blue Swirl
2009-05-01 16:36 ` Edgar E. Iglesias
2009-05-01 17:29 ` Robert Reif
2009-05-02 0:02 ` Robert Reif
2009-05-02 0:40 ` Paul Brook
2009-05-01 23:42 ` Robert Reif
2009-05-01 23:57 ` Paul Brook
2009-05-02 15:23 ` Blue Swirl
2009-05-02 19:35 ` Paul Brook
2009-05-05 1:59 ` Jamie Lokier
2009-05-05 6:05 ` Edgar E. Iglesias
2009-05-01 14:25 ` Robert Reif
2009-05-01 14:39 ` Paul Brook
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200905011303.50885.paul@codesourcery.com \
--to=paul@codesourcery.com \
--cc=qemu-devel@nongnu.org \
--cc=reif@earthlink.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).