Re: [PATCH] ppc64: update to use the new 4L headers

Peter Chubb
2005-05-02T00:18:24Z

>>>>> "Nick" == Nick Piggin <nickpiggin@yahoo.com.au> writes:

Nick> Chris Friesen wrote:
>> I needed something like:
>>
>> pte_t *va_to_ptep_map(struct mm_struct *mm, unsigned int addr)
>>
>> There was code in follow_page() that did basically what I needed,
>> but it was all contained within that function so I had to
>> re-implement it.
>>

Nick> If you can break out exactly what you need, and make that inline
Nick> or otherwise available via the correct header, I'm sure it would
Nick> have a good chance of being merged.

We're currently working on this, so as to be able to provide
interfaces to alternative page tables. We want to be able to slot in
Liedtke's `Guarded Page Tables', or B-trees, or a hash table to see
what happens.

Except we've called the function:
pte_t * lookup_page_table(unsigned long address, struct mm_struct *mm);

follow_page() is essentially the same after inline expansion happens;
but we're seeing a regression in clear_page_range() that we want to
fix before release.

If you want to take a look (warning: it's still fairly rough
work-in-progress) there's high level design being worked on at
http://www.gelato.unsw.edu.au/IA64wiki/PageTableInterface
and patches from our CVS repository. The only patch of interst is pti.patch.

cvs -d :pserver:anoncvs@gelato.unsw.edu.au:/gelato login
Logging in to :pserver:anoncvs@lemon:2401/gelato
CVS password:[enter anoncvs]
$ cvs -d:pserver:anoncvs@gelato.unsw.edu.au:/gelato co kernel/page_table_interface

or from

http://www.gelato.unsw.edu.au/cgi-bin/viewcvs.cgi/cvs/kernel/page_table_interface/

Peter C