qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v9 04/26] target: [tcg] Add generic translation


From: Richard Henderson
Subject: Re: [Qemu-devel] [PATCH v9 04/26] target: [tcg] Add generic translation framework
Date: Mon, 26 Jun 2017 19:47:18 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0

On 06/26/2017 03:14 AM, Alex Bennée wrote:
+        if ((db->pc_first & TARGET_PAGE_MASK)
+            != (db->pc_next & TARGET_PAGE_MASK)) {
+            db->is_jmp = DJ_TOO_MANY;
+            break;
+        }

How does the first insn avoid this check? And if it does is that right?

I mean I understand you can construct weird multi-byte instructions
(especially on x86) that cross the boundary but even if it is the first
in a TB shouldn't it error if there are no contiguous pages?

Also isn't the page crossing issue different for SoftMMU and linux-user?

It could be, though I don't believe that many front-ends take advantage. I don't think it makes *that* much difference.

But if it comes to that, there are other edge conditions that can be used, e.g. the KSEG non-paged addressing segment for Alpha or MIPS kernel mode.


r~



reply via email to

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