Svante Signell, le sam. 04 avril 2020 09:59:26 +0200, a ecrit: > On Sat, 2020-04-04 at 09:20 +0200, Svante Signell wrote: > > On Fri, 2020-04-03 at 23:45 +0200, Samuel Thibault wrote: > > > Thanks! I pushed a fix. > > > > I tried the latest gnumach and something is still not OK: > > Loading GNU Mach > > Loading the Hurd ... > > KVM: entry failed, hardware error 0x80000021 > > > > Is bisecting not possible any longer, unless cherry picking the > > latest > > commit? There are plenty of commits between > > d8029bb8eebeb43cb1879a618eda70a8f53042cc > > and > > 0b3504b6db86c531e8b53b8e9aa9030db6e72357 > > Just a follow-up: I did cherry-pick > 572095c645ecc63285d0955fbee2f5d644ad8f88 > on top of > 0b3504b6db86c531e8b53b8e9aa9030db6e72357 > and the error remains.
Could you try the attached patch on top of that? Samuel
diff --git a/i386/intel/pmap.c b/i386/intel/pmap.c index 108ea048..46d79cde 100644 --- a/i386/intel/pmap.c +++ b/i386/intel/pmap.c @@ -649,7 +649,7 @@ void pmap_bootstrap(void) WRITE_PTE(&kernel_pmap->pdpbase[i], pa_to_pte(_kvtophys((void *) kernel_page_dir + i * INTEL_PGBYTES)) - | INTEL_PTE_VALID | INTEL_PTE_WRITE); + | INTEL_PTE_VALID); } #ifdef __x86_64__ #ifdef MACH_HYP @@ -1289,7 +1289,7 @@ pmap_t pmap_create(vm_size_t size) for (i = 0; i < PDPNUM; i++) WRITE_PTE(&p->pdpbase[i], pa_to_pte(kvtophys((vm_offset_t) page_dir[i])) - | INTEL_PTE_VALID | INTEL_PTE_WRITE); + | INTEL_PTE_VALID); } #ifdef __x86_64__ // FIXME: use kmem_cache_alloc instead