qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Re: [PATCH] Make page_find() return 0 for too-large add


From: Glauber Costa
Subject: Re: [Qemu-devel] Re: [PATCH] Make page_find() return 0 for too-large addresses
Date: Mon, 15 Sep 2008 10:08:24 -0300
User-agent: Mutt/1.5.18 (2008-05-17)

On Fri, Sep 12, 2008 at 04:27:30PM -0500, Anthony Liguori wrote:
> Eduardo Habkost wrote:
>> On Fri, Sep 12, 2008 at 05:14:06PM -0300, Eduardo Habkost wrote:
>>   
>>> On Fri, Sep 12, 2008 at 02:50:33PM -0500, Anthony Liguori wrote:
>>>     
>>>> Eduardo Habkost wrote:
>>>>       
>>>>> On some cases, such as under KVM, tb_invalidate_phys_page_range()
>>>>> may be called for large addresses, when qemu is configured to more than
>>>>> 4GB of RAM.
>>>>>
>>>>> On these cases, qemu was crashing because it was using an index too
>>>>> large for l1_map[], that supports only 32-bit addresses when compiling
>>>>> without CONFIG_USER_ONLY.
>>>>>           
>> <snip>
>>   
>
> So... are you building with kqemu enabled?  If so,  
> TARGET_PHYS_ADDR_SPACE_BITS will be 32.  So I don't think this sort of  
> work-around is correct.  A better solution would be to validate ram_size  
> against TARGET_PHYS_ADDR_SPACE_BITS.
>
> To put it another way, if you have kqemu enabled (at build time), you  
> cannot use > ~4GB of memory for the guest.
I can be very wrong here, but page_find() does not seem to limit our ability to
run guests if > 4GB, as it is only concerned about the code translation layer.
Differently from phys_page_find(), that does manage physical memory, and even
presented problems about it in the past.

>
> Regards,
>
> Anthony Liguori
>




reply via email to

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