According to Intel errata: "AI91 - Update of attribute bits on page directories without immediate  tlb shootdown may cause unexpected processor behavior.".
According to Intel errata:
"AI91 - Update of attribute bits on page directories without immediate
 tlb shootdown may cause unexpected processor behavior.".

When we're allocating kernel page tables, we use the generic page table
allocation function that sets PG_u then we immediately remove the PG_u.
This might not be enough, because the PDE can get preloaded into the
translation cache before we clear the PG_u. So even without the errata,
this could cause us horrible trouble.

Instead of first entering the PDE with PG_u and then removing it for
kernel page tables, just enter it with the right bits every time.

tom@ ok

orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars