Hi everybody:
Tthe following code deoes not work under linux/em64t, and the function
page_to_nid always return zero.Who can tell me the answer to the
problem?
Any advice will be appreciated sincerely.Thanks!!!
pgd = pgd_offset(mm, vaddr);
if (pgd == NULL) {
return -1;
}
pmd = pmd_offset(pgd, vaddr);
if (pmd == NULL) {
return -2;
}
pte = pte_offset_map(pmd, vaddr);
PDEBUG("pte=%ul\n", pte->pte);
if (pte == NULL) {
return -3;
}
return page_to_nid (page);
if (pte_present(*pte) == NULL) {
return -4;
}
page = pte_page(*pte);
pte_unmap(pte);
return page_to_nid(page);