Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
9401c705
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
9401c705
编写于
9月 12, 2005
作者:
L
Linus Torvalds
浏览文件
操作
浏览文件
下载
差异文件
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
上级
61b22e69
074c5279
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
38 addition
and
26 deletion
+38
-26
arch/sparc/kernel/module.c
arch/sparc/kernel/module.c
+6
-3
arch/sparc/kernel/sparc_ksyms.c
arch/sparc/kernel/sparc_ksyms.c
+12
-19
arch/sparc/lib/mul.S
arch/sparc/lib/mul.S
+2
-0
arch/sparc/lib/rem.S
arch/sparc/lib/rem.S
+2
-0
arch/sparc/lib/sdiv.S
arch/sparc/lib/sdiv.S
+2
-0
arch/sparc/lib/udiv.S
arch/sparc/lib/udiv.S
+2
-0
arch/sparc/lib/umul.S
arch/sparc/lib/umul.S
+2
-0
arch/sparc/lib/urem.S
arch/sparc/lib/urem.S
+2
-0
drivers/sbus/char/bpp.c
drivers/sbus/char/bpp.c
+1
-2
drivers/sbus/char/vfc_i2c.c
drivers/sbus/char/vfc_i2c.c
+1
-2
scripts/mod/modpost.c
scripts/mod/modpost.c
+6
-0
未找到文件。
arch/sparc/kernel/module.c
浏览文件 @
9401c705
...
...
@@ -10,6 +10,7 @@
#include <linux/vmalloc.h>
#include <linux/fs.h>
#include <linux/string.h>
#include <linux/ctype.h>
void
*
module_alloc
(
unsigned
long
size
)
{
...
...
@@ -37,7 +38,7 @@ void module_free(struct module *mod, void *module_region)
}
/* Make generic code ignore STT_REGISTER dummy undefined symbols,
* and replace references to .func with
func as in ppc64's dedotify.
* and replace references to .func with
_Func
*/
int
module_frob_arch_sections
(
Elf_Ehdr
*
hdr
,
Elf_Shdr
*
sechdrs
,
...
...
@@ -64,8 +65,10 @@ int module_frob_arch_sections(Elf_Ehdr *hdr,
sym
[
i
].
st_shndx
=
SHN_ABS
;
else
{
char
*
name
=
strtab
+
sym
[
i
].
st_name
;
if
(
name
[
0
]
==
'.'
)
memmove
(
name
,
name
+
1
,
strlen
(
name
));
if
(
name
[
0
]
==
'.'
)
{
name
[
0
]
=
'_'
;
name
[
1
]
=
toupper
(
name
[
1
]);
}
}
}
}
...
...
arch/sparc/kernel/sparc_ksyms.c
浏览文件 @
9401c705
...
...
@@ -97,19 +97,12 @@ extern void ___rw_write_enter(void);
/* Alias functions whose names begin with "." and export the aliases.
* The module references will be fixed up by module_frob_arch_sections.
*/
#define DOT_ALIAS2(__ret, __x, __arg1, __arg2) \
extern __ret __x(__arg1, __arg2); \
asm(".weak " #__x);\
asm(#__x "=." #__x);
DOT_ALIAS2
(
int
,
div
,
int
,
int
)
DOT_ALIAS2
(
int
,
mul
,
int
,
int
)
DOT_ALIAS2
(
int
,
rem
,
int
,
int
)
DOT_ALIAS2
(
unsigned
,
udiv
,
unsigned
,
unsigned
)
DOT_ALIAS2
(
unsigned
,
umul
,
unsigned
,
unsigned
)
DOT_ALIAS2
(
unsigned
,
urem
,
unsigned
,
unsigned
)
#undef DOT_ALIAS2
extern
int
_Div
(
int
,
int
);
extern
int
_Mul
(
int
,
int
);
extern
int
_Rem
(
int
,
int
);
extern
unsigned
_Udiv
(
unsigned
,
unsigned
);
extern
unsigned
_Umul
(
unsigned
,
unsigned
);
extern
unsigned
_Urem
(
unsigned
,
unsigned
);
/* used by various drivers */
EXPORT_SYMBOL
(
sparc_cpu_model
);
...
...
@@ -320,12 +313,12 @@ EXPORT_SYMBOL(__lshrdi3);
EXPORT_SYMBOL
(
__muldi3
);
EXPORT_SYMBOL
(
__divdi3
);
EXPORT_SYMBOL
(
r
em
);
EXPORT_SYMBOL
(
u
rem
);
EXPORT_SYMBOL
(
m
ul
);
EXPORT_SYMBOL
(
u
mul
);
EXPORT_SYMBOL
(
d
iv
);
EXPORT_SYMBOL
(
u
div
);
EXPORT_SYMBOL
(
_R
em
);
EXPORT_SYMBOL
(
_U
rem
);
EXPORT_SYMBOL
(
_M
ul
);
EXPORT_SYMBOL
(
_U
mul
);
EXPORT_SYMBOL
(
_D
iv
);
EXPORT_SYMBOL
(
_U
div
);
#ifdef CONFIG_DEBUG_BUGVERBOSE
EXPORT_SYMBOL
(
do_BUG
);
...
...
arch/sparc/lib/mul.S
浏览文件 @
9401c705
...
...
@@ -16,7 +16,9 @@
*/
.
globl
.
mul
.
globl
_Mul
.
mul
:
_Mul
:
/
*
needed
for
export
*/
mov
%
o0
,
%
y
!
multiplier
->
Y
andncc
%
o0
,
0xfff
,
%
g0
!
test
bits
12
..31
be
Lmul_shortway
!
if
zero
,
can
do
it
the
short
way
...
...
arch/sparc/lib/rem.S
浏览文件 @
9401c705
...
...
@@ -43,7 +43,9 @@
.
globl
.
rem
.
globl
_Rem
.
rem
:
_Rem
:
/
*
needed
for
export
*/
!
compute
sign
of
result
; if neither is negative, no problem
orcc
%
o1
,
%
o0
,
%
g0
!
either
negative
?
bge
2
f
!
no
,
go
do
the
divide
...
...
arch/sparc/lib/sdiv.S
浏览文件 @
9401c705
...
...
@@ -43,7 +43,9 @@
.
globl
.
div
.
globl
_Div
.
div
:
_Div
:
/
*
needed
for
export
*/
!
compute
sign
of
result
; if neither is negative, no problem
orcc
%
o1
,
%
o0
,
%
g0
!
either
negative
?
bge
2
f
!
no
,
go
do
the
divide
...
...
arch/sparc/lib/udiv.S
浏览文件 @
9401c705
...
...
@@ -43,7 +43,9 @@
.
globl
.
udiv
.
globl
_Udiv
.
udiv
:
_Udiv
:
/
*
needed
for
export
*/
!
Ready
to
divide
.
Compute
size
of
quotient
; scale comparand.
orcc
%
o1
,
%
g0
,
%
o5
...
...
arch/sparc/lib/umul.S
浏览文件 @
9401c705
...
...
@@ -21,7 +21,9 @@
*/
.
globl
.
umul
.
globl
_Umul
.
umul
:
_Umul
:
/
*
needed
for
export
*/
or
%
o0
,
%
o1
,
%
o4
mov
%
o0
,
%
y
!
multiplier
->
Y
...
...
arch/sparc/lib/urem.S
浏览文件 @
9401c705
...
...
@@ -41,7 +41,9 @@
*/
.
globl
.
urem
.
globl
_Urem
.
urem
:
_Urem
:
/
*
needed
for
export
*/
!
Ready
to
divide
.
Compute
size
of
quotient
; scale comparand.
orcc
%
o1
,
%
g0
,
%
o5
...
...
drivers/sbus/char/bpp.c
浏览文件 @
9401c705
...
...
@@ -295,8 +295,7 @@ static unsigned short get_pins(unsigned minor)
static
void
snooze
(
unsigned
long
snooze_time
,
unsigned
minor
)
{
set_current_state
(
TASK_UNINTERRUPTIBLE
);
schedule_timeout
(
snooze_time
+
1
);
schedule_timeout_uninterruptible
(
snooze_time
+
1
);
}
static
int
wait_for
(
unsigned
short
set
,
unsigned
short
clr
,
...
...
drivers/sbus/char/vfc_i2c.c
浏览文件 @
9401c705
...
...
@@ -81,8 +81,7 @@ int vfc_pcf8584_init(struct vfc_dev *dev)
void
vfc_i2c_delay_no_busy
(
struct
vfc_dev
*
dev
,
unsigned
long
usecs
)
{
set_current_state
(
TASK_UNINTERRUPTIBLE
);
schedule_timeout
(
usecs_to_jiffies
(
usecs
));
schedule_timeout_uninterruptible
(
usecs_to_jiffies
(
usecs
));
}
void
inline
vfc_i2c_delay
(
struct
vfc_dev
*
dev
)
...
...
scripts/mod/modpost.c
浏览文件 @
9401c705
...
...
@@ -370,6 +370,12 @@ handle_modversions(struct module *mod, struct elf_info *info,
/* Ignore register directives. */
if
(
ELF_ST_TYPE
(
sym
->
st_info
)
==
STT_SPARC_REGISTER
)
break
;
if
(
symname
[
0
]
==
'.'
)
{
char
*
munged
=
strdup
(
symname
);
munged
[
0
]
=
'_'
;
munged
[
1
]
=
toupper
(
munged
[
1
]);
symname
=
munged
;
}
}
#endif
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录