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

Re: [Xen-devel] [PATCH] libxl, hvmloader: Don't relocate memory for MMIO hole

On 06/18/2013 10:50 AM, George Dunlap wrote:
On 06/17/2013 06:15 PM, Ian Jackson wrote:
George Dunlap writes ("[PATCH] libxl,hvmloader: Don't relocate memory
for MMIO hole"):
At the moment, qemu-xen can't handle memory being relocated by
hvmloader.  This may happen if a device with a large enough memory
region is passed through to the guest.  At the moment, if this
happens, then at some point in the future qemu will crash and the
domain will hang.  (qemu-traditional is fine.)

I think the approach is good.  Arguably the two things should be in
two patches.

You mean one in libxl to set allow_memory_relocate, one to do something
about it?

+    const char *s;
+    uint8_t allow_memory_relocate=1;
+    s = xenstore_read(HVM_XS_ALLOW_MEMORY_RELOCATE, NULL);
+    if (s)
+        allow_memory_relocate=(uint8_t)strtoll(s, NULL, 0);

Use strtoul, surely, and bool_t (or _Bool).  Then there is no need for
the cast.  (Also, spaces round `='.)

Remember that hvmloader doesn't actually have a libc; this is a locally
implemented function, and AFAICT the only one implemented is strtoll.

Hmm, and it doesn't seem to have a bool_t either:

pci.c: In function ‘pci_setup’:
pci.c:63:5: error: unknown type name ‘bool_t’
make[7]: *** [pci.o] Error 1

uint8_t is what this uses for various other booleans (is_64bar, &c), so I'll just follow suit.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.