OSDN Git Service

parisc: hpux - Remove hpux gateway page
[uclinux-h8/linux.git] / arch / parisc / mm / init.c
index 0bef864..15dbe81 100644 (file)
@@ -750,78 +750,6 @@ static void __init gateway_init(void)
                  PAGE_SIZE, PAGE_GATEWAY, 1);
 }
 
-#ifdef CONFIG_HPUX
-void
-map_hpux_gateway_page(struct task_struct *tsk, struct mm_struct *mm)
-{
-       pgd_t *pg_dir;
-       pmd_t *pmd;
-       pte_t *pg_table;
-       unsigned long start_pmd;
-       unsigned long start_pte;
-       unsigned long address;
-       unsigned long hpux_gw_page_addr;
-       /* FIXME: This is 'const' in order to trick the compiler
-          into not treating it as DP-relative data. */
-       extern void * const hpux_gateway_page;
-
-       hpux_gw_page_addr = HPUX_GATEWAY_ADDR & PAGE_MASK;
-
-       /*
-        * Setup HP-UX Gateway page.
-        *
-        * The HP-UX gateway page resides in the user address space,
-        * so it needs to be aliased into each process.
-        */
-
-       pg_dir = pgd_offset(mm,hpux_gw_page_addr);
-
-#if PTRS_PER_PMD == 1
-       start_pmd = 0;
-#else
-       start_pmd = ((hpux_gw_page_addr >> PMD_SHIFT) & (PTRS_PER_PMD - 1));
-#endif
-       start_pte = ((hpux_gw_page_addr >> PAGE_SHIFT) & (PTRS_PER_PTE - 1));
-
-       address = __pa(&hpux_gateway_page);
-#if PTRS_PER_PMD == 1
-       pmd = (pmd_t *)__pa(pg_dir);
-#else
-       pmd = (pmd_t *) pgd_address(*pg_dir);
-
-       /*
-        * pmd is physical at this point
-        */
-
-       if (!pmd) {
-               pmd = (pmd_t *) get_zeroed_page(GFP_KERNEL);
-               pmd = (pmd_t *) __pa(pmd);
-       }
-
-       __pgd_val_set(*pg_dir, PxD_FLAG_PRESENT | PxD_FLAG_VALID | (unsigned long) pmd);
-#endif
-       /* now change pmd to kernel virtual addresses */
-
-       pmd = (pmd_t *)__va(pmd) + start_pmd;
-
-       /*
-        * pg_table is physical at this point
-        */
-
-       pg_table = (pte_t *) pmd_address(*pmd);
-       if (!pg_table)
-               pg_table = (pte_t *) __pa(get_zeroed_page(GFP_KERNEL));
-
-       __pmd_val_set(*pmd, PxD_FLAG_PRESENT | PxD_FLAG_VALID | (unsigned long) pg_table);
-
-       /* now change pg_table to kernel virtual addresses */
-
-       pg_table = (pte_t *) __va(pg_table) + start_pte;
-       set_pte(pg_table, __mk_pte(address, PAGE_GATEWAY));
-}
-EXPORT_SYMBOL(map_hpux_gateway_page);
-#endif
-
 void __init paging_init(void)
 {
        int i;