|
@@ -255,49 +255,6 @@ void cpu_idle(void)
|
|
|
default_idle();
|
|
|
}
|
|
|
|
|
|
-void *um_virt_to_phys(struct task_struct *task, unsigned long addr,
|
|
|
- pte_t *pte_out)
|
|
|
-{
|
|
|
- pgd_t *pgd;
|
|
|
- pud_t *pud;
|
|
|
- pmd_t *pmd;
|
|
|
- pte_t *pte;
|
|
|
- pte_t ptent;
|
|
|
-
|
|
|
- if (task->mm == NULL)
|
|
|
- return ERR_PTR(-EINVAL);
|
|
|
- pgd = pgd_offset(task->mm, addr);
|
|
|
- if (!pgd_present(*pgd))
|
|
|
- return ERR_PTR(-EINVAL);
|
|
|
-
|
|
|
- pud = pud_offset(pgd, addr);
|
|
|
- if (!pud_present(*pud))
|
|
|
- return ERR_PTR(-EINVAL);
|
|
|
-
|
|
|
- pmd = pmd_offset(pud, addr);
|
|
|
- if (!pmd_present(*pmd))
|
|
|
- return ERR_PTR(-EINVAL);
|
|
|
-
|
|
|
- pte = pte_offset_kernel(pmd, addr);
|
|
|
- ptent = *pte;
|
|
|
- if (!pte_present(ptent))
|
|
|
- return ERR_PTR(-EINVAL);
|
|
|
-
|
|
|
- if (pte_out != NULL)
|
|
|
- *pte_out = ptent;
|
|
|
- return (void *) (pte_val(ptent) & PAGE_MASK) + (addr & ~PAGE_MASK);
|
|
|
-}
|
|
|
-
|
|
|
-char *current_cmd(void)
|
|
|
-{
|
|
|
-#if defined(CONFIG_SMP) || defined(CONFIG_HIGHMEM)
|
|
|
- return "(Unknown)";
|
|
|
-#else
|
|
|
- void *addr = um_virt_to_phys(current, current->mm->arg_start, NULL);
|
|
|
- return IS_ERR(addr) ? "(Unknown)": __va((unsigned long) addr);
|
|
|
-#endif
|
|
|
-}
|
|
|
-
|
|
|
void dump_thread(struct pt_regs *regs, struct user *u)
|
|
|
{
|
|
|
}
|