summaryrefslogtreecommitdiff
path: root/sys/arch/mvme88k/stand
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2002-11-26 01:35:24 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2002-11-26 01:35:24 +0000
commit031108f2a9aa7af8876902287e0785030d665aa7 (patch)
tree12affc17ba1c4b23adf80fdee1554aaee9b675f2 /sys/arch/mvme88k/stand
parentb1e77718707e10a0c0765dcf39e3e0299a0abbb1 (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