On Thu, Apr 1, 2010 at 9:03 AM, Leo Barnes <barnes.leo@xxxxxxxxx> wrote: >> The MMU does not have to be disabled. To manage the page tables, the >> tables themselves must be mapped at some virtual address. In ARM >> Linux, this is already done, and you can access the page table entry >> for addr by doing something like this: >> >> pgd_t *pgd; >> pud_t *pud; >> pmd_t *pmd; >> pte_t *pte; >> >> pgd = pgd_offset(mm, addr); >> pud = pud_alloc(mm, pgd, addr); >> if (!pud) { >> printk(KERN_ERR "Could not alloc pud!\n"); >> return NULL; >> } >> pmd = pmd_alloc(mm, pud, addr); >> if (!pmd) { >> printk(KERN_ERR "Could not alloc pmd!\n"); >> return NULL; >> } >> >> pte = pte_alloc_map(mm, pmd, addr); >> if (!pte) { >> printk(KERN_ERR "Could not alloc pte!\n"); >> return NULL; >> } >> > > Thanks, this looks useful. Which headers does this code rely on? I > assume linux/mm.h, but anything else? Try grepping for definitions or use cscope or ctags and you'll quickly find out which files you need when you try to compile. > Is the mm argument for the > functions used a global variable or something I have to create (and if > so, how to create it? the mm_struct is pretty damn large and filled > with fields that I know very little about)? For the current process you can do current->mm. There's a pointer from each task_struct to that thread's mm_struct. I recommend you look at a book like Understanding the Linux Kernel or similar for these general kernel coding questions and I don't think they're relevant for an ARM-linux mailing list. _______________________________________________ linux-arm mailing list linux-arm@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/linux-arm
- Follow-Ups:
- Re: Viewing page tables and some other questions regarding the MMU
- From: Leo Barnes
- Re: Viewing page tables and some other questions regarding the MMU
- References:
- Viewing page tables and some other questions regarding the MMU
- From: Leo Barnes
- Re: Viewing page tables and some other questions regarding the MMU
- From: Christoffer Dall
- Re: Viewing page tables and some other questions regarding the MMU
- From: Leo Barnes
- Viewing page tables and some other questions regarding the MMU
- Prev by Date: Re: Viewing page tables and some other questions regarding the MMU
- Next by Date: Re: Viewing page tables and some other questions regarding the MMU
- Previous by thread: Re: Viewing page tables and some other questions regarding the MMU
- Next by thread: Re: Viewing page tables and some other questions regarding the MMU
- Index(es):