qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [4240] Revert "Use correct types to enable > 2G support" (r


From: Aurelien Jarno
Subject: [Qemu-devel] [4240] Revert "Use correct types to enable > 2G support" (r4238), it is
Date: Tue, 22 Apr 2008 20:45:20 +0000

Revision: 4240
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=4240
Author:   aurel32
Date:     2008-04-22 20:45:18 +0000 (Tue, 22 Apr 2008)

Log Message:
-----------
Revert "Use correct types to enable > 2G support" (r4238), it is
not yet ready.

Modified Paths:
--------------
    trunk/cpu-all.h
    trunk/cpu-defs.h
    trunk/exec-all.h
    trunk/exec.c
    trunk/hw/an5206.c
    trunk/hw/boards.h
    trunk/hw/dummy_m68k.c
    trunk/hw/etraxfs.c
    trunk/hw/gumstix.c
    trunk/hw/integratorcp.c
    trunk/hw/mainstone.c
    trunk/hw/mcf5208.c
    trunk/hw/mips_jazz.c
    trunk/hw/mips_malta.c
    trunk/hw/mips_mipssim.c
    trunk/hw/mips_r4k.c
    trunk/hw/nseries.c
    trunk/hw/palm.c
    trunk/hw/pc.c
    trunk/hw/piix_pci.c
    trunk/hw/ppc405_boards.c
    trunk/hw/ppc_chrp.c
    trunk/hw/ppc_oldworld.c
    trunk/hw/ppc_prep.c
    trunk/hw/r2d.c
    trunk/hw/realview.c
    trunk/hw/shix.c
    trunk/hw/spitz.c
    trunk/hw/stellaris.c
    trunk/hw/sun4m.c
    trunk/hw/sun4u.c
    trunk/hw/versatilepb.c
    trunk/osdep.c
    trunk/qemu-doc.texi
    trunk/sysemu.h
    trunk/vl.c

Modified: trunk/cpu-all.h
===================================================================
--- trunk/cpu-all.h     2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/cpu-all.h     2008-04-22 20:45:18 UTC (rev 4240)
@@ -700,7 +700,7 @@
 
 /* page related stuff */
 
-#define TARGET_PAGE_SIZE (1UL << TARGET_PAGE_BITS)
+#define TARGET_PAGE_SIZE (1 << TARGET_PAGE_BITS)
 #define TARGET_PAGE_MASK ~(TARGET_PAGE_SIZE - 1)
 #define TARGET_PAGE_ALIGN(addr) (((addr) + TARGET_PAGE_SIZE - 1) & 
TARGET_PAGE_MASK)
 
@@ -806,16 +806,12 @@
 int cpu_inl(CPUState *env, int addr);
 #endif
 
-/* address in the RAM (different from a physical address) */
-typedef unsigned long ram_addr_t;
-
 /* memory API */
 
-extern ram_addr_t phys_ram_size;
+extern int phys_ram_size;
 extern int phys_ram_fd;
 extern uint8_t *phys_ram_base;
 extern uint8_t *phys_ram_dirty;
-extern ram_addr_t ram_size;
 
 /* physical memory access */
 #define TLB_INVALID_MASK   (1 << 3)
