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 15:14:20 +0100 [thread overview]
Message-ID: <200905011514.21072.paul@codesourcery.com> (raw)
In-Reply-To: <49FAFD36.5040609@earthlink.net>
> The right way to do this is to convert the whole tree at once
> so we don't need the helper functions and two versions of
> cpu_register_io_memory.
> 95% of the hardware drivers could be trivially converted and
> work fine.
I think you're missing my point. It's the 95% of drivers that I don't want to
have to "convert". I'm working on the assumption that devices that actually
implement 64-bit transfers are the exception rather than the rule.
So we have three options:
1) Omit the 64-bit handler for most devices. This will trigger the subwith
code and associated overhead for no good reason[1].
2) Implement a 64-bit handler for every single device. 90% of these are going
to be identical trivial wrappers round the 32-bit function. Maybe 5% actually
need 64-bit accesses, and 5% are broken because someone messed up a
copy/paste.
3) Implement splitting of 64-bit accesses in generic code. Devices that
actually care about 64-bit accesses can install a handler. Everything else
indicates that it wants accesses split, either by a magic handler or a
different registration function.
Your current patch implements a broken version of (3), with a vague hope that
we'll switch to (2) at some time in the future.
I'm suggesting we implement (3) properly from the start.
Paul
[1] I still don't understand why the subwidth code exists, It's seems rather
unlikely we'll have two different devices responding to different types of
access the same address range. That's a separate argument though.
next prev parent reply other threads:[~2009-05-01 14:14 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
2009-05-01 13:46 ` Robert Reif
2009-05-01 14:14 ` Paul Brook [this message]
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=200905011514.21072.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).