diff options
author | Artur Grabowski <art@cvs.openbsd.org> | 2002-11-26 01:35:24 +0000 |
---|---|---|
committer | Artur Grabowski <art@cvs.openbsd.org> | 2002-11-26 01:35:24 +0000 |
commit | 031108f2a9aa7af8876902287e0785030d665aa7 (patch) | |
tree | 12affc17ba1c4b23adf80fdee1554aaee9b675f2 /sys/arch/mvme88k/stand | |
parent | b1e77718707e10a0c0765dcf39e3e0299a0abbb1 (diff) |
Make the PTE constants unsigned long with UL.
The macro PG_PALCODE in pte.h is supposed to be used when comparing
two ptes to see if we need a tlb flush. For that it uses the macro
ALPHA_PTE_PALCODE which in turn is defined to ~ALPHA_PTE_SOFTWARE.
Unfortunately ALPHA_PTE_SOFTWARE is small enough to fit in an int,
so ALPHA_PTE_PALCODE becomes an int to and the masking in PG_PALCODE
masks off the pfn in the pte and pmap_enter will then fail to flush
certain TLB entries when it needs to (this situation shouldn't
happen too often).
This might or might not be the solution for the memory corruption
bug I've been hunting for the last three months (the machine still
borks up, but in different ways now).
Diffstat (limited to 'sys/arch/mvme88k/stand')
0 files changed, 0 insertions, 0 deletions