Re: svn commit: r360233 - in head: contrib/jemalloc . . . : Th is partially breaks a 2-socket 32-bit powerpc (old PowerMac G 4) based on head -r360311

"Brandon Bergren" <[email protected]>
Newsgroups gmane.os.freebsd.devel.ppc
Message-ID <[email protected]>
On Sat, Jun 27, 2020, at 5:32 PM, Mark Millard wrote:

> where moea64_pvo_remove_from_page involves
> vm_page_aflag_clear(????,PGA_WRITEABLE | PGA_EXECUTABLE) via:
> 
> static inline void
> moea64_pvo_remove_from_page_locked(mmu_t mmu, struct pvo_entry *pvo,
>     vm_page_t m)
> {
>                 
>         . . . 
>         /*
>          * Update vm about page writeability/executability if managed
>          */
>         PV_LOCKASSERT(pvo->pvo_pte.pa & LPTE_RPGN);
>         if (pvo->pvo_vaddr & PVO_MANAGED) {
>                 if (m != NULL) {
>                         LIST_REMOVE(pvo, pvo_vlink);
>                         if (LIST_EMPTY(vm_page_to_pvoh(m)))
>                                 vm_page_aflag_clear(m,
>                                     PGA_WRITEABLE | PGA_EXECUTABLE);
>                 }
>         }
>         . . .
> }
> 
> But 32-bit has/uses:
> 
>         static void mmu_null_remove_pages(mmu_t mmu, pmap_t pmap)
>         {
>                 return;
>         }
> 
> 
> so it does not involve:
> 
>     vm_page_aflag_clear(????,PGA_WRITEABLE | PGA_EXECUTABLE)
> 
> but apparently should involve such in order to pass:
> 
>                KASSERT((m->a.flags & (PGA_EXECUTABLE | PGA_WRITEABLE)) == 0,
>                    ("vm_page_free_prep: mapping flags set in page %p", m));
>

looking at the history of the 64 bit code:
r233017 -- "Implement pmap_remove_pages(). This will be added later to the 32-bit MMU module."

Oops!


-- 
  Brandon Bergren
  [email protected]
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ppc
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.