On 13.11.2012, at 03:46, David Gibson wrote: > Currently the ppcemb_tlb_t struct, used on a number of embedded ppc models > to represent a TLB entry contains a hwaddr. That works reasonably for now, > but is troublesome for saving the state, which we'll want to do in future. > hwaddr is a large enough type to contain a physical address for any > supported machine - and can thus, in theory at least, vary depending on > what machines are enabled other than the one we're actually using right > now (though in fact it doesn't for ppc). This makes it unsuitable for > describing in vmstate. > > This patch therefore changes ppcemb_tlb_t to use a fixed 64-bit integer > which we know is sufficient for all the machines which use this structure.
hwaddr is always defined to 64bit by now. Alex > > Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> > --- > target-ppc/cpu.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/target-ppc/cpu.h b/target-ppc/cpu.h > index 5f1dc8b..742d4f8 100644 > --- a/target-ppc/cpu.h > +++ b/target-ppc/cpu.h > @@ -355,7 +355,7 @@ struct ppc6xx_tlb_t { > > typedef struct ppcemb_tlb_t ppcemb_tlb_t; > struct ppcemb_tlb_t { > - hwaddr RPN; > + uint64_t RPN; > target_ulong EPN; > target_ulong PID; > target_ulong size; > -- > 1.7.10.4 >