Re: [Qemu-devel] [PATCH 14/35] pc: exit QEMU if slots 256

2014-04-07 Thread Igor Mammedov
On Fri, 4 Apr 2014 14:14:04 -0300
Eduardo Habkost ehabk...@redhat.com wrote:

 On Fri, Apr 04, 2014 at 03:36:39PM +0200, Igor Mammedov wrote:
  ... which is current ACPI implementation limit.
  
  Signed-off-by: Igor Mammedov imamm...@redhat.com
 
 With this we will have yet another hardcoded limit/assumption scattererd
 in different places around the code, which we won't know how/if it can
 be changed in the future.
 
 I would prefer to have a #define and an explanation on the code for the
 specific limit, so people know if/when/how it is safe to change it a few
 years from now.
 
 Something like:
 
 hw/acpi/acpi.h:
 /* current device naming scheme dosen't support
  * more that 256 memory devices
  */
 #define ACPI_MAX_RAM_SLOTS 256
 
 hw/acpi/acpi-build.c:build_ssdt():
 assert(nr_mem = ACPI_MAX_RAM_SLOTS)
 
 hw/i386/pc.c:
 if (machine-init_args.ram_slots  ACPI_MAX_RAM_SLOTS) {
 error_report(unsupported amount of memory slots: %PRIu64,
  machine-init_args.ram_slots);
 exit(EXIT_FAILURE);
 }
sure, I'll fix it for the next series respin.

 
  ---
   hw/i386/pc.c | 6 ++
   1 file changed, 6 insertions(+)
  
  diff --git a/hw/i386/pc.c b/hw/i386/pc.c
  index 69e4225..6fe1803 100644
  --- a/hw/i386/pc.c
  +++ b/hw/i386/pc.c
  @@ -1204,6 +1204,12 @@ FWCfgState *pc_memory_init(MemoryRegion 
  *system_memory,
   ram_addr_t hotplug_mem_size =
   machine-init_args.maxram_size - ram_size;
   
  +if (machine-init_args.ram_slots  256) {
  +error_report(unsupported amount of memory slots: %PRIu64,
  + machine-init_args.ram_slots);
  +exit(EXIT_FAILURE);
  +}
  +
   pcms-hotplug_memory_base =
   ROUND_UP(0x1ULL + above_4g_mem_size, 1ULL  30);
   
  -- 
  1.9.0
  
 




[Qemu-devel] [PATCH 14/35] pc: exit QEMU if slots 256

2014-04-04 Thread Igor Mammedov
... which is current ACPI implementation limit.

Signed-off-by: Igor Mammedov imamm...@redhat.com
---
 hw/i386/pc.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 69e4225..6fe1803 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1204,6 +1204,12 @@ FWCfgState *pc_memory_init(MemoryRegion *system_memory,
 ram_addr_t hotplug_mem_size =
 machine-init_args.maxram_size - ram_size;
 
+if (machine-init_args.ram_slots  256) {
+error_report(unsupported amount of memory slots: %PRIu64,
+ machine-init_args.ram_slots);
+exit(EXIT_FAILURE);
+}
+
 pcms-hotplug_memory_base =
 ROUND_UP(0x1ULL + above_4g_mem_size, 1ULL  30);
 
-- 
1.9.0




Re: [Qemu-devel] [PATCH 14/35] pc: exit QEMU if slots 256

2014-04-04 Thread Eduardo Habkost
On Fri, Apr 04, 2014 at 03:36:39PM +0200, Igor Mammedov wrote:
 ... which is current ACPI implementation limit.
 
 Signed-off-by: Igor Mammedov imamm...@redhat.com

With this we will have yet another hardcoded limit/assumption scattererd
in different places around the code, which we won't know how/if it can
be changed in the future.

I would prefer to have a #define and an explanation on the code for the
specific limit, so people know if/when/how it is safe to change it a few
years from now.

Something like:

hw/acpi/acpi.h:
/* current device naming scheme dosen't support
 * more that 256 memory devices
 */
#define ACPI_MAX_RAM_SLOTS 256

hw/acpi/acpi-build.c:build_ssdt():
assert(nr_mem = ACPI_MAX_RAM_SLOTS)

hw/i386/pc.c:
if (machine-init_args.ram_slots  ACPI_MAX_RAM_SLOTS) {
error_report(unsupported amount of memory slots: %PRIu64,
 machine-init_args.ram_slots);
exit(EXIT_FAILURE);
}


 ---
  hw/i386/pc.c | 6 ++
  1 file changed, 6 insertions(+)
 
 diff --git a/hw/i386/pc.c b/hw/i386/pc.c
 index 69e4225..6fe1803 100644
 --- a/hw/i386/pc.c
 +++ b/hw/i386/pc.c
 @@ -1204,6 +1204,12 @@ FWCfgState *pc_memory_init(MemoryRegion *system_memory,
  ram_addr_t hotplug_mem_size =
  machine-init_args.maxram_size - ram_size;
  
 +if (machine-init_args.ram_slots  256) {
 +error_report(unsupported amount of memory slots: %PRIu64,
 + machine-init_args.ram_slots);
 +exit(EXIT_FAILURE);
 +}
 +
  pcms-hotplug_memory_base =
  ROUND_UP(0x1ULL + above_4g_mem_size, 1ULL  30);
  
 -- 
 1.9.0
 

-- 
Eduardo