diff options
Diffstat (limited to 'arch/ia64/kernel/entry.S')
-rw-r--r-- | arch/ia64/kernel/entry.S | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S index 0272c010a3ba..81c45d447394 100644 --- a/arch/ia64/kernel/entry.S +++ b/arch/ia64/kernel/entry.S | |||
@@ -728,12 +728,8 @@ ENTRY(ia64_leave_syscall) | |||
728 | mov f8=f0 // clear f8 | 728 | mov f8=f0 // clear f8 |
729 | ;; | 729 | ;; |
730 | ld8 r30=[r2],16 // M0|1 load cr.ifs | 730 | ld8 r30=[r2],16 // M0|1 load cr.ifs |
731 | mov.m ar.ssd=r0 // M2 clear ar.ssd | ||
732 | cmp.eq p9,p0=r0,r0 // set p9 to indicate that we should restore cr.ifs | ||
733 | ;; | ||
734 | ld8 r25=[r3],16 // M0|1 load ar.unat | 731 | ld8 r25=[r3],16 // M0|1 load ar.unat |
735 | mov.m ar.csd=r0 // M2 clear ar.csd | 732 | cmp.eq p9,p0=r0,r0 // set p9 to indicate that we should restore cr.ifs |
736 | mov r22=r0 // clear r22 | ||
737 | ;; | 733 | ;; |
738 | ld8 r26=[r2],PT(B0)-PT(AR_PFS) // M0|1 load ar.pfs | 734 | ld8 r26=[r2],PT(B0)-PT(AR_PFS) // M0|1 load ar.pfs |
739 | (pKStk) mov r22=psr // M2 read PSR now that interrupts are disabled | 735 | (pKStk) mov r22=psr // M2 read PSR now that interrupts are disabled |
@@ -756,11 +752,15 @@ ENTRY(ia64_leave_syscall) | |||
756 | mov f7=f0 // clear f7 | 752 | mov f7=f0 // clear f7 |
757 | ;; | 753 | ;; |
758 | ld8.fill r12=[r2] // restore r12 (sp) | 754 | ld8.fill r12=[r2] // restore r12 (sp) |
755 | mov.m ar.ssd=r0 // M2 clear ar.ssd | ||
756 | mov r22=r0 // clear r22 | ||
757 | |||
759 | ld8.fill r15=[r3] // restore r15 | 758 | ld8.fill r15=[r3] // restore r15 |
759 | (pUStk) st1 [r14]=r17 | ||
760 | addl r3=THIS_CPU(ia64_phys_stacked_size_p8),r0 | 760 | addl r3=THIS_CPU(ia64_phys_stacked_size_p8),r0 |
761 | ;; | 761 | ;; |
762 | (pUStk) ld4 r3=[r3] // r3 = cpu_data->phys_stacked_size_p8 | 762 | (pUStk) ld4 r17=[r3] // r17 = cpu_data->phys_stacked_size_p8 |
763 | (pUStk) st1 [r14]=r17 | 763 | mov.m ar.csd=r0 // M2 clear ar.csd |
764 | mov b6=r18 // I0 restore b6 | 764 | mov b6=r18 // I0 restore b6 |
765 | ;; | 765 | ;; |
766 | mov r14=r0 // clear r14 | 766 | mov r14=r0 // clear r14 |
@@ -782,7 +782,7 @@ GLOBAL_ENTRY(ia64_ret_from_ia32_execve) | |||
782 | st8.spill [r2]=r8 // store return value in slot for r8 and set unat bit | 782 | st8.spill [r2]=r8 // store return value in slot for r8 and set unat bit |
783 | .mem.offset 8,0 | 783 | .mem.offset 8,0 |
784 | st8.spill [r3]=r0 // clear error indication in slot for r10 and set unat bit | 784 | st8.spill [r3]=r0 // clear error indication in slot for r10 and set unat bit |
785 | END(ia64_ret_from_ia32_execve_syscall) | 785 | END(ia64_ret_from_ia32_execve) |
786 | // fall through | 786 | // fall through |
787 | #endif /* CONFIG_IA32_SUPPORT */ | 787 | #endif /* CONFIG_IA32_SUPPORT */ |
788 | GLOBAL_ENTRY(ia64_leave_kernel) | 788 | GLOBAL_ENTRY(ia64_leave_kernel) |
@@ -1417,7 +1417,7 @@ sys_call_table: | |||
1417 | data8 sys_msgrcv | 1417 | data8 sys_msgrcv |
1418 | data8 sys_msgctl | 1418 | data8 sys_msgctl |
1419 | data8 sys_shmget | 1419 | data8 sys_shmget |
1420 | data8 ia64_shmat | 1420 | data8 sys_shmat |
1421 | data8 sys_shmdt // 1115 | 1421 | data8 sys_shmdt // 1115 |
1422 | data8 sys_shmctl | 1422 | data8 sys_shmctl |
1423 | data8 sys_syslog | 1423 | data8 sys_syslog |