diff options
| author | Richard Henderson <richard.henderson@linaro.org> | 2023-06-05 13:16:56 -0700 |
|---|---|---|
| committer | Richard Henderson <richard.henderson@linaro.org> | 2023-06-05 13:16:56 -0700 |
| commit | 369081c4558e7e940fa36ce59bf17b2e390f55d3 (patch) | |
| tree | 5e6d2b1861f9c1125b829afb2582e94a394692e5 /include/exec/cpu-defs.h | |
| parent | b52daaf2c868f2bab102eb5acbf55b2917f46aea (diff) | |
| parent | a7f6911c127b1dd1b8764e03b0ebcf0a227a15e4 (diff) | |
| download | focaccia-qemu-369081c4558e7e940fa36ce59bf17b2e390f55d3.tar.gz focaccia-qemu-369081c4558e7e940fa36ce59bf17b2e390f55d3.zip | |
Merge tag 'pull-tcg-20230605' of https://gitlab.com/rth7680/qemu into staging
Build tcg/ once for system and once for user. Unmap perf_marker. Remove left over _link_error() definitions. # -----BEGIN PGP SIGNATURE----- # # iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmR+QekdHHJpY2hhcmQu # aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV8NJwf+PE6ShfN+N65hwt0w # mgIrWNadgnXezEyaUdEuzLre9Ln9uD9Are948xIGPTVoLyr2wEr+Ma9dFI+GpTHY # 8C0b5v0SfHBBIK+wJb7VNcEdssRXVTcpikmmYv9IRpFTT8349bCdvJhuwojU5cyx # NGgq9ydJ/dEUDtmVU6EnOyLCDSHg2mc+KPVWhjXaVbVPTyP6Xmb0BwSSUt1t5NQK # Zw7E6G4z7QYXa7GNPTtXSWzTH3y9bSLQNj3jzHfJ6DPW23zxhFjCPhJYl1ecOHVF # pxXEEIjieHQxdlm3kg+tcCoZSJ6OXESNzu2D8zk8Kf6xJjMItTQOOuokWM6mBX4y # VbQoXg== # =8vrl # -----END PGP SIGNATURE----- # gpg: Signature made Mon 05 Jun 2023 01:13:29 PM PDT # gpg: using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F # gpg: issuer "richard.henderson@linaro.org" # gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" [ultimate] * tag 'pull-tcg-20230605' of https://gitlab.com/rth7680/qemu: (52 commits) tcg/tcg-op-vec: Remove left over _link_error() definitions accel/tcg: Unmap perf_marker tcg: Build once for system and once for user-only exec/poison: Do not poison CONFIG_SOFTMMU plugins: Drop unused headers from exec/plugin-gen.h plugins: Move plugin_insn_append to translator.c tcg: Remove target-specific headers from tcg.[ch] tcg: Move env defines out of NEED_CPU_H in helper-head.h tcg: Fix PAGE/PROT confusion accel/tcg: Tidy includes for translator.[ch] target/arm: Add missing include of exec/exec-all.h target/*: Add missing includes of exec/translation-block.h target/mips: Tidy helpers for translation target/arm: Tidy helpers for translation accel/tcg: Move translator_fake_ldb out of line target/ppc: Inline gen_icount_io_start() accel/tcg: Introduce translator_io_start accel/tcg: Move most of gen-icount.h into translator.c include/exec: Remove CODE_GEN_AVG_BLOCK_SIZE tcg: Spit out exec/translation-block.h ... Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'include/exec/cpu-defs.h')
| -rw-r--r-- | include/exec/cpu-defs.h | 50 |
1 files changed, 1 insertions, 49 deletions
diff --git a/include/exec/cpu-defs.h b/include/exec/cpu-defs.h index a6e0cf1812..0d418a0384 100644 --- a/include/exec/cpu-defs.h +++ b/include/exec/cpu-defs.h @@ -61,16 +61,11 @@ #define NB_MMU_MODES 16 #if !defined(CONFIG_USER_ONLY) && defined(CONFIG_TCG) +#include "exec/tlb-common.h" /* use a fully associative victim tlb of 8 entries */ #define CPU_VTLB_SIZE 8 -#if HOST_LONG_BITS == 32 && TARGET_LONG_BITS == 32 -#define CPU_TLB_ENTRY_BITS 4 -#else -#define CPU_TLB_ENTRY_BITS 5 -#endif - #define CPU_TLB_DYN_MIN_BITS 6 #define CPU_TLB_DYN_DEFAULT_BITS 8 @@ -94,34 +89,6 @@ # endif # endif -/* Minimalized TLB entry for use by TCG fast path. */ -typedef struct CPUTLBEntry { - /* bit TARGET_LONG_BITS to TARGET_PAGE_BITS : virtual address - bit TARGET_PAGE_BITS-1..4 : Nonzero for accesses that should not - go directly to ram. - bit 3 : indicates that the entry is invalid - bit 2..0 : zero - */ - union { - struct { - target_ulong addr_read; - target_ulong addr_write; - target_ulong addr_code; - /* Addend to virtual address to get host address. IO accesses - use the corresponding iotlb value. */ - uintptr_t addend; - }; - /* - * Padding to get a power of two size, as well as index - * access to addr_{read,write,code}. - */ - target_ulong addr_idx[(1 << CPU_TLB_ENTRY_BITS) / TARGET_LONG_SIZE]; - }; -} CPUTLBEntry; - -QEMU_BUILD_BUG_ON(sizeof(CPUTLBEntry) != (1 << CPU_TLB_ENTRY_BITS)); - - #endif /* !CONFIG_USER_ONLY && CONFIG_TCG */ #if !defined(CONFIG_USER_ONLY) @@ -196,17 +163,6 @@ typedef struct CPUTLBDesc { } CPUTLBDesc; /* - * Data elements that are per MMU mode, accessed by the fast path. - * The structure is aligned to aid loading the pair with one insn. - */ -typedef struct CPUTLBDescFast { - /* Contains (n_entries - 1) << CPU_TLB_ENTRY_BITS */ - uintptr_t mask; - /* The array of tlb entries itself. */ - CPUTLBEntry *table; -} CPUTLBDescFast QEMU_ALIGNED(2 * sizeof(void *)); - -/* * Data elements that are shared between all MMU modes. */ typedef struct CPUTLBCommon { @@ -241,10 +197,6 @@ typedef struct CPUTLB { CPUTLBDescFast f[NB_MMU_MODES]; } CPUTLB; -/* This will be used by TCG backends to compute offsets. */ -#define TLB_MASK_TABLE_OFS(IDX) \ - ((int)offsetof(ArchCPU, neg.tlb.f[IDX]) - (int)offsetof(ArchCPU, env)) - #else typedef struct CPUTLB { } CPUTLB; |