On 17/05/2016 13:19, Thomas Huth wrote: >> > +#if defined(TARGET_PPC64) >> > +#define POWERPC_MMU_64 0x00010000 >> > +#define POWERPC_MMU_1TSEG 0x00020000 >> > +#define POWERPC_MMU_AMR 0x00040000 >> > + /* 64 bits PowerPC MMU */ >> > + POWERPC_MMU_64B = POWERPC_MMU_64 | 0x00000001, >> > + /* Architecture 2.03 and later (has LPCR) */ >> > + POWERPC_MMU_2_03 = POWERPC_MMU_64 | 0x00000002, >> > + /* Architecture 2.06 variant */ >> > + POWERPC_MMU_2_06 = POWERPC_MMU_64 | POWERPC_MMU_1TSEG >> > + | POWERPC_MMU_AMR | 0x00000003, >> > + /* Architecture 2.06 "degraded" (no 1T segments) */ >> > + POWERPC_MMU_2_06a = POWERPC_MMU_64 | POWERPC_MMU_AMR >> > + | 0x00000003, >> > + /* Architecture 2.07 variant */ >> > + POWERPC_MMU_2_07 = POWERPC_MMU_64 | POWERPC_MMU_1TSEG >> > + | POWERPC_MMU_AMR | 0x00000004, >> > + /* Architecture 2.07 "degraded" (no 1T segments) */ >> > + POWERPC_MMU_2_07a = POWERPC_MMU_64 | POWERPC_MMU_AMR >> > + | 0x00000004, >> > +#endif /* defined(TARGET_PPC64) */ >> > +}; > Moving code into cpu-qom.h that depends on a "#ifdef TARGET_PPC64" > in a patch labeled "make cpu-qom.h not target specific" sounds somewhat > wrong to me - even if it's only an enum... Could we somehow avoid this?
I would just remove the #ifdef here. The TARGET_PPC64 in PowerPPCCPUClass is a recipe for trouble. If that field can be made present unconditionally, that's probably a good idea. Paolo