@@ -837,10 +833,10 @@
 typedef uint32_t CPUReadMemoryFunc(void *opaque, target_phys_addr_t addr);
 
 void cpu_register_physical_memory(target_phys_addr_t start_addr,
-                                  ram_addr_t size,
-                                  ram_addr_t phys_offset);
-ram_addr_t cpu_get_physical_page_desc(target_phys_addr_t addr);
-ram_addr_t qemu_ram_alloc(ram_addr_t);
+                                  unsigned long size,
+                                  unsigned long phys_offset);
+uint32_t cpu_get_physical_page_desc(target_phys_addr_t addr);
+ram_addr_t qemu_ram_alloc(unsigned int size);
 void qemu_ram_free(ram_addr_t addr);
 int cpu_register_io_memory(int io_index,
                            CPUReadMemoryFunc **mem_read,

Modified: trunk/cpu-defs.h
===================================================================
--- trunk/cpu-defs.h    2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/cpu-defs.h    2008-04-22 20:45:18 UTC (rev 4240)
@@ -76,6 +76,9 @@
 #error TARGET_PHYS_ADDR_BITS undefined
 #endif
 
+/* address in the RAM (different from a physical address) */
+typedef unsigned long ram_addr_t;
+
 #define HOST_LONG_SIZE (HOST_LONG_BITS / 8)
 
 #define EXCP_INTERRUPT         0x10000 /* async interruption */

Modified: trunk/exec-all.h
===================================================================
--- trunk/exec-all.h    2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/exec-all.h    2008-04-22 20:45:18 UTC (rev 4240)
@@ -82,7 +82,7 @@
 void cpu_resume_from_signal(CPUState *env1, void *puc);
 void cpu_exec_init(CPUState *env);
 int page_unprotect(target_ulong address, unsigned long pc, void *puc);
-void tb_invalidate_phys_page_range(target_phys_addr_t start, 
target_phys_addr_t end,
+void tb_invalidate_phys_page_range(target_ulong start, target_ulong end,
                                    int is_cpu_write_access);
 void tb_invalidate_page_range(target_ulong start, target_ulong end);
 void tlb_flush_page(CPUState *env, target_ulong addr);

Modified: trunk/exec.c
===================================================================
--- trunk/exec.c        2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/exec.c        2008-04-22 20:45:18 UTC (rev 4240)
@@ -74,10 +74,6 @@
 #define TARGET_VIRT_ADDR_SPACE_BITS 42
 #elif defined(TARGET_PPC64)
 #define TARGET_PHYS_ADDR_SPACE_BITS 42
-#elif defined(TARGET_X86_64) && !defined(USE_KQEMU)
-#define TARGET_PHYS_ADDR_SPACE_BITS 40
-#elif defined(TARGET_I386) && !defined(USE_KQEMU)
-#define TARGET_PHYS_ADDR_SPACE_BITS 36
 #else
 /* Note: for compatibility with kqemu, we use 32 bits for x86_64 */
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
@@ -92,7 +88,7 @@
 uint8_t code_gen_buffer[CODE_GEN_BUFFER_SIZE] __attribute__((aligned (32)));
 uint8_t *code_gen_ptr;
 
-ram_addr_t phys_ram_size;
+int phys_ram_size;
 int phys_ram_fd;
 uint8_t *phys_ram_base;
 uint8_t *phys_ram_dirty;
@@ -117,7 +113,7 @@
 
 typedef struct PhysPageDesc {
     /* offset in host memory of the page + io_index in the low 12 bits */
-    ram_addr_t phys_offset;
+    uint32_t phys_offset;
 } PhysPageDesc;
 
 #define L2_BITS 10
@@ -128,14 +124,9 @@
  */
 #define L1_BITS (TARGET_VIRT_ADDR_SPACE_BITS - L2_BITS - TARGET_PAGE_BITS)
 #else
-#define L1_BITS (TARGET_PHYS_ADDR_SPACE_BITS - L2_BITS - TARGET_PAGE_BITS)
+#define L1_BITS (32 - L2_BITS - TARGET_PAGE_BITS)
 #endif
 
-#undef L1_BITS
-#undef L2_BITS
-#define L1_BITS 13
-#define L2_BITS 13
-
 #define L1_SIZE (1 << L1_BITS)
 #define L2_SIZE (1 << L2_BITS)
 
@@ -243,7 +234,7 @@
 #endif
 }
 
-static inline PageDesc *page_find_alloc(target_ulong index)
+static inline PageDesc *page_find_alloc(unsigned int index)
 {
     PageDesc **lp, *p;
 
@@ -258,7 +249,7 @@
     return p + (index & (L2_SIZE - 1));
 }
 
-static inline PageDesc *page_find(target_ulong index)
+static inline PageDesc *page_find(unsigned int index)
 {
     PageDesc *p;
 
@@ -274,7 +265,6 @@
     PhysPageDesc *pd;
 
     p = (void **)l1_phys_map;
-#if 0
 #if TARGET_PHYS_ADDR_SPACE_BITS > 32
 
 #if TARGET_PHYS_ADDR_SPACE_BITS > (32 + L1_BITS)
@@ -291,7 +281,6 @@
         *lp = p;
     }
 #endif
-#endif
     lp = p + ((index >> L2_BITS) & (L1_SIZE - 1));
     pd = *lp;
     if (!pd) {
@@ -522,12 +511,12 @@
     tb_set_jmp_target(tb, n, (unsigned long)(tb->tc_ptr + 
tb->tb_next_offset[n]));
 }
 
-static inline void tb_phys_invalidate(TranslationBlock *tb, target_ulong 
page_addr)
+static inline void tb_phys_invalidate(TranslationBlock *tb, unsigned int 
page_addr)
 {
     CPUState *env;
     PageDesc *p;
     unsigned int h, n1;
-    target_phys_addr_t phys_pc;
+    target_ulong phys_pc;
     TranslationBlock *tb1, *tb2;
 
     /* remove the TB from the hash list */
@@ -678,7 +667,7 @@
    the same physical page. 'is_cpu_write_access' should be true if called
    from a real cpu write access: the virtual CPU will exit the current
    TB if code is modified inside this TB. */
-void tb_invalidate_phys_page_range(target_phys_addr_t start, 
target_phys_addr_t end,
+void tb_invalidate_phys_page_range(target_ulong start, target_ulong end,
                                    int is_cpu_write_access)
 {
     int n, current_tb_modified, current_tb_not_found, current_flags;
@@ -791,7 +780,7 @@
 }
 
 /* len must be <= 8 and start must be a multiple of len */
-static inline void tb_invalidate_phys_page_fast(target_phys_addr_t start, int 
len)
+static inline void tb_invalidate_phys_page_fast(target_ulong start, int len)
 {
     PageDesc *p;
     int offset, b;
@@ -820,7 +809,7 @@
 }
 
 #if !defined(CONFIG_SOFTMMU)
-static void tb_invalidate_phys_page(target_phys_addr_t addr,
+static void tb_invalidate_phys_page(target_ulong addr,
                                     unsigned long pc, void *puc)
 {
     int n, current_flags, current_tb_modified;
@@ -1997,7 +1986,7 @@
 
 static int subpage_register (subpage_t *mmio, uint32_t start, uint32_t end,
                              int memory);
-static void *subpage_init (target_phys_addr_t base, ram_addr_t *phys,
+static void *subpage_init (target_phys_addr_t base, uint32_t *phys,
                            int orig_memory);
 #define CHECK_SUBPAGE(addr, start_addr, start_addr2, end_addr, end_addr2, \
                       need_subpage)                                     \
@@ -2023,13 +2012,13 @@
    page size. If (phys_offset & ~TARGET_PAGE_MASK) != 0, then it is an
    io memory page */
 void cpu_register_physical_memory(target_phys_addr_t start_addr,
-                                  ram_addr_t size,
-                                  ram_addr_t phys_offset)
+                                  unsigned long size,
+                                  unsigned long phys_offset)
 {
     target_phys_addr_t addr, end_addr;
     PhysPageDesc *p;
     CPUState *env;
-    ram_addr_t orig_size = size;
+    unsigned long orig_size = size;
     void *subpage;
 
     size = (size + TARGET_PAGE_SIZE - 1) & TARGET_PAGE_MASK;
@@ -2037,7 +2026,7 @@
     for(addr = start_addr; addr != end_addr; addr += TARGET_PAGE_SIZE) {
         p = phys_page_find(addr >> TARGET_PAGE_BITS);
         if (p && p->phys_offset != IO_MEM_UNASSIGNED) {
-            ram_addr_t orig_memory = p->phys_offset;
+            unsigned long orig_memory = p->phys_offset;
             target_phys_addr_t start_addr2, end_addr2;
             int need_subpage = 0;
 
@@ -2090,7 +2079,7 @@
 }
 
 /* XXX: temporary until new memory mapping API */
-ram_addr_t cpu_get_physical_page_desc(target_phys_addr_t addr)
+uint32_t cpu_get_physical_page_desc(target_phys_addr_t addr)
 {
     PhysPageDesc *p;
 
@@ -2101,12 +2090,12 @@
 }
 
 /* XXX: better than nothing */
-ram_addr_t qemu_ram_alloc(ram_addr_t size)
+ram_addr_t qemu_ram_alloc(unsigned int size)
 {
     ram_addr_t addr;
     if ((phys_ram_alloc_offset + size) >= phys_ram_size) {
-        fprintf(stderr, "Not enough memory (requested_size = %lu, max memory = 
%" PRIu64 ")\n",
-                size, (uint64_t)phys_ram_size);
+        fprintf(stderr, "Not enough memory (requested_size = %u, max memory = 
%d)\n",
+                size, phys_ram_size);
         abort();
     }
     addr = phys_ram_alloc_offset;
@@ -2449,7 +2438,7 @@
     return 0;
 }
 
-static void *subpage_init (target_phys_addr_t base, ram_addr_t *phys,
+static void *subpage_init (target_phys_addr_t base, uint32_t *phys,
                            int orig_memory)
 {
     subpage_t *mmio;

Modified: trunk/hw/an5206.c
===================================================================
--- trunk/hw/an5206.c   2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/an5206.c   2008-04-22 20:45:18 UTC (rev 4240)
@@ -30,7 +30,7 @@
 
 /* Board init.  */
 
-static void an5206_init(ram_addr_t ram_size, int vga_ram_size,
+static void an5206_init(int ram_size, int vga_ram_size,
                      const char *boot_device, DisplayState *ds,
                      const char *kernel_filename, const char *kernel_cmdline,
                      const char *initrd_filename, const char *cpu_model)

Modified: trunk/hw/boards.h
===================================================================
--- trunk/hw/boards.h   2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/boards.h   2008-04-22 20:45:18 UTC (rev 4240)
@@ -3,7 +3,7 @@
 #ifndef HW_BOARDS_H
 #define HW_BOARDS_H
 
-typedef void QEMUMachineInitFunc(ram_addr_t ram_size, int vga_ram_size,
+typedef void QEMUMachineInitFunc(int ram_size, int vga_ram_size,
                                  const char *boot_device, DisplayState *ds,
                                  const char *kernel_filename,
                                  const char *kernel_cmdline,

Modified: trunk/hw/dummy_m68k.c
===================================================================
--- trunk/hw/dummy_m68k.c       2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/dummy_m68k.c       2008-04-22 20:45:18 UTC (rev 4240)
@@ -14,7 +14,7 @@
 
 /* Board init.  */
 
-static void dummy_m68k_init(ram_addr_t ram_size, int vga_ram_size,
+static void dummy_m68k_init(int ram_size, int vga_ram_size,
                      const char *boot_device, DisplayState *ds,
                      const char *kernel_filename, const char *kernel_cmdline,
                      const char *initrd_filename, const char *cpu_model)

Modified: trunk/hw/etraxfs.c
===================================================================
--- trunk/hw/etraxfs.c  2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/etraxfs.c  2008-04-22 20:45:18 UTC (rev 4240)
@@ -41,7 +41,7 @@
 void etraxfs_ser_init(CPUState *env, qemu_irq *irqs, target_phys_addr_t base);
 
 static
-void bareetraxfs_init (ram_addr_t ram_size, int vga_ram_size,
+void bareetraxfs_init (int ram_size, int vga_ram_size,
                        const char *boot_device, DisplayState *ds,
                        const char *kernel_filename, const char *kernel_cmdline,
                        const char *initrd_filename, const char *cpu_model)

Modified: trunk/hw/gumstix.c
===================================================================
--- trunk/hw/gumstix.c  2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/gumstix.c  2008-04-22 20:45:18 UTC (rev 4240)
@@ -41,7 +41,7 @@
 
 static const int sector_len = 128 * 1024;
 
-static void connex_init(ram_addr_t ram_size, int vga_ram_size,
+static void connex_init(int ram_size, int vga_ram_size,
                 const char *boot_device, DisplayState *ds,
                 const char *kernel_filename, const char *kernel_cmdline,
                 const char *initrd_filename, const char *cpu_model)
@@ -81,7 +81,7 @@
                     pxa2xx_gpio_in_get(cpu->gpio)[36]);
 }
 
-static void verdex_init(ram_addr_t ram_size, int vga_ram_size,
+static void verdex_init(int ram_size, int vga_ram_size,
                 const char *boot_device, DisplayState *ds,
                 const char *kernel_filename, const char *kernel_cmdline,
                 const char *initrd_filename, const char *cpu_model)

Modified: trunk/hw/integratorcp.c
===================================================================
--- trunk/hw/integratorcp.c     2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/integratorcp.c     2008-04-22 20:45:18 UTC (rev 4240)
@@ -474,7 +474,7 @@
     .board_id = 0x113,
 };
 
-static void integratorcp_init(ram_addr_t ram_size, int vga_ram_size,
+static void integratorcp_init(int ram_size, int vga_ram_size,
                      const char *boot_device, DisplayState *ds,
                      const char *kernel_filename, const char *kernel_cmdline,
                      const char *initrd_filename, const char *cpu_model)

Modified: trunk/hw/mainstone.c
===================================================================
--- trunk/hw/mainstone.c        2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/mainstone.c        2008-04-22 20:45:18 UTC (rev 4240)
@@ -64,7 +64,7 @@
     .ram_size = 0x04000000,
 };
 
-static void mainstone_common_init(ram_addr_t ram_size, int vga_ram_size,
+static void mainstone_common_init(int ram_size, int vga_ram_size,
                 DisplayState *ds, const char *kernel_filename,
                 const char *kernel_cmdline, const char *initrd_filename,
                 const char *cpu_model, enum mainstone_model_e model, int 
arm_id)
@@ -133,7 +133,7 @@
     arm_load_kernel(cpu->env, &mainstone_binfo);
 }
 
-static void mainstone_init(ram_addr_t ram_size, int vga_ram_size,
+static void mainstone_init(int ram_size, int vga_ram_size,
                 const char *boot_device, DisplayState *ds,
                 const char *kernel_filename, const char *kernel_cmdline,
                 const char *initrd_filename, const char *cpu_model)

Modified: trunk/hw/mcf5208.c
===================================================================
--- trunk/hw/mcf5208.c  2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/mcf5208.c  2008-04-22 20:45:18 UTC (rev 4240)
@@ -202,7 +202,7 @@
     }
 }
 
-static void mcf5208evb_init(ram_addr_t ram_size, int vga_ram_size,
+static void mcf5208evb_init(int ram_size, int vga_ram_size,
                      const char *boot_device, DisplayState *ds,
                      const char *kernel_filename, const char *kernel_cmdline,
                      const char *initrd_filename, const char *cpu_model)

Modified: trunk/hw/mips_jazz.c
===================================================================
--- trunk/hw/mips_jazz.c        2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/mips_jazz.c        2008-04-22 20:45:18 UTC (rev 4240)
@@ -116,7 +116,7 @@
 #define MAGNUM_BIOS_SIZE (BIOS_SIZE < MAGNUM_BIOS_SIZE_MAX ? BIOS_SIZE : 
MAGNUM_BIOS_SIZE_MAX)
 
 static
-void mips_jazz_init (ram_addr_t ram_size, int vga_ram_size,
+void mips_jazz_init (int ram_size, int vga_ram_size,
                      DisplayState *ds, const char *cpu_model,
                      enum jazz_model_e jazz_model)
 {
@@ -256,7 +256,7 @@
 }
 
 static
-void mips_magnum_init (ram_addr_t ram_size, int vga_ram_size,
+void mips_magnum_init (int ram_size, int vga_ram_size,
                        const char *boot_device, DisplayState *ds,
                        const char *kernel_filename, const char *kernel_cmdline,
                        const char *initrd_filename, const char *cpu_model)
@@ -265,7 +265,7 @@
 }
 
 static
-void mips_pica61_init (ram_addr_t ram_size, int vga_ram_size,
+void mips_pica61_init (int ram_size, int vga_ram_size,
                        const char *boot_device, DisplayState *ds,
                        const char *kernel_filename, const char *kernel_cmdline,
                        const char *initrd_filename, const char *cpu_model)

Modified: trunk/hw/mips_malta.c
===================================================================
--- trunk/hw/mips_malta.c       2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/mips_malta.c       2008-04-22 20:45:18 UTC (rev 4240)
@@ -763,7 +763,7 @@
 }
 
 static
-void mips_malta_init (ram_addr_t ram_size, int vga_ram_size,
+void mips_malta_init (int ram_size, int vga_ram_size,
                       const char *boot_device, DisplayState *ds,
                       const char *kernel_filename, const char *kernel_cmdline,
                       const char *initrd_filename, const char *cpu_model)

Modified: trunk/hw/mips_mipssim.c
===================================================================
--- trunk/hw/mips_mipssim.c     2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/mips_mipssim.c     2008-04-22 20:45:18 UTC (rev 4240)
@@ -106,7 +106,7 @@
 }
 
 static void
-mips_mipssim_init (ram_addr_t ram_size, int vga_ram_size,
+mips_mipssim_init (int ram_size, int vga_ram_size,
                    const char *boot_device, DisplayState *ds,
                    const char *kernel_filename, const char *kernel_cmdline,
                    const char *initrd_filename, const char *cpu_model)

Modified: trunk/hw/mips_r4k.c
===================================================================
--- trunk/hw/mips_r4k.c 2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/mips_r4k.c 2008-04-22 20:45:18 UTC (rev 4240)
@@ -147,7 +147,7 @@
 
 static const int sector_len = 32 * 1024;
 static
-void mips_r4k_init (ram_addr_t ram_size, int vga_ram_size,
+void mips_r4k_init (int ram_size, int vga_ram_size,
                     const char *boot_device, DisplayState *ds,
                     const char *kernel_filename, const char *kernel_cmdline,
                     const char *initrd_filename, const char *cpu_model)

Modified: trunk/hw/nseries.c
===================================================================
--- trunk/hw/nseries.c  2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/nseries.c  2008-04-22 20:45:18 UTC (rev 4240)
@@ -891,7 +891,7 @@
     .atag_board = n800_atag_setup,
 };
 
-static void n800_init(ram_addr_t ram_size, int vga_ram_size,
+static void n800_init(int ram_size, int vga_ram_size,
                 const char *boot_device, DisplayState *ds,
                 const char *kernel_filename, const char *kernel_cmdline,
                 const char *initrd_filename, const char *cpu_model)

Modified: trunk/hw/palm.c
===================================================================
--- trunk/hw/palm.c     2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/palm.c     2008-04-22 20:45:18 UTC (rev 4240)
@@ -192,7 +192,7 @@
     .board_id = 0x331,
 };
 
-static void palmte_init(ram_addr_t ram_size, int vga_ram_size,
+static void palmte_init(int ram_size, int vga_ram_size,
                 const char *boot_device, DisplayState *ds,
                 const char *kernel_filename, const char *kernel_cmdline,
                 const char *initrd_filename, const char *cpu_model)

Modified: trunk/hw/pc.c
===================================================================
--- trunk/hw/pc.c       2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/pc.c       2008-04-22 20:45:18 UTC (rev 4240)
@@ -188,8 +188,7 @@
 }
 
 /* hd_table must contain 4 block drivers */
-static void cmos_init(ram_addr_t ram_size, ram_addr_t above_4g_mem_size,
-                      const char *boot_device, BlockDriverState **hd_table)
+static void cmos_init(int ram_size, const char *boot_device, BlockDriverState 
**hd_table)
 {
     RTCState *s = rtc_state;
     int nbds, bds[3] = { 0, };
@@ -212,12 +211,6 @@
     rtc_set_memory(s, 0x30, val);
     rtc_set_memory(s, 0x31, val >> 8);
 
-    if (above_4g_mem_size) {
-        rtc_set_memory(s, 0x5b, (unsigned int)above_4g_mem_size >> 16);
-        rtc_set_memory(s, 0x5c, (unsigned int)above_4g_mem_size >> 24);
-        rtc_set_memory(s, 0x5d, (uint64_t)above_4g_mem_size >> 32);
-    }
-
     if (ram_size > (16 * 1024 * 1024))
         val = (ram_size / 65536) - ((16 * 1024 * 1024) / 65536);
     else
@@ -683,7 +676,7 @@
 }
 
 /* PC hardware initialisation */
-static void pc_init1(ram_addr_t ram_size, int vga_ram_size,
+static void pc_init1(int ram_size, int vga_ram_size,
                      const char *boot_device, DisplayState *ds,
                      const char *kernel_filename, const char *kernel_cmdline,
                      const char *initrd_filename,
@@ -692,7 +685,6 @@
     char buf[1024];
     int ret, linux_boot, i;
     ram_addr_t ram_addr, vga_ram_addr, bios_offset, vga_bios_offset;
-    ram_addr_t below_4g_mem_size, above_4g_mem_size = 0;
     int bios_size, isa_bios_size, vga_bios_size;
     PCIBus *pci_bus;
     int piix3_devfn = -1;
@@ -704,13 +696,6 @@
     BlockDriverState *hd[MAX_IDE_BUS * MAX_IDE_DEVS];
     BlockDriverState *fd[MAX_FD];
 
-    if (ram_size >= 0xe0000000 ) {
-        above_4g_mem_size = ram_size - 0xe0000000;
-        below_4g_mem_size = 0xe0000000;
-    } else {
-        below_4g_mem_size = ram_size;
-    }
-
     linux_boot = (kernel_filename != NULL);
 
     /* init CPUs */
@@ -745,14 +730,8 @@
 
     /* allocate RAM */
     ram_addr = qemu_ram_alloc(ram_size);
-    cpu_register_physical_memory(0, below_4g_mem_size, ram_addr);
+    cpu_register_physical_memory(0, ram_size, ram_addr);
 
-    /* above 4giga memory allocation */
-    if (above_4g_mem_size > 0) {
-        cpu_register_physical_memory(0x100000000ULL, above_4g_mem_size,
-                                     ram_addr + below_4g_mem_size);
-    }
-
     /* allocate VGA RAM */
     vga_ram_addr = qemu_ram_alloc(vga_ram_size);
 
@@ -971,7 +950,7 @@
     }
     floppy_controller = fdctrl_init(i8259[6], 2, 0, 0x3f0, fd);
 
-    cmos_init(below_4g_mem_size, above_4g_mem_size, boot_device, hd);
+    cmos_init(ram_size, boot_device, hd);
 
     if (pci_enabled && usb_enabled) {
         usb_uhci_piix3_init(pci_bus, piix3_devfn + 2);
@@ -1011,7 +990,7 @@
     }
 }
 
-static void pc_init_pci(ram_addr_t ram_size, int vga_ram_size,
+static void pc_init_pci(int ram_size, int vga_ram_size,
                         const char *boot_device, DisplayState *ds,
                         const char *kernel_filename,
                         const char *kernel_cmdline,
@@ -1023,7 +1002,7 @@
              initrd_filename, 1, cpu_model);
 }
 
-static void pc_init_isa(ram_addr_t ram_size, int vga_ram_size,
+static void pc_init_isa(int ram_size, int vga_ram_size,
                         const char *boot_device, DisplayState *ds,
                         const char *kernel_filename,
                         const char *kernel_cmdline,

Modified: trunk/hw/piix_pci.c
===================================================================
--- trunk/hw/piix_pci.c 2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/piix_pci.c 2008-04-22 20:45:18 UTC (rev 4240)
@@ -55,7 +55,7 @@
     return (irq_num + slot_addend) & 3;
 }
 
-static target_phys_addr_t isa_page_descs[384 / 4];
+static uint32_t isa_page_descs[384 / 4];
 static uint8_t smm_enabled;
 static int pci_irq_levels[4];
 

Modified: trunk/hw/ppc405_boards.c
===================================================================
--- trunk/hw/ppc405_boards.c    2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/ppc405_boards.c    2008-04-22 20:45:18 UTC (rev 4240)
@@ -177,7 +177,7 @@
     }
 }
 
-static void ref405ep_init (ram_addr_t ram_size, int vga_ram_size,
+static void ref405ep_init (int ram_size, int vga_ram_size,
                            const char *boot_device, DisplayState *ds,
                            const char *kernel_filename,
                            const char *kernel_cmdline,
@@ -504,7 +504,7 @@
     }
 }
 
-static void taihu_405ep_init(ram_addr_t ram_size, int vga_ram_size,
+static void taihu_405ep_init(int ram_size, int vga_ram_size,
                              const char *boot_device, DisplayState *ds,
                              const char *kernel_filename,
                              const char *kernel_cmdline,

Modified: trunk/hw/ppc_chrp.c
===================================================================
--- trunk/hw/ppc_chrp.c 2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/ppc_chrp.c 2008-04-22 20:45:18 UTC (rev 4240)
@@ -57,7 +57,7 @@
 };
 
 /* PowerPC Mac99 hardware initialisation */
-static void ppc_core99_init (ram_addr_t ram_size, int vga_ram_size,
+static void ppc_core99_init (int ram_size, int vga_ram_size,
                              const char *boot_device, DisplayState *ds,
                              const char *kernel_filename,
                              const char *kernel_cmdline,

Modified: trunk/hw/ppc_oldworld.c
===================================================================
--- trunk/hw/ppc_oldworld.c     2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/ppc_oldworld.c     2008-04-22 20:45:18 UTC (rev 4240)
@@ -103,7 +103,7 @@
     return 1; /* osi_call handled */
 }
 
-static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size,
+static void ppc_heathrow_init (int ram_size, int vga_ram_size,
                                const char *boot_device, DisplayState *ds,
                                const char *kernel_filename,
                                const char *kernel_cmdline,

Modified: trunk/hw/ppc_prep.c
===================================================================
--- trunk/hw/ppc_prep.c 2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/ppc_prep.c 2008-04-22 20:45:18 UTC (rev 4240)
@@ -535,7 +535,7 @@
 #define NVRAM_SIZE        0x2000
 
 /* PowerPC PREP hardware initialisation */
-static void ppc_prep_init (ram_addr_t ram_size, int vga_ram_size,
+static void ppc_prep_init (int ram_size, int vga_ram_size,
                            const char *boot_device, DisplayState *ds,
                            const char *kernel_filename,
                            const char *kernel_cmdline,

Modified: trunk/hw/r2d.c
===================================================================
--- trunk/hw/r2d.c      2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/r2d.c      2008-04-22 20:45:18 UTC (rev 4240)
@@ -30,7 +30,7 @@
 #define SDRAM_BASE 0x0c000000 /* Physical location of SDRAM: Area 3 */
 #define SDRAM_SIZE 0x04000000
 
-static void r2d_init(ram_addr_t ram_size, int vga_ram_size,
+static void r2d_init(int ram_size, int vga_ram_size,
               const char *boot_device, DisplayState * ds,
              const char *kernel_filename, const char *kernel_cmdline,
              const char *initrd_filename, const char *cpu_model)

Modified: trunk/hw/realview.c
===================================================================
--- trunk/hw/realview.c 2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/realview.c 2008-04-22 20:45:18 UTC (rev 4240)
@@ -23,7 +23,7 @@
     .board_id = 0x33b,
 };
 
-static void realview_init(ram_addr_t ram_size, int vga_ram_size,
+static void realview_init(int ram_size, int vga_ram_size,
                      const char *boot_device, DisplayState *ds,
                      const char *kernel_filename, const char *kernel_cmdline,
                      const char *initrd_filename, const char *cpu_model)

Modified: trunk/hw/shix.c
===================================================================
--- trunk/hw/shix.c     2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/shix.c     2008-04-22 20:45:18 UTC (rev 4240)
@@ -65,7 +65,7 @@
     /* XXXXX */
 }
 
-static void shix_init(ram_addr_t ram_size, int vga_ram_size,
+static void shix_init(int ram_size, int vga_ram_size,
                const char *boot_device, DisplayState * ds,
               const char *kernel_filename, const char *kernel_cmdline,
               const char *initrd_filename, const char *cpu_model)

Modified: trunk/hw/spitz.c
===================================================================
--- trunk/hw/spitz.c    2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/spitz.c    2008-04-22 20:45:18 UTC (rev 4240)
@@ -1185,7 +1185,7 @@
     .ram_size = 0x04000000,
 };
 
-static void spitz_common_init(ram_addr_t ram_size, int vga_ram_size,
+static void spitz_common_init(int ram_size, int vga_ram_size,
                 DisplayState *ds, const char *kernel_filename,
                 const char *kernel_cmdline, const char *initrd_filename,
                 const char *cpu_model, enum spitz_model_e model, int arm_id)
@@ -1245,7 +1245,7 @@
     sl_bootparam_write(SL_PXA_PARAM_BASE - PXA2XX_SDRAM_BASE);
 }
 
-static void spitz_init(ram_addr_t ram_size, int vga_ram_size,
+static void spitz_init(int ram_size, int vga_ram_size,
                 const char *boot_device, DisplayState *ds,
                 const char *kernel_filename, const char *kernel_cmdline,
                 const char *initrd_filename, const char *cpu_model)
@@ -1254,7 +1254,7 @@
                 kernel_cmdline, initrd_filename, cpu_model, spitz, 0x2c9);
 }
 
-static void borzoi_init(ram_addr_t ram_size, int vga_ram_size,
+static void borzoi_init(int ram_size, int vga_ram_size,
                 const char *boot_device, DisplayState *ds,
                 const char *kernel_filename, const char *kernel_cmdline,
                 const char *initrd_filename, const char *cpu_model)
@@ -1263,7 +1263,7 @@
                 kernel_cmdline, initrd_filename, cpu_model, borzoi, 0x33f);
 }
 
-static void akita_init(ram_addr_t ram_size, int vga_ram_size,
+static void akita_init(int ram_size, int vga_ram_size,
                 const char *boot_device, DisplayState *ds,
                 const char *kernel_filename, const char *kernel_cmdline,
                 const char *initrd_filename, const char *cpu_model)
@@ -1272,7 +1272,7 @@
                 kernel_cmdline, initrd_filename, cpu_model, akita, 0x2e8);
 }
 
-static void terrier_init(ram_addr_t ram_size, int vga_ram_size,
+static void terrier_init(int ram_size, int vga_ram_size,
                 const char *boot_device, DisplayState *ds,
                 const char *kernel_filename, const char *kernel_cmdline,
                 const char *initrd_filename, const char *cpu_model)

Modified: trunk/hw/stellaris.c
===================================================================
--- trunk/hw/stellaris.c        2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/stellaris.c        2008-04-22 20:45:18 UTC (rev 4240)
@@ -1169,7 +1169,7 @@
 }
 
 /* FIXME: Figure out how to generate these from stellaris_boards.  */
-static void lm3s811evb_init(ram_addr_t ram_size, int vga_ram_size,
+static void lm3s811evb_init(int ram_size, int vga_ram_size,
                      const char *boot_device, DisplayState *ds,
                      const char *kernel_filename, const char *kernel_cmdline,
                      const char *initrd_filename, const char *cpu_model)
@@ -1177,7 +1177,7 @@
     stellaris_init(kernel_filename, cpu_model, ds, &stellaris_boards[0]);
 }
 
-static void lm3s6965evb_init(ram_addr_t ram_size, int vga_ram_size,
+static void lm3s6965evb_init(int ram_size, int vga_ram_size,
                      const char *boot_device, DisplayState *ds,
                      const char *kernel_filename, const char *kernel_cmdline,
                      const char *initrd_filename, const char *cpu_model)

Modified: trunk/hw/sun4m.c
===================================================================
--- trunk/hw/sun4m.c    2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/sun4m.c    2008-04-22 20:45:18 UTC (rev 4240)
@@ -1110,7 +1110,7 @@
 };
 
 /* SPARCstation 5 hardware initialisation */
-static void ss5_init(ram_addr_t RAM_size, int vga_ram_size,
+static void ss5_init(int RAM_size, int vga_ram_size,
                      const char *boot_device, DisplayState *ds,
                      const char *kernel_filename, const char *kernel_cmdline,
                      const char *initrd_filename, const char *cpu_model)
@@ -1120,7 +1120,7 @@
 }
 
 /* SPARCstation 10 hardware initialisation */
-static void ss10_init(ram_addr_t RAM_size, int vga_ram_size,
+static void ss10_init(int RAM_size, int vga_ram_size,
                       const char *boot_device, DisplayState *ds,
                       const char *kernel_filename, const char *kernel_cmdline,
                       const char *initrd_filename, const char *cpu_model)
@@ -1130,7 +1130,7 @@
 }
 
 /* SPARCserver 600MP hardware initialisation */
-static void ss600mp_init(ram_addr_t RAM_size, int vga_ram_size,
+static void ss600mp_init(int RAM_size, int vga_ram_size,
                          const char *boot_device, DisplayState *ds,
                          const char *kernel_filename, const char 
*kernel_cmdline,
                          const char *initrd_filename, const char *cpu_model)
@@ -1140,7 +1140,7 @@
 }
 
 /* SPARCstation 20 hardware initialisation */
-static void ss20_init(ram_addr_t RAM_size, int vga_ram_size,
+static void ss20_init(int RAM_size, int vga_ram_size,
                       const char *boot_device, DisplayState *ds,
                       const char *kernel_filename, const char *kernel_cmdline,
                       const char *initrd_filename, const char *cpu_model)
@@ -1150,7 +1150,7 @@
 }
 
 /* SPARCstation 2 hardware initialisation */
-static void ss2_init(ram_addr_t RAM_size, int vga_ram_size,
+static void ss2_init(int RAM_size, int vga_ram_size,
                      const char *boot_device, DisplayState *ds,
                      const char *kernel_filename, const char *kernel_cmdline,
                      const char *initrd_filename, const char *cpu_model)
@@ -1480,7 +1480,7 @@
 }
 
 /* SPARCserver 1000 hardware initialisation */
-static void ss1000_init(ram_addr_t RAM_size, int vga_ram_size,
+static void ss1000_init(int RAM_size, int vga_ram_size,
                         const char *boot_device, DisplayState *ds,
                         const char *kernel_filename, const char 
*kernel_cmdline,
                         const char *initrd_filename, const char *cpu_model)
@@ -1490,7 +1490,7 @@
 }
 
 /* SPARCcenter 2000 hardware initialisation */
-static void ss2000_init(ram_addr_t RAM_size, int vga_ram_size,
+static void ss2000_init(int RAM_size, int vga_ram_size,
                         const char *boot_device, DisplayState *ds,
                         const char *kernel_filename, const char 
*kernel_cmdline,
                         const char *initrd_filename, const char *cpu_model)

Modified: trunk/hw/sun4u.c
===================================================================
--- trunk/hw/sun4u.c    2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/sun4u.c    2008-04-22 20:45:18 UTC (rev 4240)
@@ -227,7 +227,7 @@
 static fdctrl_t *floppy_controller;
 
 /* Sun4u hardware initialisation */
-static void sun4u_init(ram_addr_t ram_size, int vga_ram_size,
+static void sun4u_init(int ram_size, int vga_ram_size,
                        const char *boot_devices, DisplayState *ds,
                        const char *kernel_filename, const char *kernel_cmdline,
                        const char *initrd_filename, const char *cpu_model)

Modified: trunk/hw/versatilepb.c
===================================================================
--- trunk/hw/versatilepb.c      2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/hw/versatilepb.c      2008-04-22 20:45:18 UTC (rev 4240)
@@ -159,7 +159,7 @@
 
 static struct arm_boot_info versatile_binfo;
 
-static void versatile_init(ram_addr_t ram_size, int vga_ram_size,
+static void versatile_init(int ram_size, int vga_ram_size,
                      const char *boot_device, DisplayState *ds,
                      const char *kernel_filename, const char *kernel_cmdline,
                      const char *initrd_filename, const char *cpu_model,
@@ -293,7 +293,7 @@
     arm_load_kernel(env, &versatile_binfo);
 }
 
-static void vpb_init(ram_addr_t ram_size, int vga_ram_size,
+static void vpb_init(int ram_size, int vga_ram_size,
                      const char *boot_device, DisplayState *ds,
                      const char *kernel_filename, const char *kernel_cmdline,
                      const char *initrd_filename, const char *cpu_model)
@@ -304,7 +304,7 @@
                    initrd_filename, cpu_model, 0x183);
 }
 
-static void vab_init(ram_addr_t ram_size, int vga_ram_size,
+static void vab_init(int ram_size, int vga_ram_size,
                      const char *boot_device, DisplayState *ds,
                      const char *kernel_filename, const char *kernel_cmdline,
                      const char *initrd_filename, const char *cpu_model)

Modified: trunk/osdep.c
===================================================================
--- trunk/osdep.c       2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/osdep.c       2008-04-22 20:45:18 UTC (rev 4240)
@@ -98,6 +98,7 @@
             int64_t free_space;
             int ram_mb;
 
+            extern int ram_size;
             free_space = (int64_t)stfs.f_bavail * stfs.f_bsize;
             if ((ram_size + 8192 * 1024) >= free_space) {
                 ram_mb = (ram_size / (1024 * 1024));

Modified: trunk/qemu-doc.texi
===================================================================
--- trunk/qemu-doc.texi 2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/qemu-doc.texi 2008-04-22 20:45:18 UTC (rev 4240)
@@ -322,9 +322,7 @@
 be needed to boot from old floppy disks.
 
 @item -m @var{megs}
-Set virtual RAM size to @var{megs} megabytes. Default is 128 MiB.  Optionally,
-a suffix of ``M'' or ``G'' can be used to signify a value in megabytes or
-gigabytes respectively.
+Set virtual RAM size to @var{megs} megabytes. Default is 128 MiB.
 
 @item -smp @var{n}
 Simulate an SMP system with @var{n} CPUs. On the PC target, up to 255

Modified: trunk/sysemu.h
===================================================================
--- trunk/sysemu.h      2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/sysemu.h      2008-04-22 20:45:18 UTC (rev 4240)
@@ -73,6 +73,7 @@
 /* SLIRP */
 void do_info_slirp(void);
 
+extern int ram_size;
 extern int bios_size;
 extern int cirrus_vga_enabled;
 extern int vmsvga_enabled;

Modified: trunk/vl.c
===================================================================
--- trunk/vl.c  2008-04-22 20:37:43 UTC (rev 4239)
+++ trunk/vl.c  2008-04-22 20:45:18 UTC (rev 4240)
@@ -142,6 +142,8 @@
 //#define DEBUG_UNUSED_IOPORT
 //#define DEBUG_IOPORT
 
+#define PHYS_RAM_MAX_SIZE (2047 * 1024 * 1024)
+
 #ifdef TARGET_PPC
 #define DEFAULT_RAM_SIZE 144
 #else
@@ -173,7 +175,7 @@
 int curses;
 const char* keyboard_layout = NULL;
 int64_t ticks_per_sec;
-ram_addr_t ram_size;
+int ram_size;
 int pit_min_timer_count = 0;
 int nb_nics;
 NICInfo nd_table[MAX_NICS];
@@ -6875,8 +6877,7 @@
 
 static int ram_load_v1(QEMUFile *f, void *opaque)
 {
-    int ret;
-    ram_addr_t i;
+    int i, ret;
 
     if (qemu_get_be32(f) != phys_ram_size)
         return -EINVAL;
@@ -7012,7 +7013,7 @@
 
 static void ram_save(QEMUFile *f, void *opaque)
 {
-    ram_addr_t i;
+    int i;
     RamCompressState s1, *s = &s1;
     uint8_t buf[10];
 
@@ -7057,7 +7058,7 @@
 {
     RamDecompressState s1, *s = &s1;
     uint8_t buf[10];
-    ram_addr_t i;
+    int i;
 
     if (version_id == 1)
         return ram_load_v1(f, opaque);
@@ -7074,7 +7075,7 @@
         }
         if (buf[0] == 0) {
             if (ram_decompress_buf(s, phys_ram_base + i, BDRV_HASH_BLOCK_SIZE) 
< 0) {
-                fprintf(stderr, "Error while reading ram block address=0x%08" 
PRIx64, (uint64_t)i);
+                fprintf(stderr, "Error while reading ram block 
address=0x%08x", i);
                 goto error;
             }
         } else
@@ -8555,39 +8556,16 @@
             case QEMU_OPTION_h:
                 help(0);
                 break;
-            case QEMU_OPTION_m: {
-                uint64_t value;
-                char *ptr;
-
-                value = strtoul(optarg, &ptr, 10);
-                switch (*ptr) {
-                case 0: case 'M': case 'm':
-                    value <<= 20;
-                    break;
-                case 'G': case 'g':
-                    value <<= 30;
-                    break;
-                default:
-                    fprintf(stderr, "qemu: invalid ram size: %s\n", optarg);
+            case QEMU_OPTION_m:
+                ram_size = atoi(optarg) * 1024 * 1024;
+                if (ram_size <= 0)
+                    help(1);
+                if (ram_size > PHYS_RAM_MAX_SIZE) {
+                    fprintf(stderr, "qemu: at most %d MB RAM can be 
simulated\n",
+                            PHYS_RAM_MAX_SIZE / (1024 * 1024));
                     exit(1);
                 }
-
-                /* On 32-bit hosts, QEMU is limited by virtual address space */
-                if (value > (2047 << 20)
-#ifndef USE_KQEMU
-                    && HOST_LONG_BITS == 32
-#endif
-                    ) {
-                    fprintf(stderr, "qemu: at most 2047 MB RAM can be 
simulated\n");
-                    exit(1);
-                }
-                if (value != (uint64_t)(ram_addr_t)value) {
-                    fprintf(stderr, "qemu: ram size too large\n");
-                    exit(1);
-                }
-                ram_size = value;
                 break;
-            }
             case QEMU_OPTION_d:
                 {
                     int mask;






reply via email to

[Prev in Thread] Current Thread [Next in Thread]