qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Funny -m arguments can crash


From: Jan Kiszka
Subject: Re: [Qemu-devel] Funny -m arguments can crash
Date: Tue, 14 Aug 2012 13:01:53 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

On 2012-08-14 12:51, Avi Kivity wrote:
> On 08/14/2012 01:44 PM, Jan Kiszka wrote:
>> 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.
> 
> Would be nicer if it auto-disables itself, but don't know if the option
> ROM has access to the memory size.

There is that global ram_size, also used by vmport. Not really nice but
no precedent.

Jan

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



reply via email to

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