qemu-devel.nongnu.org archive mirror
 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 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).