Subject: Re: "pmap_unwire: wiring ... didn't change!"
To: None <chuq@chuq.com>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: port-mips
Date: 09/03/2005 02:10:05
In article <20050902163432.GD20117@spathi.chuq.com>
chuq@chuq.com wrote:

> why should it be preserved?

Ugh, my bad English.
I meant "it will be preserved (even on the current kernel)..."

> my point was, in any running kernel the pagemask will always be the same,
> 0x1800 for 4100s and 0 for everything else.  we shouldn't need to
> save and restore the pagemask in more places if it's always 0x1800 than
> if it's always 0, should we?

On ews4800mips, the pagemask is 0x1ffe000 on PROM but the previous
MachTLBUpdate() updates (and actually initializes, because old
pagemask is not restored there) it on creating a new TLB entry,
then new mipsX_subr.S (which no longer creates an entry)
cause "uninitialized pagemask" problem.
I just thought the same scenario could happen on hpcmips.

arch/hpcmips/pbsdboot/vr41xx.c has "1KByte page" comment,
but I don't know it means the pagesize register is zero on
pbsdboot.

> oh... I thought you meant literally "4100" and not "41xx".

I don't check VR41xx manuals, but hpcmips/conf/std.hpcmips.vr41
has "options MIPS3_4100". Maybe there is no hpcmips machine with
other MIPS3 CPUs (TX39xx doesn't have MIPS_R4K_MMU, I think),
so the "special in tlb update code" for MIPS3_4100 does not
cause any problem.
---
Izumi Tsutsui