qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Marc Marí" <markmb@redhat.com>
To: Laszlo Ersek <lersek@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Stefan Hajnoczi <stefanha@gmail.com>,
	"Richard W.M. Jones" <rjones@redhat.com>,
	QEMU Developers <qemu-devel@nongnu.org>,
	Kevin O'Connor <kevin@koconnor.net>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] [RFC 2/7] fw_cfg dma interface
Date: Thu, 23 Jul 2015 15:48:19 +0200	[thread overview]
Message-ID: <20150723154819.39ad7501@markmb_rh> (raw)
In-Reply-To: <55B0EFF5.1050608@redhat.com>

On Thu, 23 Jul 2015 15:45:25 +0200
Laszlo Ersek <lersek@redhat.com> wrote:

> On 07/23/15 15:35, Peter Maydell wrote:
> > On 23 July 2015 at 14:13, Laszlo Ersek <lersek@redhat.com> wrote:
> >> On 07/22/15 19:18, Kevin O'Connor wrote:
> >>> Another possibility would be to place the new fw_cfg dma register
> >>> address into a named fw_cfg "file" (eg, "fw_cfg_dma").  The
> >>> firmware could then use the existing select/data fw_cfg interface
> >>> to check if the new dma interface is available by scanning for
> >>> that "fw_cfg_dma" file.  This has the advantage of not requiring
> >>> a new "magic address", but has the disadvantage of a more complex
> >>> probe.
> >>
> >> I like this one so much that I'm worried I'm missing some
> >> details. :)
> > 
> > This requires the device itself to know its own address, which
> > is in QEMU possible but ugly enough to be worth avoiding.
> > 
> > For ARM MMIO the obvious answer is "the new register should
> > just go next to the first one". Does x86 do something that
> > means we can't put it somewhere equally straightforward
> > or do discovery via whatever x86 uses for discovering MMIO?
> 
> I don't know how x86 determines the MMIO mapping. As far as I gather
> from the SeaBIOS patches and this QEMU series, 0xfef00000 is a
> hand-picked fixed address. (See BIOS_CFG_DMA_ADDR in 7/7.)
> 
> 0xfef00000 seems to fall right above the 1MB LAPIC range; I guess
> there's no conflict with anything else...
> 

For the x86 part, I chose a completely arbitrary "magic address".
Ideally, this address should be discoverable by the BIOS, so it can be
moved around if some specification is changed. But a lot of device
configuration used in SeaBIOS comes from fw_cfg. That might be the
reason why the IO port was also hardcoded.

It would be good if somebody comes with an idea on how to make it
discoverable by the BIOS in x86.

  reply	other threads:[~2015-07-23 13:48 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-21 16:03 [Qemu-devel] [RFC 0/7] fw_cfg dma interface Marc Marí
2015-07-21 16:03 ` [Qemu-devel] [RFC 1/7] fw_cfg: document fw_cfg_modify_iXX() update functions Marc Marí
2015-07-21 19:28   ` Laszlo Ersek
2015-07-21 16:03 ` [Qemu-devel] [RFC 2/7] fw_cfg dma interface Marc Marí
2015-07-21 19:44   ` Laszlo Ersek
2015-07-22  8:19     ` Marc Marí
2015-07-22 10:01       ` Laszlo Ersek
2015-07-22 11:30     ` Andrew Jones
2015-07-22 11:40       ` Laszlo Ersek
2015-07-22  4:24   ` Kevin O'Connor
2015-07-22  8:31     ` Marc Marí
2015-07-22 17:18       ` Kevin O'Connor
2015-07-23 13:13         ` Laszlo Ersek
2015-07-23 13:35           ` Peter Maydell
2015-07-23 13:45             ` Laszlo Ersek
2015-07-23 13:48               ` Marc Marí [this message]
2015-07-23 14:14             ` Kevin O'Connor
2015-07-22  9:31     ` Stefan Hajnoczi
2015-07-21 16:03 ` [Qemu-devel] [RFC 3/7] fw_cfg dma: adapt to vmstate changes Marc Marí
2015-07-21 16:16   ` Stefan Hajnoczi
2015-07-21 16:03 ` [Qemu-devel] [RFC 4/7] enable fw_cfg dma for arm virt Marc Marí
2015-07-21 17:04   ` Peter Maydell
2015-07-21 19:48     ` Laszlo Ersek
2015-07-22  8:44     ` Marc Marí
2015-07-21 16:03 ` [Qemu-devel] [RFC 5/7] fw_cfg file sort Marc Marí
2015-07-21 16:18   ` Stefan Hajnoczi
2015-07-21 19:53     ` Laszlo Ersek
2015-07-22  8:46       ` Marc Marí
2015-07-21 16:03 ` [Qemu-devel] [RFC 6/7] Add offset register to fw_cfg DMA interface Marc Marí
2015-07-21 16:26   ` Stefan Hajnoczi
2015-07-21 20:06     ` Laszlo Ersek
2015-07-21 20:16       ` Kevin O'Connor
2015-07-21 20:36         ` Laszlo Ersek
2015-07-22  4:11           ` Kevin O'Connor
2015-07-22  9:03           ` Marc Marí
2015-07-21 16:34   ` Stefan Hajnoczi
2015-07-21 16:03 ` [Qemu-devel] [RFC 7/7] fw_cfg DMA for x86 Marc Marí
2015-07-21 17:14   ` Peter Maydell
2015-07-22  9:06     ` Marc Marí

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=20150723154819.39ad7501@markmb_rh \
    --to=markmb@redhat.com \
    --cc=kevin@koconnor.net \
    --cc=kraxel@redhat.com \
    --cc=lersek@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rjones@redhat.com \
    --cc=stefanha@gmail.com \
    /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).