Am 30.01.2013 23:48, schrieb Andreas Färber:
> As a reminder here's a link to one of my original discussions of the new 
> types:
> https://lists.nongnu.org/archive/html/qemu-devel/2012-05/msg01286.html
> 
> That is, for any non-TCG functions (TCG does not support CPUState yet) an
> S390CPU argument should be preferred over CPUS390XState since it allows cheap
> access to its own fields, CPUState's via CPU() and to CPUS390XState via ->env.
> Doing this consistently avoids costs of casting back and forth unnecessarily.
> 
> s390 code should use s390_env_get_cpu() where needed, not ENV_GET_CPU().
> 
> As a rule of thumb, any field in include/exec/cpu-defs.h:CPU_COMMON can be
> expected to end up in CPUState (or accessible from there) sooner or later.

> Per-target functions can be expected to change to CPUState soon.

Maybe too brief: This was referring to functions like kvm_arch_*() that
each target implements, knowing its CPU type. In particular
do_interrupt() is one of my next candidates.

Andreas

> 
> New fields that do not need to be accessed via TCGv or from a hot TCG helper
> function should be added to S390CPU, not to CPUS390XState.

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

Reply via email to