Lines Matching +full:0 +full:xff000
40 * 0xFFF0000000000000 12-bit lpid field
41 * 0x000FFFFFFFFFF000 40-bit guest 4k page frame number
42 * 0x0000000000000001 1-bit single entry flag
44 #define RMAP_NESTED_LPID_MASK 0xFFF0000000000000UL
46 #define RMAP_NESTED_GPA_MASK 0x000FFFFFFFFFF000UL
47 #define RMAP_NESTED_IS_SINGLE_ENTRY 0x0000000000000001UL
154 #define HDSISR_CANARY 0x7fff
157 * We use a lock bit in HPTE dword 0 to synchronize updates and
161 #define HPTE_V_HVLOCK 0x40UL
162 #define HPTE_V_ABSENT 0x20UL
186 asm volatile(" ldarx %0,0,%2\n" in try_lock_hpte()
187 " and. %1,%0,%3\n" in try_lock_hpte()
189 " or %0,%0,%4\n" in try_lock_hpte()
190 " stdcx. %0,0,%2\n" in try_lock_hpte()
197 return old == 0; in try_lock_hpte()
204 hpte[0] = cpu_to_be64(hpte_v); in unlock_hpte()
211 hpte[0] = cpu_to_be64(hpte_v); in __unlock_hpte()
224 lphi = (l >> 16) & 0xf; in kvmppc_hpte_page_shifts()
225 switch ((l >> 12) & 0xf) { in kvmppc_hpte_page_shifts()
226 case 0: in kvmppc_hpte_page_shifts()
227 return !lphi ? 24 : 0; /* 16MB */ in kvmppc_hpte_page_shifts()
233 return !lphi ? 34 : 0; /* 16GB */ in kvmppc_hpte_page_shifts()
245 return 0; in kvmppc_hpte_page_shifts()
250 return kvmppc_hpte_page_shifts(h, l) & 0xff; in kvmppc_hpte_base_page_shift()
257 if (tmp >= 0x100) in kvmppc_hpte_actual_page_shift()
268 return 0; in kvmppc_actual_pgsz()
277 return 0; in kvmppc_pgsize_lp_encoding()
281 return 0x38; in kvmppc_pgsize_lp_encoding()
293 return 0; in kvmppc_pgsize_lp_encoding()
302 unsigned long rb = 0, va_low, sllp; in compute_tlbie_rb()
305 if (a_pgshift >= 0x100) { in compute_tlbie_rb()
306 b_pgshift &= 0xff; in compute_tlbie_rb()
320 rb = (v & ~0x7fUL) << 16; /* AVA field */ in compute_tlbie_rb()
339 va_low &= 0x7ff; in compute_tlbie_rb()
346 rb |= (va_low & 0x7ff) << 12; /* remaining 11 bits of AVA */ in compute_tlbie_rb()
353 rb |= (va_low << b_pgshift) & 0x7ff000; in compute_tlbie_rb()
364 rb |= ((va_low << aval_shift) & 0xfe); in compute_tlbie_rb()
367 rb |= r & 0xff000 & ((1ul << a_pgshift) - 1); /* LP field */ in compute_tlbie_rb()
370 * This sets both bits of the B field in the PTE. 0b1x values are in compute_tlbie_rb()
420 * return the PTE, otherwise return 0.
424 pte_t old_pte, new_pte = __pte(0); in kvmppc_read_update_linux_pte()
440 return __pte(0); in kvmppc_read_update_linux_pte()
504 unsigned long senc = 0; in slb_pgsize_encoding()
506 if (psize > 0x1000) { in slb_pgsize_encoding()
508 if (psize == 0x10000) in slb_pgsize_encoding()
516 return (hpte_v & ~0xffffffUL) == in is_vrma_hpte()
540 return rcu_dereference_raw_check(kvm->memslots[0]); in kvm_memslots_raw()
566 memset((char *)map + i / 8, 0xff, npages / 8); in set_dirty_bits()
576 memset((char *)map + i / 8, 0xff, npages / 8); in set_dirty_bits_atomic()