mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-18 05:28:36 -07:00
sparc64 really implement itlb/dtlb automatic replacement writes
- implement "used" bit in tlb translation entry - mark tlb entry used if qemu code/data translation succeeds - fold i/d mmu replacement writes code into replace_tlb_1bit_lru which adds 1bit lru replacement algorithm; previously code tried to replace first unlocked entry only - extract more bitmasks to named macros - add "immu" or "dmmu" type name to debugging output where appropriate Signed-off-by: igor.v.kovalenko@gmail.com -- Kind regards, Igor V. Kovalenko
This commit is contained in:
parent
6e8e7d4c09
commit
f707726e8d
3 changed files with 84 additions and 90 deletions
|
|
@ -273,6 +273,17 @@ enum {
|
|||
};
|
||||
#endif
|
||||
|
||||
#define TTE_VALID_BIT (1ULL << 63)
|
||||
#define TTE_USED_BIT (1ULL << 41)
|
||||
#define TTE_LOCKED_BIT (1ULL << 6)
|
||||
|
||||
#define TTE_IS_VALID(tte) ((tte) & TTE_VALID_BIT)
|
||||
#define TTE_IS_USED(tte) ((tte) & TTE_USED_BIT)
|
||||
#define TTE_IS_LOCKED(tte) ((tte) & TTE_LOCKED_BIT)
|
||||
|
||||
#define TTE_SET_USED(tte) ((tte) |= TTE_USED_BIT)
|
||||
#define TTE_SET_UNUSED(tte) ((tte) &= ~TTE_USED_BIT)
|
||||
|
||||
typedef struct SparcTLBEntry {
|
||||
uint64_t tag;
|
||||
uint64_t tte;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue