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
306cf7f1
Commit
306cf7f1
authored
Dec 01, 2002
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge master.kernel.org:/home/davem/BK/sparc-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux
parents
2aceefe4
167f66d3
Changes
22
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
82 additions
and
56 deletions
+82
-56
arch/sparc/kernel/sparc_ksyms.c
arch/sparc/kernel/sparc_ksyms.c
+4
-2
arch/sparc/kernel/sys_sunos.c
arch/sparc/kernel/sys_sunos.c
+2
-0
arch/sparc/kernel/tick14.c
arch/sparc/kernel/tick14.c
+1
-0
arch/sparc/mm/iommu.c
arch/sparc/mm/iommu.c
+2
-2
arch/sparc64/Makefile
arch/sparc64/Makefile
+5
-0
arch/sparc64/kernel/smp.c
arch/sparc64/kernel/smp.c
+39
-39
arch/sparc64/kernel/sys_sparc32.c
arch/sparc64/kernel/sys_sparc32.c
+2
-1
arch/sparc64/solaris/ioctl.c
arch/sparc64/solaris/ioctl.c
+2
-0
drivers/serial/sunzilog.c
drivers/serial/sunzilog.c
+3
-2
fs/xfs/support/move.c
fs/xfs/support/move.c
+1
-0
include/asm-sparc/elf.h
include/asm-sparc/elf.h
+1
-1
include/asm-sparc/hardirq.h
include/asm-sparc/hardirq.h
+1
-0
include/asm-sparc/io.h
include/asm-sparc/io.h
+0
-3
include/asm-sparc/irq.h
include/asm-sparc/irq.h
+1
-1
include/asm-sparc/page.h
include/asm-sparc/page.h
+3
-0
include/asm-sparc64/irq.h
include/asm-sparc64/irq.h
+1
-1
include/asm-sparc64/rwsem.h
include/asm-sparc64/rwsem.h
+1
-1
include/asm-sparc64/system.h
include/asm-sparc64/system.h
+9
-3
sound/core/ioctl32/ioctl32.c
sound/core/ioctl32/ioctl32.c
+1
-0
sound/core/ioctl32/rawmidi32.c
sound/core/ioctl32/rawmidi32.c
+1
-0
sound/core/ioctl32/seq32.c
sound/core/ioctl32/seq32.c
+1
-0
sound/core/ioctl32/timer32.c
sound/core/ioctl32/timer32.c
+1
-0
No files found.
arch/sparc/kernel/sparc_ksyms.c
View file @
306cf7f1
...
...
@@ -90,11 +90,13 @@ extern void dump_thread(struct pt_regs *, struct user *);
#define EXPORT_SYMBOL_DOT(sym) \
extern int __sparc_dot_ ## sym (int) __asm__("." #sym); \
__EXPORT_SYMBOL(__sparc_dot_ ## sym, "." #sym)
const struct kernel_symbol __ksymtab___sparc_dot_##sym \
__attribute__((section("__ksymtab"))) \
= { (unsigned long)&__sparc_dot_##sym , "." #sym }
#define EXPORT_SYMBOL_PRIVATE(sym) \
extern int __sparc_priv_ ## sym (int) __asm__("__" #sym); \
const struct
module
_symbol __export_priv_##sym \
const struct
kernel
_symbol __export_priv_##sym \
__attribute__((section("__ksymtab"))) = \
{ (unsigned long) &__sparc_priv_ ## sym, "__" #sym }
...
...
arch/sparc/kernel/sys_sunos.c
View file @
306cf7f1
...
...
@@ -34,6 +34,8 @@
#include <linux/smp.h>
#include <linux/smp_lock.h>
#include <net/sock.h>
#include <asm/uaccess.h>
#ifndef KERNEL_DS
#include <linux/segment.h>
...
...
arch/sparc/kernel/tick14.c
View file @
306cf7f1
...
...
@@ -16,6 +16,7 @@
#include <linux/string.h>
#include <linux/mm.h>
#include <linux/timex.h>
#include <linux/interrupt.h>
#include <asm/oplib.h>
#include <asm/segment.h>
...
...
arch/sparc/mm/iommu.c
View file @
306cf7f1
...
...
@@ -192,9 +192,9 @@ static void iommu_get_scsi_sgl_pflush(struct scatterlist *sg, int sz, struct sbu
{
unsigned
long
page
,
oldpage
=
0
;
while
(
sz
>
=
0
)
{
while
(
sz
!
=
0
)
{
--
sz
;
page
=
(
(
unsigned
long
)
sg
[
sz
].
offset
)
&
PAGE_MASK
;
page
=
(
unsigned
long
)
page_address
(
sg
[
sz
].
page
)
;
if
(
oldpage
==
page
)
page
+=
PAGE_SIZE
;
/* We flushed that page already */
while
(
page
<
(
unsigned
long
)(
page_address
(
sg
[
sz
].
page
)
+
sg
[
sz
].
offset
+
sg
[
sz
].
length
))
{
...
...
arch/sparc64/Makefile
View file @
306cf7f1
...
...
@@ -19,6 +19,7 @@ CC := $(shell if gcc -m64 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then e
NEW_GCC
:=
$(
shell
if
$(CC)
-m64
-mcmodel
=
medlow
-S
-o
/dev/null
-xc
/dev/null
>
/dev/null 2>&1
;
then
echo
y
;
else
echo
n
;
fi
;
)
NEW_GAS
:=
$(
shell
if
$(LD)
-V
2>&1 |
grep
'elf64_sparc'
>
/dev/null
;
then
echo
y
;
else
echo
n
;
fi
)
UNDECLARED_REGS
:=
$(
shell
if
$(CC)
-c
-x
assembler /dev/null
-Wa
,--help |
grep
undeclared-regs
>
/dev/null
;
then
echo
y
;
else
echo
n
;
fi
;
)
INLINE_LIMIT
:=
$(
shell
if
$(CC)
-m64
-finline-limit
=
100000
-S
-o
/dev/null
-xc
/dev/null
>
/dev/null 2>&1
;
then
echo
y
;
else
echo
n
;
fi
;
)
export
NEW_GCC
...
...
@@ -51,6 +52,10 @@ else
AFLAGS
+=
-m64
-mcpu
=
ultrasparc
$(CC_UNDECL)
endif
ifeq
($(INLINE_LIMIT),y)
CFLAGS
:=
$(CFLAGS)
-finline-limit
=
100000
endif
ifeq
($(CONFIG_MCOUNT),y)
CFLAGS
:=
$(
subst
-fomit-frame-pointer
,,
$(CFLAGS)
)
CFLAGS
:=
$(CFLAGS)
-pg
...
...
arch/sparc64/kernel/smp.c
View file @
306cf7f1
...
...
@@ -145,28 +145,28 @@ void __init smp_callin(void)
* purposes. Also workaround BB_ERRATA_1 by doing a dummy
* read back of %tick after writing it.
*/
__asm__
__volatile__
(
"
sethi %%hi(0x80000000), %%g1
ba,pt %%xcc, 1f
sllx %%g1, 32, %%g1
.align 64
1: rd %%tick, %%g2
add %%g2, 6, %%g2
andn %%g2, %%g1, %%g2
wrpr %%g2, 0, %%tick
rdpr %%tick, %%g0"
__asm__
__volatile__
(
"sethi %%hi(0x80000000), %%g1
\n\t
"
"ba,pt %%xcc, 1f
\n\t
"
" sllx %%g1, 32, %%g1
\n\t
"
".align 64
\n
"
"1: rd %%tick, %%g2
\n\t
"
"add %%g2, 6, %%g2
\n\t
"
"andn %%g2, %%g1, %%g2
\n\t
"
"wrpr %%g2, 0, %%tick
\n\t
"
"
rdpr %%tick, %%g0"
:
/* no outputs */
:
/* no inputs */
:
"g1"
,
"g2"
);
if
(
SPARC64_USE_STICK
)
{
/* Let the user get at STICK too. */
__asm__
__volatile__
(
"
sethi %%hi(0x80000000), %%g1
sllx %%g1, 32, %%g1
rd %%asr24, %%g2
andn %%g2, %%g1, %%g2
wr %%g2, 0, %%asr24"
__asm__
__volatile__
(
"sethi %%hi(0x80000000), %%g1
\n\t
"
"sllx %%g1, 32, %%g1
\n\t
"
"rd %%asr24, %%g2
\n\t
"
"andn %%g2, %%g1, %%g2
\n\t
"
"
wr %%g2, 0, %%asr24"
:
/* no outputs */
:
/* no inputs */
:
"g1"
,
"g2"
);
...
...
@@ -283,18 +283,18 @@ static void spitfire_xcall_helper(u64 data0, u64 data1, u64 data2, u64 pstate, u
* ADDR 0x20) for the dummy read. -DaveM
*/
tmp
=
0x40
;
__asm__
__volatile__
(
"
wrpr %1, %2, %%pstate
stxa %4, [%0] %3
stxa %5, [%0+%8] %3
add %0, %8, %0
stxa %6, [%0+%8] %3
membar #Sync
stxa %%g0, [%7] %3
membar #Sync
mov 0x20, %%g1
ldxa [%%g1] 0x7f, %%g0
membar #Sync"
__asm__
__volatile__
(
"wrpr %1, %2, %%pstate
\n\t
"
"stxa %4, [%0] %3
\n\t
"
"stxa %5, [%0+%8] %3
\n\t
"
"add %0, %8, %0
\n\t
"
"stxa %6, [%0+%8] %3
\n\t
"
"membar #Sync
\n\t
"
"stxa %%g0, [%7] %3
\n\t
"
"membar #Sync
\n\t
"
"mov 0x20, %%g1
\n\t
"
"ldxa [%%g1] 0x7f, %%g0
\n\t
"
"
membar #Sync"
:
"=r"
(
tmp
)
:
"r"
(
pstate
),
"i"
(
PSTATE_IE
),
"i"
(
ASI_INTR_W
),
"r"
(
data0
),
"r"
(
data1
),
"r"
(
data2
),
"r"
(
target
),
...
...
@@ -1054,21 +1054,21 @@ static void __init smp_setup_percpu_timer(void)
* read back from %tick_cmpr right after writing to it. -DaveM
*/
if
(
!
SPARC64_USE_STICK
)
{
__asm__
__volatile__
(
"
rd %%tick, %%g1
ba,pt %%xcc, 1f
add %%g1, %0, %%g1
.align 64
1: wr %%g1, 0x0, %%tick_cmpr
rd %%tick_cmpr, %%g0"
__asm__
__volatile__
(
"rd %%tick, %%g1
\n\t
"
"ba,pt %%xcc, 1f
\n\t
"
" add %%g1, %0, %%g1
\n\t
"
".align 64
\n
"
"1: wr %%g1, 0x0, %%tick_cmpr
\n\t
"
"
rd %%tick_cmpr, %%g0"
:
/* no outputs */
:
"r"
(
current_tick_offset
)
:
"g1"
);
}
else
{
__asm__
__volatile__
(
"
rd %%asr24, %%g1
add %%g1, %0, %%g1
wr %%g1, 0x0, %%asr25"
__asm__
__volatile__
(
"rd %%asr24, %%g1
\n\t
"
"add %%g1, %0, %%g1
\n\t
"
"
wr %%g1, 0x0, %%asr25"
:
/* no outputs */
:
"r"
(
current_tick_offset
)
:
"g1"
);
...
...
arch/sparc64/kernel/sys_sparc32.c
View file @
306cf7f1
...
...
@@ -51,6 +51,7 @@
#include <linux/sysctl.h>
#include <linux/binfmts.h>
#include <linux/dnotify.h>
#include <linux/security.h>
#include <asm/types.h>
#include <asm/ipc.h>
...
...
@@ -1096,7 +1097,7 @@ static long do_readv_writev32(int type, struct file *file,
/* VERIFY_WRITE actually means a read, as we write to user space */
if
((
retval
+
(
type
==
VERIFY_WRITE
))
>
0
)
dnotify_parent
(
file
->
f_dentry
,
(
type
==
VERIFY_WRITE
)
?
DN_
MODIFY
:
DN_ACCESS
);
(
type
==
VERIFY_WRITE
)
?
DN_
ACCESS
:
DN_MODIFY
);
return
retval
;
}
...
...
arch/sparc64/solaris/ioctl.c
View file @
306cf7f1
...
...
@@ -369,6 +369,7 @@ static inline int solaris_sockmod(unsigned int fd, unsigned int cmd, u32 arg)
case
106
:
/* SI_GETINTRANSIT */
case
107
:
/* SI_TCL_LINK */
case
108
:
/* SI_TCL_UNLINK */
;
}
return
TNOTSUPPORT
;
}
...
...
@@ -456,6 +457,7 @@ static inline int solaris_timod(unsigned int fd, unsigned int cmd, u32 arg,
case
145
:
/* TI_GETPEERNAME */
case
146
:
/* TI_SETMYNAME */
case
147
:
/* TI_SETPEERNAME */
;
}
return
TNOTSUPPORT
;
}
...
...
drivers/serial/sunzilog.c
View file @
306cf7f1
...
...
@@ -1586,8 +1586,9 @@ static void __init sunzilog_init_hw(void)
}
else
{
/* Normal serial TTY. */
up
->
parity_mask
=
0xff
;
up
->
curregs
[
R3
]
=
RxENAB
;
up
->
curregs
[
R5
]
=
TxENAB
;
up
->
curregs
[
R4
]
=
PAR_EVEN
|
X16CLK
|
SB1
;
up
->
curregs
[
R3
]
=
RxENAB
|
Rx8
;
up
->
curregs
[
R5
]
=
TxENAB
|
Tx8
;
up
->
curregs
[
R9
]
=
NV
|
MIE
;
up
->
curregs
[
R10
]
=
NRZ
;
up
->
curregs
[
R11
]
=
TCBR
|
RCBR
;
...
...
fs/xfs/support/move.c
View file @
306cf7f1
...
...
@@ -30,6 +30,7 @@
* http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
*/
#include <linux/errno.h>
#include <asm/uaccess.h>
#include <xfs_types.h>
...
...
include/asm-sparc/elf.h
View file @
306cf7f1
...
...
@@ -56,7 +56,7 @@ typedef struct {
}
elf_fpregset_t
;
#define ELF_CORE_COPY_TASK_REGS(__tsk, __elf_regs) \
({ ELF_CORE_COPY_REGS((*(__elf_regs)), (__tsk)->thread
_info->
kregs); 1; })
({ ELF_CORE_COPY_REGS((*(__elf_regs)), (__tsk)->thread
.
kregs); 1; })
/*
* This is used to ensure we don't load something for the wrong architecture.
...
...
include/asm-sparc/hardirq.h
View file @
306cf7f1
...
...
@@ -11,6 +11,7 @@
#include <linux/threads.h>
#include <linux/brlock.h>
#include <linux/spinlock.h>
#include <linux/cache.h>
/* entry.S is sensitive to the offsets of these fields */
/* XXX P3 Is it? */
typedef
struct
{
...
...
include/asm-sparc/io.h
View file @
306cf7f1
...
...
@@ -187,9 +187,6 @@ extern unsigned long sbus_ioremap(struct resource *res, unsigned long offset,
extern
void
sbus_iounmap
(
unsigned
long
vaddr
,
unsigned
long
size
);
#define virt_to_phys(x) __pa((unsigned long)(x))
#define phys_to_virt(x) __va((unsigned long)(x))
/*
* At the moment, we do not use CMOS_READ anywhere outside of rtc.c,
* so rtc_port is static in it. This should not change unless a new
...
...
include/asm-sparc/irq.h
View file @
306cf7f1
...
...
@@ -19,7 +19,7 @@
BTFIXUPDEF_CALL
(
char
*
,
__irq_itoa
,
unsigned
int
)
#define __irq_itoa(irq) BTFIXUP_CALL(__irq_itoa)(irq)
#define NR_IRQS 1
5
#define NR_IRQS 1
6
#define irq_cannonicalize(irq) (irq)
...
...
include/asm-sparc/page.h
View file @
306cf7f1
...
...
@@ -174,6 +174,9 @@ extern __inline__ int get_order(unsigned long size)
#define __pa(x) ((unsigned long)(x) - PAGE_OFFSET)
#define __va(x) ((void *)((unsigned long) (x) + PAGE_OFFSET))
#define virt_to_phys(x) __pa((unsigned long)(x))
#define phys_to_virt(x) __va((unsigned long)(x))
#define pfn_to_page(pfn) (mem_map + (pfn))
#define page_to_pfn(page) ((unsigned long)((page) - mem_map))
#define virt_to_page(kaddr) (mem_map + (__pa(kaddr) >> PAGE_SHIFT))
...
...
include/asm-sparc64/irq.h
View file @
306cf7f1
...
...
@@ -110,7 +110,7 @@ static __inline__ char *__irq_itoa(unsigned int irq)
return
buff
;
}
#define NR_IRQS 1
5
#define NR_IRQS 1
6
#define irq_cannonicalize(irq) (irq)
extern
void
disable_irq
(
unsigned
int
);
...
...
include/asm-sparc64/rwsem.h
View file @
306cf7f1
...
...
@@ -279,7 +279,7 @@ static __inline__ int rwsem_atomic_update(int delta, struct rw_semaphore *sem)
"mov %%g7, %0
\n\t
"
:
"=&r"
(
tmp
)
:
"0"
(
tmp
),
"r"
(
sem
)
:
"g5"
,
"g7"
,
"memory"
);
:
"g5"
,
"g7"
,
"memory"
,
"cc"
);
return
tmp
+
delta
;
}
...
...
include/asm-sparc64/system.h
View file @
306cf7f1
...
...
@@ -164,6 +164,11 @@ do { spin_unlock_irq(&(prev)->switch_lock); \
* not preserve it's value. Hairy, but it lets us remove 2 loads
* and 2 stores in this critical code path. -DaveM
*/
#if __GNUC__ >= 3
#define EXTRA_CLOBBER ,"%l1"
#else
#define EXTRA_CLOBBER
#endif
#define switch_to(prev, next, last) \
do { if (test_thread_flag(TIF_PERFCTR)) { \
unsigned long __tmp; \
...
...
@@ -209,10 +214,11 @@ do { if (test_thread_flag(TIF_PERFCTR)) { \
: "0" (next->thread_info), \
"i" (TI_WSTATE), "i" (TI_KSP), "i" (TI_FLAGS), "i" (TI_CWP), \
"i" (_TIF_NEWCHILD), "i" (TI_TASK) \
: "cc", "g1", "g2", "g3", "g5", "g7", \
"l2", "l3", "l4", "l5", "l6", "l7", \
: "cc", \
"g1", "g2", "g3", "g5", "g7", \
"l2", "l3", "l4", "l5", "l6", "l7", \
"i0", "i1", "i2", "i3", "i4", "i5", \
"o0", "o1", "o2", "o3", "o4", "o5",
"o7");
\
"o0", "o1", "o2", "o3", "o4", "o5",
"o7" EXTRA_CLOBBER);
\
/* If you fuck with this, update ret_from_syscall code too. */
\
if (test_thread_flag(TIF_PERFCTR)) { \
write_pcr(current_thread_info()->pcr_reg); \
...
...
sound/core/ioctl32/ioctl32.c
View file @
306cf7f1
...
...
@@ -24,6 +24,7 @@
#include <linux/init.h>
#include <linux/time.h>
#include <linux/slab.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <sound/core.h>
#include <sound/control.h>
...
...
sound/core/ioctl32/rawmidi32.c
View file @
306cf7f1
...
...
@@ -20,6 +20,7 @@
#include <sound/driver.h>
#include <linux/time.h>
#include <linux/fs.h>
#include <sound/core.h>
#include <sound/rawmidi.h>
#include <asm/uaccess.h>
...
...
sound/core/ioctl32/seq32.c
View file @
306cf7f1
...
...
@@ -20,6 +20,7 @@
#include <sound/driver.h>
#include <linux/time.h>
#include <linux/fs.h>
#include <sound/core.h>
#include <sound/timer.h>
#include <asm/uaccess.h>
...
...
sound/core/ioctl32/timer32.c
View file @
306cf7f1
...
...
@@ -20,6 +20,7 @@
#include <sound/driver.h>
#include <linux/time.h>
#include <linux/fs.h>
#include <sound/core.h>
#include <sound/timer.h>
#include <asm/uaccess.h>
...
...
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