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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07/25/2011 09:02 AM, Avi Kivity wrote:
Allocate the root memory region and initialize it.

Signed-off-by: Avi Kivity<avi@xxxxxxxxxx>
---
  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<qemu.h>
  #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) */

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux