All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: "Peter Maydell" <peter.maydell@linaro.org>,
	"Marc Marí" <markmb@redhat.com>
Cc: Stefan Hajnoczi <stefanha@gmail.com>,
	Kevin O'Connor <kevin@koconnor.net>,
	Gerd Hoffmann <kraxel@redhat.com>,
	QEMU Developers <qemu-devel@nongnu.org>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] [RFC 4/7] enable fw_cfg dma for arm virt
Date: Tue, 21 Jul 2015 21:48:59 +0200	[thread overview]
Message-ID: <55AEA22B.2000908@redhat.com> (raw)
In-Reply-To: <CAFEAcA-Bw_ZiWjfXPDmKyECq4YeNSPR5u=d_4p1zAReBNHHj1w@mail.gmail.com>

On 07/21/15 19:04, Peter Maydell wrote:
> On 21 July 2015 at 17:03, Marc Marí <markmb@redhat.com> wrote:
>> From: Gerd Hoffmann <kraxel@redhat.com>
>>
>> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
>> ---
>>  docs/specs/fw_cfg.txt |  6 ++++++
>>  hw/arm/virt.c         | 11 ++++++++---
>>  2 files changed, 14 insertions(+), 3 deletions(-)
>>
>> diff --git a/docs/specs/fw_cfg.txt b/docs/specs/fw_cfg.txt
>> index 64d9192..eac83a1 100644
>> --- a/docs/specs/fw_cfg.txt
>> +++ b/docs/specs/fw_cfg.txt
>> @@ -167,6 +167,12 @@ If a partial transfer happened before an error occured the address and
>>  length registers indicate how much data has been transfered
>>  successfully.
>>
>> +== Register Locations ==
>> +
>> +=== arm ===
>> +
>> +classic fw_cfg base + 16
>> +
>>  = Host-side API =
>>
>>  The following functions are available to the QEMU programmer for adding
>> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
>> index 374660c..d05f6a4 100644
>> --- a/hw/arm/virt.c
>> +++ b/hw/arm/virt.c
>> @@ -606,13 +606,13 @@ static void create_flash(const VirtBoardInfo *vbi)
>>      g_free(nodename);
>>  }
>>
>> -static void create_fw_cfg(const VirtBoardInfo *vbi)
>> +static void create_fw_cfg(AddressSpace *as, const VirtBoardInfo *vbi)
>>  {
>>      hwaddr base = vbi->memmap[VIRT_FW_CFG].base;
>>      hwaddr size = vbi->memmap[VIRT_FW_CFG].size;
>>      char *nodename;
>>
>> -    fw_cfg_init_mem_wide(base + 8, base, 8, 0, NULL);
>> +    fw_cfg_init_mem_wide(base + 8, base, 8, 16, as);
>>
>>      nodename = g_strdup_printf("/fw-cfg@%" PRIx64, base);
>>      qemu_fdt_add_subnode(vbi->fdt, nodename);
> 
> Don't we need to also update the device tree

Yes, we do (a15memmap[VIRT_FW_CFG]).

> (and the spec for
> that!)

Yes, we do ("Documentation/devicetree/bindings/arm/fw-cfg.txt").

> to indicate that we're providing a with-DMA fw-cfg
> device ?

Thanks
Laszlo

> 
>> @@ -800,6 +800,7 @@ static void machvirt_init(MachineState *machine)
>>      VirtGuestInfoState *guest_info_state = g_malloc0(sizeof *guest_info_state);
>>      VirtGuestInfo *guest_info = &guest_info_state->info;
>>      char **cpustr;
>> +    AddressSpace *as = NULL;
>>
>>      if (!cpu_model) {
>>          cpu_model = "cortex-a15";
>> @@ -837,6 +838,10 @@ static void machvirt_init(MachineState *machine)
>>          }
>>          cpuobj = object_new(object_class_get_name(oc));
>>
>> +        if (!as) {
>> +            as = CPU(cpuobj)->as;
>> +        }
> 
> Is this really the right AddressSpace to use? Fishing
> around in the CPU object seems a bit dubious...
> 
> thanks
> -- PMM
> 
> 

  reply	other threads:[~2015-07-21 19:49 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í
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 [this message]
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=55AEA22B.2000908@redhat.com \
    --to=lersek@redhat.com \
    --cc=kevin@koconnor.net \
    --cc=kraxel@redhat.com \
    --cc=markmb@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.