X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fparisc%2Fkernel%2Fhead.S;h=a3525f1e5560bf76000f2936ad472c7ae13b9698;hb=9bf4aaab3e101692164d49b7ca357651eb691cb6;hp=0297d4164dd7145ba7ee7fa9631f45d92791803d;hpb=db216c3d5e4c040e557a50f8f5d35d5c415e8c1c;p=linux-2.6.git diff --git a/arch/parisc/kernel/head.S b/arch/parisc/kernel/head.S index 0297d4164..a3525f1e5 100644 --- a/arch/parisc/kernel/head.S +++ b/arch/parisc/kernel/head.S @@ -76,7 +76,8 @@ $bss_loop: /* Initialize startup VM. Just map first 8 MB of memory */ ldil L%PA(pg0),%r1 ldo R%PA(pg0)(%r1),%r1 - ldo _PAGE_TABLE(%r1),%r3 + shr %r1,PxD_VALUE_SHIFT,%r3 + ldo (PxD_FLAG_PRESENT+PxD_FLAG_VALID)(%r3),%r3 ldil L%PA(swapper_pg_dir),%r4 ldo R%PA(swapper_pg_dir)(%r4),%r4 @@ -86,7 +87,7 @@ $bss_loop: ldo ASM_PGD_ENTRY*ASM_PGD_ENTRY_SIZE(%r4),%r4 1: stw %r3,0(%r4) - ldo ASM_PAGE_SIZE(%r3),%r3 + ldo (ASM_PAGE_SIZE >> PxD_VALUE_SHIFT)(%r3),%r3 addib,> -1,%r1,1b ldo ASM_PGD_ENTRY_SIZE(%r4),%r4 @@ -266,6 +267,8 @@ smp_slave_stext: ldil L%PA(smp_init_current_idle_task),%sp ldo R%PA(smp_init_current_idle_task)(%sp),%sp ldw 0(%sp),%sp /* load task address */ + tophys_r1 %sp + ldw TASK_THREAD_INFO(%sp), %sp mtctl %sp,%cr30 /* store in cr30 */ addil L%THREAD_SZ_ALGN,%sp /* stack is above task */ ldo R%THREAD_SZ_ALGN(%r1),%sp