On 2012-08-14 12:20, Avi Kivity wrote:
> On 08/14/2012 11:44 AM, Markus Armbruster wrote:
>>
>> Next error:
>>
>>     $ gdb --args qemu-system-x86_64 -nodefaults --enable-kvm -vnc :0 
>> -monitor stdio -m 640k
>>     [...]
>>     Program received signal SIGSEGV, Segmentation fault.
>>     [...]
>>     (gdb) bt
>>     #0  0x0000003b0de884ac in __memcmp_sse2 () from /lib64/libc.so.6
>>     #1  0x000000000063f1ad in patch_hypercalls (s=0x139b350)
>>         at /work/armbru/qemu/hw/i386/../kvmvapic.c:532
>>     #2  0x000000000063f3fe in vapic_prepare (s=0x139b350)
>>         at /work/armbru/qemu/hw/i386/../kvmvapic.c:597
>>     #3  0x000000000063f4ed in vapic_write (opaque=0x139b350, addr=0, 
>> data=32, size=
>>         2) at /work/armbru/qemu/hw/i386/../kvmvapic.c:634
>>     #4  0x0000000000677a44 in memory_region_write_accessor 
>> (opaque=0x139d670, addr=
>>
>> Happens when -m argument is a multiple of 4k in [648k..768k].  Only with
>> --enable-kvm.  With and without my CMOS fix applied.
> 
> kvmvapic requires RAM to be present underneath the ROM.  We could fix up
> kvmvapic to allocate a 4k region and insert it as an overlay, but it's
> sufficient IMO to require sub-1M users to disable it.  It won't be of
> any use to the anyway as Windows XP requires more than 1MB.

We can also easily automatically disable it when there is insufficient
(<1MB) memory. Will post a patch.

Jan

-- 
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux

Reply via email to