summaryrefslogtreecommitdiffstats
path: root/include/asm-sparc
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-02-16 01:07:24 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-02-16 01:07:24 +0000
commit95db6b748fc86297827fbd9c9ef174d491c9ad89 (patch)
tree27a92a942821cde1edda9a1b088718d436b3efe4 /include/asm-sparc
parent45b27b0a0652331d104c953a5b192d843fff88f8 (diff)
Merge with Linux 2.3.40.
Diffstat (limited to 'include/asm-sparc')
-rw-r--r--include/asm-sparc/a.out.h27
-rw-r--r--include/asm-sparc/asm_offsets.h404
-rw-r--r--include/asm-sparc/asmmacro.h3
-rw-r--r--include/asm-sparc/ipcbuf.h31
-rw-r--r--include/asm-sparc/msgbuf.h31
-rw-r--r--include/asm-sparc/page.h42
-rw-r--r--include/asm-sparc/pgalloc.h14
-rw-r--r--include/asm-sparc/posix_types.h12
-rw-r--r--include/asm-sparc/processor.h8
-rw-r--r--include/asm-sparc/sembuf.h25
-rw-r--r--include/asm-sparc/shmbuf.h42
-rw-r--r--include/asm-sparc/uaccess.h6
-rw-r--r--include/asm-sparc/unistd.h47
13 files changed, 399 insertions, 293 deletions
diff --git a/include/asm-sparc/a.out.h b/include/asm-sparc/a.out.h
index 25ddaf086..e4e83eb01 100644
--- a/include/asm-sparc/a.out.h
+++ b/include/asm-sparc/a.out.h
@@ -1,4 +1,4 @@
-/* $Id: a.out.h,v 1.12 1998/02/05 14:20:00 jj Exp $ */
+/* $Id: a.out.h,v 1.13 2000/01/09 10:46:53 anton Exp $ */
#ifndef __SPARC_A_OUT_H__
#define __SPARC_A_OUT_H__
@@ -89,30 +89,9 @@ struct relocation_info /* used when header.a_machtype == M_SPARC */
#ifdef __KERNEL__
-#include <linux/config.h>
-#include <asm/btfixup.h>
+#include <asm/page.h>
-#ifdef CONFIG_SUN4
-
-#define STACK_TOP (0xefffe000UL)
-
-#else
-
-extern unsigned long stack_top;
-
-# ifndef MODULE
-
- BTFIXUPDEF_SETHI_INIT(stack_top,0xeffff000)
-
-# define STACK_TOP ((unsigned long)BTFIXUP_SETHI(stack_top))
-
-# else /* MODULE */
-
-# define STACK_TOP (stack_top)
-
-# endif /* MODULE */
-
-#endif /* !CONFIG_SUN4 */
+#define STACK_TOP (PAGE_OFFSET - PAGE_SIZE)
#endif /* __KERNEL__ */
diff --git a/include/asm-sparc/asm_offsets.h b/include/asm-sparc/asm_offsets.h
index 1eda0d280..58f26364c 100644
--- a/include/asm-sparc/asm_offsets.h
+++ b/include/asm-sparc/asm_offsets.h
@@ -18,168 +18,174 @@
#define ASIZ_task_exec_domain 0x00000004
#define AOFF_task_need_resched 0x00000014
#define ASIZ_task_need_resched 0x00000004
-#define AOFF_task_counter 0x00000018
+#define AOFF_task_avg_slice 0x00000018
+#define ASIZ_task_avg_slice 0x00000004
+#define AOFF_task_lock_depth 0x0000001c
+#define ASIZ_task_lock_depth 0x00000004
+#define AOFF_task_counter 0x00000020
#define ASIZ_task_counter 0x00000004
-#define AOFF_task_priority 0x0000001c
+#define AOFF_task_priority 0x00000024
#define ASIZ_task_priority 0x00000004
-#define AOFF_task_avg_slice 0x00000020
-#define ASIZ_task_avg_slice 0x00000004
-#define AOFF_task_has_cpu 0x00000024
+#define AOFF_task_policy 0x00000028
+#define ASIZ_task_policy 0x00000004
+#define AOFF_task_mm 0x0000002c
+#define ASIZ_task_mm 0x00000004
+#define AOFF_task_active_mm 0x00000030
+#define ASIZ_task_active_mm 0x00000004
+#define AOFF_task_has_cpu 0x00000034
#define ASIZ_task_has_cpu 0x00000004
-#define AOFF_task_processor 0x00000028
+#define AOFF_task_processor 0x00000038
#define ASIZ_task_processor 0x00000004
-#define AOFF_task_last_processor 0x0000002c
-#define ASIZ_task_last_processor 0x00000004
-#define AOFF_task_lock_depth 0x00000030
-#define ASIZ_task_lock_depth 0x00000004
-#define AOFF_task_next_task 0x00000034
-#define ASIZ_task_next_task 0x00000004
-#define AOFF_task_prev_task 0x00000038
-#define ASIZ_task_prev_task 0x00000004
#define AOFF_task_run_list 0x0000003c
#define ASIZ_task_run_list 0x00000008
-#define AOFF_task_binfmt 0x00000044
+#define AOFF_task_next_task 0x00000044
+#define ASIZ_task_next_task 0x00000004
+#define AOFF_task_prev_task 0x00000048
+#define ASIZ_task_prev_task 0x00000004
+#define AOFF_task_last_processor 0x0000004c
+#define ASIZ_task_last_processor 0x00000004
+#define AOFF_task_binfmt 0x00000050
#define ASIZ_task_binfmt 0x00000004
-#define AOFF_task_exit_code 0x00000048
+#define AOFF_task_exit_code 0x00000054
#define ASIZ_task_exit_code 0x00000004
-#define AOFF_task_exit_signal 0x0000004c
+#define AOFF_task_exit_signal 0x00000058
#define ASIZ_task_exit_signal 0x00000004
-#define AOFF_task_pdeath_signal 0x00000050
+#define AOFF_task_pdeath_signal 0x0000005c
#define ASIZ_task_pdeath_signal 0x00000004
-#define AOFF_task_personality 0x00000054
+#define AOFF_task_personality 0x00000060
#define ASIZ_task_personality 0x00000004
-#define AOFF_task_pid 0x0000005c
+#define AOFF_task_pid 0x00000068
#define ASIZ_task_pid 0x00000004
-#define AOFF_task_pgrp 0x00000060
+#define AOFF_task_pgrp 0x0000006c
#define ASIZ_task_pgrp 0x00000004
-#define AOFF_task_tty_old_pgrp 0x00000064
+#define AOFF_task_tty_old_pgrp 0x00000070
#define ASIZ_task_tty_old_pgrp 0x00000004
-#define AOFF_task_session 0x00000068
+#define AOFF_task_session 0x00000074
#define ASIZ_task_session 0x00000004
-#define AOFF_task_leader 0x0000006c
+#define AOFF_task_leader 0x00000078
#define ASIZ_task_leader 0x00000004
-#define AOFF_task_p_opptr 0x00000070
+#define AOFF_task_p_opptr 0x0000007c
#define ASIZ_task_p_opptr 0x00000004
-#define AOFF_task_p_pptr 0x00000074
+#define AOFF_task_p_pptr 0x00000080
#define ASIZ_task_p_pptr 0x00000004
-#define AOFF_task_p_cptr 0x00000078
+#define AOFF_task_p_cptr 0x00000084
#define ASIZ_task_p_cptr 0x00000004
-#define AOFF_task_p_ysptr 0x0000007c
+#define AOFF_task_p_ysptr 0x00000088
#define ASIZ_task_p_ysptr 0x00000004
-#define AOFF_task_p_osptr 0x00000080
+#define AOFF_task_p_osptr 0x0000008c
#define ASIZ_task_p_osptr 0x00000004
-#define AOFF_task_pidhash_next 0x00000084
+#define AOFF_task_pidhash_next 0x00000090
#define ASIZ_task_pidhash_next 0x00000004
-#define AOFF_task_pidhash_pprev 0x00000088
+#define AOFF_task_pidhash_pprev 0x00000094
#define ASIZ_task_pidhash_pprev 0x00000004
-#define AOFF_task_wait_chldexit 0x0000008c
+#define AOFF_task_wait_chldexit 0x00000098
#define ASIZ_task_wait_chldexit 0x00000010
-#define AOFF_task_vfork_sem 0x0000009c
+#define AOFF_task_vfork_sem 0x000000a8
#define ASIZ_task_vfork_sem 0x00000004
-#define AOFF_task_policy 0x000000a0
-#define ASIZ_task_policy 0x00000004
-#define AOFF_task_rt_priority 0x000000a4
+#define AOFF_task_rt_priority 0x000000ac
#define ASIZ_task_rt_priority 0x00000004
-#define AOFF_task_it_real_value 0x000000a8
+#define AOFF_task_it_real_value 0x000000b0
#define ASIZ_task_it_real_value 0x00000004
-#define AOFF_task_it_prof_value 0x000000ac
+#define AOFF_task_it_prof_value 0x000000b4
#define ASIZ_task_it_prof_value 0x00000004
-#define AOFF_task_it_virt_value 0x000000b0
+#define AOFF_task_it_virt_value 0x000000b8
#define ASIZ_task_it_virt_value 0x00000004
-#define AOFF_task_it_real_incr 0x000000b4
+#define AOFF_task_it_real_incr 0x000000bc
#define ASIZ_task_it_real_incr 0x00000004
-#define AOFF_task_it_prof_incr 0x000000b8
+#define AOFF_task_it_prof_incr 0x000000c0
#define ASIZ_task_it_prof_incr 0x00000004
-#define AOFF_task_it_virt_incr 0x000000bc
+#define AOFF_task_it_virt_incr 0x000000c4
#define ASIZ_task_it_virt_incr 0x00000004
-#define AOFF_task_real_timer 0x000000c0
+#define AOFF_task_real_timer 0x000000c8
#define ASIZ_task_real_timer 0x00000014
-#define AOFF_task_times 0x000000d4
+#define AOFF_task_times 0x000000dc
#define ASIZ_task_times 0x00000010
-#define AOFF_task_start_time 0x000000e4
+#define AOFF_task_start_time 0x000000ec
#define ASIZ_task_start_time 0x00000004
-#define AOFF_task_per_cpu_utime 0x000000e8
+#define AOFF_task_per_cpu_utime 0x000000f0
#define ASIZ_task_per_cpu_utime 0x00000004
-#define AOFF_task_min_flt 0x000000f0
+#define AOFF_task_min_flt 0x000000f8
#define ASIZ_task_min_flt 0x00000004
-#define AOFF_task_maj_flt 0x000000f4
+#define AOFF_task_maj_flt 0x000000fc
#define ASIZ_task_maj_flt 0x00000004
-#define AOFF_task_nswap 0x000000f8
+#define AOFF_task_nswap 0x00000100
#define ASIZ_task_nswap 0x00000004
-#define AOFF_task_cmin_flt 0x000000fc
+#define AOFF_task_cmin_flt 0x00000104
#define ASIZ_task_cmin_flt 0x00000004
-#define AOFF_task_cmaj_flt 0x00000100
+#define AOFF_task_cmaj_flt 0x00000108
#define ASIZ_task_cmaj_flt 0x00000004
-#define AOFF_task_cnswap 0x00000104
+#define AOFF_task_cnswap 0x0000010c
#define ASIZ_task_cnswap 0x00000004
-#define AOFF_task_uid 0x0000010a
-#define ASIZ_task_uid 0x00000002
-#define AOFF_task_euid 0x0000010c
-#define ASIZ_task_euid 0x00000002
-#define AOFF_task_suid 0x0000010e
-#define ASIZ_task_suid 0x00000002
-#define AOFF_task_fsuid 0x00000110
-#define ASIZ_task_fsuid 0x00000002
-#define AOFF_task_gid 0x00000112
-#define ASIZ_task_gid 0x00000002
-#define AOFF_task_egid 0x00000114
-#define ASIZ_task_egid 0x00000002
-#define AOFF_task_sgid 0x00000116
-#define ASIZ_task_sgid 0x00000002
-#define AOFF_task_fsgid 0x00000118
-#define ASIZ_task_fsgid 0x00000002
-#define AOFF_task_ngroups 0x0000011c
+#define AOFF_task_uid 0x00000114
+#define ASIZ_task_uid 0x00000004
+#define AOFF_task_euid 0x00000118
+#define ASIZ_task_euid 0x00000004
+#define AOFF_task_suid 0x0000011c
+#define ASIZ_task_suid 0x00000004
+#define AOFF_task_fsuid 0x00000120
+#define ASIZ_task_fsuid 0x00000004
+#define AOFF_task_gid 0x00000124
+#define ASIZ_task_gid 0x00000004
+#define AOFF_task_egid 0x00000128
+#define ASIZ_task_egid 0x00000004
+#define AOFF_task_sgid 0x0000012c
+#define ASIZ_task_sgid 0x00000004
+#define AOFF_task_fsgid 0x00000130
+#define ASIZ_task_fsgid 0x00000004
+#define AOFF_task_ngroups 0x00000134
#define ASIZ_task_ngroups 0x00000004
-#define AOFF_task_groups 0x00000120
-#define ASIZ_task_groups 0x00000040
-#define AOFF_task_cap_effective 0x00000160
+#define AOFF_task_groups 0x00000138
+#define ASIZ_task_groups 0x00000080
+#define AOFF_task_cap_effective 0x000001b8
#define ASIZ_task_cap_effective 0x00000004
-#define AOFF_task_cap_inheritable 0x00000164
+#define AOFF_task_cap_inheritable 0x000001bc
#define ASIZ_task_cap_inheritable 0x00000004
-#define AOFF_task_cap_permitted 0x00000168
+#define AOFF_task_cap_permitted 0x000001c0
#define ASIZ_task_cap_permitted 0x00000004
-#define AOFF_task_user 0x0000016c
+#define AOFF_task_user 0x000001c4
#define ASIZ_task_user 0x00000004
-#define AOFF_task_rlim 0x00000170
+#define AOFF_task_rlim 0x000001c8
#define ASIZ_task_rlim 0x00000050
-#define AOFF_task_used_math 0x000001c0
+#define AOFF_task_used_math 0x00000218
#define ASIZ_task_used_math 0x00000002
-#define AOFF_task_comm 0x000001c2
+#define AOFF_task_comm 0x0000021a
#define ASIZ_task_comm 0x00000010
-#define AOFF_task_link_count 0x000001d4
+#define AOFF_task_link_count 0x0000022c
#define ASIZ_task_link_count 0x00000004
-#define AOFF_task_tty 0x000001d8
+#define AOFF_task_tty 0x00000230
#define ASIZ_task_tty 0x00000004
-#define AOFF_task_semundo 0x000001dc
+#define AOFF_task_semundo 0x00000234
#define ASIZ_task_semundo 0x00000004
-#define AOFF_task_semsleeping 0x000001e0
+#define AOFF_task_semsleeping 0x00000238
#define ASIZ_task_semsleeping 0x00000004
-#define AOFF_task_thread 0x000001e8
+#define AOFF_task_thread 0x00000240
#define ASIZ_task_thread 0x00000388
-#define AOFF_task_fs 0x00000570
+#define AOFF_task_fs 0x000005c8
#define ASIZ_task_fs 0x00000004
-#define AOFF_task_files 0x00000574
+#define AOFF_task_files 0x000005cc
#define ASIZ_task_files 0x00000004
-#define AOFF_task_mm 0x00000578
-#define ASIZ_task_mm 0x00000004
-#define AOFF_task_active_mm 0x0000057c
-#define ASIZ_task_active_mm 0x00000004
-#define AOFF_task_sigmask_lock 0x00000580
+#define AOFF_task_sigmask_lock 0x000005d0
#define ASIZ_task_sigmask_lock 0x00000000
-#define AOFF_task_sig 0x00000580
+#define AOFF_task_sig 0x000005d0
#define ASIZ_task_sig 0x00000004
-#define AOFF_task_signal 0x00000584
+#define AOFF_task_signal 0x000005d4
#define ASIZ_task_signal 0x00000008
-#define AOFF_task_blocked 0x0000058c
+#define AOFF_task_blocked 0x000005dc
#define ASIZ_task_blocked 0x00000008
-#define AOFF_task_sigqueue 0x00000594
+#define AOFF_task_sigqueue 0x000005e4
#define ASIZ_task_sigqueue 0x00000004
-#define AOFF_task_sigqueue_tail 0x00000598
+#define AOFF_task_sigqueue_tail 0x000005e8
#define ASIZ_task_sigqueue_tail 0x00000004
-#define AOFF_task_sas_ss_sp 0x0000059c
+#define AOFF_task_sas_ss_sp 0x000005ec
#define ASIZ_task_sas_ss_sp 0x00000004
-#define AOFF_task_sas_ss_size 0x000005a0
+#define AOFF_task_sas_ss_size 0x000005f0
#define ASIZ_task_sas_ss_size 0x00000004
+#define AOFF_task_parent_exec_id 0x000005f4
+#define ASIZ_task_parent_exec_id 0x00000004
+#define AOFF_task_self_exec_id 0x000005f8
+#define ASIZ_task_self_exec_id 0x00000004
+#define AOFF_task_exit_sem 0x000005fc
+#define ASIZ_task_exit_sem 0x0000001c
#define AOFF_mm_mmap 0x00000000
#define ASIZ_mm_mmap 0x00000004
#define AOFF_mm_mmap_avl 0x00000004
@@ -280,6 +286,8 @@
#define ASIZ_thread_core_exec 0x00000020
#define AOFF_thread_new_signal 0x00000380
#define ASIZ_thread_new_signal 0x00000004
+#define AOFF_thread_refcount 0x00000384
+#define ASIZ_thread_refcount 0x00000004
#else /* CONFIG_SMP */
@@ -295,168 +303,174 @@
#define ASIZ_task_exec_domain 0x00000004
#define AOFF_task_need_resched 0x00000014
#define ASIZ_task_need_resched 0x00000004
-#define AOFF_task_counter 0x00000018
+#define AOFF_task_avg_slice 0x00000018
+#define ASIZ_task_avg_slice 0x00000004
+#define AOFF_task_lock_depth 0x0000001c
+#define ASIZ_task_lock_depth 0x00000004
+#define AOFF_task_counter 0x00000020
#define ASIZ_task_counter 0x00000004
-#define AOFF_task_priority 0x0000001c
+#define AOFF_task_priority 0x00000024
#define ASIZ_task_priority 0x00000004
-#define AOFF_task_avg_slice 0x00000020
-#define ASIZ_task_avg_slice 0x00000004
-#define AOFF_task_has_cpu 0x00000024
+#define AOFF_task_policy 0x00000028
+#define ASIZ_task_policy 0x00000004
+#define AOFF_task_mm 0x0000002c
+#define ASIZ_task_mm 0x00000004
+#define AOFF_task_active_mm 0x00000030
+#define ASIZ_task_active_mm 0x00000004
+#define AOFF_task_has_cpu 0x00000034
#define ASIZ_task_has_cpu 0x00000004
-#define AOFF_task_processor 0x00000028
+#define AOFF_task_processor 0x00000038
#define ASIZ_task_processor 0x00000004
-#define AOFF_task_last_processor 0x0000002c
-#define ASIZ_task_last_processor 0x00000004
-#define AOFF_task_lock_depth 0x00000030
-#define ASIZ_task_lock_depth 0x00000004
-#define AOFF_task_next_task 0x00000034
-#define ASIZ_task_next_task 0x00000004
-#define AOFF_task_prev_task 0x00000038
-#define ASIZ_task_prev_task 0x00000004
#define AOFF_task_run_list 0x0000003c
#define ASIZ_task_run_list 0x00000008
-#define AOFF_task_binfmt 0x00000044
+#define AOFF_task_next_task 0x00000044
+#define ASIZ_task_next_task 0x00000004
+#define AOFF_task_prev_task 0x00000048
+#define ASIZ_task_prev_task 0x00000004
+#define AOFF_task_last_processor 0x0000004c
+#define ASIZ_task_last_processor 0x00000004
+#define AOFF_task_binfmt 0x00000050
#define ASIZ_task_binfmt 0x00000004
-#define AOFF_task_exit_code 0x00000048
+#define AOFF_task_exit_code 0x00000054
#define ASIZ_task_exit_code 0x00000004
-#define AOFF_task_exit_signal 0x0000004c
+#define AOFF_task_exit_signal 0x00000058
#define ASIZ_task_exit_signal 0x00000004
-#define AOFF_task_pdeath_signal 0x00000050
+#define AOFF_task_pdeath_signal 0x0000005c
#define ASIZ_task_pdeath_signal 0x00000004
-#define AOFF_task_personality 0x00000054
+#define AOFF_task_personality 0x00000060
#define ASIZ_task_personality 0x00000004
-#define AOFF_task_pid 0x0000005c
+#define AOFF_task_pid 0x00000068
#define ASIZ_task_pid 0x00000004
-#define AOFF_task_pgrp 0x00000060
+#define AOFF_task_pgrp 0x0000006c
#define ASIZ_task_pgrp 0x00000004
-#define AOFF_task_tty_old_pgrp 0x00000064
+#define AOFF_task_tty_old_pgrp 0x00000070
#define ASIZ_task_tty_old_pgrp 0x00000004
-#define AOFF_task_session 0x00000068
+#define AOFF_task_session 0x00000074
#define ASIZ_task_session 0x00000004
-#define AOFF_task_leader 0x0000006c
+#define AOFF_task_leader 0x00000078
#define ASIZ_task_leader 0x00000004
-#define AOFF_task_p_opptr 0x00000070
+#define AOFF_task_p_opptr 0x0000007c
#define ASIZ_task_p_opptr 0x00000004
-#define AOFF_task_p_pptr 0x00000074
+#define AOFF_task_p_pptr 0x00000080
#define ASIZ_task_p_pptr 0x00000004
-#define AOFF_task_p_cptr 0x00000078
+#define AOFF_task_p_cptr 0x00000084
#define ASIZ_task_p_cptr 0x00000004
-#define AOFF_task_p_ysptr 0x0000007c
+#define AOFF_task_p_ysptr 0x00000088
#define ASIZ_task_p_ysptr 0x00000004
-#define AOFF_task_p_osptr 0x00000080
+#define AOFF_task_p_osptr 0x0000008c
#define ASIZ_task_p_osptr 0x00000004
-#define AOFF_task_pidhash_next 0x00000084
+#define AOFF_task_pidhash_next 0x00000090
#define ASIZ_task_pidhash_next 0x00000004
-#define AOFF_task_pidhash_pprev 0x00000088
+#define AOFF_task_pidhash_pprev 0x00000094
#define ASIZ_task_pidhash_pprev 0x00000004
-#define AOFF_task_wait_chldexit 0x0000008c
+#define AOFF_task_wait_chldexit 0x00000098
#define ASIZ_task_wait_chldexit 0x00000018
-#define AOFF_task_vfork_sem 0x000000a4
+#define AOFF_task_vfork_sem 0x000000b0
#define ASIZ_task_vfork_sem 0x00000004
-#define AOFF_task_policy 0x000000a8
-#define ASIZ_task_policy 0x00000004
-#define AOFF_task_rt_priority 0x000000ac
+#define AOFF_task_rt_priority 0x000000b4
#define ASIZ_task_rt_priority 0x00000004
-#define AOFF_task_it_real_value 0x000000b0
+#define AOFF_task_it_real_value 0x000000b8
#define ASIZ_task_it_real_value 0x00000004
-#define AOFF_task_it_prof_value 0x000000b4
+#define AOFF_task_it_prof_value 0x000000bc
#define ASIZ_task_it_prof_value 0x00000004
-#define AOFF_task_it_virt_value 0x000000b8
+#define AOFF_task_it_virt_value 0x000000c0
#define ASIZ_task_it_virt_value 0x00000004
-#define AOFF_task_it_real_incr 0x000000bc
+#define AOFF_task_it_real_incr 0x000000c4
#define ASIZ_task_it_real_incr 0x00000004
-#define AOFF_task_it_prof_incr 0x000000c0
+#define AOFF_task_it_prof_incr 0x000000c8
#define ASIZ_task_it_prof_incr 0x00000004
-#define AOFF_task_it_virt_incr 0x000000c4
+#define AOFF_task_it_virt_incr 0x000000cc
#define ASIZ_task_it_virt_incr 0x00000004
-#define AOFF_task_real_timer 0x000000c8
+#define AOFF_task_real_timer 0x000000d0
#define ASIZ_task_real_timer 0x00000014
-#define AOFF_task_times 0x000000dc
+#define AOFF_task_times 0x000000e4
#define ASIZ_task_times 0x00000010
-#define AOFF_task_start_time 0x000000ec
+#define AOFF_task_start_time 0x000000f4
#define ASIZ_task_start_time 0x00000004
-#define AOFF_task_per_cpu_utime 0x000000f0
+#define AOFF_task_per_cpu_utime 0x000000f8
#define ASIZ_task_per_cpu_utime 0x00000080
-#define AOFF_task_min_flt 0x000001f0
+#define AOFF_task_min_flt 0x000001f8
#define ASIZ_task_min_flt 0x00000004
-#define AOFF_task_maj_flt 0x000001f4
+#define AOFF_task_maj_flt 0x000001fc
#define ASIZ_task_maj_flt 0x00000004
-#define AOFF_task_nswap 0x000001f8
+#define AOFF_task_nswap 0x00000200
#define ASIZ_task_nswap 0x00000004
-#define AOFF_task_cmin_flt 0x000001fc
+#define AOFF_task_cmin_flt 0x00000204
#define ASIZ_task_cmin_flt 0x00000004
-#define AOFF_task_cmaj_flt 0x00000200
+#define AOFF_task_cmaj_flt 0x00000208
#define ASIZ_task_cmaj_flt 0x00000004
-#define AOFF_task_cnswap 0x00000204
+#define AOFF_task_cnswap 0x0000020c
#define ASIZ_task_cnswap 0x00000004
-#define AOFF_task_uid 0x0000020a
-#define ASIZ_task_uid 0x00000002
-#define AOFF_task_euid 0x0000020c
-#define ASIZ_task_euid 0x00000002
-#define AOFF_task_suid 0x0000020e
-#define ASIZ_task_suid 0x00000002
-#define AOFF_task_fsuid 0x00000210
-#define ASIZ_task_fsuid 0x00000002
-#define AOFF_task_gid 0x00000212
-#define ASIZ_task_gid 0x00000002
-#define AOFF_task_egid 0x00000214
-#define ASIZ_task_egid 0x00000002
-#define AOFF_task_sgid 0x00000216
-#define ASIZ_task_sgid 0x00000002
-#define AOFF_task_fsgid 0x00000218
-#define ASIZ_task_fsgid 0x00000002
-#define AOFF_task_ngroups 0x0000021c
+#define AOFF_task_uid 0x00000214
+#define ASIZ_task_uid 0x00000004
+#define AOFF_task_euid 0x00000218
+#define ASIZ_task_euid 0x00000004
+#define AOFF_task_suid 0x0000021c
+#define ASIZ_task_suid 0x00000004
+#define AOFF_task_fsuid 0x00000220
+#define ASIZ_task_fsuid 0x00000004
+#define AOFF_task_gid 0x00000224
+#define ASIZ_task_gid 0x00000004
+#define AOFF_task_egid 0x00000228
+#define ASIZ_task_egid 0x00000004
+#define AOFF_task_sgid 0x0000022c
+#define ASIZ_task_sgid 0x00000004
+#define AOFF_task_fsgid 0x00000230
+#define ASIZ_task_fsgid 0x00000004
+#define AOFF_task_ngroups 0x00000234
#define ASIZ_task_ngroups 0x00000004
-#define AOFF_task_groups 0x00000220
-#define ASIZ_task_groups 0x00000040
-#define AOFF_task_cap_effective 0x00000260
+#define AOFF_task_groups 0x00000238
+#define ASIZ_task_groups 0x00000080
+#define AOFF_task_cap_effective 0x000002b8
#define ASIZ_task_cap_effective 0x00000004
-#define AOFF_task_cap_inheritable 0x00000264
+#define AOFF_task_cap_inheritable 0x000002bc
#define ASIZ_task_cap_inheritable 0x00000004
-#define AOFF_task_cap_permitted 0x00000268
+#define AOFF_task_cap_permitted 0x000002c0
#define ASIZ_task_cap_permitted 0x00000004
-#define AOFF_task_user 0x0000026c
+#define AOFF_task_user 0x000002c4
#define ASIZ_task_user 0x00000004
-#define AOFF_task_rlim 0x00000270
+#define AOFF_task_rlim 0x000002c8
#define ASIZ_task_rlim 0x00000050
-#define AOFF_task_used_math 0x000002c0
+#define AOFF_task_used_math 0x00000318
#define ASIZ_task_used_math 0x00000002
-#define AOFF_task_comm 0x000002c2
+#define AOFF_task_comm 0x0000031a
#define ASIZ_task_comm 0x00000010
-#define AOFF_task_link_count 0x000002d4
+#define AOFF_task_link_count 0x0000032c
#define ASIZ_task_link_count 0x00000004
-#define AOFF_task_tty 0x000002d8
+#define AOFF_task_tty 0x00000330
#define ASIZ_task_tty 0x00000004
-#define AOFF_task_semundo 0x000002dc
+#define AOFF_task_semundo 0x00000334
#define ASIZ_task_semundo 0x00000004
-#define AOFF_task_semsleeping 0x000002e0
+#define AOFF_task_semsleeping 0x00000338
#define ASIZ_task_semsleeping 0x00000004
-#define AOFF_task_thread 0x000002e8
+#define AOFF_task_thread 0x00000340
#define ASIZ_task_thread 0x00000388
-#define AOFF_task_fs 0x00000670
+#define AOFF_task_fs 0x000006c8
#define ASIZ_task_fs 0x00000004
-#define AOFF_task_files 0x00000674
+#define AOFF_task_files 0x000006cc
#define ASIZ_task_files 0x00000004
-#define AOFF_task_mm 0x00000678
-#define ASIZ_task_mm 0x00000004
-#define AOFF_task_active_mm 0x0000067c
-#define ASIZ_task_active_mm 0x00000004
-#define AOFF_task_sigmask_lock 0x00000680
+#define AOFF_task_sigmask_lock 0x000006d0
#define ASIZ_task_sigmask_lock 0x00000008
-#define AOFF_task_sig 0x00000688
+#define AOFF_task_sig 0x000006d8
#define ASIZ_task_sig 0x00000004
-#define AOFF_task_signal 0x0000068c
+#define AOFF_task_signal 0x000006dc
#define ASIZ_task_signal 0x00000008
-#define AOFF_task_blocked 0x00000694
+#define AOFF_task_blocked 0x000006e4
#define ASIZ_task_blocked 0x00000008
-#define AOFF_task_sigqueue 0x0000069c
+#define AOFF_task_sigqueue 0x000006ec
#define ASIZ_task_sigqueue 0x00000004
-#define AOFF_task_sigqueue_tail 0x000006a0
+#define AOFF_task_sigqueue_tail 0x000006f0
#define ASIZ_task_sigqueue_tail 0x00000004
-#define AOFF_task_sas_ss_sp 0x000006a4
+#define AOFF_task_sas_ss_sp 0x000006f4
#define ASIZ_task_sas_ss_sp 0x00000004
-#define AOFF_task_sas_ss_size 0x000006a8
+#define AOFF_task_sas_ss_size 0x000006f8
#define ASIZ_task_sas_ss_size 0x00000004
+#define AOFF_task_parent_exec_id 0x000006fc
+#define ASIZ_task_parent_exec_id 0x00000004
+#define AOFF_task_self_exec_id 0x00000700
+#define ASIZ_task_self_exec_id 0x00000004
+#define AOFF_task_exit_sem 0x00000704
+#define ASIZ_task_exit_sem 0x00000024
#define AOFF_mm_mmap 0x00000000
#define ASIZ_mm_mmap 0x00000004
#define AOFF_mm_mmap_avl 0x00000004
@@ -557,6 +571,8 @@
#define ASIZ_thread_core_exec 0x00000020
#define AOFF_thread_new_signal 0x00000380
#define ASIZ_thread_new_signal 0x00000004
+#define AOFF_thread_refcount 0x00000384
+#define ASIZ_thread_refcount 0x00000004
#endif /* CONFIG_SMP */
diff --git a/include/asm-sparc/asmmacro.h b/include/asm-sparc/asmmacro.h
index 553495c08..d1441ec0a 100644
--- a/include/asm-sparc/asmmacro.h
+++ b/include/asm-sparc/asmmacro.h
@@ -39,9 +39,6 @@
or %tmp, %lo(C_LABEL(cpu_offset)), %tmp; \
ld [%tmp + %reg], %reg;
-#define GET_PAGE_OFFSET(reg) \
- sethi BTFIXUP_SETHI_INIT(page_offset,0xf0000000), %reg;
-
/* All trap entry points _must_ begin with this macro or else you
* lose. It makes sure the kernel has a proper window so that
* c-code can be called.
diff --git a/include/asm-sparc/ipcbuf.h b/include/asm-sparc/ipcbuf.h
new file mode 100644
index 000000000..9bef02d04
--- /dev/null
+++ b/include/asm-sparc/ipcbuf.h
@@ -0,0 +1,31 @@
+#ifndef _SPARC_IPCBUF_H
+#define _SPARC_IPCBUF_H
+
+/*
+ * The ipc64_perm structure for sparc architecture.
+ * Note extra padding because this structure is passed back and forth
+ * between kernel and user space.
+ *
+ * Pad space is left for:
+ * - 32-bit mode
+ * - 32-bit seq
+ * - 2 miscellaneous 64-bit values (so that this structure matches
+ * sparc64 ipc64_perm)
+ */
+
+struct ipc64_perm
+{
+ __kernel_key_t key;
+ __kernel_uid32_t uid;
+ __kernel_gid32_t gid;
+ __kernel_uid32_t cuid;
+ __kernel_gid32_t cgid;
+ unsigned short __pad1;
+ __kernel_mode_t mode;
+ unsigned short __pad2;
+ unsigned short seq;
+ unsigned long long __unused1;
+ unsigned long long __unused2;
+};
+
+#endif /* _SPARC_IPCBUF_H */
diff --git a/include/asm-sparc/msgbuf.h b/include/asm-sparc/msgbuf.h
new file mode 100644
index 000000000..8cec9ad0b
--- /dev/null
+++ b/include/asm-sparc/msgbuf.h
@@ -0,0 +1,31 @@
+#ifndef _SPARC64_MSGBUF_H
+#define _SPARC64_MSGBUF_H
+
+/*
+ * The msqid64_ds structure for sparc64 architecture.
+ * Note extra padding because this structure is passed back and forth
+ * between kernel and user space.
+ *
+ * Pad space is left for:
+ * - 64-bit time_t to solve y2038 problem
+ * - 2 miscellaneous 32-bit values
+ */
+
+struct msqid64_ds {
+ struct ipc64_perm msg_perm;
+ unsigned int __pad1;
+ __kernel_time_t msg_stime; /* last msgsnd time */
+ unsigned int __pad2;
+ __kernel_time_t msg_rtime; /* last msgrcv time */
+ unsigned int __pad3;
+ __kernel_time_t msg_ctime; /* last change time */
+ unsigned long msg_cbytes; /* current number of bytes on queue */
+ unsigned long msg_qnum; /* number of messages in queue */
+ unsigned long msg_qbytes; /* max number of bytes on queue */
+ __kernel_pid_t msg_lspid; /* pid of last msgsnd */
+ __kernel_pid_t msg_lrpid; /* last receive pid */
+ unsigned long __unused1;
+ unsigned long __unused2;
+};
+
+#endif /* _SPARC64_MSGBUF_H */
diff --git a/include/asm-sparc/page.h b/include/asm-sparc/page.h
index a3754dfe2..352590e2e 100644
--- a/include/asm-sparc/page.h
+++ b/include/asm-sparc/page.h
@@ -1,4 +1,4 @@
-/* $Id: page.h,v 1.45 1999/07/03 08:58:05 davem Exp $
+/* $Id: page.h,v 1.46 2000/01/08 16:38:22 anton Exp $
* page.h: Various defines and such for MMU operations on the Sparc for
* the Linux kernel.
*
@@ -28,32 +28,14 @@
#ifndef __ASSEMBLY__
#define BUG() do { printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); *(int *)0=0; } while (0)
+
#define PAGE_BUG(page) do { \
- BUG(); } while (0)
+ BUG(); \
+} while (0)
#define clear_page(page) memset((void *)(page), 0, PAGE_SIZE)
#define copy_page(to,from) memcpy((void *)(to), (void *)(from), PAGE_SIZE)
-extern unsigned long page_offset;
-
-BTFIXUPDEF_SETHI_INIT(page_offset,0xf0000000)
-
-#ifdef MODULE
-#define PAGE_OFFSET (page_offset)
-#else
-#define PAGE_OFFSET BTFIXUP_SETHI(page_offset)
-#endif
-
-/* translate between physical and virtual addresses */
-BTFIXUPDEF_CALL_CONST(unsigned long, mmu_v2p, unsigned long)
-BTFIXUPDEF_CALL_CONST(unsigned long, mmu_p2v, unsigned long)
-
-#define mmu_v2p(vaddr) BTFIXUP_CALL(mmu_v2p)(vaddr)
-#define mmu_p2v(paddr) BTFIXUP_CALL(mmu_p2v)(paddr)
-
-#define __pa(x) (mmu_v2p((unsigned long)(x)))
-#define __va(x) ((void *)(mmu_p2v((unsigned long)(x))))
-
/* The following structure is used to hold the physical
* memory configuration of the machine. This is filled in
* probe_memory() and is later used by mem_init() to set up
@@ -273,20 +255,20 @@ BTFIXUPDEF_SETHI(sparc_unmapped_base)
#define TASK_UNMAPPED_BASE BTFIXUP_SETHI(sparc_unmapped_base)
-/* to align the pointer to the (next) page boundary */
-#define PAGE_ALIGN(addr) (((addr)+PAGE_SIZE-1)&PAGE_MASK)
-
-/* Now, to allow for very large physical memory configurations we
- * place the page pool both above the kernel and below the kernel.
- */
-#define MAP_NR(addr) ((((unsigned long) (addr)) - PAGE_OFFSET) >> PAGE_SHIFT)
-
#else /* !(__ASSEMBLY__) */
#define __pgprot(x) (x)
#endif /* !(__ASSEMBLY__) */
+/* to align the pointer to the (next) page boundary */
+#define PAGE_ALIGN(addr) (((addr)+PAGE_SIZE-1)&PAGE_MASK)
+
+#define PAGE_OFFSET 0xf0000000
+#define __pa(x) ((unsigned long)(x) - PAGE_OFFSET)
+#define __va(x) ((void *)((unsigned long) (x) + PAGE_OFFSET))
+#define MAP_NR(addr) (__pa(addr) >> PAGE_SHIFT)
+
#endif /* __KERNEL__ */
#endif /* _SPARC_PAGE_H */
diff --git a/include/asm-sparc/pgalloc.h b/include/asm-sparc/pgalloc.h
index c8e5d1062..ab87c0629 100644
--- a/include/asm-sparc/pgalloc.h
+++ b/include/asm-sparc/pgalloc.h
@@ -1,4 +1,4 @@
-/* $Id: pgalloc.h,v 1.1 1999/12/28 04:13:35 anton Exp $ */
+/* $Id: pgalloc.h,v 1.2 2000/01/15 00:51:42 anton Exp $ */
#ifndef _SPARC_PGALLOC_H
#define _SPARC_PGALLOC_H
@@ -30,10 +30,10 @@ BTFIXUPDEF_CALL(void, local_flush_tlb_page, struct vm_area_struct *, unsigned lo
#define local_flush_tlb_range(mm,start,end) BTFIXUP_CALL(local_flush_tlb_range)(mm,start,end)
#define local_flush_tlb_page(vma,addr) BTFIXUP_CALL(local_flush_tlb_page)(vma,addr)
-BTFIXUPDEF_CALL(void, local_flush_page_to_ram, struct page *)
+BTFIXUPDEF_CALL(void, local_flush_page_to_ram, unsigned long)
BTFIXUPDEF_CALL(void, local_flush_sig_insns, struct mm_struct *, unsigned long)
-#define local_flush_page_to_ram(page) BTFIXUP_CALL(local_flush_page_to_ram)(page)
+#define local_flush_page_to_ram(addr) BTFIXUP_CALL(local_flush_page_to_ram)(addr)
#define local_flush_sig_insns(mm,insn_addr) BTFIXUP_CALL(local_flush_sig_insns)(mm,insn_addr)
extern void smp_flush_cache_all(void);
@@ -49,7 +49,7 @@ extern void smp_flush_tlb_range(struct mm_struct *mm,
unsigned long start,
unsigned long end);
extern void smp_flush_tlb_page(struct vm_area_struct *mm, unsigned long page);
-extern void smp_flush_page_to_ram(struct page *page);
+extern void smp_flush_page_to_ram(unsigned long page);
extern void smp_flush_sig_insns(struct mm_struct *mm, unsigned long insn_addr);
#endif
@@ -74,12 +74,14 @@ BTFIXUPDEF_CALL(void, flush_tlb_page, struct vm_area_struct *, unsigned long)
#define flush_tlb_range(mm,start,end) BTFIXUP_CALL(flush_tlb_range)(mm,start,end)
#define flush_tlb_page(vma,addr) BTFIXUP_CALL(flush_tlb_page)(vma,addr)
-BTFIXUPDEF_CALL(void, flush_page_to_ram, struct page *)
+BTFIXUPDEF_CALL(void, __flush_page_to_ram, unsigned long)
BTFIXUPDEF_CALL(void, flush_sig_insns, struct mm_struct *, unsigned long)
-#define flush_page_to_ram(page) BTFIXUP_CALL(flush_page_to_ram)(page)
+#define __flush_page_to_ram(addr) BTFIXUP_CALL(__flush_page_to_ram)(addr)
#define flush_sig_insns(mm,insn_addr) BTFIXUP_CALL(flush_sig_insns)(mm,insn_addr)
+#define flush_page_to_ram(page) __flush_page_to_ram(page_address(page))
+
extern struct pgtable_cache_struct {
unsigned long *pgd_cache;
unsigned long *pte_cache;
diff --git a/include/asm-sparc/posix_types.h b/include/asm-sparc/posix_types.h
index 4ec175150..72991ca02 100644
--- a/include/asm-sparc/posix_types.h
+++ b/include/asm-sparc/posix_types.h
@@ -7,13 +7,7 @@
* assume GCC is being used.
*/
-/* When cross-compilation is no longer an issue, fix this. */
-#if defined(__svr4__) || defined(__ELF__)
typedef unsigned int __kernel_size_t;
-#else
-typedef long unsigned int __kernel_size_t;
-#endif /* !(__svr4__ || __ELF__) */
-
typedef int __kernel_ssize_t;
typedef long int __kernel_ptrdiff_t;
typedef long __kernel_time_t;
@@ -31,6 +25,12 @@ typedef short __kernel_nlink_t;
typedef long __kernel_daddr_t;
typedef long __kernel_off_t;
typedef char * __kernel_caddr_t;
+typedef unsigned short __kernel_uid16_t;
+typedef unsigned short __kernel_gid16_t;
+typedef unsigned int __kernel_uid32_t;
+typedef unsigned int __kernel_gid32_t;
+typedef unsigned short __kernel_old_uid_t;
+typedef unsigned short __kernel_old_gid_t;
#ifdef __GNUC__
typedef long long __kernel_loff_t;
diff --git a/include/asm-sparc/processor.h b/include/asm-sparc/processor.h
index 8505ce5d4..a74493500 100644
--- a/include/asm-sparc/processor.h
+++ b/include/asm-sparc/processor.h
@@ -1,4 +1,4 @@
-/* $Id: processor.h,v 1.75 2000/01/07 20:21:42 davem Exp $
+/* $Id: processor.h,v 1.76 2000/01/09 09:13:38 anton Exp $
* include/asm-sparc/processor.h
*
* Copyright (C) 1994 David S. Miller (davem@caip.rutgers.edu)
@@ -22,6 +22,7 @@
#include <asm/segment.h>
#include <asm/btfixup.h>
#include <asm/page.h>
+#include <asm/atomic.h>
/*
* Bus types
@@ -88,6 +89,7 @@ struct thread_struct {
mm_segment_t current_ds;
struct exec core_exec; /* just what it says. */
int new_signal;
+ atomic_t refcount; /* used for sun4c only */
};
#define SPARC_FLAG_KTHREAD 0x1 /* task is a kernel thread */
@@ -201,11 +203,11 @@ extern struct task_struct *last_task_used_math;
/* Allocation and freeing of basic task resources. */
BTFIXUPDEF_CALL(struct task_struct *, alloc_task_struct, void)
BTFIXUPDEF_CALL(void, free_task_struct, struct task_struct *)
+BTFIXUPDEF_CALL(void, get_task_struct, struct task_struct *)
#define alloc_task_struct() BTFIXUP_CALL(alloc_task_struct)()
#define free_task_struct(tsk) BTFIXUP_CALL(free_task_struct)(tsk)
-
-/* XXX Anton, here is where you implement get_task_struct et al. */
+#define get_task_struct(tsk) BTFIXUP_CALL(get_task_struct)(tsk)
#define init_task (init_task_union.task)
#define init_stack (init_task_union.stack)
diff --git a/include/asm-sparc/sembuf.h b/include/asm-sparc/sembuf.h
new file mode 100644
index 000000000..47b2ef9bc
--- /dev/null
+++ b/include/asm-sparc/sembuf.h
@@ -0,0 +1,25 @@
+#ifndef _SPARC_SEMBUF_H
+#define _SPARC_SEMBUF_H
+
+/*
+ * The semid64_ds structure for sparc architecture.
+ * Note extra padding because this structure is passed back and forth
+ * between kernel and user space.
+ *
+ * Pad space is left for:
+ * - 64-bit time_t to solve y2038 problem
+ * - 2 miscellaneous 64-bit values
+ */
+
+struct semid64_ds {
+ struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
+ unsigned int __pad1;
+ __kernel_time_t sem_otime; /* last semop time */
+ unsigned int __pad2;
+ __kernel_time_t sem_ctime; /* last change time */
+ unsigned long sem_nsems; /* no. of semaphores in array */
+ unsigned long __unused1;
+ unsigned long __unused2;
+};
+
+#endif /* _SPARC64_SEMBUF_H */
diff --git a/include/asm-sparc/shmbuf.h b/include/asm-sparc/shmbuf.h
new file mode 100644
index 000000000..1ff9da8be
--- /dev/null
+++ b/include/asm-sparc/shmbuf.h
@@ -0,0 +1,42 @@
+#ifndef _SPARC_SHMBUF_H
+#define _SPARC_SHMBUF_H
+
+/*
+ * The shmid64_ds structure for sparc architecture.
+ * Note extra padding because this structure is passed back and forth
+ * between kernel and user space.
+ *
+ * Pad space is left for:
+ * - 64-bit time_t to solve y2038 problem
+ * - 2 miscellaneous 32-bit values
+ */
+
+struct shmid64_ds {
+ struct ipc64_perm shm_perm; /* operation perms */
+ unsigned int __pad1;
+ __kernel_time_t shm_atime; /* last attach time */
+ unsigned int __pad2;
+ __kernel_time_t shm_dtime; /* last detach time */
+ unsigned int __pad3;
+ __kernel_time_t shm_ctime; /* last change time */
+ size_t shm_segsz; /* size of segment (bytes) */
+ __kernel_pid_t shm_cpid; /* pid of creator */
+ __kernel_pid_t shm_lpid; /* pid of last operator */
+ unsigned long shm_nattch; /* no. of current attaches */
+ unsigned long __unused1;
+ unsigned long __unused2;
+};
+
+struct shminfo64 {
+ unsigned long shmmax;
+ unsigned long shmmin;
+ unsigned long shmmni;
+ unsigned long shmseg;
+ unsigned long shmall;
+ unsigned long __unused1;
+ unsigned long __unused2;
+ unsigned long __unused3;
+ unsigned long __unused4;
+};
+
+#endif /* _SPARC_SHMBUF_H */
diff --git a/include/asm-sparc/uaccess.h b/include/asm-sparc/uaccess.h
index 65d8a36d3..c026a21fa 100644
--- a/include/asm-sparc/uaccess.h
+++ b/include/asm-sparc/uaccess.h
@@ -1,4 +1,4 @@
-/* $Id: uaccess.h,v 1.20 1999/11/23 08:56:45 davem Exp $
+/* $Id: uaccess.h,v 1.21 2000/01/08 16:38:23 anton Exp $
* uaccess.h: User space memore access functions.
*
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
@@ -34,10 +34,10 @@
#define segment_eq(a,b) ((a).seg == (b).seg)
-/* We have there a nice not-mapped page at page_offset - PAGE_SIZE, so that this test
+/* We have there a nice not-mapped page at PAGE_OFFSET - PAGE_SIZE, so that this test
* can be fairly lightweight.
* No one can read/write anything from userland in the kernel space by setting
- * large size and address near to page_offset - a fault will break his intentions.
+ * large size and address near to PAGE_OFFSET - a fault will break his intentions.
*/
#define __user_ok(addr,size) ((addr) < STACK_TOP)
#define __kernel_ok (segment_eq(get_fs(), KERNEL_DS))
diff --git a/include/asm-sparc/unistd.h b/include/asm-sparc/unistd.h
index 757012fc5..f16345145 100644
--- a/include/asm-sparc/unistd.h
+++ b/include/asm-sparc/unistd.h
@@ -1,4 +1,4 @@
-/* $Id: unistd.h,v 1.60 2000/01/05 07:37:50 jj Exp $ */
+/* $Id: unistd.h,v 1.63 2000/01/12 11:47:40 anton Exp $ */
#ifndef _SPARC_UNISTD_H
#define _SPARC_UNISTD_H
@@ -46,11 +46,11 @@
#define __NR_sigaltstack 28 /* Common */
#define __NR_pause 29 /* Is sigblock(0)->sigpause() in SunOS */
#define __NR_utime 30 /* Implemented via utimes() under SunOS */
-/* #define __NR_stty 31 Implemented via ioctl() under SunOS */
-/* #define __NR_gtty 32 Implemented via ioctl() under SunOS */
+#define __NR_lchown32 31 /* Linux sparc32 specific */
+#define __NR_fchown32 32 /* Linux sparc32 specific */
#define __NR_access 33 /* Common */
#define __NR_nice 34 /* Implemented via get/setpriority() in SunOS */
-/* #define __NR_ftime 35 Implemented via gettimeofday() in SunOS */
+#define __NR_chown32 35 /* Linux sparc32 specific */
#define __NR_sync 36 /* Common */
#define __NR_kill 37 /* Common */
#define __NR_stat 38 /* Common */
@@ -59,7 +59,7 @@
#define __NR_dup 41 /* Common */
#define __NR_pipe 42 /* Common */
#define __NR_times 43 /* Implemented via getrusage() in SunOS */
-/* #define __NR_profil 44 Common */
+#define __NR_getuid32 44 /* Linux sparc32 specific */
#define __NR_umount2 45 /* Linux Specific */
#define __NR_setgid 46 /* Implemented via setregid() in SunOS */
#define __NR_getgid 47 /* Common */
@@ -68,7 +68,7 @@
#define __NR_getegid 50 /* SunOS calls getgid() */
#define __NR_acct 51 /* Common */
/* #define __NR_ni_syscall 52 ENOSYS under SunOS */
-/* #define __NR_mctl 53 SunOS specific */
+#define __NR_getgid32 53 /* Linux sparc32 specific */
#define __NR_ioctl 54 /* Common */
#define __NR_reboot 55 /* Common */
#define __NR_mmap2 56 /* Linux sparc32 Specific */
@@ -84,32 +84,32 @@
#define __NR_vfork 66 /* Common */
#define __NR_pread 67 /* Linux Specific */
#define __NR_pwrite 68 /* Linux Specific */
-/* #define __NR_sbrk 69 SunOS Specific */
-/* #define __NR_sstk 70 SunOS Specific */
+#define __NR_geteuid32 69 /* Linux sparc32, sbrk under SunOS */
+#define __NR_getegid32 70 /* Linux sparc32, sstk under SunOS */
#define __NR_mmap 71 /* Common */
-/* #define __NR_vadvise 72 SunOS Specific */
+#define __NR_setreuid32 72 /* Linux sparc32, vadvise under SunOS */
#define __NR_munmap 73 /* Common */
#define __NR_mprotect 74 /* Common */
-/* #define __NR_madvise 75 SunOS Specific */
+#define __NR_madvise 75 /* Common */
#define __NR_vhangup 76 /* Common */
#define __NR_truncate64 77 /* Linux sparc32 Specific */
-/* #define __NR_mincore 78 SunOS Specific */
+#define __NR_mincore 78 /* Common */
#define __NR_getgroups 79 /* Common */
#define __NR_setgroups 80 /* Common */
#define __NR_getpgrp 81 /* Common */
-/* #define __NR_setpgrp 82 setpgid, same difference... */
+#define __NR_setgroups32 82 /* Linux sparc32, setpgrp under SunOS */
#define __NR_setitimer 83 /* Common */
#define __NR_ftruncate64 84 /* Linux sparc32 Specific */
#define __NR_swapon 85 /* Common */
#define __NR_getitimer 86 /* Common */
-/* #define __NR_gethostname 87 SunOS Specific */
+#define __NR_setuid32 87 /* Linux sparc32, gethostname under SunOS */
#define __NR_sethostname 88 /* Common */
-/* #define __NR_getdtablesize 89 SunOS Specific */
+#define __NR_setgid32 89 /* Linux sparc32, getdtablesize under SunOS */
#define __NR_dup2 90 /* Common */
-/* #define __NR_getdopt 91 SunOS Specific */
+#define __NR_setfsuid32 91 /* Linux sparc32, getdopt under SunOS */
#define __NR_fcntl 92 /* Common */
#define __NR_select 93 /* Common */
-/* #define __NR_setdopt 94 SunOS Specific */
+#define __NR_setfsgid32 94 /* Linux sparc32, setdopt under SunOS */
#define __NR_fsync 95 /* Common */
#define __NR_setpriority 96 /* Common */
#define __NR_socket 97 /* Common */
@@ -123,14 +123,14 @@
#define __NR_rt_sigtimedwait 105 /* Linux Specific */
#define __NR_rt_sigqueueinfo 106 /* Linux Specific */
#define __NR_rt_sigsuspend 107 /* Linux Specific */
-/* #define __NR_sigvec 108 SunOS Specific */
-/* #define __NR_sigblock 109 SunOS Specific */
-/* #define __NR_sigsetmask 110 SunOS Specific */
-/* #define __NR_sigpause 111 SunOS Specific */
-/* #define __NR_sigstack 112 SunOS Specific */
+#define __NR_setresuid32 108 /* Linux Specific, sigvec under SunOS */
+#define __NR_getresuid32 109 /* Linux Specific, sigblock under SunOS */
+#define __NR_setresgid32 110 /* Linux Specific, sigsetmask under SunOS */
+#define __NR_getresgid32 111 /* Linux Specific, sigpause under SunOS */
+#define __NR_setregid32 112 /* Linux sparc32, sigstack under SunOS */
#define __NR_recvmsg 113 /* Common */
#define __NR_sendmsg 114 /* Common */
-/* #define __NR_vtrace 115 SunOS Specific */
+#define __NR_getgroups32 115 /* Linux sparc32, vtrace under SunOS */
#define __NR_gettimeofday 116 /* Common */
#define __NR_getrusage 117 /* Common */
#define __NR_getsockopt 118 /* Common */
@@ -225,7 +225,7 @@
#define __NR_syslog 207 /* Linux Specific */
/* #define __NR_olduname 208 Linux Specific */
/* #define __NR_iopl 209 Linux Specific - i386 specific, unused */
-#define __NR_idle 210 /* Linux Specific */
+/* #define __NR_idle 210 Linux Specific - was sys_idle, now unused */
/* #define __NR_vm86 211 Linux Specific - i386 specific, unused */
#define __NR_waitpid 212 /* Linux Specific */
#define __NR_swapoff 213 /* Linux Specific */
@@ -416,7 +416,6 @@ return -1; \
* some others too.
*/
#define __NR__exit __NR_exit
-static __inline__ _syscall0(int,idle)
static __inline__ _syscall0(int,pause)
static __inline__ _syscall0(int,sync)
static __inline__ _syscall0(pid_t,setsid)