Re: [Qemu-devel] [PATCH 15/23] exec.c: initialize memory map

2011-07-26 Thread Avi Kivity

On 07/25/2011 10:17 PM, Anthony Liguori wrote:

+static void memory_map_init(void)
+{
+system_memory = qemu_malloc(sizeof(*system_memory));
+memory_region_init(system_memory, "system", UINT64_MAX);



Would be nice to #define MEM_REG_SIZE_ALL UINT64_MAX

Without reading the docs, it seems like an odd bit of code otherwise.


It's really temporary.  It should come from the machine description and 
specify the processor's system bus width.


--
error compiling committee.c: too many arguments to function




Re: [Qemu-devel] [PATCH 15/23] exec.c: initialize memory map

2011-07-25 Thread Anthony Liguori

On 07/25/2011 09:02 AM, Avi Kivity wrote:

Allocate the root memory region and initialize it.

Signed-off-by: Avi Kivity
---
  exec.c |   19 +++
  1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/exec.c b/exec.c
index 2160ded..d51502f 100644
--- a/exec.c
+++ b/exec.c
@@ -33,6 +33,8 @@
  #include "kvm.h"
  #include "hw/xen.h"
  #include "qemu-timer.h"
+#include "memory.h"
+#include "exec-memory.h"
  #if defined(CONFIG_USER_ONLY)
  #include
  #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
@@ -109,6 +111,9 @@ int phys_ram_fd;
  static int in_migration;

  RAMList ram_list = { .blocks = QLIST_HEAD_INITIALIZER(ram_list) };
+
+static MemoryRegion *system_memory;
+
  #endif

  CPUState *first_cpu;
@@ -197,6 +202,7 @@ typedef struct PhysPageDesc {
  static void *l1_phys_map[P_L1_SIZE];

  static void io_mem_init(void);
+static void memory_map_init(void);

  /* io memory support */
  CPUWriteMemoryFunc *io_mem_write[IO_MEM_NB_ENTRIES][4];
@@ -571,6 +577,7 @@ void cpu_exec_init_all(unsigned long tb_size)
  code_gen_ptr = code_gen_buffer;
  page_init();
  #if !defined(CONFIG_USER_ONLY)
+memory_map_init();
  io_mem_init();
  #endif
  #if !defined(CONFIG_USER_ONLY) || !defined(CONFIG_USE_GUEST_BASE)
@@ -3807,6 +3814,18 @@ static void io_mem_init(void)
DEVICE_NATIVE_ENDIAN);
  }

+static void memory_map_init(void)
+{
+system_memory = qemu_malloc(sizeof(*system_memory));
+memory_region_init(system_memory, "system", UINT64_MAX);


Would be nice to #define MEM_REG_SIZE_ALL UINT64_MAX

Without reading the docs, it seems like an odd bit of code otherwise.

Regards,

Anthony Liguori


+set_system_memory_map(system_memory);
+}
+
+MemoryRegion *get_system_memory(void)
+{
+return system_memory;
+}
+
  #endif /* !defined(CONFIG_USER_ONLY) */

  /* physical memory access (slow version, mainly for debug) */





[Qemu-devel] [PATCH 15/23] exec.c: initialize memory map

2011-07-25 Thread Avi Kivity
Allocate the root memory region and initialize it.

Signed-off-by: Avi Kivity 
---
 exec.c |   19 +++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/exec.c b/exec.c
index 2160ded..d51502f 100644
--- a/exec.c
+++ b/exec.c
@@ -33,6 +33,8 @@
 #include "kvm.h"
 #include "hw/xen.h"
 #include "qemu-timer.h"
+#include "memory.h"
+#include "exec-memory.h"
 #if defined(CONFIG_USER_ONLY)
 #include 
 #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
@@ -109,6 +111,9 @@ int phys_ram_fd;
 static int in_migration;
 
 RAMList ram_list = { .blocks = QLIST_HEAD_INITIALIZER(ram_list) };
+
+static MemoryRegion *system_memory;
+
 #endif
 
 CPUState *first_cpu;
@@ -197,6 +202,7 @@ typedef struct PhysPageDesc {
 static void *l1_phys_map[P_L1_SIZE];
 
 static void io_mem_init(void);
+static void memory_map_init(void);
 
 /* io memory support */
 CPUWriteMemoryFunc *io_mem_write[IO_MEM_NB_ENTRIES][4];
@@ -571,6 +577,7 @@ void cpu_exec_init_all(unsigned long tb_size)
 code_gen_ptr = code_gen_buffer;
 page_init();
 #if !defined(CONFIG_USER_ONLY)
+memory_map_init();
 io_mem_init();
 #endif
 #if !defined(CONFIG_USER_ONLY) || !defined(CONFIG_USE_GUEST_BASE)
@@ -3807,6 +3814,18 @@ static void io_mem_init(void)
   DEVICE_NATIVE_ENDIAN);
 }
 
+static void memory_map_init(void)
+{
+system_memory = qemu_malloc(sizeof(*system_memory));
+memory_region_init(system_memory, "system", UINT64_MAX);
+set_system_memory_map(system_memory);
+}
+
+MemoryRegion *get_system_memory(void)
+{
+return system_memory;
+}
+
 #endif /* !defined(CONFIG_USER_ONLY) */
 
 /* physical memory access (slow version, mainly for debug) */
-- 
1.7.5.3