diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-02-24 00:12:35 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-02-24 00:12:35 +0000 |
commit | 482368b1a8e45430672c58c9a42e7d2004367126 (patch) | |
tree | ce2a1a567d4d62dee7c2e71a46a99cf72cf1d606 /include/asm-sparc64 | |
parent | e4d0251c6f56ab2e191afb70f80f382793e23f74 (diff) |
Merge with 2.3.47. Guys, this is buggy as shit. You've been warned.
Diffstat (limited to 'include/asm-sparc64')
-rw-r--r-- | include/asm-sparc64/asm_offsets.h | 318 | ||||
-rw-r--r-- | include/asm-sparc64/floppy.h | 34 | ||||
-rw-r--r-- | include/asm-sparc64/hardirq.h | 10 | ||||
-rw-r--r-- | include/asm-sparc64/io.h | 6 | ||||
-rw-r--r-- | include/asm-sparc64/page.h | 16 | ||||
-rw-r--r-- | include/asm-sparc64/pbm.h | 14 | ||||
-rw-r--r-- | include/asm-sparc64/pci.h | 19 | ||||
-rw-r--r-- | include/asm-sparc64/pgtable.h | 14 | ||||
-rw-r--r-- | include/asm-sparc64/sbus.h | 19 |
9 files changed, 249 insertions, 201 deletions
diff --git a/include/asm-sparc64/asm_offsets.h b/include/asm-sparc64/asm_offsets.h index 895583bb8..3ed7dd760 100644 --- a/include/asm-sparc64/asm_offsets.h +++ b/include/asm-sparc64/asm_offsets.h @@ -85,114 +85,114 @@ #define AOFF_task_pidhash_pprev 0x000000f8 #define ASIZ_task_pidhash_pprev 0x00000008 #define AOFF_task_wait_chldexit 0x00000100 -#define ASIZ_task_wait_chldexit 0x00000020 -#define AOFF_task_vfork_sem 0x00000120 +#define ASIZ_task_wait_chldexit 0x00000028 +#define AOFF_task_vfork_sem 0x00000128 #define ASIZ_task_vfork_sem 0x00000008 -#define AOFF_task_rt_priority 0x00000128 +#define AOFF_task_rt_priority 0x00000130 #define ASIZ_task_rt_priority 0x00000008 -#define AOFF_task_it_real_value 0x00000130 +#define AOFF_task_it_real_value 0x00000138 #define ASIZ_task_it_real_value 0x00000008 -#define AOFF_task_it_prof_value 0x00000138 +#define AOFF_task_it_prof_value 0x00000140 #define ASIZ_task_it_prof_value 0x00000008 -#define AOFF_task_it_virt_value 0x00000140 +#define AOFF_task_it_virt_value 0x00000148 #define ASIZ_task_it_virt_value 0x00000008 -#define AOFF_task_it_real_incr 0x00000148 +#define AOFF_task_it_real_incr 0x00000150 #define ASIZ_task_it_real_incr 0x00000008 -#define AOFF_task_it_prof_incr 0x00000150 +#define AOFF_task_it_prof_incr 0x00000158 #define ASIZ_task_it_prof_incr 0x00000008 -#define AOFF_task_it_virt_incr 0x00000158 +#define AOFF_task_it_virt_incr 0x00000160 #define ASIZ_task_it_virt_incr 0x00000008 -#define AOFF_task_real_timer 0x00000160 -#define ASIZ_task_real_timer 0x00000028 -#define AOFF_task_times 0x00000188 +#define AOFF_task_real_timer 0x00000168 +#define ASIZ_task_real_timer 0x00000030 +#define AOFF_task_times 0x00000198 #define ASIZ_task_times 0x00000020 -#define AOFF_task_start_time 0x000001a8 +#define AOFF_task_start_time 0x000001b8 #define ASIZ_task_start_time 0x00000008 -#define AOFF_task_per_cpu_utime 0x000001b0 +#define AOFF_task_per_cpu_utime 0x000001c0 #define ASIZ_task_per_cpu_utime 0x00000008 -#define AOFF_task_min_flt 0x000001c0 +#define AOFF_task_min_flt 0x000001d0 #define ASIZ_task_min_flt 0x00000008 -#define AOFF_task_maj_flt 0x000001c8 +#define AOFF_task_maj_flt 0x000001d8 #define ASIZ_task_maj_flt 0x00000008 -#define AOFF_task_nswap 0x000001d0 +#define AOFF_task_nswap 0x000001e0 #define ASIZ_task_nswap 0x00000008 -#define AOFF_task_cmin_flt 0x000001d8 +#define AOFF_task_cmin_flt 0x000001e8 #define ASIZ_task_cmin_flt 0x00000008 -#define AOFF_task_cmaj_flt 0x000001e0 +#define AOFF_task_cmaj_flt 0x000001f0 #define ASIZ_task_cmaj_flt 0x00000008 -#define AOFF_task_cnswap 0x000001e8 +#define AOFF_task_cnswap 0x000001f8 #define ASIZ_task_cnswap 0x00000008 -#define AOFF_task_uid 0x000001f4 +#define AOFF_task_uid 0x00000204 #define ASIZ_task_uid 0x00000004 -#define AOFF_task_euid 0x000001f8 +#define AOFF_task_euid 0x00000208 #define ASIZ_task_euid 0x00000004 -#define AOFF_task_suid 0x000001fc +#define AOFF_task_suid 0x0000020c #define ASIZ_task_suid 0x00000004 -#define AOFF_task_fsuid 0x00000200 +#define AOFF_task_fsuid 0x00000210 #define ASIZ_task_fsuid 0x00000004 -#define AOFF_task_gid 0x00000204 +#define AOFF_task_gid 0x00000214 #define ASIZ_task_gid 0x00000004 -#define AOFF_task_egid 0x00000208 +#define AOFF_task_egid 0x00000218 #define ASIZ_task_egid 0x00000004 -#define AOFF_task_sgid 0x0000020c +#define AOFF_task_sgid 0x0000021c #define ASIZ_task_sgid 0x00000004 -#define AOFF_task_fsgid 0x00000210 +#define AOFF_task_fsgid 0x00000220 #define ASIZ_task_fsgid 0x00000004 -#define AOFF_task_ngroups 0x00000214 +#define AOFF_task_ngroups 0x00000224 #define ASIZ_task_ngroups 0x00000004 -#define AOFF_task_groups 0x00000218 +#define AOFF_task_groups 0x00000228 #define ASIZ_task_groups 0x00000080 -#define AOFF_task_cap_effective 0x00000298 +#define AOFF_task_cap_effective 0x000002a8 #define ASIZ_task_cap_effective 0x00000004 -#define AOFF_task_cap_inheritable 0x0000029c +#define AOFF_task_cap_inheritable 0x000002ac #define ASIZ_task_cap_inheritable 0x00000004 -#define AOFF_task_cap_permitted 0x000002a0 +#define AOFF_task_cap_permitted 0x000002b0 #define ASIZ_task_cap_permitted 0x00000004 -#define AOFF_task_user 0x000002a8 +#define AOFF_task_user 0x000002b8 #define ASIZ_task_user 0x00000008 -#define AOFF_task_rlim 0x000002b0 +#define AOFF_task_rlim 0x000002c0 #define ASIZ_task_rlim 0x000000a0 -#define AOFF_task_used_math 0x00000350 +#define AOFF_task_used_math 0x00000360 #define ASIZ_task_used_math 0x00000002 -#define AOFF_task_comm 0x00000352 +#define AOFF_task_comm 0x00000362 #define ASIZ_task_comm 0x00000010 -#define AOFF_task_link_count 0x00000364 +#define AOFF_task_link_count 0x00000374 #define ASIZ_task_link_count 0x00000004 -#define AOFF_task_tty 0x00000368 +#define AOFF_task_tty 0x00000378 #define ASIZ_task_tty 0x00000008 -#define AOFF_task_semundo 0x00000370 +#define AOFF_task_semundo 0x00000380 #define ASIZ_task_semundo 0x00000008 -#define AOFF_task_semsleeping 0x00000378 +#define AOFF_task_semsleeping 0x00000388 #define ASIZ_task_semsleeping 0x00000008 -#define AOFF_task_thread 0x00000380 +#define AOFF_task_thread 0x00000390 #define ASIZ_task_thread 0x00000450 -#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_sigmask_lock 0x000007e0 -#define ASIZ_task_sigmask_lock 0x00000000 -#define AOFF_task_sig 0x000007e0 +#define AOFF_task_sigmask_lock 0x000007f0 +#define ASIZ_task_sigmask_lock 0x00000004 +#define AOFF_task_sig 0x000007f8 #define ASIZ_task_sig 0x00000008 -#define AOFF_task_signal 0x000007e8 +#define AOFF_task_signal 0x00000800 #define ASIZ_task_signal 0x00000008 -#define AOFF_task_blocked 0x000007f0 +#define AOFF_task_blocked 0x00000808 #define ASIZ_task_blocked 0x00000008 -#define AOFF_task_sigqueue 0x000007f8 +#define AOFF_task_sigqueue 0x00000810 #define ASIZ_task_sigqueue 0x00000008 -#define AOFF_task_sigqueue_tail 0x00000800 +#define AOFF_task_sigqueue_tail 0x00000818 #define ASIZ_task_sigqueue_tail 0x00000008 -#define AOFF_task_sas_ss_sp 0x00000808 +#define AOFF_task_sas_ss_sp 0x00000820 #define ASIZ_task_sas_ss_sp 0x00000008 -#define AOFF_task_sas_ss_size 0x00000810 +#define AOFF_task_sas_ss_size 0x00000828 #define ASIZ_task_sas_ss_size 0x00000008 -#define AOFF_task_parent_exec_id 0x00000818 +#define AOFF_task_parent_exec_id 0x00000830 #define ASIZ_task_parent_exec_id 0x00000004 -#define AOFF_task_self_exec_id 0x0000081c +#define AOFF_task_self_exec_id 0x00000834 #define ASIZ_task_self_exec_id 0x00000004 -#define AOFF_task_exit_sem 0x00000820 -#define ASIZ_task_exit_sem 0x00000030 -#define ASIZ_task 0x00000850 +#define AOFF_task_exit_sem 0x00000838 +#define ASIZ_task_exit_sem 0x00000038 +#define ASIZ_task 0x00000870 #define AOFF_mm_mmap 0x00000000 #define ASIZ_mm_mmap 0x00000008 #define AOFF_mm_mmap_avl 0x00000008 @@ -208,50 +208,50 @@ #define AOFF_mm_map_count 0x00000028 #define ASIZ_mm_map_count 0x00000004 #define AOFF_mm_mmap_sem 0x00000030 -#define ASIZ_mm_mmap_sem 0x00000030 -#define AOFF_mm_page_table_lock 0x00000060 -#define ASIZ_mm_page_table_lock 0x00000000 -#define AOFF_mm_context 0x00000060 +#define ASIZ_mm_mmap_sem 0x00000038 +#define AOFF_mm_page_table_lock 0x00000068 +#define ASIZ_mm_page_table_lock 0x00000004 +#define AOFF_mm_context 0x00000070 #define ASIZ_mm_context 0x00000008 -#define AOFF_mm_start_code 0x00000068 +#define AOFF_mm_start_code 0x00000078 #define ASIZ_mm_start_code 0x00000008 -#define AOFF_mm_end_code 0x00000070 +#define AOFF_mm_end_code 0x00000080 #define ASIZ_mm_end_code 0x00000008 -#define AOFF_mm_start_data 0x00000078 +#define AOFF_mm_start_data 0x00000088 #define ASIZ_mm_start_data 0x00000008 -#define AOFF_mm_end_data 0x00000080 +#define AOFF_mm_end_data 0x00000090 #define ASIZ_mm_end_data 0x00000008 -#define AOFF_mm_start_brk 0x00000088 +#define AOFF_mm_start_brk 0x00000098 #define ASIZ_mm_start_brk 0x00000008 -#define AOFF_mm_brk 0x00000090 +#define AOFF_mm_brk 0x000000a0 #define ASIZ_mm_brk 0x00000008 -#define AOFF_mm_start_stack 0x00000098 +#define AOFF_mm_start_stack 0x000000a8 #define ASIZ_mm_start_stack 0x00000008 -#define AOFF_mm_arg_start 0x000000a0 +#define AOFF_mm_arg_start 0x000000b0 #define ASIZ_mm_arg_start 0x00000008 -#define AOFF_mm_arg_end 0x000000a8 +#define AOFF_mm_arg_end 0x000000b8 #define ASIZ_mm_arg_end 0x00000008 -#define AOFF_mm_env_start 0x000000b0 +#define AOFF_mm_env_start 0x000000c0 #define ASIZ_mm_env_start 0x00000008 -#define AOFF_mm_env_end 0x000000b8 +#define AOFF_mm_env_end 0x000000c8 #define ASIZ_mm_env_end 0x00000008 -#define AOFF_mm_rss 0x000000c0 +#define AOFF_mm_rss 0x000000d0 #define ASIZ_mm_rss 0x00000008 -#define AOFF_mm_total_vm 0x000000c8 +#define AOFF_mm_total_vm 0x000000d8 #define ASIZ_mm_total_vm 0x00000008 -#define AOFF_mm_locked_vm 0x000000d0 +#define AOFF_mm_locked_vm 0x000000e0 #define ASIZ_mm_locked_vm 0x00000008 -#define AOFF_mm_def_flags 0x000000d8 +#define AOFF_mm_def_flags 0x000000e8 #define ASIZ_mm_def_flags 0x00000008 -#define AOFF_mm_cpu_vm_mask 0x000000e0 +#define AOFF_mm_cpu_vm_mask 0x000000f0 #define ASIZ_mm_cpu_vm_mask 0x00000008 -#define AOFF_mm_swap_cnt 0x000000e8 +#define AOFF_mm_swap_cnt 0x000000f8 #define ASIZ_mm_swap_cnt 0x00000008 -#define AOFF_mm_swap_address 0x000000f0 +#define AOFF_mm_swap_address 0x00000100 #define ASIZ_mm_swap_address 0x00000008 -#define AOFF_mm_segments 0x000000f8 +#define AOFF_mm_segments 0x00000108 #define ASIZ_mm_segments 0x00000008 -#define ASIZ_mm 0x00000100 +#define ASIZ_mm 0x00000110 #define AOFF_thread_ksp 0x00000000 #define ASIZ_thread_ksp 0x00000008 #define AOFF_thread_wstate 0x00000008 @@ -391,66 +391,66 @@ #define AOFF_task_it_virt_incr 0x00000160 #define ASIZ_task_it_virt_incr 0x00000008 #define AOFF_task_real_timer 0x00000168 -#define ASIZ_task_real_timer 0x00000028 -#define AOFF_task_times 0x00000190 +#define ASIZ_task_real_timer 0x00000030 +#define AOFF_task_times 0x00000198 #define ASIZ_task_times 0x00000020 -#define AOFF_task_start_time 0x000001b0 +#define AOFF_task_start_time 0x000001b8 #define ASIZ_task_start_time 0x00000008 -#define AOFF_task_per_cpu_utime 0x000001b8 +#define AOFF_task_per_cpu_utime 0x000001c0 #define ASIZ_task_per_cpu_utime 0x00000100 -#define AOFF_task_min_flt 0x000003b8 +#define AOFF_task_min_flt 0x000003c0 #define ASIZ_task_min_flt 0x00000008 -#define AOFF_task_maj_flt 0x000003c0 +#define AOFF_task_maj_flt 0x000003c8 #define ASIZ_task_maj_flt 0x00000008 -#define AOFF_task_nswap 0x000003c8 +#define AOFF_task_nswap 0x000003d0 #define ASIZ_task_nswap 0x00000008 -#define AOFF_task_cmin_flt 0x000003d0 +#define AOFF_task_cmin_flt 0x000003d8 #define ASIZ_task_cmin_flt 0x00000008 -#define AOFF_task_cmaj_flt 0x000003d8 +#define AOFF_task_cmaj_flt 0x000003e0 #define ASIZ_task_cmaj_flt 0x00000008 -#define AOFF_task_cnswap 0x000003e0 +#define AOFF_task_cnswap 0x000003e8 #define ASIZ_task_cnswap 0x00000008 -#define AOFF_task_uid 0x000003ec +#define AOFF_task_uid 0x000003f4 #define ASIZ_task_uid 0x00000004 -#define AOFF_task_euid 0x000003f0 +#define AOFF_task_euid 0x000003f8 #define ASIZ_task_euid 0x00000004 -#define AOFF_task_suid 0x000003f4 +#define AOFF_task_suid 0x000003fc #define ASIZ_task_suid 0x00000004 -#define AOFF_task_fsuid 0x000003f8 +#define AOFF_task_fsuid 0x00000400 #define ASIZ_task_fsuid 0x00000004 -#define AOFF_task_gid 0x000003fc +#define AOFF_task_gid 0x00000404 #define ASIZ_task_gid 0x00000004 -#define AOFF_task_egid 0x00000400 +#define AOFF_task_egid 0x00000408 #define ASIZ_task_egid 0x00000004 -#define AOFF_task_sgid 0x00000404 +#define AOFF_task_sgid 0x0000040c #define ASIZ_task_sgid 0x00000004 -#define AOFF_task_fsgid 0x00000408 +#define AOFF_task_fsgid 0x00000410 #define ASIZ_task_fsgid 0x00000004 -#define AOFF_task_ngroups 0x0000040c +#define AOFF_task_ngroups 0x00000414 #define ASIZ_task_ngroups 0x00000004 -#define AOFF_task_groups 0x00000410 +#define AOFF_task_groups 0x00000418 #define ASIZ_task_groups 0x00000080 -#define AOFF_task_cap_effective 0x00000490 +#define AOFF_task_cap_effective 0x00000498 #define ASIZ_task_cap_effective 0x00000004 -#define AOFF_task_cap_inheritable 0x00000494 +#define AOFF_task_cap_inheritable 0x0000049c #define ASIZ_task_cap_inheritable 0x00000004 -#define AOFF_task_cap_permitted 0x00000498 +#define AOFF_task_cap_permitted 0x000004a0 #define ASIZ_task_cap_permitted 0x00000004 -#define AOFF_task_user 0x000004a0 +#define AOFF_task_user 0x000004a8 #define ASIZ_task_user 0x00000008 -#define AOFF_task_rlim 0x000004a8 +#define AOFF_task_rlim 0x000004b0 #define ASIZ_task_rlim 0x000000a0 -#define AOFF_task_used_math 0x00000548 +#define AOFF_task_used_math 0x00000550 #define ASIZ_task_used_math 0x00000002 -#define AOFF_task_comm 0x0000054a +#define AOFF_task_comm 0x00000552 #define ASIZ_task_comm 0x00000010 -#define AOFF_task_link_count 0x0000055c +#define AOFF_task_link_count 0x00000564 #define ASIZ_task_link_count 0x00000004 -#define AOFF_task_tty 0x00000560 +#define AOFF_task_tty 0x00000568 #define ASIZ_task_tty 0x00000008 -#define AOFF_task_semundo 0x00000568 +#define AOFF_task_semundo 0x00000570 #define ASIZ_task_semundo 0x00000008 -#define AOFF_task_semsleeping 0x00000570 +#define AOFF_task_semsleeping 0x00000578 #define ASIZ_task_semsleeping 0x00000008 #define AOFF_task_thread 0x00000580 #define ASIZ_task_thread 0x00000450 @@ -677,96 +677,96 @@ #define AOFF_task_it_virt_incr 0x00000168 #define ASIZ_task_it_virt_incr 0x00000008 #define AOFF_task_real_timer 0x00000170 -#define ASIZ_task_real_timer 0x00000028 -#define AOFF_task_times 0x00000198 +#define ASIZ_task_real_timer 0x00000030 +#define AOFF_task_times 0x000001a0 #define ASIZ_task_times 0x00000020 -#define AOFF_task_start_time 0x000001b8 +#define AOFF_task_start_time 0x000001c0 #define ASIZ_task_start_time 0x00000008 -#define AOFF_task_per_cpu_utime 0x000001c0 +#define AOFF_task_per_cpu_utime 0x000001c8 #define ASIZ_task_per_cpu_utime 0x00000100 -#define AOFF_task_min_flt 0x000003c0 +#define AOFF_task_min_flt 0x000003c8 #define ASIZ_task_min_flt 0x00000008 -#define AOFF_task_maj_flt 0x000003c8 +#define AOFF_task_maj_flt 0x000003d0 #define ASIZ_task_maj_flt 0x00000008 -#define AOFF_task_nswap 0x000003d0 +#define AOFF_task_nswap 0x000003d8 #define ASIZ_task_nswap 0x00000008 -#define AOFF_task_cmin_flt 0x000003d8 +#define AOFF_task_cmin_flt 0x000003e0 #define ASIZ_task_cmin_flt 0x00000008 -#define AOFF_task_cmaj_flt 0x000003e0 +#define AOFF_task_cmaj_flt 0x000003e8 #define ASIZ_task_cmaj_flt 0x00000008 -#define AOFF_task_cnswap 0x000003e8 +#define AOFF_task_cnswap 0x000003f0 #define ASIZ_task_cnswap 0x00000008 -#define AOFF_task_uid 0x000003f4 +#define AOFF_task_uid 0x000003fc #define ASIZ_task_uid 0x00000004 -#define AOFF_task_euid 0x000003f8 +#define AOFF_task_euid 0x00000400 #define ASIZ_task_euid 0x00000004 -#define AOFF_task_suid 0x000003fc +#define AOFF_task_suid 0x00000404 #define ASIZ_task_suid 0x00000004 -#define AOFF_task_fsuid 0x00000400 +#define AOFF_task_fsuid 0x00000408 #define ASIZ_task_fsuid 0x00000004 -#define AOFF_task_gid 0x00000404 +#define AOFF_task_gid 0x0000040c #define ASIZ_task_gid 0x00000004 -#define AOFF_task_egid 0x00000408 +#define AOFF_task_egid 0x00000410 #define ASIZ_task_egid 0x00000004 -#define AOFF_task_sgid 0x0000040c +#define AOFF_task_sgid 0x00000414 #define ASIZ_task_sgid 0x00000004 -#define AOFF_task_fsgid 0x00000410 +#define AOFF_task_fsgid 0x00000418 #define ASIZ_task_fsgid 0x00000004 -#define AOFF_task_ngroups 0x00000414 +#define AOFF_task_ngroups 0x0000041c #define ASIZ_task_ngroups 0x00000004 -#define AOFF_task_groups 0x00000418 +#define AOFF_task_groups 0x00000420 #define ASIZ_task_groups 0x00000080 -#define AOFF_task_cap_effective 0x00000498 +#define AOFF_task_cap_effective 0x000004a0 #define ASIZ_task_cap_effective 0x00000004 -#define AOFF_task_cap_inheritable 0x0000049c +#define AOFF_task_cap_inheritable 0x000004a4 #define ASIZ_task_cap_inheritable 0x00000004 -#define AOFF_task_cap_permitted 0x000004a0 +#define AOFF_task_cap_permitted 0x000004a8 #define ASIZ_task_cap_permitted 0x00000004 -#define AOFF_task_user 0x000004a8 +#define AOFF_task_user 0x000004b0 #define ASIZ_task_user 0x00000008 -#define AOFF_task_rlim 0x000004b0 +#define AOFF_task_rlim 0x000004b8 #define ASIZ_task_rlim 0x000000a0 -#define AOFF_task_used_math 0x00000550 +#define AOFF_task_used_math 0x00000558 #define ASIZ_task_used_math 0x00000002 -#define AOFF_task_comm 0x00000552 +#define AOFF_task_comm 0x0000055a #define ASIZ_task_comm 0x00000010 -#define AOFF_task_link_count 0x00000564 +#define AOFF_task_link_count 0x0000056c #define ASIZ_task_link_count 0x00000004 -#define AOFF_task_tty 0x00000568 +#define AOFF_task_tty 0x00000570 #define ASIZ_task_tty 0x00000008 -#define AOFF_task_semundo 0x00000570 +#define AOFF_task_semundo 0x00000578 #define ASIZ_task_semundo 0x00000008 -#define AOFF_task_semsleeping 0x00000578 +#define AOFF_task_semsleeping 0x00000580 #define ASIZ_task_semsleeping 0x00000008 -#define AOFF_task_thread 0x00000580 +#define AOFF_task_thread 0x00000590 #define ASIZ_task_thread 0x00000450 -#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_sigmask_lock 0x000009e0 +#define AOFF_task_sigmask_lock 0x000009f0 #define ASIZ_task_sigmask_lock 0x0000000c -#define AOFF_task_sig 0x000009f0 +#define AOFF_task_sig 0x00000a00 #define ASIZ_task_sig 0x00000008 -#define AOFF_task_signal 0x000009f8 +#define AOFF_task_signal 0x00000a08 #define ASIZ_task_signal 0x00000008 -#define AOFF_task_blocked 0x00000a00 +#define AOFF_task_blocked 0x00000a10 #define ASIZ_task_blocked 0x00000008 -#define AOFF_task_sigqueue 0x00000a08 +#define AOFF_task_sigqueue 0x00000a18 #define ASIZ_task_sigqueue 0x00000008 -#define AOFF_task_sigqueue_tail 0x00000a10 +#define AOFF_task_sigqueue_tail 0x00000a20 #define ASIZ_task_sigqueue_tail 0x00000008 -#define AOFF_task_sas_ss_sp 0x00000a18 +#define AOFF_task_sas_ss_sp 0x00000a28 #define ASIZ_task_sas_ss_sp 0x00000008 -#define AOFF_task_sas_ss_size 0x00000a20 +#define AOFF_task_sas_ss_size 0x00000a30 #define ASIZ_task_sas_ss_size 0x00000008 -#define AOFF_task_parent_exec_id 0x00000a28 +#define AOFF_task_parent_exec_id 0x00000a38 #define ASIZ_task_parent_exec_id 0x00000004 -#define AOFF_task_self_exec_id 0x00000a2c +#define AOFF_task_self_exec_id 0x00000a3c #define ASIZ_task_self_exec_id 0x00000004 -#define AOFF_task_exit_sem 0x00000a30 +#define AOFF_task_exit_sem 0x00000a40 #define ASIZ_task_exit_sem 0x00000040 -#define ASIZ_task 0x00000a70 +#define ASIZ_task 0x00000a80 #define AOFF_mm_mmap 0x00000000 #define ASIZ_mm_mmap 0x00000008 #define AOFF_mm_mmap_avl 0x00000008 diff --git a/include/asm-sparc64/floppy.h b/include/asm-sparc64/floppy.h index fb65d46dc..25cc6dd9f 100644 --- a/include/asm-sparc64/floppy.h +++ b/include/asm-sparc64/floppy.h @@ -1,4 +1,4 @@ -/* $Id: floppy.h,v 1.25 2000/01/28 13:43:14 jj Exp $ +/* $Id: floppy.h,v 1.28 2000/02/18 13:50:54 davem Exp $ * asm-sparc64/floppy.h: Sparc specific parts of the Floppy driver. * * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu) @@ -273,7 +273,7 @@ static struct linux_ebus_dma *sun_pci_fd_ebus_dma; static struct pci_dev *sun_pci_ebus_dev; static int sun_pci_broken_drive = -1; static unsigned int sun_pci_dma_addr = -1U; -static int sun_pci_dma_len; +static int sun_pci_dma_len, sun_pci_dma_direction; extern void floppy_interrupt(int irq, void *dev_id, struct pt_regs *regs); @@ -369,7 +369,8 @@ static void sun_pci_fd_disable_dma(void) if (sun_pci_dma_addr != -1U) pci_unmap_single(sun_pci_ebus_dev, sun_pci_dma_addr, - sun_pci_dma_len); + sun_pci_dma_len, + sun_pci_dma_direction); sun_pci_dma_addr = -1U; } @@ -388,10 +389,13 @@ static void sun_pci_fd_set_dma_mode(int mode) * For EBus WRITE means to system memory, which is * READ for us. */ - if (mode == DMA_MODE_WRITE) + if (mode == DMA_MODE_WRITE) { dcsr &= ~(EBUS_DCSR_WRITE); - else + sun_pci_dma_direction = PCI_DMA_TODEVICE; + } else { dcsr |= EBUS_DCSR_WRITE; + sun_pci_dma_direction = PCI_DMA_FROMDEVICE; + } writel(dcsr, &sun_pci_fd_ebus_dma->dcsr); } @@ -407,7 +411,8 @@ static void sun_pci_fd_set_dma_addr(char *buffer) addr = sun_pci_dma_addr = pci_map_single(sun_pci_ebus_dev, buffer, - sun_pci_dma_len); + sun_pci_dma_len, + sun_pci_dma_direction); writel(addr, &sun_pci_fd_ebus_dma->dacr); } @@ -560,12 +565,9 @@ static int sun_pci_fd_test_drive(unsigned long port, int drive) #endif /* CONFIG_PCI */ -static struct linux_prom_registers fd_regs[2]; - static unsigned long __init sun_floppy_init(void) { char state[128]; - int fd_node, num_regs; struct sbus_bus *bus; struct sbus_dev *sdev = NULL; static int initialized = 0; @@ -714,21 +716,19 @@ static unsigned long __init sun_floppy_init(void) return 0; #endif } - fd_node = sdev->prom_node; - prom_getproperty(fd_node, "status", state, sizeof(state)); + prom_getproperty(sdev->prom_node, "status", state, sizeof(state)); if(!strncmp(state, "disabled", 8)) return 0; - num_regs = prom_getproperty(fd_node, "reg", (char *) fd_regs, - sizeof(fd_regs)); - num_regs = (num_regs / sizeof(fd_regs[0])); /* - * We cannot do sparc_alloc_io here: it does request_region, + * We cannot do sbus_ioremap here: it does request_region, * which the generic floppy driver tries to do once again. + * But we must use the sdev resource values as they have + * had parent ranges applied. */ sun_fdc = (struct sun_flpy_controller *) - (PAGE_OFFSET + fd_regs[0].phys_addr + - (((unsigned long)fd_regs[0].which_io) << 32)); + (sdev->resource[0].start + + ((sdev->resource[0].flags & 0x1ffUL) << 32UL)); /* Last minute sanity check... */ if(sbus_readb(&sun_fdc->status1_82077) == 0xff) { diff --git a/include/asm-sparc64/hardirq.h b/include/asm-sparc64/hardirq.h index daff61ac4..58597a028 100644 --- a/include/asm-sparc64/hardirq.h +++ b/include/asm-sparc64/hardirq.h @@ -25,11 +25,11 @@ extern unsigned int local_irq_count; #ifndef __SMP__ -#define hardirq_trylock(cpu) (local_irq_count == 0) -#define hardirq_endlock(cpu) do { } while(0) +#define hardirq_trylock(cpu) ((void)(cpu), local_irq_count == 0) +#define hardirq_endlock(cpu) do { (void)(cpu); } while(0) -#define hardirq_enter(cpu) (local_irq_count++) -#define hardirq_exit(cpu) (local_irq_count--) +#define hardirq_enter(cpu) ((void)(cpu), local_irq_count++) +#define hardirq_exit(cpu) ((void)(cpu), local_irq_count--) #define synchronize_irq() barrier() @@ -73,7 +73,7 @@ static inline int hardirq_trylock(int cpu) ! spin_is_locked (&global_irq_lock)); } -#define hardirq_endlock(cpu) do { } while (0) +#define hardirq_endlock(cpu) do { (void)(cpu); } while (0) extern void synchronize_irq(void); diff --git a/include/asm-sparc64/io.h b/include/asm-sparc64/io.h index 788e8dd18..0c137b72d 100644 --- a/include/asm-sparc64/io.h +++ b/include/asm-sparc64/io.h @@ -1,4 +1,4 @@ -/* $Id: io.h,v 1.31 2000/02/08 05:11:38 jj Exp $ */ +/* $Id: io.h,v 1.32 2000/02/15 10:04:54 jj Exp $ */ #ifndef __SPARC64_IO_H #define __SPARC64_IO_H @@ -82,6 +82,10 @@ extern __inline__ void outl(unsigned int l, unsigned long addr) #define inb_p inb #define outb_p outb +#define inw_p inw +#define outw_p outw +#define inl_p inl +#define outl_p outl extern void outsb(unsigned long addr, const void *src, unsigned long count); extern void outsw(unsigned long addr, const void *src, unsigned long count); diff --git a/include/asm-sparc64/page.h b/include/asm-sparc64/page.h index dabfea993..7653f4af1 100644 --- a/include/asm-sparc64/page.h +++ b/include/asm-sparc64/page.h @@ -1,4 +1,4 @@ -/* $Id: page.h,v 1.29 1999/12/09 10:32:43 davem Exp $ */ +/* $Id: page.h,v 1.30 2000/02/16 07:34:54 davem Exp $ */ #ifndef _SPARC64_PAGE_H #define _SPARC64_PAGE_H @@ -126,6 +126,20 @@ struct sparc_phys_banks { extern struct sparc_phys_banks sp_banks[SPARC_PHYS_BANKS]; +/* Pure 2^n version of get_order */ +extern __inline__ int get_order(unsigned long size) +{ + int order; + + size = (size-1) >> (PAGE_SHIFT-1); + order = -1; + do { + size >>= 1; + order++; + } while (size); + return order; +} + #endif /* !(__ASSEMBLY__) */ #endif /* !(__KERNEL__) */ diff --git a/include/asm-sparc64/pbm.h b/include/asm-sparc64/pbm.h index 12f015edb..22281b176 100644 --- a/include/asm-sparc64/pbm.h +++ b/include/asm-sparc64/pbm.h @@ -1,4 +1,4 @@ -/* $Id: pbm.h,v 1.19 1999/12/17 12:32:13 jj Exp $ +/* $Id: pbm.h,v 1.20 2000/02/18 13:50:55 davem Exp $ * pbm.h: UltraSparc PCI controller software state. * * Copyright (C) 1997, 1998, 1999 David S. Miller (davem@redhat.com) @@ -69,6 +69,18 @@ struct pci_iommu { * these counters. You have been duly warned. -DaveM */ u16 lowest_free[PBM_NCLUSTERS]; + + /* Here a PCI controller driver describes the areas of + * PCI memory space where DMA to/from physical memory + * are addressed. Drivers interrogate the PCI layer + * if their device has addressing limitations. They + * do so via pci_dma_supported, and pass in a mask of + * DMA address bits their device can actually drive. + * + * The test for being usable is: + * (device_mask & dma_addr_mask) == dma_addr_mask + */ + u32 dma_addr_mask; }; /* This describes a PCI bus module's streaming buffer. */ diff --git a/include/asm-sparc64/pci.h b/include/asm-sparc64/pci.h index 881de6c2f..267cbf797 100644 --- a/include/asm-sparc64/pci.h +++ b/include/asm-sparc64/pci.h @@ -40,7 +40,7 @@ extern void pci_free_consistent(struct pci_dev *hwdev, size_t size, void *vaddr, * Once the device is given the dma address, the device owns this memory * until either pci_unmap_single or pci_dma_sync_single is performed. */ -extern dma_addr_t pci_map_single(struct pci_dev *hwdev, void *ptr, size_t size); +extern dma_addr_t pci_map_single(struct pci_dev *hwdev, void *ptr, size_t size, int direction); /* Unmap a single streaming mode DMA translation. The dma_addr and size * must match what was provided for in a previous pci_map_single call. All @@ -49,7 +49,7 @@ extern dma_addr_t pci_map_single(struct pci_dev *hwdev, void *ptr, size_t size); * After this call, reads by the cpu to the buffer are guarenteed to see * whatever the device wrote there. */ -extern void pci_unmap_single(struct pci_dev *hwdev, dma_addr_t dma_addr, size_t size); +extern void pci_unmap_single(struct pci_dev *hwdev, dma_addr_t dma_addr, size_t size, int direction); /* Map a set of buffers described by scatterlist in streaming * mode for DMA. This is the scather-gather version of the @@ -66,13 +66,13 @@ extern void pci_unmap_single(struct pci_dev *hwdev, dma_addr_t dma_addr, size_t * Device ownership issues as mentioned above for pci_map_single are * the same here. */ -extern int pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sg, int nents); +extern int pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sg, int nents, int direction); /* Unmap a set of streaming mode DMA translations. * Again, cpu read rules concerning calls here are the same as for * pci_unmap_single() above. */ -extern void pci_unmap_sg(struct pci_dev *hwdev, struct scatterlist *sg, int nhwents); +extern void pci_unmap_sg(struct pci_dev *hwdev, struct scatterlist *sg, int nhwents, int direction); /* Make physical memory consistent for a single * streaming mode DMA translation after a transfer. @@ -83,7 +83,7 @@ extern void pci_unmap_sg(struct pci_dev *hwdev, struct scatterlist *sg, int nhwe * next point you give the PCI dma address back to the card, the * device again owns the buffer. */ -extern void pci_dma_sync_single(struct pci_dev *hwdev, dma_addr_t dma_handle, size_t size); +extern void pci_dma_sync_single(struct pci_dev *hwdev, dma_addr_t dma_handle, size_t size, int direction); /* Make physical memory consistent for a set of streaming * mode DMA translations after a transfer. @@ -91,7 +91,14 @@ extern void pci_dma_sync_single(struct pci_dev *hwdev, dma_addr_t dma_handle, si * The same as pci_dma_sync_single but for a scatter-gather list, * same rules and usage. */ -extern void pci_dma_sync_sg(struct pci_dev *hwdev, struct scatterlist *sg, int nelems); +extern void pci_dma_sync_sg(struct pci_dev *hwdev, struct scatterlist *sg, int nelems, int direction); + +/* Return whether the given PCI device DMA address mask can + * be supported properly. For example, if your device can + * only drive the low 24-bits during PCI bus mastering, then + * you would pass 0x00ffffff as the mask to this function. + */ +extern int pci_dma_supported(struct pci_dev *hwdev, dma_addr_t mask); #endif /* __KERNEL__ */ diff --git a/include/asm-sparc64/pgtable.h b/include/asm-sparc64/pgtable.h index 3b93b20c1..8bb88ee49 100644 --- a/include/asm-sparc64/pgtable.h +++ b/include/asm-sparc64/pgtable.h @@ -1,4 +1,4 @@ -/* $Id: pgtable.h,v 1.118 1999/12/21 21:24:35 davem Exp $ +/* $Id: pgtable.h,v 1.120 2000/02/16 07:34:54 davem Exp $ * pgtable.h: SpitFire page table operations. * * Copyright 1996,1997 David S. Miller (davem@caip.rutgers.edu) @@ -235,7 +235,8 @@ static __inline__ pte_t pte_mkdirty(pte_t _pte) } /* to find an entry in a page-table-directory. */ -#define pgd_offset(mm, address) ((mm)->pgd + ((address >> PGDIR_SHIFT) & (PTRS_PER_PGD))) +#define pgd_index(address) (((address) >> PGDIR_SHIFT) & (PTRS_PER_PGD)) +#define pgd_offset(mm, address) ((mm)->pgd + pgd_index(address)) /* to find an entry in a kernel page-table-directory */ #define pgd_offset_k(address) pgd_offset(&init_mm, address) @@ -279,17 +280,19 @@ extern pgd_t swapper_pg_dir[1]; * table. * 4) Splat. */ -extern void flush_icache_page(unsigned long phys_page); +extern void __flush_icache_page(unsigned long phys_page); #define update_mmu_cache(__vma, __address, _pte) \ do { \ unsigned short __flags = ((__vma)->vm_flags); \ if ((__flags & VM_EXEC) != 0 && \ ((pte_val(_pte) & (_PAGE_PRESENT | _PAGE_WRITE | _PAGE_MODIFIED)) == \ (_PAGE_PRESENT | _PAGE_WRITE | _PAGE_MODIFIED))) { \ - flush_icache_page(pte_pagenr(_pte) << PAGE_SHIFT); \ + __flush_icache_page(pte_pagenr(_pte) << PAGE_SHIFT); \ } \ } while(0) +#define flush_icache_page(vma, pg) do { } while(0) + /* Make a non-present pseudo-TTE. */ extern inline pte_t mk_pte_io(unsigned long page, pgprot_t prot, int space) { @@ -350,4 +353,7 @@ extern int io_remap_page_range(unsigned long from, unsigned long offset, #endif /* !(__ASSEMBLY__) */ +/* We provide our own get_unmapped_area to cope with VA holes for userland */ +#define HAVE_ARCH_UNMAPPED_AREA + #endif /* !(_SPARC64_PGTABLE_H) */ diff --git a/include/asm-sparc64/sbus.h b/include/asm-sparc64/sbus.h index f8c5e247f..e9f7344b4 100644 --- a/include/asm-sparc64/sbus.h +++ b/include/asm-sparc64/sbus.h @@ -1,4 +1,4 @@ -/* $Id: sbus.h,v 1.13 2000/01/28 13:43:14 jj Exp $ +/* $Id: sbus.h,v 1.14 2000/02/18 13:50:55 davem Exp $ * sbus.h: Defines for the Sun SBus. * * Copyright (C) 1996, 1999 David S. Miller (davem@redhat.com) @@ -98,14 +98,19 @@ extern void sbus_set_sbus64(struct sbus_dev *, int); extern void *sbus_alloc_consistent(struct sbus_dev *, size_t, dma_addr_t *dma_addrp); extern void sbus_free_consistent(struct sbus_dev *, size_t, void *, dma_addr_t); +#define SBUS_DMA_BIDIRECTIONAL 0 +#define SBUS_DMA_TODEVICE 1 +#define SBUS_DMA_FROMDEVICE 2 +#define SBUS_DMA_NONE 3 + /* All the rest use streaming mode mappings. */ -extern dma_addr_t sbus_map_single(struct sbus_dev *, void *, size_t); -extern void sbus_unmap_single(struct sbus_dev *, dma_addr_t, size_t); -extern int sbus_map_sg(struct sbus_dev *, struct scatterlist *, int); -extern void sbus_unmap_sg(struct sbus_dev *, struct scatterlist *, int); +extern dma_addr_t sbus_map_single(struct sbus_dev *, void *, size_t, int); +extern void sbus_unmap_single(struct sbus_dev *, dma_addr_t, size_t, int); +extern int sbus_map_sg(struct sbus_dev *, struct scatterlist *, int, int); +extern void sbus_unmap_sg(struct sbus_dev *, struct scatterlist *, int, int); /* Finally, allow explicit synchronization of streamable mappings. */ -extern void sbus_dma_sync_single(struct sbus_dev *, dma_addr_t, size_t); -extern void sbus_dma_sync_sg(struct sbus_dev *, struct scatterlist *, int); +extern void sbus_dma_sync_single(struct sbus_dev *, dma_addr_t, size_t, int); +extern void sbus_dma_sync_sg(struct sbus_dev *, struct scatterlist *, int, int); #endif /* !(_SPARC64_SBUS_H) */ |