hc
2024-01-05 071106ecf68c401173c58808b1cf5f68cc50d390
kernel/arch/sparc/kernel/entry.S
....@@ -10,6 +10,7 @@
1010
1111 #include <linux/linkage.h>
1212 #include <linux/errno.h>
13
+#include <linux/pgtable.h>
1314
1415 #include <asm/head.h>
1516 #include <asm/asi.h>
....@@ -20,7 +21,6 @@
2021 #include <asm/psr.h>
2122 #include <asm/vaddrs.h>
2223 #include <asm/page.h>
23
-#include <asm/pgtable.h>
2424 #include <asm/winmacro.h>
2525 #include <asm/signal.h>
2626 #include <asm/obio.h>
....@@ -869,14 +869,11 @@
869869 ld [%curptr + TI_TASK], %o4
870870 rd %psr, %g4
871871 WRITE_PAUSE
872
- mov SIGCHLD, %o0 ! arg0: clone flags
873872 rd %wim, %g5
874873 WRITE_PAUSE
875
- mov %fp, %o1 ! arg1: usp
876874 std %g4, [%o4 + AOFF_task_thread + AOFF_thread_fork_kpsr]
877
- add %sp, STACKFRAME_SZ, %o2 ! arg2: pt_regs ptr
878
- mov 0, %o3
879
- call sparc_do_fork
875
+ add %sp, STACKFRAME_SZ, %o0
876
+ call sparc_fork
880877 mov %l5, %o7
881878
882879 /* Whee, kernel threads! */
....@@ -888,19 +885,11 @@
888885 ld [%curptr + TI_TASK], %o4
889886 rd %psr, %g4
890887 WRITE_PAUSE
891
-
892
- /* arg0,1: flags,usp -- loaded already */
893
- cmp %o1, 0x0 ! Is new_usp NULL?
894888 rd %wim, %g5
895889 WRITE_PAUSE
896
- be,a 1f
897
- mov %fp, %o1 ! yes, use callers usp
898
- andn %o1, 7, %o1 ! no, align to 8 bytes
899
-1:
900890 std %g4, [%o4 + AOFF_task_thread + AOFF_thread_fork_kpsr]
901
- add %sp, STACKFRAME_SZ, %o2 ! arg2: pt_regs ptr
902
- mov 0, %o3
903
- call sparc_do_fork
891
+ add %sp, STACKFRAME_SZ, %o0
892
+ call sparc_clone
904893 mov %l5, %o7
905894
906895 /* Whee, real vfork! */
....@@ -914,13 +903,9 @@
914903 rd %wim, %g5
915904 WRITE_PAUSE
916905 std %g4, [%o4 + AOFF_task_thread + AOFF_thread_fork_kpsr]
917
- sethi %hi(0x4000 | 0x0100 | SIGCHLD), %o0
918
- mov %fp, %o1
919
- or %o0, %lo(0x4000 | 0x0100 | SIGCHLD), %o0
920
- sethi %hi(sparc_do_fork), %l1
921
- mov 0, %o3
922
- jmpl %l1 + %lo(sparc_do_fork), %g0
923
- add %sp, STACKFRAME_SZ, %o2
906
+ sethi %hi(sparc_vfork), %l1
907
+ jmpl %l1 + %lo(sparc_vfork), %g0
908
+ add %sp, STACKFRAME_SZ, %o0
924909
925910 .align 4
926911 linux_sparc_ni_syscall: