All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] exec: About DISAS_JUMP and DISAS_UPDATE
@ 2015-10-22 18:28 Sergey Fedorov
  2015-10-22 19:50 ` Richard Henderson
  2015-10-22 21:28 ` Peter Maydell
  0 siblings, 2 replies; 10+ messages in thread
From: Sergey Fedorov @ 2015-10-22 18:28 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Paolo Bonzini, Peter Crosthwaite, Aurelien Jarno,
	Richard Henderson

Hi all,

I am trying to understand what the difference should be between
DISAS_JUMP and DISAS_UPDATE. Actually, these macros have comments in
include/exec/exec-all.h which say that DISAS_JUMP should be used when
only PC was modified dynamically whereas DISAS_UPDATE should be used
when some other CPU state was (in addition to PC?) modified dynamically.
In fact, every target except ARM AArch64 does not distinguish between
them. As I can see ARM AArch64 seems to suppose that: (1) PC was not
modified when DISAS_UPDATE is used and should be updated with dc->pc
when finishing translation; (2) DISAS_JUMP can be used to indicate that
a new PC value was set and it should be preserved when finishing
translation.

So I'm a bit confused... What the difference should be? Maybe something
should be fixed/clarified to make the comments and the code consistent.

Best regards,
Sergey

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-10-27 17:47 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-22 18:28 [Qemu-devel] exec: About DISAS_JUMP and DISAS_UPDATE Sergey Fedorov
2015-10-22 19:50 ` Richard Henderson
2015-10-22 21:28 ` Peter Maydell
2015-10-23 10:14   ` Sergey Fedorov
2015-10-23 11:10     ` Peter Maydell
2015-10-23 12:35       ` Sergey Fedorov
2015-10-23 12:37         ` Peter Maydell
2015-10-23 12:39           ` Sergey Fedorov
2015-10-23 12:41             ` Peter Maydell
2015-10-27 17:47               ` Sergey Fedorov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.