[parisc-linux] use of (*PAGE0->mem_pdc)()

Philipp Rumpf Philipp.H.Rumpf@mathe.stud.uni-erlangen.de
Wed, 17 Nov 1999 05:49:37 +0100


> >   pret = (*PAGE0->mem_pdc)(
> >   PDC_BLOCK_TLB,
> >   PDC_BTLB_INSERT,

> I would recommend that we quit using the pointer to PDCE_PROC() that
> is in page zero, because the newer machines have a PDC procedure,
> PDC_RELOCATE(), that copies PDCE_PROC into real memory, where it
> executes much faster.  The page zero pointer to PDCE_PROC() is not
> updated by PDC_RELOCATE(), but instead a pointer to the in-memory
> PDCE_PROC() is returned.
> 
> I recommend using a global variable to hold the pointer to PDCE_PROC(),
> which would be the value from page zero initially, then updated to
> the value returned by PDC_RELOCATE().

Not only is it is a potential performance problem to use (PAGE0->mem_pdc),
it's arguably ugly and problematic for SMP as well.  There is an interface
in place to call pdc (even for real-mode code now) and there shouldn't be
a problem using that.

	Philipp Rumpf