[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] The reason behind block linking constraint?
From: |
Max Filippov |
Subject: |
Re: [Qemu-devel] The reason behind block linking constraint? |
Date: |
Thu, 18 Aug 2011 14:04:29 +0400 |
>> If we link a TB with another TB from the different page, then the
>> second TB may disappear when the memory mapping changes and the
>> subsequent direct jump from the first TB will crash qemu.
>
> Perhaps the guest OS swap the second TB out of the guest memory,
> is it what you mean?
I meant TLB change by e.g. tlb_set_page. If you change single page
mapping then all TBs in that page will be gone.
This may be the result of e.g. a page swapping, or a task switch.
If there's no direct link between TBs then softmmu will be used during
the target TB search and softmmu will generate an appropriate guest
exception. See cpu_exec -> tb_find_fast -> tb_find_slow ->
get_page_addr_code.
But if there is a direct link, then softmmu has no chance to do it.
--
Thanks.
-- Max