Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
340d10e4
Commit
340d10e4
authored
Jul 27, 2005
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
parents
e0aa8afd
48b0e548
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
29 additions
and
18 deletions
+29
-18
arch/sparc/kernel/systbls.S
arch/sparc/kernel/systbls.S
+2
-2
arch/sparc64/kernel/systbls.S
arch/sparc64/kernel/systbls.S
+4
-4
arch/sparc64/mm/init.c
arch/sparc64/mm/init.c
+17
-6
include/asm-sparc/unistd.h
include/asm-sparc/unistd.h
+3
-3
include/asm-sparc64/unistd.h
include/asm-sparc64/unistd.h
+3
-3
No files found.
arch/sparc/kernel/systbls.S
View file @
340d10e4
...
@@ -48,8 +48,8 @@ sys_call_table:
...
@@ -48,8 +48,8 @@ sys_call_table:
/*
135
*/
.
long
sys_nis_syscall
,
sys_mkdir
,
sys_rmdir
,
sys_utimes
,
sys_stat64
/*
135
*/
.
long
sys_nis_syscall
,
sys_mkdir
,
sys_rmdir
,
sys_utimes
,
sys_stat64
/*
140
*/
.
long
sys_sendfile64
,
sys_nis_syscall
,
sys_futex
,
sys_gettid
,
sys_getrlimit
/*
140
*/
.
long
sys_sendfile64
,
sys_nis_syscall
,
sys_futex
,
sys_gettid
,
sys_getrlimit
/*
145
*/
.
long
sys_setrlimit
,
sys_pivot_root
,
sys_prctl
,
sys_pciconfig_read
,
sys_pciconfig_write
/*
145
*/
.
long
sys_setrlimit
,
sys_pivot_root
,
sys_prctl
,
sys_pciconfig_read
,
sys_pciconfig_write
/*
150
*/
.
long
sys_nis_syscall
,
sys_
nis_syscall
,
sys_nis_syscall
,
sys_poll
,
sys_getdents64
/*
150
*/
.
long
sys_nis_syscall
,
sys_
inotify_init
,
sys_inotify_add_watch
,
sys_poll
,
sys_getdents64
/*
155
*/
.
long
sys_fcntl64
,
sys_
ni_syscall
,
sys_statfs
,
sys_fstatfs
,
sys_oldumount
/*
155
*/
.
long
sys_fcntl64
,
sys_
inotify_rm_watch
,
sys_statfs
,
sys_fstatfs
,
sys_oldumount
/*
160
*/
.
long
sys_sched_setaffinity
,
sys_sched_getaffinity
,
sys_getdomainname
,
sys_setdomainname
,
sys_nis_syscall
/*
160
*/
.
long
sys_sched_setaffinity
,
sys_sched_getaffinity
,
sys_getdomainname
,
sys_setdomainname
,
sys_nis_syscall
/*
165
*/
.
long
sys_quotactl
,
sys_set_tid_address
,
sys_mount
,
sys_ustat
,
sys_setxattr
/*
165
*/
.
long
sys_quotactl
,
sys_set_tid_address
,
sys_mount
,
sys_ustat
,
sys_setxattr
/*
170
*/
.
long
sys_lsetxattr
,
sys_fsetxattr
,
sys_getxattr
,
sys_lgetxattr
,
sys_getdents
/*
170
*/
.
long
sys_lsetxattr
,
sys_fsetxattr
,
sys_getxattr
,
sys_lgetxattr
,
sys_getdents
...
...
arch/sparc64/kernel/systbls.S
View file @
340d10e4
...
@@ -50,8 +50,8 @@ sys_call_table32:
...
@@ -50,8 +50,8 @@ sys_call_table32:
.
word
sys_nis_syscall
,
sys32_mkdir
,
sys_rmdir
,
sys32_utimes
,
compat_sys_stat64
.
word
sys_nis_syscall
,
sys32_mkdir
,
sys_rmdir
,
sys32_utimes
,
compat_sys_stat64
/*
140
*/
.
word
sys32_sendfile64
,
sys_nis_syscall
,
sys32_futex
,
sys_gettid
,
compat_sys_getrlimit
/*
140
*/
.
word
sys32_sendfile64
,
sys_nis_syscall
,
sys32_futex
,
sys_gettid
,
compat_sys_getrlimit
.
word
compat_sys_setrlimit
,
sys_pivot_root
,
sys32_prctl
,
sys_pciconfig_read
,
sys_pciconfig_write
.
word
compat_sys_setrlimit
,
sys_pivot_root
,
sys32_prctl
,
sys_pciconfig_read
,
sys_pciconfig_write
/*
150
*/
.
word
sys_nis_syscall
,
sys_
nis_syscall
,
sys_nis_syscall
,
sys_poll
,
sys_getdents64
/*
150
*/
.
word
sys_nis_syscall
,
sys_
inotify_init
,
sys_inotify_add_watch
,
sys_poll
,
sys_getdents64
.
word
compat_sys_fcntl64
,
sys_
ni_syscall
,
compat_sys_statfs
,
compat_sys_fstatfs
,
sys_oldumount
.
word
compat_sys_fcntl64
,
sys_
inotify_rm_watch
,
compat_sys_statfs
,
compat_sys_fstatfs
,
sys_oldumount
/*
160
*/
.
word
compat_sys_sched_setaffinity
,
compat_sys_sched_getaffinity
,
sys32_getdomainname
,
sys32_setdomainname
,
sys_nis_syscall
/*
160
*/
.
word
compat_sys_sched_setaffinity
,
compat_sys_sched_getaffinity
,
sys32_getdomainname
,
sys32_setdomainname
,
sys_nis_syscall
.
word
sys_quotactl
,
sys_set_tid_address
,
compat_sys_mount
,
sys_ustat
,
sys32_setxattr
.
word
sys_quotactl
,
sys_set_tid_address
,
compat_sys_mount
,
sys_ustat
,
sys32_setxattr
/*
170
*/
.
word
sys32_lsetxattr
,
sys32_fsetxattr
,
sys_getxattr
,
sys_lgetxattr
,
compat_sys_getdents
/*
170
*/
.
word
sys32_lsetxattr
,
sys32_fsetxattr
,
sys_getxattr
,
sys_lgetxattr
,
compat_sys_getdents
...
@@ -116,8 +116,8 @@ sys_call_table:
...
@@ -116,8 +116,8 @@ sys_call_table:
.
word
sys_socketpair
,
sys_mkdir
,
sys_rmdir
,
sys_utimes
,
sys_stat64
.
word
sys_socketpair
,
sys_mkdir
,
sys_rmdir
,
sys_utimes
,
sys_stat64
/*
140
*/
.
word
sys_sendfile64
,
sys_getpeername
,
sys_futex
,
sys_gettid
,
sys_getrlimit
/*
140
*/
.
word
sys_sendfile64
,
sys_getpeername
,
sys_futex
,
sys_gettid
,
sys_getrlimit
.
word
sys_setrlimit
,
sys_pivot_root
,
sys_prctl
,
sys_pciconfig_read
,
sys_pciconfig_write
.
word
sys_setrlimit
,
sys_pivot_root
,
sys_prctl
,
sys_pciconfig_read
,
sys_pciconfig_write
/*
150
*/
.
word
sys_getsockname
,
sys_
nis_syscall
,
sys_nis_syscall
,
sys_poll
,
sys_getdents64
/*
150
*/
.
word
sys_getsockname
,
sys_
inotify_init
,
sys_inotify_add_watch
,
sys_poll
,
sys_getdents64
.
word
sys_nis_syscall
,
sys_
ni_syscall
,
sys_statfs
,
sys_fstatfs
,
sys_oldumount
.
word
sys_nis_syscall
,
sys_
inotify_rm_watch
,
sys_statfs
,
sys_fstatfs
,
sys_oldumount
/*
160
*/
.
word
sys_sched_setaffinity
,
sys_sched_getaffinity
,
sys_getdomainname
,
sys_setdomainname
,
sys_utrap_install
/*
160
*/
.
word
sys_sched_setaffinity
,
sys_sched_getaffinity
,
sys_getdomainname
,
sys_setdomainname
,
sys_utrap_install
.
word
sys_quotactl
,
sys_set_tid_address
,
sys_mount
,
sys_ustat
,
sys_setxattr
.
word
sys_quotactl
,
sys_set_tid_address
,
sys_mount
,
sys_ustat
,
sys_setxattr
/*
170
*/
.
word
sys_lsetxattr
,
sys_fsetxattr
,
sys_getxattr
,
sys_lgetxattr
,
sys_getdents
/*
170
*/
.
word
sys_lsetxattr
,
sys_fsetxattr
,
sys_getxattr
,
sys_lgetxattr
,
sys_getdents
...
...
arch/sparc64/mm/init.c
View file @
340d10e4
...
@@ -121,15 +121,24 @@ __inline__ void flush_dcache_page_impl(struct page *page)
...
@@ -121,15 +121,24 @@ __inline__ void flush_dcache_page_impl(struct page *page)
}
}
#define PG_dcache_dirty PG_arch_1
#define PG_dcache_dirty PG_arch_1
#define PG_dcache_cpu_shift 24
#define PG_dcache_cpu_mask (256 - 1)
#if NR_CPUS > 256
#error D-cache dirty tracking and thread_info->cpu need fixing for > 256 cpus
#endif
#define dcache_dirty_cpu(page) \
#define dcache_dirty_cpu(page) \
(((page)->flags >>
24) & (NR_CPUS - 1UL)
)
(((page)->flags >>
PG_dcache_cpu_shift) & PG_dcache_cpu_mask
)
static
__inline__
void
set_dcache_dirty
(
struct
page
*
page
,
int
this_cpu
)
static
__inline__
void
set_dcache_dirty
(
struct
page
*
page
,
int
this_cpu
)
{
{
unsigned
long
mask
=
this_cpu
;
unsigned
long
mask
=
this_cpu
;
unsigned
long
non_cpu_bits
=
~
((
NR_CPUS
-
1UL
)
<<
24UL
);
unsigned
long
non_cpu_bits
;
mask
=
(
mask
<<
24
)
|
(
1UL
<<
PG_dcache_dirty
);
non_cpu_bits
=
~
(
PG_dcache_cpu_mask
<<
PG_dcache_cpu_shift
);
mask
=
(
mask
<<
PG_dcache_cpu_shift
)
|
(
1UL
<<
PG_dcache_dirty
);
__asm__
__volatile__
(
"1:
\n\t
"
__asm__
__volatile__
(
"1:
\n\t
"
"ldx [%2], %%g7
\n\t
"
"ldx [%2], %%g7
\n\t
"
"and %%g7, %1, %%g1
\n\t
"
"and %%g7, %1, %%g1
\n\t
"
...
@@ -151,7 +160,7 @@ static __inline__ void clear_dcache_dirty_cpu(struct page *page, unsigned long c
...
@@ -151,7 +160,7 @@ static __inline__ void clear_dcache_dirty_cpu(struct page *page, unsigned long c
__asm__
__volatile__
(
"! test_and_clear_dcache_dirty
\n
"
__asm__
__volatile__
(
"! test_and_clear_dcache_dirty
\n
"
"1:
\n\t
"
"1:
\n\t
"
"ldx [%2], %%g7
\n\t
"
"ldx [%2], %%g7
\n\t
"
"srlx %%g7,
2
4, %%g1
\n\t
"
"srlx %%g7,
%
4, %%g1
\n\t
"
"and %%g1, %3, %%g1
\n\t
"
"and %%g1, %3, %%g1
\n\t
"
"cmp %%g1, %0
\n\t
"
"cmp %%g1, %0
\n\t
"
"bne,pn %%icc, 2f
\n\t
"
"bne,pn %%icc, 2f
\n\t
"
...
@@ -164,7 +173,8 @@ static __inline__ void clear_dcache_dirty_cpu(struct page *page, unsigned long c
...
@@ -164,7 +173,8 @@ static __inline__ void clear_dcache_dirty_cpu(struct page *page, unsigned long c
"2:"
"2:"
:
/* no outputs */
:
/* no outputs */
:
"r"
(
cpu
),
"r"
(
mask
),
"r"
(
&
page
->
flags
),
:
"r"
(
cpu
),
"r"
(
mask
),
"r"
(
&
page
->
flags
),
"i"
(
NR_CPUS
-
1UL
)
"i"
(
PG_dcache_cpu_mask
),
"i"
(
PG_dcache_cpu_shift
)
:
"g1"
,
"g7"
);
:
"g1"
,
"g7"
);
}
}
...
@@ -180,7 +190,8 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t p
...
@@ -180,7 +190,8 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t p
if
(
pfn_valid
(
pfn
)
&&
if
(
pfn_valid
(
pfn
)
&&
(
page
=
pfn_to_page
(
pfn
),
page_mapping
(
page
))
&&
(
page
=
pfn_to_page
(
pfn
),
page_mapping
(
page
))
&&
((
pg_flags
=
page
->
flags
)
&
(
1UL
<<
PG_dcache_dirty
)))
{
((
pg_flags
=
page
->
flags
)
&
(
1UL
<<
PG_dcache_dirty
)))
{
int
cpu
=
((
pg_flags
>>
24
)
&
(
NR_CPUS
-
1UL
));
int
cpu
=
((
pg_flags
>>
PG_dcache_cpu_shift
)
&
PG_dcache_cpu_mask
);
int
this_cpu
=
get_cpu
();
int
this_cpu
=
get_cpu
();
/* This is just to optimize away some function calls
/* This is just to optimize away some function calls
...
...
include/asm-sparc/unistd.h
View file @
340d10e4
...
@@ -167,12 +167,12 @@
...
@@ -167,12 +167,12 @@
#define __NR_pciconfig_read 148
/* ENOSYS under SunOS */
#define __NR_pciconfig_read 148
/* ENOSYS under SunOS */
#define __NR_pciconfig_write 149
/* ENOSYS under SunOS */
#define __NR_pciconfig_write 149
/* ENOSYS under SunOS */
#define __NR_getsockname 150
/* Common */
#define __NR_getsockname 150
/* Common */
/* #define __NR_getmsg 151 SunOS S
pecific */
#define __NR_inotify_init 151
/* Linux s
pecific */
/* #define __NR_putmsg 152 SunOS S
pecific */
#define __NR_inotify_add_watch 152
/* Linux s
pecific */
#define __NR_poll 153
/* Common */
#define __NR_poll 153
/* Common */
#define __NR_getdents64 154
/* Linux specific */
#define __NR_getdents64 154
/* Linux specific */
#define __NR_fcntl64 155
/* Linux sparc32 Specific */
#define __NR_fcntl64 155
/* Linux sparc32 Specific */
/* #define __NR_getdirentires 156 SunOS Specific
*/
#define __NR_inotify_rm_watch 156
/* Linux specific
*/
#define __NR_statfs 157
/* Common */
#define __NR_statfs 157
/* Common */
#define __NR_fstatfs 158
/* Common */
#define __NR_fstatfs 158
/* Common */
#define __NR_umount 159
/* Common */
#define __NR_umount 159
/* Common */
...
...
include/asm-sparc64/unistd.h
View file @
340d10e4
...
@@ -167,12 +167,12 @@
...
@@ -167,12 +167,12 @@
#define __NR_pciconfig_read 148
/* ENOSYS under SunOS */
#define __NR_pciconfig_read 148
/* ENOSYS under SunOS */
#define __NR_pciconfig_write 149
/* ENOSYS under SunOS */
#define __NR_pciconfig_write 149
/* ENOSYS under SunOS */
#define __NR_getsockname 150
/* Common */
#define __NR_getsockname 150
/* Common */
/* #define __NR_getmsg 151 SunOS S
pecific */
#define __NR_inotify_init 151
/* Linux s
pecific */
/* #define __NR_putmsg 152 SunOS S
pecific */
#define __NR_inotify_add_watch 152
/* Linux s
pecific */
#define __NR_poll 153
/* Common */
#define __NR_poll 153
/* Common */
#define __NR_getdents64 154
/* Linux specific */
#define __NR_getdents64 154
/* Linux specific */
/* #define __NR_fcntl64 155 Linux sparc32 Specific */
/* #define __NR_fcntl64 155 Linux sparc32 Specific */
/* #define __NR_getdirentries 156 SunOS Specific
*/
#define __NR_inotify_rm_watch 156
/* Linux specific
*/
#define __NR_statfs 157
/* Common */
#define __NR_statfs 157
/* Common */
#define __NR_fstatfs 158
/* Common */
#define __NR_fstatfs 158
/* Common */
#define __NR_umount 159
/* Common */
#define __NR_umount 159
/* Common */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment