Searched refs:pte (Results 1 - 13 of 13) sorted by relevance

/haiku/src/system/kernel/arch/riscv64/
H A Darch_vm.cpp36 Pte *pte = (Pte*)VirtFromPhys(pageTable); local
38 pte += VirtAdrPte(virtAdr, level);
39 if (!pte->isValid) {
43 pte = (Pte*)VirtFromPhys(B_PAGE_SIZE * pte->ppn);
45 pte += VirtAdrPte(virtAdr, 0);
46 return pte;
140 DumpPageTableInt(Pte* pte, uint64_t virtAdr, uint32_t level, PageTableDumper& dumper) argument
143 if (pte[i].isValid) {
144 if (!pte[
216 Pte* pte = LookupPte(satp.ppn * B_PAGE_SIZE, base); local
260 Pte* pte = LookupPte(satp.ppn * B_PAGE_SIZE, virt); local
[all...]
H A DRISCV64VMTranslationMap.cpp117 Pte* pte = (Pte*)VirtFromPhys(ppn * B_PAGE_SIZE); local
125 if (pte[i].isValid)
126 FreePageTable(pte[i].ppn, isKernel, level - 1);
145 Pte* pte = (Pte*)VirtFromPhys(ppn * B_PAGE_SIZE); local
153 if (pte[i].isValid)
154 size += GetPageTableSize(pte[i].ppn, isKernel, level - 1);
186 Pte *pte = &userPageTable[i]; local
187 pte->ppn = kernelPageTable[i].ppn;
188 pte->isValid = true;
192 auto pte local
222 std::atomic<Pte>* pte = LookupPte(virtAdr, false, NULL); local
324 std::atomic<Pte>* pte = LookupPte(virtualAddress, true, reservation); local
375 std::atomic<Pte>* pte = LookupPte(page, false, NULL); local
419 std::atomic<Pte>* pte = LookupPte(address, false, NULL); local
458 std::atomic<Pte>* pte = LookupPte(start, false, NULL); local
582 std::atomic<Pte>* pte = LookupPte(address, false, NULL); local
702 std::atomic<Pte>* pte = LookupPte(page, false, NULL); local
775 std::atomic<Pte>* pte = LookupPte(address, false, NULL); local
795 std::atomic<Pte>* pte = LookupPte(address, false, NULL); local
816 std::atomic<Pte>* pte = LookupPte(address, false, NULL); local
[all...]
H A Darch_vm_translation_map.cpp48 Pte *pte = (Pte*)VirtFromPhys(sPageTable); local
50 pte += VirtAdrPte(virtAdr, level);
51 if (!pte->isValid) {
63 pte->val = newPte.val;
65 pte = (Pte*)VirtFromPhys(B_PAGE_SIZE * pte->ppn);
67 pte += VirtAdrPte(virtAdr, 0);
68 return pte;
77 Pte* pte = LookupPte(virtAdr, true, args, get_free_page); local
78 if (pte
[all...]
/haiku/src/system/boot/platform/efi/arch/riscv64/
H A Darch_mmu.cpp106 DumpPageTableInt(Pte* pte, uint64_t virtAdr, uint32_t level, uint64& firstVirt, uint64& firstPhys, argument
110 if (pte[i].isValid) {
111 if (!pte[i].isRead && !pte[i].isWrite && !pte[i].isExec) {
115 DumpPageTableInt((Pte*)VirtFromPhys(B_PAGE_SIZE*pte[i].ppn),
121 pte[i].ppn * B_PAGE_SIZE,
123 pte[i].val & 0xff,
153 Pte *pte = (Pte*)VirtFromPhys(sPageTable); local
155 pte
181 Pte* pte = LookupPte(virtAdr, true); local
246 Pte* pte = &root[i]; local
[all...]
/haiku/src/system/kernel/arch/arm64/
H A DVMSAv8TranslationMap.cpp144 uint64_t pte = pt[i];
145 if ((pte & 0x3) == 0x3) {
146 FreeTable(pte & kPteAddrMask, level + 1);
163 uint64_t* pte = &TableFromPa(ptPa)[index];
167 uint64_t oldPte = atomic_get64((int64*) pte);
196 if ((uint64_t) atomic_test_and_set64((int64*) pte, newTablePa | 0x3, oldPte) != oldPte)
251 uint64_t* pte = &TableFromPa(ptPa)[index];
254 uint64_t oldPte = atomic_get64((int64*) pte);
270 if ((uint64_t) atomic_test_and_set64((int64*) pte, newPte, oldPte) != oldPte)
426 uint64_t pte;
[all...]
H A Darch_int.cpp156 uint64_t *pte = &TableFromPa(ptPa)[index]; local
158 int type = *pte & 0x3;
159 uint64_t addr = *pte & kPteAddrMask;
162 if (!wr && (*pte & kAttrAF) == 0) {
163 atomic_or64((int64*)pte, kAttrAF);
166 if (wr && (*pte & kAttrSWDBM) != 0 && (*pte & kAttrAP2) != 0) {
167 atomic_and64((int64*)pte, ~kAttrAP2);
H A Darch_vm_translation_map.cpp136 uint64_t* pte = &TableFromPa(ptPa)[index]; local
139 atomic_set64((int64*) pte, pa | 0x3);
142 uint64_t pteVal = atomic_get64((int64*) pte);
165 atomic_set64((int64*) pte, table | 0x3);
/haiku/src/system/boot/platform/riscv/
H A Dmmu.cpp139 Pte *pte = (Pte*)VirtFromPhys(sPageTable); local
141 pte += VirtAdrPte(virtAdr, level);
142 if (!pte->isValid) {
154 pte->val = newPte.val;
156 pte = (Pte*)VirtFromPhys(B_PAGE_SIZE * pte->ppn);
158 pte += VirtAdrPte(virtAdr, 0);
159 return pte;
167 Pte* pte = LookupPte(virtAdr, true); local
168 if (pte
228 Pte* pte = &root[i]; local
[all...]
/haiku/src/system/kernel/arch/x86/paging/64bit/
H A DX86PagingMethod64Bit.cpp196 uint64* pte = &virtualPageTable[VADDR_TO_PTE(virtualAddress)]; local
198 (*pte & X86_64_PTE_PRESENT) == 0,
199 "virtual address: %#" B_PRIxADDR ", existing pte: %#" B_PRIx64,
200 virtualAddress, *pte);
203 PutPageTableEntryInTable(pte, physicalAddress, attributes, 0,
/haiku/src/system/kernel/arch/x86/paging/32bit/
H A DX86PagingMethod32Bit.cpp181 page_table_entry& pte = fPageTable[ local
183 pte = (physicalAddress & X86_PTE_ADDRESS_MASK)
421 ", existing pte: %#" B_PRIx32, virtualAddress, fPageHolePageDir[index],
/haiku/src/system/kernel/arch/arm/paging/32bit/
H A DARMPagingMethod32Bit.cpp181 page_table_entry& pte = fPageTable[ local
183 pte = (physicalAddress & ARM_PTE_ADDRESS_MASK)
406 ", existing pte: %#" B_PRIx32, virtualAddress, fKernelVirtualPageDirectory[index],
/haiku/src/system/kernel/arch/m68k/paging/040/
H A DM68KPagingMethod040.cpp250 page_table_entry& pte = fPageTable[ local
252 pte = TA_TO_PTEA(physicalAddress) | DT_PAGE
578 ", existing pte: %#" B_PRIx32, virtualAddress, fPageHolePageDir[index],
/haiku/src/system/kernel/arch/x86/paging/pae/
H A DX86PagingMethodPAE.cpp499 pae_page_table_entry& pte = fPageTable[ local
501 pte = (physicalAddress & X86_PAE_PTE_ADDRESS_MASK)
707 ", existing pte: %#" B_PRIx64, virtualAddress, *pageDirEntry, *entry);

Completed in 116 milliseconds