[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 3/4] pc & q35: Add new object pc-memory-layou
From: |
Marcel Apfelbaum |
Subject: |
Re: [Qemu-devel] [PATCH v3 3/4] pc & q35: Add new object pc-memory-layout. |
Date: |
Wed, 23 Apr 2014 09:51:51 +0300 |
On Tue, 2014-04-22 at 20:13 -0400, Don Slutz wrote:
> On 04/21/14 08:27, Paolo Bonzini wrote:
> > Il 24/03/2014 19:55, Don Slutz ha scritto:
> >> This new object has the property max-ram-below-4g.
> >>
> >> If you add enough PCI devices then all mmio for them will not fit
> >> below 4G which may not be the layout the user wanted. This allows
> >> you to increase the below 4G address space that PCI devices can use
> >> (aka decrease ram below 4G) and therefore in more cases not have any
> >> mmio that is above 4G.
> >>
> >> For example adding "-global pc-memory-layout.max-ram-below-4g=2G" to
> >> the command line will limit the amount of ram that is below 4G to
> >> 2G.
> >
> > Does Xen's firmware allow 64-bit BARs?
>
> Yes. But not all supported devices do.
>
> > I'm wondering why this is not a problem on KVM.
> >
>
> I suspect that it is. It only shows up when you add a lot of
> PCI devices either directly or via pci pass through. Also it
> is more Xen focused because the default ram below 4G is
> much larger so that 32 bit only guests can have a lot of ram.
>
> > Also, overloading -global like this isn't the best long term choice. We
> > should get custom -machine properties in 2.1, we should use them.
> >
>
> I may have missed this. Is this
>
> [PATCH V3 0/5] remove QEMUMachine indirection from MachineClass
>
> Or some patch that is yet to be posted?
Hi Don,
I posted a patch some time ago and I am going to post it again soon with some
modifications:
https://lists.gnu.org/archive/html/qemu-devel/2014-03/msg00041.html
Basically what matters are these lines:
machine_opts = qemu_get_machine_opts();
+ if (qemu_opt_foreach(machine_opts, object_set_property, current_machine,
1) < 0) {
+ object_unref(OBJECT(current_machine));
+ exit(1);
+ }
You create a subtype of MACHINE which has this property and it will be
automatically
assigned. The positive thing here is that the property is not global anymore.
Thanks,
Marcel
>
> (I did add this to qemu_machine_opts and changed to the current
> way to handle:
>
> Subject: Re: [Qemu-devel] [PATCH 1/1] vl.c: Add pci_hole_min_size
> machine option.
> Date: Wed, 5 Mar 2014 08:46:33 +0200
> From: Michael S. Tsirkin <address@hidden>
> To: Don Slutz <address@hidden>
> CC: <address@hidden>, <address@hidden>, Anthony Liguori <address@hidden>,
> Stefano Stabellini <address@hidden>
>
>
>
> On Tue, Mar 04, 2014 at 06:51:11PM -0500, Don Slutz wrote:
> > On 03/04/14 17:20, Michael S. Tsirkin wrote:
> > >On Tue, Mar 04, 2014 at 02:18:49PM -0500, Don Slutz wrote:
> > >>On 03/04/14 11:58, Michael S. Tsirkin wrote:
> > >>>On Tue, Mar 04, 2014 at 11:36:44AM -0500, Don Slutz wrote:
> > >>>>On 03/04/14 02:34, Michael S. Tsirkin wrote:
> > >>>>>On Thu, Feb 27, 2014 at 05:32:23PM -0500, Don Slutz wrote:
> > >>>>>>This allows growing the pci_hole to the size needed.
>
> ...
>
> > Yes. Also, please find a way to only add it to
> > machine types that support it, instead of ignoring it
> > silently for those that don't.
>
> )
>
> > Paolo
>
>