All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 06/24] QEMUMachine: pass address space to machine init function
Date: Wed, 24 Aug 2011 15:26:35 +0300	[thread overview]
Message-ID: <4E54EDFB.1030303@redhat.com> (raw)
In-Reply-To: <4E54DE0A.7010502@redhat.com>

On 08/24/2011 02:18 PM, Avi Kivity wrote:
> On 08/24/2011 01:53 PM, Peter Maydell wrote:
>> >  The purpose here is to allow removal of get_system_memory() from
>> >  the general code base.
>>
>> The right way to remove get_system_memory() from the general code base
>> is to actually model things correctly, for instance by having machine
>> models create a container memory region into which they insert the
>> memory regions for all the devices which currently use sysbus_mmio_map
>> to map themselves, and then pass the container memory region to the
>> "master" end of the bus, ie the CPU.
>>
>
> I think you're right.  This also allows eventual removal of system_io 
> on anything non-x86.
>
> So a replacement would look like:
>
> (before)
>
> -static void pc_init_isa(ram_addr_t ram_size,
> +static void pc_init_isa(MemoryRegion *address_space_mem,
> +                        MemoryRegion *address_space_io,
> +                        ram_addr_t ram_size,
>                          const char *boot_device,
>                          const char *kernel_filename,
>                          const char *kernel_cmdline,
> @@ -259,15 +265,17 @@ static void pc_init_isa(ram_addr_t ram_size,
>  {
>      if (cpu_model == NULL)
>          cpu_model = "486";
> -    pc_init1(get_system_memory(),
> -             get_system_io(),
> +    pc_init1(address_space_mem,
> +             address_space_io,
>               ram_size, boot_device,
>               kernel_filename, kernel_cmdline,
>               initrd_filename, cpu_model, 0, 1);
>  }
>
> (after)
> @@ -259,15 +265,17 @@ static void pc_init_isa(ram_addr_t ram_size,
>  {
> +    MemoryRegion *address_space_mem, *address_space_io;
> +
> +    setup_system_memory(&address_space_mem,&address_space_io);
>      if (cpu_model == NULL)
>          cpu_model = "486";
> -    pc_init1(get_system_memory(),
> -             get_system_io(),
> +    pc_init1(address_space_mem,
> +             address_space_io,
>               ram_size, boot_device,
>               kernel_filename, kernel_cmdline,
>               initrd_filename, cpu_model, 0, 1);
>  }
>
>
> Later on, we'd refine the setup_system_memory() calls, for example not 
> to create the io space on non-x86.
>
> A possible complication is whether anything currently uses 
> system_memory before ->init is called.  Anyone know?
>

Okay, it looks like I can just drop the patch and call 
get_system_memory() in the various _init functions.  This avoids the 
complication.  We can tidy up get_system_memory() later.

-- 
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.

  reply	other threads:[~2011-08-24 12:26 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-24 10:10 [Qemu-devel] [PATCH 00/24] Memory API conversions, batch 5 Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 01/24] arm_sysctl: convert to memory API Avi Kivity
2011-08-24 10:23   ` Peter Maydell
2011-08-24 10:42     ` Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 02/24] stellaris_enet: " Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 03/24] sysbus: add helpers to add and delete memory regions to the system bus Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 04/24] pci_host: convert conf index and data ports to memory API Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 05/24] ReadWriteHandler: remove Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 06/24] QEMUMachine: pass address space to machine init function Avi Kivity
2011-08-24 10:32   ` Peter Maydell
2011-08-24 10:46     ` Avi Kivity
2011-08-24 10:53       ` Peter Maydell
2011-08-24 11:18         ` Avi Kivity
2011-08-24 12:26           ` Avi Kivity [this message]
2011-08-24 10:11 ` [Qemu-devel] [PATCH 07/24] an5206: convert to memory API Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 08/24] armv7m: " Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 09/24] axis_dev88: convert to memory API (RAM only) Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 10/24] sysbus: add sysbus_add_memory_overlap() Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 11/24] integratorcp: convert to memory API (RAM/flash only) Avi Kivity
2011-08-24 11:22   ` Peter Maydell
2011-08-24 11:26     ` Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 12/24] leon3: convert to memory API Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 13/24] cirrus: wrap memory update in a transaction Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 14/24] piix_pci: " Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 15/24] Makefile.hw: allow hw/ files to include glib headers Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 16/24] pflash_cfi01/pflash_cfi02: convert to memory API Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 17/24] dummy_m68k: " Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 18/24] g364fb: " Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 19/24] lm32_boards: " Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 20/24] mainstone: " Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 21/24] mcf5208: " Avi Kivity
2011-08-24 10:35   ` Peter Maydell
2011-08-24 10:47     ` Avi Kivity
2011-08-24 11:38       ` Peter Maydell
2011-08-24 11:39         ` Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 22/24] milkymist-minimac2: " Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 23/24] milkymist-softusb: " Avi Kivity
2011-08-24 10:11 ` [Qemu-devel] [PATCH 24/24] milkymist: " Avi Kivity

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=4E54EDFB.1030303@redhat.com \
    --to=avi@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /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.