VADDR
#define __nocache_pa(VADDR) (((unsigned long)VADDR) - SRMMU_NOCACHE_VADDR + __pa((unsigned long)srmmu_nocache_pool))
#define __nocache_fix(VADDR) ((__typeof__(VADDR))__va(__nocache_pa(VADDR)))
#define KERN_PGTABLE_WALK(VADDR, REG1, REG2, FAIL_LABEL) \
sllx VADDR, 64 - (PGDIR_SHIFT + PGDIR_BITS), REG2; \
sllx VADDR, 64 - (PUD_SHIFT + PUD_BITS), REG2; \
sllx VADDR, 64 - (PMD_SHIFT + PMD_BITS), REG2; \
and VADDR, REG2, REG2; \
698: sllx VADDR, 64 - PMD_SHIFT, REG2; \
#define USER_PGTABLE_CHECK_PUD_HUGE(VADDR, REG1, REG2, FAIL_LABEL, PTE_LABEL) \
and VADDR, REG2, REG2; \
#define USER_PGTABLE_CHECK_PUD_HUGE(VADDR, REG1, REG2, FAIL_LABEL, PTE_LABEL) \
#define USER_PGTABLE_CHECK_PMD_HUGE(VADDR, REG1, REG2, FAIL_LABEL, PTE_LABEL) \
and VADDR, REG2, REG2; \
#define USER_PGTABLE_CHECK_PMD_HUGE(VADDR, REG1, REG2, FAIL_LABEL, PTE_LABEL) \
#define USER_PGTABLE_WALK_TL1(VADDR, PHYS_PGD, REG1, REG2, FAIL_LABEL) \
sllx VADDR, 64 - (PGDIR_SHIFT + PGDIR_BITS), REG2; \
sllx VADDR, 64 - (PUD_SHIFT + PUD_BITS), REG2; \
USER_PGTABLE_CHECK_PUD_HUGE(VADDR, REG1, REG2, FAIL_LABEL, 800f) \
sllx VADDR, 64 - (PMD_SHIFT + PMD_BITS), REG2; \
USER_PGTABLE_CHECK_PMD_HUGE(VADDR, REG1, REG2, FAIL_LABEL, 800f) \
sllx VADDR, 64 - PMD_SHIFT, REG2; \
#define OBP_TRANS_LOOKUP(VADDR, REG1, REG2, REG3, FAIL_LABEL) \
cmp REG2, VADDR; \
cmp VADDR, REG3; \
sub VADDR, REG2, REG2; \
#define KERN_TSB_LOOKUP_TL1(VADDR, TAG, REG1, REG2, REG3, REG4, OK_LABEL) \
srlx VADDR, PAGE_SHIFT, REG2; \
mov_rdi(VADDR + 4096),
mov_rsi((1ULL << 47) - 4096 - VADDR - 4096),
h.e_entry = VADDR + sizeof(struct elf64_hdr) + sizeof(struct elf64_phdr);
ph.p_vaddr = VADDR;
VADDR, VADDR + PAGE_SIZE,
VADDR, VADDR + PAGE_SIZE);
q.query_addr = VADDR;
assert(q.query_addr == VADDR);
assert(q.vma_start == VADDR);
assert(q.vma_end == VADDR + PAGE_SIZE);
q.query_addr = VADDR - 1;
q.query_addr = VADDR - 1;
assert(q.query_addr == VADDR - 1);
assert(q.vma_start == VADDR);
assert(q.vma_end == VADDR + PAGE_SIZE);
q.query_addr = VADDR + PAGE_SIZE; /* point right after the VMA */
q.query_addr = VADDR;