hi all,
When translate a read/write instruction, qemu will check tlb first, but why alignment is needed when read/write data is 2/4/8 bytes?
For example, if there's a instruction which read a double word(such as mov ebx, [eax]), and the source address(i.e. eax) is 0x00401003, not aligns by 4. So the generated code can not use the tlb but jump to helper_ld_xxx function, we know that the 'helper' function is much more slower than tlb.
I think when reading memory, no mater 1byte, 2byte, 4byte, we can use tlb as long as the data in the same page.
Am I right?
Thanks.