qemu-devel
[Top][All Lists]
Advanced

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

Re: [RFC PATCH] accel/tcg: clear all TBs from a page when it is written


From: Richard Henderson
Subject: Re: [RFC PATCH] accel/tcg: clear all TBs from a page when it is written to
Date: Wed, 21 Aug 2024 09:16:10 +1000
User-agent: Mozilla Thunderbird

On 8/14/24 16:09, Nicholas Piggin wrote:
@@ -1107,6 +1107,9 @@ tb_invalidate_phys_page_range__locked(struct 
page_collection *pages,
       TranslationBlock *current_tb = retaddr ? tcg_tb_lookup(retaddr) : NULL;
   #endif /* TARGET_HAS_PRECISE_SMC */
+ start &= TARGET_PAGE_MASK;
+    last |= ~TARGET_PAGE_MASK;
+
       /* Range may not cross a page. */
       tcg_debug_assert(((start ^ last) & TARGET_PAGE_MASK) == 0);

This would definitely break SMC.

They can't invalidate the instruction currently being executed?

They can. But that's where adjusting start/last would break things, because we've lost track of exactly what's being modified, which changes the result of "did we modify the current instruction".


r~



reply via email to

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