On 02/20/2015 09:57 AM, Paolo Bonzini wrote: > diff --git a/tcg/i386/tcg-target.h b/tcg/i386/tcg-target.h > index 7a9980e..8ba977a 100644 > --- a/tcg/i386/tcg-target.h > +++ b/tcg/i386/tcg-target.h > @@ -25,6 +25,7 @@ > #define TCG_TARGET_I386 1 > > #define TCG_TARGET_INSN_UNIT_SIZE 1 > +#define TCG_TARGET_TLB_DISPLACEMENT_BITS 32
31. Positive displacements only in 64-bit mode. I don't think it's worth conditionalizing this for 32-bit, since we can't actually allocate 2G of TLBs and then actually accomplish anything. ;-) > diff --git a/tcg/mips/tcg-target.h b/tcg/mips/tcg-target.h > index c88a1c9..f5ba52c 100644 > --- a/tcg/mips/tcg-target.h > +++ b/tcg/mips/tcg-target.h > @@ -27,6 +27,7 @@ > #define TCG_TARGET_MIPS 1 > > #define TCG_TARGET_INSN_UNIT_SIZE 4 > +#define TCG_TARGET_TLB_DISPLACEMENT_BITS 16 > #define TCG_TARGET_NB_REGS 32 > > typedef enum { > diff --git a/tcg/ppc/tcg-target.h b/tcg/ppc/tcg-target.h > index 32ac442..7ce7048 100644 > --- a/tcg/ppc/tcg-target.h > +++ b/tcg/ppc/tcg-target.h > @@ -32,6 +32,7 @@ > > #define TCG_TARGET_NB_REGS 32 > #define TCG_TARGET_INSN_UNIT_SIZE 4 > +#define TCG_TARGET_TLB_DISPLACEMENT_BITS 16 Close enough, since the BUILD_BUG_ON should still catch this out if somehow the size is within that last 16 bytes of 64k. r~