summaryrefslogtreecommitdiffstats
path: root/include/asm-sparc64
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-sparc64
parent45b27b0a0652331d104c953a5b192d843fff88f8 (diff)
Merge with Linux 2.3.40.
Diffstat (limited to 'include/asm-sparc64')
-rw-r--r--include/asm-sparc64/asm_offsets.h504
-rw-r--r--include/asm-sparc64/floppy.h19
-rw-r--r--include/asm-sparc64/ipcbuf.h28
-rw-r--r--include/asm-sparc64/msgbuf.h27
-rw-r--r--include/asm-sparc64/ns87303.h42
-rw-r--r--include/asm-sparc64/parport.h46
-rw-r--r--include/asm-sparc64/pci.h3
-rw-r--r--include/asm-sparc64/posix_types.h7
-rw-r--r--include/asm-sparc64/sembuf.h22
-rw-r--r--include/asm-sparc64/shmbuf.h38
-rw-r--r--include/asm-sparc64/unistd.h44
11 files changed, 450 insertions, 330 deletions
diff --git a/include/asm-sparc64/asm_offsets.h b/include/asm-sparc64/asm_offsets.h
index 8c36daca1..07dfc1d30 100644
--- a/include/asm-sparc64/asm_offsets.h
+++ b/include/asm-sparc64/asm_offsets.h
@@ -24,152 +24,152 @@
#define ASIZ_task_exec_domain 0x00000008
#define AOFF_task_need_resched 0x00000020
#define ASIZ_task_need_resched 0x00000008
-#define AOFF_task_counter 0x00000028
+#define AOFF_task_avg_slice 0x00000028
+#define ASIZ_task_avg_slice 0x00000008
+#define AOFF_task_lock_depth 0x00000030
+#define ASIZ_task_lock_depth 0x00000004
+#define AOFF_task_counter 0x00000038
#define ASIZ_task_counter 0x00000008
-#define AOFF_task_priority 0x00000030
+#define AOFF_task_priority 0x00000040
#define ASIZ_task_priority 0x00000008
-#define AOFF_task_avg_slice 0x00000038
-#define ASIZ_task_avg_slice 0x00000008
-#define AOFF_task_has_cpu 0x00000040
+#define AOFF_task_policy 0x00000048
+#define ASIZ_task_policy 0x00000008
+#define AOFF_task_mm 0x00000050
+#define ASIZ_task_mm 0x00000008
+#define AOFF_task_active_mm 0x00000058
+#define ASIZ_task_active_mm 0x00000008
+#define AOFF_task_has_cpu 0x00000060
#define ASIZ_task_has_cpu 0x00000004
-#define AOFF_task_processor 0x00000044
+#define AOFF_task_processor 0x00000064
#define ASIZ_task_processor 0x00000004
-#define AOFF_task_last_processor 0x00000048
-#define ASIZ_task_last_processor 0x00000004
-#define AOFF_task_lock_depth 0x0000004c
-#define ASIZ_task_lock_depth 0x00000004
-#define AOFF_task_next_task 0x00000050
+#define AOFF_task_run_list 0x00000068
+#define ASIZ_task_run_list 0x00000010
+#define AOFF_task_next_task 0x00000078
#define ASIZ_task_next_task 0x00000008
-#define AOFF_task_prev_task 0x00000058
+#define AOFF_task_prev_task 0x00000080
#define ASIZ_task_prev_task 0x00000008
-#define AOFF_task_run_list 0x00000060
-#define ASIZ_task_run_list 0x00000010
-#define AOFF_task_binfmt 0x00000070
+#define AOFF_task_last_processor 0x00000088
+#define ASIZ_task_last_processor 0x00000004
+#define AOFF_task_binfmt 0x00000090
#define ASIZ_task_binfmt 0x00000008
-#define AOFF_task_exit_code 0x00000078
+#define AOFF_task_exit_code 0x00000098
#define ASIZ_task_exit_code 0x00000004
-#define AOFF_task_exit_signal 0x0000007c
+#define AOFF_task_exit_signal 0x0000009c
#define ASIZ_task_exit_signal 0x00000004
-#define AOFF_task_pdeath_signal 0x00000080
+#define AOFF_task_pdeath_signal 0x000000a0
#define ASIZ_task_pdeath_signal 0x00000004
-#define AOFF_task_personality 0x00000088
+#define AOFF_task_personality 0x000000a8
#define ASIZ_task_personality 0x00000008
-#define AOFF_task_pid 0x00000094
+#define AOFF_task_pid 0x000000b4
#define ASIZ_task_pid 0x00000004
-#define AOFF_task_pgrp 0x00000098
+#define AOFF_task_pgrp 0x000000b8
#define ASIZ_task_pgrp 0x00000004
-#define AOFF_task_tty_old_pgrp 0x0000009c
+#define AOFF_task_tty_old_pgrp 0x000000bc
#define ASIZ_task_tty_old_pgrp 0x00000004
-#define AOFF_task_session 0x000000a0
+#define AOFF_task_session 0x000000c0
#define ASIZ_task_session 0x00000004
-#define AOFF_task_leader 0x000000a4
+#define AOFF_task_leader 0x000000c4
#define ASIZ_task_leader 0x00000004
-#define AOFF_task_p_opptr 0x000000a8
+#define AOFF_task_p_opptr 0x000000c8
#define ASIZ_task_p_opptr 0x00000008
-#define AOFF_task_p_pptr 0x000000b0
+#define AOFF_task_p_pptr 0x000000d0
#define ASIZ_task_p_pptr 0x00000008
-#define AOFF_task_p_cptr 0x000000b8
+#define AOFF_task_p_cptr 0x000000d8
#define ASIZ_task_p_cptr 0x00000008
-#define AOFF_task_p_ysptr 0x000000c0
+#define AOFF_task_p_ysptr 0x000000e0
#define ASIZ_task_p_ysptr 0x00000008
-#define AOFF_task_p_osptr 0x000000c8
+#define AOFF_task_p_osptr 0x000000e8
#define ASIZ_task_p_osptr 0x00000008
-#define AOFF_task_pidhash_next 0x000000d0
+#define AOFF_task_pidhash_next 0x000000f0
#define ASIZ_task_pidhash_next 0x00000008
-#define AOFF_task_pidhash_pprev 0x000000d8
+#define AOFF_task_pidhash_pprev 0x000000f8
#define ASIZ_task_pidhash_pprev 0x00000008
-#define AOFF_task_wait_chldexit 0x000000e0
+#define AOFF_task_wait_chldexit 0x00000100
#define ASIZ_task_wait_chldexit 0x00000020
-#define AOFF_task_vfork_sem 0x00000100
+#define AOFF_task_vfork_sem 0x00000120
#define ASIZ_task_vfork_sem 0x00000008
-#define AOFF_task_policy 0x00000108
-#define ASIZ_task_policy 0x00000008
-#define AOFF_task_rt_priority 0x00000110
+#define AOFF_task_rt_priority 0x00000128
#define ASIZ_task_rt_priority 0x00000008
-#define AOFF_task_it_real_value 0x00000118
+#define AOFF_task_it_real_value 0x00000130
#define ASIZ_task_it_real_value 0x00000008
-#define AOFF_task_it_prof_value 0x00000120
+#define AOFF_task_it_prof_value 0x00000138
#define ASIZ_task_it_prof_value 0x00000008
-#define AOFF_task_it_virt_value 0x00000128
+#define AOFF_task_it_virt_value 0x00000140
#define ASIZ_task_it_virt_value 0x00000008
-#define AOFF_task_it_real_incr 0x00000130
+#define AOFF_task_it_real_incr 0x00000148
#define ASIZ_task_it_real_incr 0x00000008
-#define AOFF_task_it_prof_incr 0x00000138
+#define AOFF_task_it_prof_incr 0x00000150
#define ASIZ_task_it_prof_incr 0x00000008
-#define AOFF_task_it_virt_incr 0x00000140
+#define AOFF_task_it_virt_incr 0x00000158
#define ASIZ_task_it_virt_incr 0x00000008
-#define AOFF_task_real_timer 0x00000148
+#define AOFF_task_real_timer 0x00000160
#define ASIZ_task_real_timer 0x00000028
-#define AOFF_task_times 0x00000170
+#define AOFF_task_times 0x00000188
#define ASIZ_task_times 0x00000020
-#define AOFF_task_start_time 0x00000190
+#define AOFF_task_start_time 0x000001a8
#define ASIZ_task_start_time 0x00000008
-#define AOFF_task_per_cpu_utime 0x00000198
+#define AOFF_task_per_cpu_utime 0x000001b0
#define ASIZ_task_per_cpu_utime 0x00000008
-#define AOFF_task_min_flt 0x000001a8
+#define AOFF_task_min_flt 0x000001c0
#define ASIZ_task_min_flt 0x00000008
-#define AOFF_task_maj_flt 0x000001b0
+#define AOFF_task_maj_flt 0x000001c8
#define ASIZ_task_maj_flt 0x00000008
-#define AOFF_task_nswap 0x000001b8
+#define AOFF_task_nswap 0x000001d0
#define ASIZ_task_nswap 0x00000008
-#define AOFF_task_cmin_flt 0x000001c0
+#define AOFF_task_cmin_flt 0x000001d8
#define ASIZ_task_cmin_flt 0x00000008
-#define AOFF_task_cmaj_flt 0x000001c8
+#define AOFF_task_cmaj_flt 0x000001e0
#define ASIZ_task_cmaj_flt 0x00000008
-#define AOFF_task_cnswap 0x000001d0
+#define AOFF_task_cnswap 0x000001e8
#define ASIZ_task_cnswap 0x00000008
-#define AOFF_task_uid 0x000001dc
+#define AOFF_task_uid 0x000001f4
#define ASIZ_task_uid 0x00000004
-#define AOFF_task_euid 0x000001e0
+#define AOFF_task_euid 0x000001f8
#define ASIZ_task_euid 0x00000004
-#define AOFF_task_suid 0x000001e4
+#define AOFF_task_suid 0x000001fc
#define ASIZ_task_suid 0x00000004
-#define AOFF_task_fsuid 0x000001e8
+#define AOFF_task_fsuid 0x00000200
#define ASIZ_task_fsuid 0x00000004
-#define AOFF_task_gid 0x000001ec
+#define AOFF_task_gid 0x00000204
#define ASIZ_task_gid 0x00000004
-#define AOFF_task_egid 0x000001f0
+#define AOFF_task_egid 0x00000208
#define ASIZ_task_egid 0x00000004
-#define AOFF_task_sgid 0x000001f4
+#define AOFF_task_sgid 0x0000020c
#define ASIZ_task_sgid 0x00000004
-#define AOFF_task_fsgid 0x000001f8
+#define AOFF_task_fsgid 0x00000210
#define ASIZ_task_fsgid 0x00000004
-#define AOFF_task_ngroups 0x000001fc
+#define AOFF_task_ngroups 0x00000214
#define ASIZ_task_ngroups 0x00000004
-#define AOFF_task_groups 0x00000200
+#define AOFF_task_groups 0x00000218
#define ASIZ_task_groups 0x00000080
-#define AOFF_task_cap_effective 0x00000280
+#define AOFF_task_cap_effective 0x00000298
#define ASIZ_task_cap_effective 0x00000004
-#define AOFF_task_cap_inheritable 0x00000284
+#define AOFF_task_cap_inheritable 0x0000029c
#define ASIZ_task_cap_inheritable 0x00000004
-#define AOFF_task_cap_permitted 0x00000288
+#define AOFF_task_cap_permitted 0x000002a0
#define ASIZ_task_cap_permitted 0x00000004
-#define AOFF_task_user 0x00000290
+#define AOFF_task_user 0x000002a8
#define ASIZ_task_user 0x00000008
-#define AOFF_task_rlim 0x00000298
+#define AOFF_task_rlim 0x000002b0
#define ASIZ_task_rlim 0x000000a0
-#define AOFF_task_used_math 0x00000338
+#define AOFF_task_used_math 0x00000350
#define ASIZ_task_used_math 0x00000002
-#define AOFF_task_comm 0x0000033a
+#define AOFF_task_comm 0x00000352
#define ASIZ_task_comm 0x00000010
-#define AOFF_task_link_count 0x0000034c
+#define AOFF_task_link_count 0x00000364
#define ASIZ_task_link_count 0x00000004
-#define AOFF_task_tty 0x00000350
+#define AOFF_task_tty 0x00000368
#define ASIZ_task_tty 0x00000008
-#define AOFF_task_semundo 0x00000358
+#define AOFF_task_semundo 0x00000370
#define ASIZ_task_semundo 0x00000008
-#define AOFF_task_semsleeping 0x00000360
+#define AOFF_task_semsleeping 0x00000378
#define ASIZ_task_semsleeping 0x00000008
-#define AOFF_task_thread 0x00000370
+#define AOFF_task_thread 0x00000380
#define ASIZ_task_thread 0x00000460
-#define AOFF_task_fs 0x000007d0
+#define AOFF_task_fs 0x000007e0
#define ASIZ_task_fs 0x00000008
-#define AOFF_task_files 0x000007d8
+#define AOFF_task_files 0x000007e8
#define ASIZ_task_files 0x00000008
-#define AOFF_task_mm 0x000007e0
-#define ASIZ_task_mm 0x00000008
-#define AOFF_task_active_mm 0x000007e8
-#define ASIZ_task_active_mm 0x00000008
#define AOFF_task_sigmask_lock 0x000007f0
#define ASIZ_task_sigmask_lock 0x00000000
#define AOFF_task_sig 0x000007f0
@@ -318,175 +318,175 @@
#define ASIZ_task_exec_domain 0x00000008
#define AOFF_task_need_resched 0x00000020
#define ASIZ_task_need_resched 0x00000008
-#define AOFF_task_counter 0x00000028
+#define AOFF_task_avg_slice 0x00000028
+#define ASIZ_task_avg_slice 0x00000008
+#define AOFF_task_lock_depth 0x00000030
+#define ASIZ_task_lock_depth 0x00000004
+#define AOFF_task_counter 0x00000038
#define ASIZ_task_counter 0x00000008
-#define AOFF_task_priority 0x00000030
+#define AOFF_task_priority 0x00000040
#define ASIZ_task_priority 0x00000008
-#define AOFF_task_avg_slice 0x00000038
-#define ASIZ_task_avg_slice 0x00000008
-#define AOFF_task_has_cpu 0x00000040
+#define AOFF_task_policy 0x00000048
+#define ASIZ_task_policy 0x00000008
+#define AOFF_task_mm 0x00000050
+#define ASIZ_task_mm 0x00000008
+#define AOFF_task_active_mm 0x00000058
+#define ASIZ_task_active_mm 0x00000008
+#define AOFF_task_has_cpu 0x00000060
#define ASIZ_task_has_cpu 0x00000004
-#define AOFF_task_processor 0x00000044
+#define AOFF_task_processor 0x00000064
#define ASIZ_task_processor 0x00000004
-#define AOFF_task_last_processor 0x00000048
-#define ASIZ_task_last_processor 0x00000004
-#define AOFF_task_lock_depth 0x0000004c
-#define ASIZ_task_lock_depth 0x00000004
-#define AOFF_task_next_task 0x00000050
+#define AOFF_task_run_list 0x00000068
+#define ASIZ_task_run_list 0x00000010
+#define AOFF_task_next_task 0x00000078
#define ASIZ_task_next_task 0x00000008
-#define AOFF_task_prev_task 0x00000058
+#define AOFF_task_prev_task 0x00000080
#define ASIZ_task_prev_task 0x00000008
-#define AOFF_task_run_list 0x00000060
-#define ASIZ_task_run_list 0x00000010
-#define AOFF_task_binfmt 0x00000070
+#define AOFF_task_last_processor 0x00000088
+#define ASIZ_task_last_processor 0x00000004
+#define AOFF_task_binfmt 0x00000090
#define ASIZ_task_binfmt 0x00000008
-#define AOFF_task_exit_code 0x00000078
+#define AOFF_task_exit_code 0x00000098
#define ASIZ_task_exit_code 0x00000004
-#define AOFF_task_exit_signal 0x0000007c
+#define AOFF_task_exit_signal 0x0000009c
#define ASIZ_task_exit_signal 0x00000004
-#define AOFF_task_pdeath_signal 0x00000080
+#define AOFF_task_pdeath_signal 0x000000a0
#define ASIZ_task_pdeath_signal 0x00000004
-#define AOFF_task_personality 0x00000088
+#define AOFF_task_personality 0x000000a8
#define ASIZ_task_personality 0x00000008
-#define AOFF_task_pid 0x00000094
+#define AOFF_task_pid 0x000000b4
#define ASIZ_task_pid 0x00000004
-#define AOFF_task_pgrp 0x00000098
+#define AOFF_task_pgrp 0x000000b8
#define ASIZ_task_pgrp 0x00000004
-#define AOFF_task_tty_old_pgrp 0x0000009c
+#define AOFF_task_tty_old_pgrp 0x000000bc
#define ASIZ_task_tty_old_pgrp 0x00000004
-#define AOFF_task_session 0x000000a0
+#define AOFF_task_session 0x000000c0
#define ASIZ_task_session 0x00000004
-#define AOFF_task_leader 0x000000a4
+#define AOFF_task_leader 0x000000c4
#define ASIZ_task_leader 0x00000004
-#define AOFF_task_p_opptr 0x000000a8
+#define AOFF_task_p_opptr 0x000000c8
#define ASIZ_task_p_opptr 0x00000008
-#define AOFF_task_p_pptr 0x000000b0
+#define AOFF_task_p_pptr 0x000000d0
#define ASIZ_task_p_pptr 0x00000008
-#define AOFF_task_p_cptr 0x000000b8
+#define AOFF_task_p_cptr 0x000000d8
#define ASIZ_task_p_cptr 0x00000008
-#define AOFF_task_p_ysptr 0x000000c0
+#define AOFF_task_p_ysptr 0x000000e0
#define ASIZ_task_p_ysptr 0x00000008
-#define AOFF_task_p_osptr 0x000000c8
+#define AOFF_task_p_osptr 0x000000e8
#define ASIZ_task_p_osptr 0x00000008
-#define AOFF_task_pidhash_next 0x000000d0
+#define AOFF_task_pidhash_next 0x000000f0
#define ASIZ_task_pidhash_next 0x00000008
-#define AOFF_task_pidhash_pprev 0x000000d8
+#define AOFF_task_pidhash_pprev 0x000000f8
#define ASIZ_task_pidhash_pprev 0x00000008
-#define AOFF_task_wait_chldexit 0x000000e0
+#define AOFF_task_wait_chldexit 0x00000100
#define ASIZ_task_wait_chldexit 0x00000028
-#define AOFF_task_vfork_sem 0x00000108
+#define AOFF_task_vfork_sem 0x00000128
#define ASIZ_task_vfork_sem 0x00000008
-#define AOFF_task_policy 0x00000110
-#define ASIZ_task_policy 0x00000008
-#define AOFF_task_rt_priority 0x00000118
+#define AOFF_task_rt_priority 0x00000130
#define ASIZ_task_rt_priority 0x00000008
-#define AOFF_task_it_real_value 0x00000120
+#define AOFF_task_it_real_value 0x00000138
#define ASIZ_task_it_real_value 0x00000008
-#define AOFF_task_it_prof_value 0x00000128
+#define AOFF_task_it_prof_value 0x00000140
#define ASIZ_task_it_prof_value 0x00000008
-#define AOFF_task_it_virt_value 0x00000130
+#define AOFF_task_it_virt_value 0x00000148
#define ASIZ_task_it_virt_value 0x00000008
-#define AOFF_task_it_real_incr 0x00000138
+#define AOFF_task_it_real_incr 0x00000150
#define ASIZ_task_it_real_incr 0x00000008
-#define AOFF_task_it_prof_incr 0x00000140
+#define AOFF_task_it_prof_incr 0x00000158
#define ASIZ_task_it_prof_incr 0x00000008
-#define AOFF_task_it_virt_incr 0x00000148
+#define AOFF_task_it_virt_incr 0x00000160
#define ASIZ_task_it_virt_incr 0x00000008
-#define AOFF_task_real_timer 0x00000150
+#define AOFF_task_real_timer 0x00000168
#define ASIZ_task_real_timer 0x00000028
-#define AOFF_task_times 0x00000178
+#define AOFF_task_times 0x00000190
#define ASIZ_task_times 0x00000020
-#define AOFF_task_start_time 0x00000198
+#define AOFF_task_start_time 0x000001b0
#define ASIZ_task_start_time 0x00000008
-#define AOFF_task_per_cpu_utime 0x000001a0
+#define AOFF_task_per_cpu_utime 0x000001b8
#define ASIZ_task_per_cpu_utime 0x00000100
-#define AOFF_task_min_flt 0x000003a0
+#define AOFF_task_min_flt 0x000003b8
#define ASIZ_task_min_flt 0x00000008
-#define AOFF_task_maj_flt 0x000003a8
+#define AOFF_task_maj_flt 0x000003c0
#define ASIZ_task_maj_flt 0x00000008
-#define AOFF_task_nswap 0x000003b0
+#define AOFF_task_nswap 0x000003c8
#define ASIZ_task_nswap 0x00000008
-#define AOFF_task_cmin_flt 0x000003b8
+#define AOFF_task_cmin_flt 0x000003d0
#define ASIZ_task_cmin_flt 0x00000008
-#define AOFF_task_cmaj_flt 0x000003c0
+#define AOFF_task_cmaj_flt 0x000003d8
#define ASIZ_task_cmaj_flt 0x00000008
-#define AOFF_task_cnswap 0x000003c8
+#define AOFF_task_cnswap 0x000003e0
#define ASIZ_task_cnswap 0x00000008
-#define AOFF_task_uid 0x000003d4
+#define AOFF_task_uid 0x000003ec
#define ASIZ_task_uid 0x00000004
-#define AOFF_task_euid 0x000003d8
+#define AOFF_task_euid 0x000003f0
#define ASIZ_task_euid 0x00000004
-#define AOFF_task_suid 0x000003dc
+#define AOFF_task_suid 0x000003f4
#define ASIZ_task_suid 0x00000004
-#define AOFF_task_fsuid 0x000003e0
+#define AOFF_task_fsuid 0x000003f8
#define ASIZ_task_fsuid 0x00000004
-#define AOFF_task_gid 0x000003e4
+#define AOFF_task_gid 0x000003fc
#define ASIZ_task_gid 0x00000004
-#define AOFF_task_egid 0x000003e8
+#define AOFF_task_egid 0x00000400
#define ASIZ_task_egid 0x00000004
-#define AOFF_task_sgid 0x000003ec
+#define AOFF_task_sgid 0x00000404
#define ASIZ_task_sgid 0x00000004
-#define AOFF_task_fsgid 0x000003f0
+#define AOFF_task_fsgid 0x00000408
#define ASIZ_task_fsgid 0x00000004
-#define AOFF_task_ngroups 0x000003f4
+#define AOFF_task_ngroups 0x0000040c
#define ASIZ_task_ngroups 0x00000004
-#define AOFF_task_groups 0x000003f8
+#define AOFF_task_groups 0x00000410
#define ASIZ_task_groups 0x00000080
-#define AOFF_task_cap_effective 0x00000478
+#define AOFF_task_cap_effective 0x00000490
#define ASIZ_task_cap_effective 0x00000004
-#define AOFF_task_cap_inheritable 0x0000047c
+#define AOFF_task_cap_inheritable 0x00000494
#define ASIZ_task_cap_inheritable 0x00000004
-#define AOFF_task_cap_permitted 0x00000480
+#define AOFF_task_cap_permitted 0x00000498
#define ASIZ_task_cap_permitted 0x00000004
-#define AOFF_task_user 0x00000488
+#define AOFF_task_user 0x000004a0
#define ASIZ_task_user 0x00000008
-#define AOFF_task_rlim 0x00000490
+#define AOFF_task_rlim 0x000004a8
#define ASIZ_task_rlim 0x000000a0
-#define AOFF_task_used_math 0x00000530
+#define AOFF_task_used_math 0x00000548
#define ASIZ_task_used_math 0x00000002
-#define AOFF_task_comm 0x00000532
+#define AOFF_task_comm 0x0000054a
#define ASIZ_task_comm 0x00000010
-#define AOFF_task_link_count 0x00000544
+#define AOFF_task_link_count 0x0000055c
#define ASIZ_task_link_count 0x00000004
-#define AOFF_task_tty 0x00000548
+#define AOFF_task_tty 0x00000560
#define ASIZ_task_tty 0x00000008
-#define AOFF_task_semundo 0x00000550
+#define AOFF_task_semundo 0x00000568
#define ASIZ_task_semundo 0x00000008
-#define AOFF_task_semsleeping 0x00000558
+#define AOFF_task_semsleeping 0x00000570
#define ASIZ_task_semsleeping 0x00000008
-#define AOFF_task_thread 0x00000560
+#define AOFF_task_thread 0x00000580
#define ASIZ_task_thread 0x00000460
-#define AOFF_task_fs 0x000009c0
+#define AOFF_task_fs 0x000009e0
#define ASIZ_task_fs 0x00000008
-#define AOFF_task_files 0x000009c8
+#define AOFF_task_files 0x000009e8
#define ASIZ_task_files 0x00000008
-#define AOFF_task_mm 0x000009d0
-#define ASIZ_task_mm 0x00000008
-#define AOFF_task_active_mm 0x000009d8
-#define ASIZ_task_active_mm 0x00000008
-#define AOFF_task_sigmask_lock 0x000009e0
+#define AOFF_task_sigmask_lock 0x000009f0
#define ASIZ_task_sigmask_lock 0x00000001
-#define AOFF_task_sig 0x000009e8
+#define AOFF_task_sig 0x000009f8
#define ASIZ_task_sig 0x00000008
-#define AOFF_task_signal 0x000009f0
+#define AOFF_task_signal 0x00000a00
#define ASIZ_task_signal 0x00000008
-#define AOFF_task_blocked 0x000009f8
+#define AOFF_task_blocked 0x00000a08
#define ASIZ_task_blocked 0x00000008
-#define AOFF_task_sigqueue 0x00000a00
+#define AOFF_task_sigqueue 0x00000a10
#define ASIZ_task_sigqueue 0x00000008
-#define AOFF_task_sigqueue_tail 0x00000a08
+#define AOFF_task_sigqueue_tail 0x00000a18
#define ASIZ_task_sigqueue_tail 0x00000008
-#define AOFF_task_sas_ss_sp 0x00000a10
+#define AOFF_task_sas_ss_sp 0x00000a20
#define ASIZ_task_sas_ss_sp 0x00000008
-#define AOFF_task_sas_ss_size 0x00000a18
+#define AOFF_task_sas_ss_size 0x00000a28
#define ASIZ_task_sas_ss_size 0x00000008
-#define AOFF_task_parent_exec_id 0x00000a20
+#define AOFF_task_parent_exec_id 0x00000a30
#define ASIZ_task_parent_exec_id 0x00000004
-#define AOFF_task_self_exec_id 0x00000a24
+#define AOFF_task_self_exec_id 0x00000a34
#define ASIZ_task_self_exec_id 0x00000004
-#define AOFF_task_exit_sem 0x00000a28
+#define AOFF_task_exit_sem 0x00000a38
#define ASIZ_task_exit_sem 0x00000038
-#define ASIZ_task 0x00000a60
+#define ASIZ_task 0x00000a70
#define AOFF_mm_mmap 0x00000000
#define ASIZ_mm_mmap 0x00000008
#define AOFF_mm_mmap_avl 0x00000008
@@ -610,152 +610,152 @@
#define ASIZ_task_exec_domain 0x00000008
#define AOFF_task_need_resched 0x00000020
#define ASIZ_task_need_resched 0x00000008
-#define AOFF_task_counter 0x00000028
+#define AOFF_task_avg_slice 0x00000028
+#define ASIZ_task_avg_slice 0x00000008
+#define AOFF_task_lock_depth 0x00000030
+#define ASIZ_task_lock_depth 0x00000004
+#define AOFF_task_counter 0x00000038
#define ASIZ_task_counter 0x00000008
-#define AOFF_task_priority 0x00000030
+#define AOFF_task_priority 0x00000040
#define ASIZ_task_priority 0x00000008
-#define AOFF_task_avg_slice 0x00000038
-#define ASIZ_task_avg_slice 0x00000008
-#define AOFF_task_has_cpu 0x00000040
+#define AOFF_task_policy 0x00000048
+#define ASIZ_task_policy 0x00000008
+#define AOFF_task_mm 0x00000050
+#define ASIZ_task_mm 0x00000008
+#define AOFF_task_active_mm 0x00000058
+#define ASIZ_task_active_mm 0x00000008
+#define AOFF_task_has_cpu 0x00000060
#define ASIZ_task_has_cpu 0x00000004
-#define AOFF_task_processor 0x00000044
+#define AOFF_task_processor 0x00000064
#define ASIZ_task_processor 0x00000004
-#define AOFF_task_last_processor 0x00000048
-#define ASIZ_task_last_processor 0x00000004
-#define AOFF_task_lock_depth 0x0000004c
-#define ASIZ_task_lock_depth 0x00000004
-#define AOFF_task_next_task 0x00000050
+#define AOFF_task_run_list 0x00000068
+#define ASIZ_task_run_list 0x00000010
+#define AOFF_task_next_task 0x00000078
#define ASIZ_task_next_task 0x00000008
-#define AOFF_task_prev_task 0x00000058
+#define AOFF_task_prev_task 0x00000080
#define ASIZ_task_prev_task 0x00000008
-#define AOFF_task_run_list 0x00000060
-#define ASIZ_task_run_list 0x00000010
-#define AOFF_task_binfmt 0x00000070
+#define AOFF_task_last_processor 0x00000088
+#define ASIZ_task_last_processor 0x00000004
+#define AOFF_task_binfmt 0x00000090
#define ASIZ_task_binfmt 0x00000008
-#define AOFF_task_exit_code 0x00000078
+#define AOFF_task_exit_code 0x00000098
#define ASIZ_task_exit_code 0x00000004
-#define AOFF_task_exit_signal 0x0000007c
+#define AOFF_task_exit_signal 0x0000009c
#define ASIZ_task_exit_signal 0x00000004
-#define AOFF_task_pdeath_signal 0x00000080
+#define AOFF_task_pdeath_signal 0x000000a0
#define ASIZ_task_pdeath_signal 0x00000004
-#define AOFF_task_personality 0x00000088
+#define AOFF_task_personality 0x000000a8
#define ASIZ_task_personality 0x00000008
-#define AOFF_task_pid 0x00000094
+#define AOFF_task_pid 0x000000b4
#define ASIZ_task_pid 0x00000004
-#define AOFF_task_pgrp 0x00000098
+#define AOFF_task_pgrp 0x000000b8
#define ASIZ_task_pgrp 0x00000004
-#define AOFF_task_tty_old_pgrp 0x0000009c
+#define AOFF_task_tty_old_pgrp 0x000000bc
#define ASIZ_task_tty_old_pgrp 0x00000004
-#define AOFF_task_session 0x000000a0
+#define AOFF_task_session 0x000000c0
#define ASIZ_task_session 0x00000004
-#define AOFF_task_leader 0x000000a4
+#define AOFF_task_leader 0x000000c4
#define ASIZ_task_leader 0x00000004
-#define AOFF_task_p_opptr 0x000000a8
+#define AOFF_task_p_opptr 0x000000c8
#define ASIZ_task_p_opptr 0x00000008
-#define AOFF_task_p_pptr 0x000000b0
+#define AOFF_task_p_pptr 0x000000d0
#define ASIZ_task_p_pptr 0x00000008
-#define AOFF_task_p_cptr 0x000000b8
+#define AOFF_task_p_cptr 0x000000d8
#define ASIZ_task_p_cptr 0x00000008
-#define AOFF_task_p_ysptr 0x000000c0
+#define AOFF_task_p_ysptr 0x000000e0
#define ASIZ_task_p_ysptr 0x00000008
-#define AOFF_task_p_osptr 0x000000c8
+#define AOFF_task_p_osptr 0x000000e8
#define ASIZ_task_p_osptr 0x00000008
-#define AOFF_task_pidhash_next 0x000000d0
+#define AOFF_task_pidhash_next 0x000000f0
#define ASIZ_task_pidhash_next 0x00000008
-#define AOFF_task_pidhash_pprev 0x000000d8
+#define AOFF_task_pidhash_pprev 0x000000f8
#define ASIZ_task_pidhash_pprev 0x00000008
-#define AOFF_task_wait_chldexit 0x000000e0
+#define AOFF_task_wait_chldexit 0x00000100
#define ASIZ_task_wait_chldexit 0x00000030
-#define AOFF_task_vfork_sem 0x00000110
+#define AOFF_task_vfork_sem 0x00000130
#define ASIZ_task_vfork_sem 0x00000008
-#define AOFF_task_policy 0x00000118
-#define ASIZ_task_policy 0x00000008
-#define AOFF_task_rt_priority 0x00000120
+#define AOFF_task_rt_priority 0x00000138
#define ASIZ_task_rt_priority 0x00000008
-#define AOFF_task_it_real_value 0x00000128
+#define AOFF_task_it_real_value 0x00000140
#define ASIZ_task_it_real_value 0x00000008
-#define AOFF_task_it_prof_value 0x00000130
+#define AOFF_task_it_prof_value 0x00000148
#define ASIZ_task_it_prof_value 0x00000008
-#define AOFF_task_it_virt_value 0x00000138
+#define AOFF_task_it_virt_value 0x00000150
#define ASIZ_task_it_virt_value 0x00000008
-#define AOFF_task_it_real_incr 0x00000140
+#define AOFF_task_it_real_incr 0x00000158
#define ASIZ_task_it_real_incr 0x00000008
-#define AOFF_task_it_prof_incr 0x00000148
+#define AOFF_task_it_prof_incr 0x00000160
#define ASIZ_task_it_prof_incr 0x00000008
-#define AOFF_task_it_virt_incr 0x00000150
+#define AOFF_task_it_virt_incr 0x00000168
#define ASIZ_task_it_virt_incr 0x00000008
-#define AOFF_task_real_timer 0x00000158
+#define AOFF_task_real_timer 0x00000170
#define ASIZ_task_real_timer 0x00000028
-#define AOFF_task_times 0x00000180
+#define AOFF_task_times 0x00000198
#define ASIZ_task_times 0x00000020
-#define AOFF_task_start_time 0x000001a0
+#define AOFF_task_start_time 0x000001b8
#define ASIZ_task_start_time 0x00000008
-#define AOFF_task_per_cpu_utime 0x000001a8
+#define AOFF_task_per_cpu_utime 0x000001c0
#define ASIZ_task_per_cpu_utime 0x00000100
-#define AOFF_task_min_flt 0x000003a8
+#define AOFF_task_min_flt 0x000003c0
#define ASIZ_task_min_flt 0x00000008
-#define AOFF_task_maj_flt 0x000003b0
+#define AOFF_task_maj_flt 0x000003c8
#define ASIZ_task_maj_flt 0x00000008
-#define AOFF_task_nswap 0x000003b8
+#define AOFF_task_nswap 0x000003d0
#define ASIZ_task_nswap 0x00000008
-#define AOFF_task_cmin_flt 0x000003c0
+#define AOFF_task_cmin_flt 0x000003d8
#define ASIZ_task_cmin_flt 0x00000008
-#define AOFF_task_cmaj_flt 0x000003c8
+#define AOFF_task_cmaj_flt 0x000003e0
#define ASIZ_task_cmaj_flt 0x00000008
-#define AOFF_task_cnswap 0x000003d0
+#define AOFF_task_cnswap 0x000003e8
#define ASIZ_task_cnswap 0x00000008
-#define AOFF_task_uid 0x000003dc
+#define AOFF_task_uid 0x000003f4
#define ASIZ_task_uid 0x00000004
-#define AOFF_task_euid 0x000003e0
+#define AOFF_task_euid 0x000003f8
#define ASIZ_task_euid 0x00000004
-#define AOFF_task_suid 0x000003e4
+#define AOFF_task_suid 0x000003fc
#define ASIZ_task_suid 0x00000004
-#define AOFF_task_fsuid 0x000003e8
+#define AOFF_task_fsuid 0x00000400
#define ASIZ_task_fsuid 0x00000004
-#define AOFF_task_gid 0x000003ec
+#define AOFF_task_gid 0x00000404
#define ASIZ_task_gid 0x00000004
-#define AOFF_task_egid 0x000003f0
+#define AOFF_task_egid 0x00000408
#define ASIZ_task_egid 0x00000004
-#define AOFF_task_sgid 0x000003f4
+#define AOFF_task_sgid 0x0000040c
#define ASIZ_task_sgid 0x00000004
-#define AOFF_task_fsgid 0x000003f8
+#define AOFF_task_fsgid 0x00000410
#define ASIZ_task_fsgid 0x00000004
-#define AOFF_task_ngroups 0x000003fc
+#define AOFF_task_ngroups 0x00000414
#define ASIZ_task_ngroups 0x00000004
-#define AOFF_task_groups 0x00000400
+#define AOFF_task_groups 0x00000418
#define ASIZ_task_groups 0x00000080
-#define AOFF_task_cap_effective 0x00000480
+#define AOFF_task_cap_effective 0x00000498
#define ASIZ_task_cap_effective 0x00000004
-#define AOFF_task_cap_inheritable 0x00000484
+#define AOFF_task_cap_inheritable 0x0000049c
#define ASIZ_task_cap_inheritable 0x00000004
-#define AOFF_task_cap_permitted 0x00000488
+#define AOFF_task_cap_permitted 0x000004a0
#define ASIZ_task_cap_permitted 0x00000004
-#define AOFF_task_user 0x00000490
+#define AOFF_task_user 0x000004a8
#define ASIZ_task_user 0x00000008
-#define AOFF_task_rlim 0x00000498
+#define AOFF_task_rlim 0x000004b0
#define ASIZ_task_rlim 0x000000a0
-#define AOFF_task_used_math 0x00000538
+#define AOFF_task_used_math 0x00000550
#define ASIZ_task_used_math 0x00000002
-#define AOFF_task_comm 0x0000053a
+#define AOFF_task_comm 0x00000552
#define ASIZ_task_comm 0x00000010
-#define AOFF_task_link_count 0x0000054c
+#define AOFF_task_link_count 0x00000564
#define ASIZ_task_link_count 0x00000004
-#define AOFF_task_tty 0x00000550
+#define AOFF_task_tty 0x00000568
#define ASIZ_task_tty 0x00000008
-#define AOFF_task_semundo 0x00000558
+#define AOFF_task_semundo 0x00000570
#define ASIZ_task_semundo 0x00000008
-#define AOFF_task_semsleeping 0x00000560
+#define AOFF_task_semsleeping 0x00000578
#define ASIZ_task_semsleeping 0x00000008
-#define AOFF_task_thread 0x00000570
+#define AOFF_task_thread 0x00000580
#define ASIZ_task_thread 0x00000460
-#define AOFF_task_fs 0x000009d0
+#define AOFF_task_fs 0x000009e0
#define ASIZ_task_fs 0x00000008
-#define AOFF_task_files 0x000009d8
+#define AOFF_task_files 0x000009e8
#define ASIZ_task_files 0x00000008
-#define AOFF_task_mm 0x000009e0
-#define ASIZ_task_mm 0x00000008
-#define AOFF_task_active_mm 0x000009e8
-#define ASIZ_task_active_mm 0x00000008
#define AOFF_task_sigmask_lock 0x000009f0
#define ASIZ_task_sigmask_lock 0x0000000c
#define AOFF_task_sig 0x00000a00
diff --git a/include/asm-sparc64/floppy.h b/include/asm-sparc64/floppy.h
index fda381c48..9a7fd950a 100644
--- a/include/asm-sparc64/floppy.h
+++ b/include/asm-sparc64/floppy.h
@@ -1,4 +1,4 @@
-/* $Id: floppy.h,v 1.23 1999/09/21 14:39:34 davem Exp $
+/* $Id: floppy.h,v 1.24 2000/01/09 15:16:34 ecd Exp $
* asm-sparc64/floppy.h: Sparc specific parts of the Floppy driver.
*
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
@@ -574,7 +574,6 @@ static unsigned long __init sun_floppy_init(void)
struct linux_ebus_device *edev = 0;
unsigned long config = 0;
unsigned long auxio_reg;
- unsigned char cfg;
for_each_ebus(ebus) {
for_each_ebusdev(edev, ebus) {
@@ -669,9 +668,7 @@ static unsigned long __init sun_floppy_init(void)
return sun_floppy_types[0];
/* Enable PC-AT mode. */
- cfg = ns87303_readb(config, ASC);
- cfg |= 0xc0;
- ns87303_writeb(config, ASC, cfg);
+ ns87303_modify(config, ASC, 0, 0xc0);
#ifdef PCI_FDC_SWAP_DRIVES
/*
@@ -682,15 +679,9 @@ static unsigned long __init sun_floppy_init(void)
* Set the drive exchange bit in FCR on NS87303,
* make shure other bits are sane before doing so.
*/
- cfg = ns87303_readb(config, FER);
- cfg &= ~(FER_EDM);
- ns87303_writeb(config, FER, cfg);
- cfg = ns87303_readb(config, ASC);
- cfg &= ~(ASC_DRV2_SEL);
- ns87303_writeb(config, ASC, cfg);
- cfg = ns87303_readb(config, FCR);
- cfg |= FCR_LDE;
- ns87303_writeb(config, FCR, cfg);
+ ns87303_modify(config, FER, FER_EDM, 0);
+ ns87303_modify(config, ASC, ASC_DRV2_SEL, 0);
+ ns87303_modify(config, FCR, 0, FCR_LDE);
cfg = sun_floppy_types[0];
sun_floppy_types[0] = sun_floppy_types[1];
diff --git a/include/asm-sparc64/ipcbuf.h b/include/asm-sparc64/ipcbuf.h
new file mode 100644
index 000000000..9c5bf1bc4
--- /dev/null
+++ b/include/asm-sparc64/ipcbuf.h
@@ -0,0 +1,28 @@
+#ifndef _SPARC64_IPCBUF_H
+#define _SPARC64_IPCBUF_H
+
+/*
+ * The ipc64_perm 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:
+ * - 32-bit seq
+ * - 2 miscellaneous 64-bit values
+ */
+
+struct ipc64_perm
+{
+ __kernel_key_t key;
+ __kernel_uid_t uid;
+ __kernel_gid_t gid;
+ __kernel_uid_t cuid;
+ __kernel_gid_t cgid;
+ __kernel_mode_t mode;
+ unsigned short __pad1;
+ unsigned short seq;
+ unsigned long __unused1;
+ unsigned long __unused2;
+};
+
+#endif /* _SPARC64_IPCBUF_H */
diff --git a/include/asm-sparc64/msgbuf.h b/include/asm-sparc64/msgbuf.h
new file mode 100644
index 000000000..55c101bd0
--- /dev/null
+++ b/include/asm-sparc64/msgbuf.h
@@ -0,0 +1,27 @@
+#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:
+ * - 2 miscellaneous 64-bit values
+ */
+
+struct msqid64_ds {
+ struct ipc64_perm msg_perm;
+ __kernel_time_t msg_stime; /* last msgsnd time */
+ __kernel_time_t msg_rtime; /* last msgrcv time */
+ __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-sparc64/ns87303.h b/include/asm-sparc64/ns87303.h
index cfd159a5a..89ac8c4ad 100644
--- a/include/asm-sparc64/ns87303.h
+++ b/include/asm-sparc64/ns87303.h
@@ -1,4 +1,4 @@
-/* $Id: ns87303.h,v 1.2 1998/09/13 15:38:50 ecd Exp $
+/* $Id: ns87303.h,v 1.3 2000/01/09 15:16:34 ecd Exp $
* ns87303.h: Configuration Register Description for the
* National Semiconductor PC87303 (SuperIO).
*
@@ -45,7 +45,7 @@
#define FCR_LDE 0x10 /* Logical Drive Exchange */
#define FCR_ZWS_ENA 0x20 /* Enable short host read/write in ECP/EPP */
-/* Printer Controll Register (PCR) bits */
+/* Printer Control Register (PCR) bits */
#define PCR_EPP_ENABLE 0x01
#define PCR_EPP_IEEE 0x02 /* Enable EPP Version 1.9 (IEEE 1284) */
#define PCR_ECP_ENABLE 0x04
@@ -61,27 +61,51 @@
#define ASC_LPT_IRQ7 0x01 /* Allways use IRQ7 for LPT */
#define ASC_DRV2_SEL 0x02 /* Logical Drive Exchange controlled by TDR */
+#define FER_RESERVED 0x00
+#define FAR_RESERVED 0x00
+#define PTR_RESERVED 0x73
+#define FCR_RESERVED 0xc4
+#define PCR_RESERVED 0x10
+#define KRR_RESERVED 0x00
+#define PMC_RESERVED 0x98
+#define TUP_RESERVED 0xfb
+#define SIP_RESERVED 0x00
+#define ASC_RESERVED 0x18
+#define CS0CF0_RESERVED 0x00
+#define CS0CF1_RESERVED 0x08
+#define CS1CF0_RESERVED 0x00
+#define CS1CF1_RESERVED 0x08
+
#ifdef __KERNEL__
#include <asm/system.h>
#include <asm/io.h>
-static __inline__ void ns87303_writeb(unsigned long port, int index,
- unsigned char value)
+static __inline__ int ns87303_modify(unsigned long port, unsigned int index,
+ unsigned char clr, unsigned char set)
{
+ static unsigned char reserved[] = {
+ FER_RESERVED, FAR_RESERVED, PTR_RESERVED, FCR_RESERVED,
+ PCR_RESERVED, KRR_RESERVED, PMC_RESERVED, TUP_RESERVED,
+ SIP_RESERVED, ASC_RESERVED, CS0CF0_RESERVED, CS0CF1_RESERVED,
+ CS1CF0_RESERVED, CS1CF1_RESERVED
+ };
unsigned long flags;
+ unsigned char value;
+
+ if (index > 0x0d)
+ return -EINVAL;
save_flags(flags); cli();
outb(index, port);
+ value = inb(port + 1);
+ value &= ~(reserved[index] | clr);
+ value |= set;
outb(value, port + 1);
outb(value, port + 1);
restore_flags(flags);
-}
-static __inline__ unsigned char ns87303_readb(unsigned long port, int index)
-{
- outb(index, port);
- return inb(port + 1);
+ return 0;
}
#endif /* __KERNEL__ */
diff --git a/include/asm-sparc64/parport.h b/include/asm-sparc64/parport.h
index 67a0da1fa..97aeaf7f6 100644
--- a/include/asm-sparc64/parport.h
+++ b/include/asm-sparc64/parport.h
@@ -1,4 +1,4 @@
-/* $Id: parport.h,v 1.5 1999/08/30 10:14:52 davem Exp $
+/* $Id: parport.h,v 1.6 2000/01/09 15:16:34 ecd Exp $
* parport.h: sparc64 specific parport initialization and dma.
*
* Copyright (C) 1999 Eddie C. Dost (ecd@skynet.be)
@@ -19,8 +19,6 @@
#define __maybe_initdata __initdata
#endif
-#undef HAVE_SLOW_DEVICES
-
#define PARPORT_PC_MAX_PORTS PARPORT_MAX
static struct linux_ebus_dma *sparc_ebus_dmas[PARPORT_PC_MAX_PORTS];
@@ -33,7 +31,7 @@ reset_dma(unsigned int dmanr)
writel(EBUS_DCSR_RESET, &sparc_ebus_dmas[dmanr]->dcsr);
udelay(1);
dcsr = EBUS_DCSR_BURST_SZ_16 | EBUS_DCSR_TCI_DIS |
- EBUS_DCSR_EN_CNT;
+ EBUS_DCSR_EN_CNT | EBUS_DCSR_INT_EN;
writel(dcsr, &sparc_ebus_dmas[dmanr]->dcsr);
}
@@ -62,11 +60,8 @@ disable_dma(unsigned int dmanr)
writel(dcsr, &sparc_ebus_dmas[dmanr]->dcsr);
dcsr = readl(&sparc_ebus_dmas[dmanr]->dcsr);
- if (dcsr & EBUS_DCSR_ERR_PEND) {
+ if (dcsr & EBUS_DCSR_ERR_PEND)
reset_dma(dmanr);
- dcsr &= ~(EBUS_DCSR_ERR_PEND);
- }
- writel(dcsr, &sparc_ebus_dmas[dmanr]->dcsr);
}
}
@@ -105,15 +100,11 @@ set_dma_count(unsigned int dmanr, unsigned int count)
static __inline__ int
get_dma_residue(unsigned int dmanr)
{
- unsigned int dcsr;
int res;
res = readl(&sparc_ebus_dmas[dmanr]->dbcr);
- if (res != 0) {
- dcsr = readl(&sparc_ebus_dmas[dmanr]->dcsr);
+ if (res != 0)
reset_dma(dmanr);
- writel(dcsr, &sparc_ebus_dmas[dmanr]->dcsr);
- }
return res;
}
@@ -136,36 +127,25 @@ parport_pc_init(int *io, int *io_hi, int *irq, int *dma)
if (!strcmp(edev->prom_name, "ecpp")) {
unsigned long base = edev->resource[0].start;
unsigned long config = edev->resource[1].start;
- unsigned char cfg;
sparc_ebus_dmas[count] =
(struct linux_ebus_dma *)
edev->resource[2].start;
reset_dma(count);
+ /* Configure IRQ to Push Pull, Level Low */
/* Enable ECP, set bit 2 of the CTR first */
outb(0x04, base + 0x02);
- cfg = ns87303_readb(config, PCR);
- cfg |= (PCR_ECP_ENABLE | PCR_ECP_CLK_ENA);
- ns87303_writeb(config, PCR, cfg);
+ ns87303_modify(config, PCR,
+ PCR_EPP_ENABLE |
+ PCR_IRQ_ODRAIN,
+ PCR_ECP_ENABLE |
+ PCR_ECP_CLK_ENA |
+ PCR_IRQ_POLAR);
/* CTR bit 5 controls direction of port */
- cfg = ns87303_readb(config, PTR);
- cfg |= PTR_LPT_REG_DIR;
- ns87303_writeb(config, PTR, cfg);
-
- /* Configure IRQ to Push Pull, Level Low */
- cfg = ns87303_readb(config, PCR);
- cfg &= ~(PCR_IRQ_ODRAIN);
- cfg |= PCR_IRQ_POLAR;
- ns87303_writeb(config, PCR, cfg);
-
-#ifndef HAVE_SLOW_DEVICES
- /* Enable Zero Wait State for ECP */
- cfg = ns87303_readb(config, FCR);
- cfg |= FCR_ZWS_ENA;
- ns87303_writeb(config, FCR, cfg);
-#endif
+ ns87303_modify(config, PTR,
+ 0, PTR_LPT_REG_DIR);
if (parport_pc_probe_port(base, base + 0x400,
edev->irqs[0],
diff --git a/include/asm-sparc64/pci.h b/include/asm-sparc64/pci.h
index 98f706e01..4131b698f 100644
--- a/include/asm-sparc64/pci.h
+++ b/include/asm-sparc64/pci.h
@@ -9,6 +9,9 @@
*/
#define pcibios_assign_all_busses() 0
+#define PCIBIOS_MIN_IO 0UL
+#define PCIBIOS_MIN_MEM 0UL
+
struct pci_dev;
/* Allocate and map kernel buffer using consistant mode DMA for PCI device.
diff --git a/include/asm-sparc64/posix_types.h b/include/asm-sparc64/posix_types.h
index e0836990a..e2a024e3e 100644
--- a/include/asm-sparc64/posix_types.h
+++ b/include/asm-sparc64/posix_types.h
@@ -29,6 +29,13 @@ typedef unsigned int __kernel_nlink_t;
typedef int __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 __kernel_uid_t __kernel_old_uid_t;
+typedef __kernel_gid_t __kernel_old_gid_t;
+typedef __kernel_uid_t __kernel_uid32_t;
+typedef __kernel_gid_t __kernel_gid32_t;
/* Note this piece of asymmetry from the v9 ABI. */
typedef int __kernel_suseconds_t;
diff --git a/include/asm-sparc64/sembuf.h b/include/asm-sparc64/sembuf.h
new file mode 100644
index 000000000..99f04e4e2
--- /dev/null
+++ b/include/asm-sparc64/sembuf.h
@@ -0,0 +1,22 @@
+#ifndef _SPARC64_SEMBUF_H
+#define _SPARC64_SEMBUF_H
+
+/*
+ * The semid64_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:
+ * - 2 miscellaneous 64-bit values
+ */
+
+struct semid64_ds {
+ struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
+ __kernel_time_t sem_otime; /* last semop time */
+ __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-sparc64/shmbuf.h b/include/asm-sparc64/shmbuf.h
new file mode 100644
index 000000000..61c2ef42e
--- /dev/null
+++ b/include/asm-sparc64/shmbuf.h
@@ -0,0 +1,38 @@
+#ifndef _SPARC64_SHMBUF_H
+#define _SPARC64_SHMBUF_H
+
+/*
+ * The shmid64_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:
+ * - 2 miscellaneous 64-bit values
+ */
+
+struct shmid64_ds {
+ struct ipc64_perm shm_perm; /* operation perms */
+ __kernel_time_t shm_atime; /* last attach time */
+ __kernel_time_t shm_dtime; /* last detach time */
+ __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 /* _SPARC64_SHMBUF_H */
diff --git a/include/asm-sparc64/unistd.h b/include/asm-sparc64/unistd.h
index 8c9b29bc6..49c063d44 100644
--- a/include/asm-sparc64/unistd.h
+++ b/include/asm-sparc64/unistd.h
@@ -1,4 +1,4 @@
-/* $Id: unistd.h,v 1.37 2000/01/05 07:37:55 jj Exp $ */
+/* $Id: unistd.h,v 1.39 2000/01/11 17:34:05 jj Exp $ */
#ifndef _SPARC64_UNISTD_H
#define _SPARC64_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_memory_ordering 52 /* Linux Specific */
-/* #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_setresuid 108 /* Linux Specific, sigvec under SunOS */
+#define __NR_getresuid 109 /* Linux Specific, sigblock under SunOS */
+#define __NR_setresgid 110 /* Linux Specific, sigsetmask under SunOS */
+#define __NR_getresgid 111 /* Linux Specific, sigpause under SunOS */
+/* #define __NR_setregid32 75 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 */