[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] TCG register allocator
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] TCG register allocator |
Date: |
Wed, 25 Jan 2012 19:33:27 +0000 |
On 25 January 2012 19:25, Xin Tong <address@hidden> wrote:
> as I mentioned. In my current implementation of coremu, the code could
> be executed when it is modified. so the modifications need to be
> atomic. I think I need a scratch area in which the restore_cpu_state
> needs to be generated while leaving the already generated code in
> tact. would this solve the problem ?
No, the code must be regenerated at the same absolute address,
because the TCG code generation routines might otherwise produce
different (different size!) output. Consider the case of a jump
instruction, where for example on x86 we might generate a short
or a longer instruction depending on how far the target was from
where we were writing the code.
It should be entirely fine to have code being executed while it
is being "modified", because the cpu_restore_state can only ever
write exactly identical bytes to memory that were there to start
with, so there will never be an issue with a core executing code
finding half an instruction, or with icache/dcache incoherence
on architectures which need explicit cache maintenance (ie non-x86).
-- PMM
- Re: [Qemu-devel] TCG register allocator, (continued)
- Re: [Qemu-devel] TCG register allocator, Peter Maydell, 2012/01/25
- Re: [Qemu-devel] TCG register allocator, Xin Tong, 2012/01/25
- Re: [Qemu-devel] TCG register allocator, Xin Tong, 2012/01/25
- Re: [Qemu-devel] TCG register allocator, Peter Maydell, 2012/01/25
- Re: [Qemu-devel] TCG register allocator, Xin Tong, 2012/01/25
- Re: [Qemu-devel] TCG register allocator, Xin Tong, 2012/01/25
- Re: [Qemu-devel] TCG register allocator, James Greensky, 2012/01/25
- Re: [Qemu-devel] TCG register allocator, Xin Tong, 2012/01/25
- Re: [Qemu-devel] TCG register allocator, Peter Maydell, 2012/01/25
- Re: [Qemu-devel] TCG register allocator, Xin Tong, 2012/01/25
- Re: [Qemu-devel] TCG register allocator,
Peter Maydell <=
- Re: [Qemu-devel] TCG register allocator, 陳韋任, 2012/01/31
- Re: [Qemu-devel] TCG register allocator, Max Filippov, 2012/01/25