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
nexedi
linux
Commits
9511b3bb
Commit
9511b3bb
authored
Oct 28, 2003
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://kernel.bkbits.net/davem/net-2.5
into home.osdl.org:/home/torvalds/v2.5/linux
parents
e121e75f
90e54641
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
80 additions
and
16 deletions
+80
-16
arch/alpha/kernel/setup.c
arch/alpha/kernel/setup.c
+15
-0
arch/sparc/kernel/entry.S
arch/sparc/kernel/entry.S
+1
-1
arch/sparc/kernel/systbls.S
arch/sparc/kernel/systbls.S
+5
-1
arch/sparc64/Kconfig
arch/sparc64/Kconfig
+1
-1
arch/sparc64/kernel/entry.S
arch/sparc64/kernel/entry.S
+1
-1
arch/sparc64/kernel/rtrap.S
arch/sparc64/kernel/rtrap.S
+6
-1
arch/sparc64/kernel/sparc64_ksyms.c
arch/sparc64/kernel/sparc64_ksyms.c
+1
-0
arch/sparc64/kernel/systbls.S
arch/sparc64/kernel/systbls.S
+6
-3
arch/sparc64/lib/dec_and_lock.S
arch/sparc64/lib/dec_and_lock.S
+2
-1
arch/sparc64/lib/rwlock.S
arch/sparc64/lib/rwlock.S
+22
-0
include/asm-sparc/unistd.h
include/asm-sparc/unistd.h
+8
-3
include/asm-sparc64/hardirq.h
include/asm-sparc64/hardirq.h
+2
-1
include/asm-sparc64/spinlock.h
include/asm-sparc64/spinlock.h
+2
-0
include/asm-sparc64/unistd.h
include/asm-sparc64/unistd.h
+8
-3
No files found.
arch/alpha/kernel/setup.c
View file @
9511b3bb
...
...
@@ -486,6 +486,21 @@ setup_arch(char **cmdline_p)
hwrpb
=
(
struct
hwrpb_struct
*
)
__va
(
INIT_HWRPB
->
phys_addr
);
boot_cpuid
=
hard_smp_processor_id
();
/*
* Pre-process the system type to make sure it will be valid.
*
* This may restore real CABRIO and EB66+ family names, ie
* EB64+ and EB66.
*
* Oh, and "white box" AS800 (aka DIGITAL Server 3000 series)
* and AS1200 (DIGITAL Server 5000 series) have the type as
* the negative of the real one.
*/
if
((
long
)
hwrpb
->
sys_type
<
0
)
{
hwrpb
->
sys_type
=
-
((
long
)
hwrpb
->
sys_type
);
hwrpb_update_checksum
(
hwrpb
);
}
/* Register a call for panic conditions. */
notifier_chain_register
(
&
panic_notifier_list
,
&
alpha_panic_block
);
...
...
arch/sparc/kernel/entry.S
View file @
9511b3bb
...
...
@@ -38,7 +38,7 @@
#define curptr g6
#define NR_SYSCALLS 2
68
/* Each OS is different... */
#define NR_SYSCALLS 2
72
/* Each OS is different... */
/*
These
are
just
handy
.
*/
#define _SV save %sp, -STACKFRAME_SZ, %sp
...
...
arch/sparc/kernel/systbls.S
View file @
9511b3bb
...
...
@@ -72,7 +72,8 @@ sys_call_table:
/*
250
*/
.
long
sparc_mremap
,
sys_sysctl
,
sys_getsid
,
sys_fdatasync
,
sys_nfsservctl
/*
255
*/
.
long
sys_nis_syscall
,
sys_clock_settime
,
sys_clock_gettime
,
sys_clock_getres
,
sys_clock_nanosleep
/*
260
*/
.
long
sys_sched_getaffinity
,
sys_sched_setaffinity
,
sys_timer_settime
,
sys_timer_gettime
,
sys_timer_getoverrun
/*
265
*/
.
long
sys_timer_delete
,
sys_timer_create
,
sys_nis_syscall
,
sys_nis_syscall
/*
265
*/
.
long
sys_timer_delete
,
sys_timer_create
,
sys_nis_syscall
,
sys_io_setup
,
sys_io_destroy
/*
270
*/
.
long
sys_io_submit
,
sys_io_cancel
,
sys_io_getevents
,
sys_nis_syscall
#ifdef CONFIG_SUNOS_EMUL
/
*
Now
the
SunOS
syscall
table
.
*/
...
...
@@ -172,5 +173,8 @@ sunos_sys_table:
/*
260
*/
.
long
sunos_nosys
,
sunos_nosys
,
sunos_nosys
.
long
sunos_nosys
,
sunos_nosys
,
sunos_nosys
.
long
sunos_nosys
,
sunos_nosys
,
sunos_nosys
.
long
sunos_nosys
/*
270
*/
.
long
sunos_nosys
,
sunos_nosys
,
sunos_nosys
.
long
sunos_nosys
#endif
arch/sparc64/Kconfig
View file @
9511b3bb
...
...
@@ -813,7 +813,7 @@ config DEBUG_SPINLOCK
# the generic version in that case.
config HAVE_DEC_LOCK
bool
depends on !DEBUG_SPINLOCK
depends on
SMP &&
!DEBUG_SPINLOCK
default y
config DEBUG_SPINLOCK_SLEEP
...
...
arch/sparc64/kernel/entry.S
View file @
9511b3bb
...
...
@@ -26,7 +26,7 @@
#define curptr g6
#define NR_SYSCALLS 2
68
/* Each OS is different... */
#define NR_SYSCALLS 2
72
/* Each OS is different... */
.
text
.
align
32
...
...
arch/sparc64/kernel/rtrap.S
View file @
9511b3bb
...
...
@@ -270,9 +270,14 @@ to_kernel:
#ifdef CONFIG_PREEMPT
ldsw
[%
g6
+
TI_PRE_COUNT
],
%
l5
brnz
%
l5
,
kern_fpucheck
ldx
[%
g6
+
TI_FLAGS
],
%
l5
andcc
%
l5
,
_TIF_NEED_RESCHED
,
%
g0
be
,
pt
%
xcc
,
kern_fpucheck
srl
%
l4
,
20
,
%
l5
cmp
%
l5
,
0
bne
,
pn
%
xcc
,
kern_fpucheck
sethi
%
hi
(
PREEMPT_ACTIVE
),
%
l6
stw
%
l6
,
[%
g6
+
TI_PRE_COUNT
]
wrpr
0
,
%
pil
call
schedule
nop
ba
,
pt
%
xcc
,
rtrap
...
...
arch/sparc64/kernel/sparc64_ksyms.c
View file @
9511b3bb
...
...
@@ -136,6 +136,7 @@ EXPORT_SYMBOL(__read_lock);
EXPORT_SYMBOL
(
__read_unlock
);
EXPORT_SYMBOL
(
__write_lock
);
EXPORT_SYMBOL
(
__write_unlock
);
EXPORT_SYMBOL
(
__write_trylock
);
#endif
/* Hard IRQ locking */
...
...
arch/sparc64/kernel/systbls.S
View file @
9511b3bb
...
...
@@ -72,7 +72,8 @@ sys_call_table32:
/*
250
*/
.
word
sys32_mremap
,
sys32_sysctl
,
sys_getsid
,
sys_fdatasync
,
sys32_nfsservctl
.
word
sys_ni_syscall
,
compat_clock_settime
,
compat_clock_gettime
,
compat_clock_getres
,
compat_clock_nanosleep
/*
260
*/
.
word
compat_sys_sched_getaffinity
,
compat_sys_sched_setaffinity
,
compat_timer_settime
,
compat_timer_gettime
,
sys_timer_getoverrun
.
word
sys_timer_delete
,
sys32_timer_create
,
sys_ni_syscall
,
sys_ni_syscall
.
word
sys_timer_delete
,
sys32_timer_create
,
sys_ni_syscall
,
sys_ni_syscall
,
sys_ni_syscall
/*
270
*/
.
word
sys_ni_syscall
,
sys_ni_syscall
,
sys_ni_syscall
,
sys_ni_syscall
/
*
Now
the
64
-
bit
native
Linux
syscall
table
.
*/
...
...
@@ -133,7 +134,8 @@ sys_call_table:
/*
250
*/
.
word
sys64_mremap
,
sys_sysctl
,
sys_getsid
,
sys_fdatasync
,
sys_nfsservctl
.
word
sys_ni_syscall
,
sys_clock_settime
,
sys_clock_gettime
,
sys_clock_getres
,
sys_clock_nanosleep
/*
260
*/
.
word
sys_sched_getaffinity
,
sys_sched_setaffinity
,
sys_timer_settime
,
sys_timer_gettime
,
sys_timer_getoverrun
.
word
sys_timer_delete
,
sys_timer_create
,
sys_ni_syscall
,
sys_ni_syscall
.
word
sys_timer_delete
,
sys_timer_create
,
sys_ni_syscall
,
sys_io_setup
,
sys_io_destroy
/*
270
*/
.
word
sys_io_submit
,
sys_io_cancel
,
sys_io_getevents
,
sys_ni_syscall
#if defined(CONFIG_SUNOS_EMUL) || defined(CONFIG_SOLARIS_EMUL) || \
defined
(
CONFIG_SOLARIS_EMUL_MODULE
)
...
...
@@ -233,6 +235,7 @@ sunos_sys_table:
.
word
sunos_nosys
,
sunos_nosys
,
sunos_nosys
.
word
sunos_nosys
,
sunos_nosys
,
sunos_nosys
.
word
sunos_nosys
,
sunos_nosys
,
sunos_nosys
.
word
sunos_nosys
.
word
sunos_nosys
,
sunos_nosys
,
sunos_nosys
.
word
sunos_nosys
,
sunos_nosys
,
sunos_nosys
#endif
arch/sparc64/lib/dec_and_lock.S
View file @
9511b3bb
...
...
@@ -29,7 +29,7 @@
atomic_dec_and_lock
:
/
*
%
o0
=
counter
,
%
o1
=
lock
*/
loop1
:
lduw
[%
o0
],
%
g5
subcc
%
g5
,
1
,
%
g7
be
,
pn
%
icc
,
to_zero
be
,
pn
%
icc
,
start_
to_zero
nop
nzero
:
cas
[%
o0
],
%
g5
,
%
g7
cmp
%
g5
,
%
g7
...
...
@@ -40,6 +40,7 @@ out:
membar
#
StoreLoad
|
#
StoreStore
retl
mov
%
g1
,
%
o0
start_to_zero
:
#ifdef CONFIG_PREEMPT
ldsw
[%
g6
+
TI_PRE_COUNT
],
%
g3
add
%
g3
,
1
,
%
g3
...
...
arch/sparc64/lib/rwlock.S
View file @
9511b3bb
...
...
@@ -63,5 +63,27 @@ __write_lock: /* %o0 = lock_ptr */
be
,
pt
%
icc
,
99
b
membar
#
StoreLoad
|
#
StoreStore
ba
,
a
,
pt
%
xcc
,
1
b
.
globl
__write_trylock
__write_trylock
:
/
*
%
o0
=
lock_ptr
*/
sethi
%
hi
(
0x80000000
),
%
g2
1
:
lduw
[%
o0
],
%
g5
brnz
,
pn
%
g5
,
__write_trylock_fail
4
:
or
%
g5
,
%
g2
,
%
g7
cas
[%
o0
],
%
g5
,
%
g7
cmp
%
g5
,
%
g7
be
,
pt
%
icc
,
__write_trylock_succeed
membar
#
StoreLoad
|
#
StoreStore
ba
,
pt
%
xcc
,
1
b
nop
__write_trylock_succeed
:
retl
mov
1
,
%
o0
__write_trylock_fail
:
retl
mov
0
,
%
o0
rwlock_impl_end
:
include/asm-sparc/unistd.h
View file @
9511b3bb
...
...
@@ -284,10 +284,15 @@
#define __NR_timer_delete 265
#define __NR_timer_create 266
/* #define __NR_vserver 267 Reserved for VSERVER */
/* WARNING: You MAY NOT add syscall numbers larger than 267, since
#define __NR_io_setup 268
#define __NR_io_destroy 268
#define __NR_io_submit 269
#define __NR_io_cancel 270
#define __NR_io_getevents 271
/* WARNING: You MAY NOT add syscall numbers larger than 271, since
* all of the syscall tables in the Sparc kernel are
* sized to have 2
67
entries (starting at zero). Therefore
* find a free slot in the 0-2
66
range.
* sized to have 2
72
entries (starting at zero). Therefore
* find a free slot in the 0-2
71
range.
*/
#define _syscall0(type,name) \
...
...
include/asm-sparc64/hardirq.h
View file @
9511b3bb
...
...
@@ -79,7 +79,8 @@ typedef struct {
#define irq_enter() (preempt_count() += HARDIRQ_OFFSET)
#ifdef CONFIG_PREEMPT
# define in_atomic() (preempt_count() != kernel_locked())
# include <linux/smp_lock.h>
# define in_atomic() ((preempt_count() & ~PREEMPT_ACTIVE) != kernel_locked())
# define IRQ_EXIT_OFFSET (HARDIRQ_OFFSET-1)
#else
# define in_atomic() (preempt_count() != 0)
...
...
include/asm-sparc64/spinlock.h
View file @
9511b3bb
...
...
@@ -118,11 +118,13 @@ extern void __read_lock(rwlock_t *);
extern
void
__read_unlock
(
rwlock_t
*
);
extern
void
__write_lock
(
rwlock_t
*
);
extern
void
__write_unlock
(
rwlock_t
*
);
extern
int
__write_trylock
(
rwlock_t
*
);
#define _raw_read_lock(p) __read_lock(p)
#define _raw_read_unlock(p) __read_unlock(p)
#define _raw_write_lock(p) __write_lock(p)
#define _raw_write_unlock(p) __write_unlock(p)
#define _raw_write_trylock(p) __write_trylock(p)
#else
/* !(CONFIG_DEBUG_SPINLOCK) */
...
...
include/asm-sparc64/unistd.h
View file @
9511b3bb
...
...
@@ -286,10 +286,15 @@
#define __NR_timer_delete 265
#define __NR_timer_create 266
/* #define __NR_vserver 267 Reserved for VSERVER */
/* WARNING: You MAY NOT add syscall numbers larger than 267, since
#define __NR_io_setup 268
#define __NR_io_destroy 268
#define __NR_io_submit 269
#define __NR_io_cancel 270
#define __NR_io_getevents 271
/* WARNING: You MAY NOT add syscall numbers larger than 271, since
* all of the syscall tables in the Sparc kernel are
* sized to have 2
67
entries (starting at zero). Therefore
* find a free slot in the 0-2
66
range.
* sized to have 2
72
entries (starting at zero). Therefore
* find a free slot in the 0-2
71
range.
*/
#define _syscall0(type,name) \
...
...
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