/openbmc/qemu/hw/ppc/ |
H A D | spapr_vhyp_mmu.c | 23 target_ulong ptex = args[1]; in h_enter() local 60 if (!ppc_hash64_valid_ptex(cpu, ptex)) { in h_enter() 64 slot = ptex & 7ULL; in h_enter() 65 ptex = ptex & ~7ULL; in h_enter() 68 hptes = ppc_hash64_map_hptes(cpu, ptex, HPTES_PER_GROUP); in h_enter() 74 ppc_hash64_unmap_hptes(cpu, hptes, ptex, HPTES_PER_GROUP); in h_enter() 79 hptes = ppc_hash64_map_hptes(cpu, ptex + slot, 1); in h_enter() 81 ppc_hash64_unmap_hptes(cpu, hptes, ptex + slot, 1); in h_enter() 84 ppc_hash64_unmap_hptes(cpu, hptes, ptex, 1); in h_enter() 87 spapr_store_hpte(cpu, ptex + slot, pteh | HPTE64_V_HPTE_DIRTY, ptel); in h_enter() [all …]
|
H A D | spapr.c | 1456 hwaddr ptex, int n) in spapr_map_hptes() argument 1459 hwaddr pte_offset = ptex * HASH_PTE_SIZE_64; in spapr_map_hptes() 1466 kvmppc_read_hptes(hptes, ptex, n); in spapr_map_hptes() 1479 hwaddr ptex, int n) in spapr_unmap_hptes() argument 1490 void spapr_store_hpte(PowerPCCPU *cpu, hwaddr ptex, in spapr_store_hpte() argument 1494 hwaddr offset = ptex * HASH_PTE_SIZE_64; in spapr_store_hpte() 1497 kvmppc_write_hpte(ptex, pte0, pte1); in spapr_store_hpte() 1521 static void spapr_hpte_set_c(PPCVirtualHypervisor *vhyp, hwaddr ptex, in spapr_hpte_set_c() argument 1524 hwaddr offset = ptex * HASH_PTE_SIZE_64 + HPTE64_DW1_C; in spapr_hpte_set_c() 1537 static void spapr_hpte_set_r(PPCVirtualHypervisor *vhyp, hwaddr ptex, in spapr_hpte_set_r() argument [all …]
|
/openbmc/linux/arch/powerpc/include/asm/ |
H A D | plpar_wrappers.h | 111 static inline long plpar_pte_remove(unsigned long flags, unsigned long ptex, in plpar_pte_remove() argument 118 rc = plpar_hcall(H_REMOVE, retbuf, flags, ptex, avpn); in plpar_pte_remove() 127 static inline long plpar_pte_remove_raw(unsigned long flags, unsigned long ptex, in plpar_pte_remove_raw() argument 134 rc = plpar_hcall_raw(H_REMOVE, retbuf, flags, ptex, avpn); in plpar_pte_remove_raw() 142 static inline long plpar_pte_read(unsigned long flags, unsigned long ptex, in plpar_pte_read() argument 148 rc = plpar_hcall(H_READ, retbuf, flags, ptex); in plpar_pte_read() 157 static inline long plpar_pte_read_raw(unsigned long flags, unsigned long ptex, in plpar_pte_read_raw() argument 163 rc = plpar_hcall_raw(H_READ, retbuf, flags, ptex); in plpar_pte_read_raw() 174 static inline long plpar_pte_read_4(unsigned long flags, unsigned long ptex, in plpar_pte_read_4() argument 181 rc = plpar_hcall9(H_READ, retbuf, flags | H_READ_4, ptex); in plpar_pte_read_4() [all …]
|
/openbmc/qemu/target/ppc/ |
H A D | mmu-hash64.c | 553 hwaddr ptex, int n) in ppc_hash64_map_hptes() argument 555 hwaddr pte_offset = ptex * HASH_PTE_SIZE_64; in ppc_hash64_map_hptes() 561 return cpu->vhyp_class->map_hptes(cpu->vhyp, ptex, n); in ppc_hash64_map_hptes() 578 hwaddr ptex, int n) in ppc_hash64_unmap_hptes() argument 581 cpu->vhyp_class->unmap_hptes(cpu->vhyp, hptes, ptex, n); in ppc_hash64_unmap_hptes() 589 bool ppc_hash64_valid_ptex(PowerPCCPU *cpu, target_ulong ptex) in ppc_hash64_valid_ptex() argument 592 if (((ptex & ~7ULL) / HPTES_PER_GROUP) & ~ppc_hash64_hpt_mask(cpu)) { in ppc_hash64_valid_ptex() 655 target_ulong ptex; in ppc_hash64_pteg_search() local 657 ptex = (hash & ppc_hash64_hpt_mask(cpu)) * HPTES_PER_GROUP; in ppc_hash64_pteg_search() 658 pteg = ppc_hash64_map_hptes(cpu, ptex, HPTES_PER_GROUP); in ppc_hash64_pteg_search() [all …]
|
H A D | mmu-hash64.h | 120 hwaddr ptex, int n); 122 hwaddr ptex, int n); 123 bool ppc_hash64_valid_ptex(PowerPCCPU *cpu, target_ulong ptex);
|
H A D | kvm_ppc.h | 64 void kvmppc_read_hptes(ppc_hash_pte64_t *hptes, hwaddr ptex, int n); 65 void kvmppc_write_hpte(hwaddr ptex, uint64_t pte0, uint64_t pte1); 316 hwaddr ptex, int n) in kvmppc_read_hptes() argument 321 static inline void kvmppc_write_hpte(hwaddr ptex, uint64_t pte0, uint64_t pte1) in kvmppc_write_hpte() argument
|
H A D | kvm.c | 2780 void kvmppc_read_hptes(ppc_hash_pte64_t *hptes, hwaddr ptex, int n) in kvmppc_read_hptes() argument 2785 fd = kvmppc_get_htab_fd(false, ptex, &error_abort); in kvmppc_read_hptes() 2802 if (hdr->index != (ptex + i)) { in kvmppc_read_hptes() 2804 " != (%"HWADDR_PRIu" + %d", hdr->index, ptex, i); in kvmppc_read_hptes() 2827 void kvmppc_write_hpte(hwaddr ptex, uint64_t pte0, uint64_t pte1) in kvmppc_write_hpte() argument 2840 buf.hdr.index = ptex; in kvmppc_write_hpte()
|
H A D | cpu.h | 1538 hwaddr ptex, int n); 1541 hwaddr ptex, int n); 1542 void (*hpte_set_c)(PPCVirtualHypervisor *vhyp, hwaddr ptex, uint64_t pte1); 1543 void (*hpte_set_r)(PPCVirtualHypervisor *vhyp, hwaddr ptex, uint64_t pte1);
|
/openbmc/qemu/include/hw/ppc/ |
H A D | spapr.h | 930 void spapr_store_hpte(PowerPCCPU *cpu, hwaddr ptex,
|