|
From: | Richard Henderson |
Subject: | Re: [Qemu-devel] best way to implement emulation of AArch64 tagged addresses |
Date: | Sat, 9 Apr 2016 08:57:55 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.1 |
On 04/08/2016 05:29 PM, Thomas Hanson wrote:
Looking at tcg_out_tlb_load(): If I'm reading the pseudo-assembler of the function names correctly, it looks like in the i386 code we're already masking the address being checked: tgen_arithi(s, ARITH_AND + trexw, r1, TARGET_PAGE_MASK | (aligned ? s_mask : 0), 0); where TARGET_PAGE_MASK is a simple all-1's mask in the appropriate upper bits. Can we just poke some 0's into that mask in the tag locations?
No, because we'd no longer have a sign-extended 32-bit value, as fits in that immediate operand field. To load the constant you're asking for, we'd need a 64-bit move insn and another register.
r~
[Prev in Thread] | Current Thread | [Next in Thread] |