mirror of https://github.com/xemu-project/xemu.git
cpu-defs: Move out TB_JMP defines
These are not Architecture specific in any way so move them out of cpu-defs.h. tb-hash.h is an appropriate place as a leading user and their strong relationship to TB hashing and caching. Reviewed-by: Richard Henderson <rth@redhat.com> Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> Message-Id: <43ceca65a3fa240efac49aa0bf604ad0442e1710.1433052532.git.crosthwaite.peter@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
e1b89321ba
commit
41da4bd642
|
@ -56,14 +56,6 @@ typedef uint64_t target_ulong;
|
||||||
#error TARGET_LONG_SIZE undefined
|
#error TARGET_LONG_SIZE undefined
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Only the bottom TB_JMP_PAGE_BITS of the jump cache hash bits vary for
|
|
||||||
addresses on the same page. The top bits are the same. This allows
|
|
||||||
TLB invalidation to quickly clear a subset of the hash table. */
|
|
||||||
#define TB_JMP_PAGE_BITS (TB_JMP_CACHE_BITS / 2)
|
|
||||||
#define TB_JMP_PAGE_SIZE (1 << TB_JMP_PAGE_BITS)
|
|
||||||
#define TB_JMP_ADDR_MASK (TB_JMP_PAGE_SIZE - 1)
|
|
||||||
#define TB_JMP_PAGE_MASK (TB_JMP_CACHE_SIZE - TB_JMP_PAGE_SIZE)
|
|
||||||
|
|
||||||
#if !defined(CONFIG_USER_ONLY)
|
#if !defined(CONFIG_USER_ONLY)
|
||||||
/* use a fully associative victim tlb of 8 entries */
|
/* use a fully associative victim tlb of 8 entries */
|
||||||
#define CPU_VTLB_SIZE 8
|
#define CPU_VTLB_SIZE 8
|
||||||
|
|
|
@ -20,6 +20,14 @@
|
||||||
#ifndef EXEC_TB_HASH
|
#ifndef EXEC_TB_HASH
|
||||||
#define EXEC_TB_HASH
|
#define EXEC_TB_HASH
|
||||||
|
|
||||||
|
/* Only the bottom TB_JMP_PAGE_BITS of the jump cache hash bits vary for
|
||||||
|
addresses on the same page. The top bits are the same. This allows
|
||||||
|
TLB invalidation to quickly clear a subset of the hash table. */
|
||||||
|
#define TB_JMP_PAGE_BITS (TB_JMP_CACHE_BITS / 2)
|
||||||
|
#define TB_JMP_PAGE_SIZE (1 << TB_JMP_PAGE_BITS)
|
||||||
|
#define TB_JMP_ADDR_MASK (TB_JMP_PAGE_SIZE - 1)
|
||||||
|
#define TB_JMP_PAGE_MASK (TB_JMP_CACHE_SIZE - TB_JMP_PAGE_SIZE)
|
||||||
|
|
||||||
static inline unsigned int tb_jmp_cache_hash_page(target_ulong pc)
|
static inline unsigned int tb_jmp_cache_hash_page(target_ulong pc)
|
||||||
{
|
{
|
||||||
target_ulong tmp;
|
target_ulong tmp;
|
||||||
|
|
Loading…
Reference in New Issue