#define ARM_VM_PTE_WB (ARM_VM_PTE_TEX2 | ARM_VM_PTE_TEX0 | ARM_VM_PTE_B)
/* inner and outer write-through, no write-allocate */
#define ARM_VM_PTE_WT (ARM_VM_PTE_TEX2 | ARM_VM_PTE_TEX1 | ARM_VM_PTE_C)
+
+#define ARM_VM_PTE_CACHED ARM_VM_PTE_WT
/* shareable device */
#define ARM_VM_PTE_DEVICE (ARM_VM_PTE_B)
/* inner and outer write-through, no write-allocate */
#define ARM_VM_SECTION_WT (ARM_VM_SECTION_TEX2 | ARM_VM_SECTION_TEX1 | ARM_VM_SECTION_C)
/* shareable device */
+
+#define ARM_VM_SECTION_CACHED ARM_VM_SECTION_WT
#define ARM_VM_SECTION_DEVICE (ARM_VM_SECTION_B)
/* Page directory specific flags. */
pagedir[pde] = (kern_phys & ARM_VM_SECTION_MASK) | ARM_VM_SECTION
| ARM_VM_SECTION_SUPER
| ARM_VM_SECTION_DOMAIN
- | ARM_VM_SECTION_WT;
+ | ARM_VM_SECTION_CACHED;
mapped += ARM_SECTION_SIZE;
kern_phys += ARM_SECTION_SIZE;
pde++;
assert(pt);
pt[pte] = (source & ARM_VM_PTE_MASK)
| ARM_VM_PAGETABLE
- | ARM_VM_PTE_WT
+ | ARM_VM_PTE_CACHED
| ARM_VM_PTE_USER;
vaddr += ARM_PAGE_SIZE;
if(phys != PG_ALLOCATEME)
if((r=pt_writemap(vmprocess, pt, loc, p, VM_PAGE_SIZE*pages,
ARCH_VM_PTE_PRESENT | ARCH_VM_PTE_USER | ARCH_VM_PTE_RW
#if defined(__arm__)
- | ARM_VM_PTE_WT
+ | ARM_VM_PTE_CACHED
#endif
, 0)) != OK) {
printf("vm_mappages writemap failed\n");
#if defined(__arm__)
else
flags |= ARCH_VM_PTE_RO;
- flags |= ARM_VM_PTE_WT ;
+
+ flags |= ARM_VM_PTE_CACHED ;
#endif
/* Update flags. */
#elif defined(__arm__)
if((r=pt_writemap(dst_vmp, &dst_vmp->vm_pt, viraddr, physaddr, ARCH_PAGEDIR_SIZE,
ARCH_VM_PTE_PRESENT | ARCH_VM_PTE_USER |
- ARM_VM_PTE_WT ,
+ ARM_VM_PTE_CACHED ,
#endif
WMF_OVERWRITE)) != OK) {
return r;
if((r=pt_writemap(dst_vmp, &dst_vmp->vm_pt, viraddr, physaddr, VM_PAGE_SIZE,
ARCH_VM_PTE_PRESENT | ARCH_VM_PTE_USER | ARCH_VM_PTE_RW
#ifdef __arm__
- | ARM_VM_PTE_WT
+ | ARM_VM_PTE_CACHED
#endif
,
WMF_OVERWRITE)) != OK) {
#elif defined(__arm__)
pdm->val = (ph & ARCH_VM_PDE_MASK)
| ARCH_VM_PDE_PRESENT
+ | ARM_VM_PTE_CACHED
| ARM_VM_PDE_DOMAIN; //LSC FIXME
#endif
}
#elif defined(__arm__)
if(sys_vmctl_get_pdbr(SELF, &myttbr) != OK)
#endif
+
panic("VM: sys_vmctl_get_pdbr failed");
#if defined(__i386__)
if(sys_vircopy(NONE, mypdbr, SELF,
#endif
/* Tell kernel about new page table root. */
- return sys_vmctl_set_addrspace(who->vm_endpoint, pt->pt_dir_phys, pdes);
+ return sys_vmctl_set_addrspace(who->vm_endpoint, pt->pt_dir_phys , pdes);
}
/*===========================================================================*
pt->pt_dir[kern_pde] = (addr & ARM_VM_SECTION_MASK)
| ARM_VM_SECTION
| ARM_VM_SECTION_DOMAIN
- | ARM_VM_SECTION_WT
+ | ARM_VM_SECTION_CACHED
| ARM_VM_SECTION_SUPER;
#endif
kern_pde++;