On 18.10.2012, at 07:50, David Gibson <[email protected]> wrote:
> Currently the ppcemb_tlb_t struct, used on a number of embedded ppc models > to represent a TLB entry contains a target_phys_addr_t. That works > reasonably for now, but is troublesome for saving the state, which we'll > want to do in future. target_phys_addr_t 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. This makes it unsuitable for describing > in vmstate. Target_phys_addr_t is actually 64bit for all ppc targets today since some 32 bit boards support more than 32 bit address space ;). The change still is fine though, as it makes that bit explicit. Alex > > 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. > > Signed-off-by: David Gibson <[email protected]> > --- > 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 cde6da0..f30e0c7 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 { > - target_phys_addr_t RPN; > + uint64_t RPN; > target_ulong EPN; > target_ulong PID; > target_ulong size; > -- > 1.7.10.4 >
