On Mon, Aug 10, 2009 at 12:26 PM, Ian Jackson<Ian.Jackson@eu.citrix.com> wrote:
> On 10/08/2009 11:11, "Andrew Lyon" <andrew.lyon@gmail.com> wrote:
>> Sorry to report this on the final 3.4.1 but I never had time to test
>> any of the rc's, it appears that the fix for using videoram config
>> setting was not applied to 3.4.1, when I try to start a domain with
>> stdvga=1 and videoram=16 it fails:
>
> Do you mean this:
>
>  commit e0bb6b8df60863bca0163a1688baf4854e931e55
>  Author: Ian Jackson <ian.jackson@eu.citrix.com>
>  Date:   Mon Jun 8 17:45:42 2009 +0100
>
>      stdvga + videoram config option
>
>      Without this patch, guests cannot be created on ia64 because of
>      qemu-dm's error.
>
>      Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
>
> That appears to remove this assignment
>      ram_size = vga_ram_size;
> from an ia64-specific fragment in vl.c which doesn't appear in the 3.4
> branch.
>
> If that's not what you meant, what did you mean ? :-)
>
> Ian.
>

Yes that is the correct pair of patches, I have tested on x86_64 and I
am able to create hvm with increased video ram, I do not see much
value in applying a patch which does not work and then fixing it if
both are not currently in 3.4 so here is a single patch instead,
perhaps KUWAMURA Shin'ya can add a signed-off-by to this too.

Signed-off-by: Andrew Lyon <andrew.lyon@gmail.com>


---

diff --git tools/ioemu-qemu-xen/vl.c tools/ioemu-qemu-xen/vl.c
index b5bb5cb..3506977 100644
--- tools/ioemu-qemu-xen/vl.c
+++ tools/ioemu-qemu-xen/vl.c
@@ -4801,7 +4801,6 @@ int main(int argc, char **argv, char **envp)
     machine = first_machine;
     cpu_model = NULL;
     initrd_filename = NULL;
-    ram_size = VGA_RAM_SIZE;
 #ifdef CONFIG_GDBSTUB
     use_gdbstub = 0;
     gdbstub_port = DEFAULT_GDBSTUB_PORT;
@@ -5654,13 +5653,6 @@ int main(int argc, char **argv, char **envp)
     }
 #endif

-#if defined (__ia64__)
-    if (ram_size > VGA_IO_START)
-        ram_size += VGA_IO_SIZE; /* skip VGA I/O hole */
-    if (ram_size > MMIO_START)
-        ram_size += 1 * MEM_G; /* skip 3G-4G MMIO, LEGACY_IO_SPACE etc. */
-#endif
-
     /* init the bluetooth world */
     for (i = 0; i < nb_bt_opts; i++)
         if (bt_parse(bt_opts[i]))
@@ -5677,6 +5669,13 @@ int main(int argc, char **argv, char **envp)

     phys_ram_size = (machine->ram_require + vga_ram_size) & ~RAMSIZE_FIXED;

+#if defined (__ia64__)
+    if (ram_size > VGA_IO_START)
+        ram_size += VGA_IO_SIZE; /* skip VGA I/O hole */
+    if (ram_size > MMIO_START)
+        ram_size += 1 * MEM_G; /* skip 3G-4G MMIO, LEGACY_IO_SPACE etc. */
+#endif
+
     if (machine->ram_require & RAMSIZE_FIXED) {
         if (ram_size > 0) {
             if (ram_size < phys_ram_size) {


Andy

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
