diff mbox

[for-2.1] pc: fix qemu exiting with error when -m X < 128 with old machines types

Message ID 1404826186-15146-1-git-send-email-imammedo@redhat.com
State New
Headers show

Commit Message

Igor Mammedov July 8, 2014, 1:29 p.m. UTC
If machine doesn't support memory hotplug then staring QEMU
with initial memory less than default will make QEMU exit with
following error message:

$QEMU -m 16  -M isapc
qemu-system-i386: "-memory 'slots|maxmem'" is not supported by: isapc

Set maxram_size to initial memory value before parsing
'maxmem' option allows to keep maxmem in sync with initial
memory size if no maxmem option was specified.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
CC: Bruce Rogers <brogers@suse.com>
---
 vl.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Michael S. Tsirkin July 11, 2014, 6:06 p.m. UTC | #1
On Tue, Jul 08, 2014 at 03:29:46PM +0200, Igor Mammedov wrote:
> If machine doesn't support memory hotplug then staring QEMU
> with initial memory less than default will make QEMU exit with
> following error message:
> 
> $QEMU -m 16  -M isapc
> qemu-system-i386: "-memory 'slots|maxmem'" is not supported by: isapc
> 
> Set maxram_size to initial memory value before parsing
> 'maxmem' option allows to keep maxmem in sync with initial
> memory size if no maxmem option was specified.
> 
> Signed-off-by: Igor Mammedov <imammedo@redhat.com>
> CC: Bruce Rogers <brogers@suse.com>

OK this is a regression fix so we need it for 2.1.

Applied, thanks!

> ---
>  vl.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/vl.c b/vl.c
> index 6e084c2..6abedcf 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -3315,6 +3315,7 @@ int main(int argc, char **argv, char **envp)
>                      error_report("ram size too large");
>                      exit(EXIT_FAILURE);
>                  }
> +                maxram_size = ram_size;
>  
>                  maxmem_str = qemu_opt_get(opts, "maxmem");
>                  slots_str = qemu_opt_get(opts, "slots");
> -- 
> 1.8.5.2 (Apple Git-48)
Bruce Rogers July 17, 2014, 2:32 p.m. UTC | #2
>>> On 7/11/2014 at 12:06 PM, <mst@redhat.com> wrote: 
> On Tue, Jul 08, 2014 at 03:29:46PM +0200, Igor Mammedov wrote:
>> If machine doesn't support memory hotplug then staring QEMU
>> with initial memory less than default will make QEMU exit with
>> following error message:
>> 
>> $QEMU -m 16  -M isapc
>> qemu-system-i386: "-memory 'slots|maxmem'" is not supported by: isapc
>> 
>> Set maxram_size to initial memory value before parsing
>> 'maxmem' option allows to keep maxmem in sync with initial
>> memory size if no maxmem option was specified.
>> 
>> Signed-off-by: Igor Mammedov <imammedo@redhat.com>
>> CC: Bruce Rogers <brogers@suse.com>
> 
> OK this is a regression fix so we need it for 2.1.
> 
> Applied, thanks!
> 
>> ---
>>  vl.c | 1 +
>>  1 file changed, 1 insertion(+)
>> 
>> diff --git a/vl.c b/vl.c
>> index 6e084c2..6abedcf 100644
>> --- a/vl.c
>> +++ b/vl.c
>> @@ -3315,6 +3315,7 @@ int main(int argc, char **argv, char **envp)
>>                      error_report("ram size too large");
>>                      exit(EXIT_FAILURE);
>>                  }
>> +                maxram_size = ram_size;
>>  
>>                  maxmem_str = qemu_opt_get(opts, "maxmem");
>>                  slots_str = qemu_opt_get(opts, "slots");
>> -- 
>> 1.8.5.2 (Apple Git-48)

Hopefully this hasn't been forgotten. This is a bad regression for
pre v2.1 pc machine types.

Bruce
Bruce Rogers July 17, 2014, 3:46 p.m. UTC | #3
>>> On 7/8/2014 at 07:29 AM, <imammedo@redhat.com> wrote: 
> If machine doesn't support memory hotplug then staring QEMU
> with initial memory less than default will make QEMU exit with
> following error message:
> 
> $QEMU -m 16  -M isapc
> qemu-system-i386: "-memory 'slots|maxmem'" is not supported by: isapc
> 
> Set maxram_size to initial memory value before parsing
> 'maxmem' option allows to keep maxmem in sync with initial
> memory size if no maxmem option was specified.
> 
> Signed-off-by: Igor Mammedov <imammedo@redhat.com>
> CC: Bruce Rogers <brogers@suse.com>
> ---
>  vl.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/vl.c b/vl.c
> index 6e084c2..6abedcf 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -3315,6 +3315,7 @@ int main(int argc, char **argv, char **envp)
>                      error_report("ram size too large");
>                      exit(EXIT_FAILURE);
>                  }
> +                maxram_size = ram_size;
>  
>                  maxmem_str = qemu_opt_get(opts, "maxmem");
>                  slots_str = qemu_opt_get(opts, "slots");


Reviewed-By: Bruce Rogers <brogers@suse.com>
Peter Maydell July 18, 2014, 8:34 a.m. UTC | #4
On 17 July 2014 16:46, Bruce Rogers <brogers@suse.com> wrote:
>  >>> On 7/8/2014 at 07:29 AM, <imammedo@redhat.com> wrote:
>> If machine doesn't support memory hotplug then staring QEMU
>> with initial memory less than default will make QEMU exit with
>> following error message:
>>
>> $QEMU -m 16  -M isapc
>> qemu-system-i386: "-memory 'slots|maxmem'" is not supported by: isapc
>>
>> Set maxram_size to initial memory value before parsing
>> 'maxmem' option allows to keep maxmem in sync with initial
>> memory size if no maxmem option was specified.
>>
>> Signed-off-by: Igor Mammedov <imammedo@redhat.com>
>> CC: Bruce Rogers <brogers@suse.com>
>> ---
>>  vl.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/vl.c b/vl.c
>> index 6e084c2..6abedcf 100644
>> --- a/vl.c
>> +++ b/vl.c
>> @@ -3315,6 +3315,7 @@ int main(int argc, char **argv, char **envp)
>>                      error_report("ram size too large");
>>                      exit(EXIT_FAILURE);
>>                  }
>> +                maxram_size = ram_size;
>>
>>                  maxmem_str = qemu_opt_get(opts, "maxmem");
>>                  slots_str = qemu_opt_get(opts, "slots");
>
>
> Reviewed-By: Bruce Rogers <brogers@suse.com>

Applied to master, thanks.

-- PMM
diff mbox

Patch

diff --git a/vl.c b/vl.c
index 6e084c2..6abedcf 100644
--- a/vl.c
+++ b/vl.c
@@ -3315,6 +3315,7 @@  int main(int argc, char **argv, char **envp)
                     error_report("ram size too large");
                     exit(EXIT_FAILURE);
                 }
+                maxram_size = ram_size;
 
                 maxmem_str = qemu_opt_get(opts, "maxmem");
                 slots_str = qemu_opt_get(opts, "slots");