Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
9354a55f
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看板
提交
9354a55f
编写于
8月 04, 2010
作者:
T
Tony Luck
浏览文件
操作
浏览文件
下载
差异文件
Pull misc2-6-36 into release branch
上级
38e14a7c
ba58aebf
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
200 addition
and
184 deletion
+200
-184
arch/ia64/kernel/perfmon.c
arch/ia64/kernel/perfmon.c
+11
-11
arch/ia64/kernel/vmlinux.lds.S
arch/ia64/kernel/vmlinux.lds.S
+189
-173
未找到文件。
arch/ia64/kernel/perfmon.c
浏览文件 @
9354a55f
...
...
@@ -1696,8 +1696,8 @@ pfm_poll(struct file *filp, poll_table * wait)
return
mask
;
}
static
int
pfm_ioctl
(
struct
inode
*
inode
,
struct
file
*
file
,
unsigned
int
cmd
,
unsigned
long
arg
)
static
long
pfm_ioctl
(
struct
file
*
file
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
DPRINT
((
"pfm_ioctl called
\n
"
));
return
-
EINVAL
;
...
...
@@ -2174,15 +2174,15 @@ pfm_no_open(struct inode *irrelevant, struct file *dontcare)
static
const
struct
file_operations
pfm_file_ops
=
{
.
llseek
=
no_llseek
,
.
read
=
pfm_read
,
.
write
=
pfm_write
,
.
poll
=
pfm_poll
,
.
ioctl
=
pfm_ioctl
,
.
open
=
pfm_no_open
,
/* special open code to disallow open via /proc */
.
fasync
=
pfm_fasync
,
.
release
=
pfm_close
,
.
flush
=
pfm_flush
.
llseek
=
no_llseek
,
.
read
=
pfm_read
,
.
write
=
pfm_write
,
.
poll
=
pfm_poll
,
.
unlocked_ioctl
=
pfm_ioctl
,
.
open
=
pfm_no_open
,
/* special open code to disallow open via /proc */
.
fasync
=
pfm_fasync
,
.
release
=
pfm_close
,
.
flush
=
pfm_flush
};
static
int
...
...
arch/ia64/kernel/vmlinux.lds.S
浏览文件 @
9354a55f
...
...
@@ -6,204 +6,209 @@
#include <asm-generic/vmlinux.lds.h>
#define IVT_TEXT \
VMLINUX_SYMBOL
(
__start_ivt_text
)
=
.
; \
*(.
text..ivt
)
\
VMLINUX_SYMBOL
(
__end_ivt_text
)
=
.
;
OUTPUT_FORMAT
("
elf64
-
ia64
-
little
")
OUTPUT_ARCH
(
ia64
)
ENTRY
(
phys_start
)
jiffies
=
jiffies_64
;
PHDRS
{
code
PT_LOAD
;
percpu
PT_LOAD
;
data
PT_LOAD
;
note
PT_NOTE
;
unwind
0x70000001
; /* PT_IA_64_UNWIND, but ld doesn't match the name */
code
PT_LOAD
;
percpu
PT_LOAD
;
data
PT_LOAD
;
note
PT_NOTE
;
unwind
0x70000001
; /* PT_IA_64_UNWIND, but ld doesn't match the name */
}
SECTIONS
{
/
*
unwind
exit
sections
must
be
discarded
before
the
rest
of
the
sections
get
included
.
*/
/
DISCARD
/
:
{
*(.
IA_64
.
unwind.exit.text
)
*(.
IA_64
.
unwind_info
.
exit.text
)
*(.
comment
)
*(.
note
)
}
v
=
PAGE_OFFSET
; /* this symbol is here to make debugging easier... */
phys_start
=
_start
-
LOAD_OFFSET
;
code
:
{
}
:
code
.
=
KERNEL_START
;
_text
=
.
;
_stext
=
.
;
.
text
:
AT
(
ADDR
(
.
text
)
-
LOAD_OFFSET
)
{
IVT_TEXT
TEXT_TEXT
SCHED_TEXT
LOCK_TEXT
KPROBES_TEXT
*(.
gnu.linkonce.t
*)
}
.
text2
:
AT
(
ADDR
(
.
text2
)
-
LOAD_OFFSET
)
{
*(
.
text2
)
}
#ifdef CONFIG_SMP
.
text..lock
:
AT
(
ADDR
(
.
text
..
lock
)
-
LOAD_OFFSET
)
{
*(
.
text
..
lock
)
}
#endif
_etext
=
.
;
/
*
Read
-
only
data
*/
SECTIONS
{
/
*
*
unwind
exit
sections
must
be
discarded
before
*
the
rest
of
the
sections
get
included
.
*/
/
DISCARD
/
:
{
*(.
IA_64
.
unwind.exit.text
)
*(.
IA_64
.
unwind_info
.
exit.text
)
*(.
comment
)
*(.
note
)
}
NOTES
:
code
:
note
/*
put
.
notes
in
text
and
mark
in
PT_NOTE
*/
code_continues
:
{}
:
code
/*
switch
back
to
regular
program
...
*/
v
=
PAGE_OFFSET
; /* this symbol is here to make debugging easier... */
phys_start
=
_start
-
LOAD_OFFSET
;
code
:
{
}
:
code
.
=
KERNEL_START
;
_text
=
.
;
_stext
=
.
;
.
text
:
AT
(
ADDR
(
.
text
)
-
LOAD_OFFSET
)
{
__start_ivt_text
=
.
;
*(.
text..ivt
)
__end_ivt_text
=
.
;
TEXT_TEXT
SCHED_TEXT
LOCK_TEXT
KPROBES_TEXT
*(.
gnu.linkonce.t
*)
}
EXCEPTION_TABLE
(16)
.
text2
:
AT
(
ADDR
(
.
text2
)
-
LOAD_OFFSET
)
{
*(.
text2
)
}
/
*
MCA
table
*/
.
=
ALIGN
(
16
)
;
__mca_table
:
AT
(
ADDR
(
__mca_table
)
-
LOAD_OFFSET
)
{
__start___mca_table
=
.
;
*(
__mca_table
)
__stop___mca_table
=
.
;
#ifdef CONFIG_SMP
.
text..lock
:
AT
(
ADDR
(
.
text
..
lock
)
-
LOAD_OFFSET
)
{
*(.
text..lock
)
}
#endif
_etext
=
.
;
/
*
*
Read
-
only
data
*/
NOTES
:
code
:
note
/*
put
.
notes
in
text
and
mark
in
PT_NOTE
*/
code_continues
:
{
}
:
code
/*
switch
back
to
regular
program
...
*/
EXCEPTION_TABLE
(16)
/
*
MCA
table
*/
.
=
ALIGN
(
16
)
;
__mca_table
:
AT
(
ADDR
(
__mca_table
)
-
LOAD_OFFSET
)
{
__start___mca_table
=
.
;
*(
__mca_table
)
__stop___mca_table
=
.
;
}
.
data..patch.
phys_stack_reg
:
AT
(
ADDR
(
.
data
..
patch
.
phys_stack_reg
)
-
LOAD_OFFSET
)
{
__start___phys_stack_reg_patchlist
=
.
;
*(.
data..patch.
phys_stack_reg
)
__end___phys_stack_reg_patchlist
=
.
;
.
data..patch.
phys_stack_reg
:
AT
(
ADDR
(
.
data
..
patch
.
phys_stack_reg
)
-
LOAD_OFFSET
)
{
__start___phys_stack_reg_patchlist
=
.
;
*(.
data..patch.
phys_stack_reg
)
__end___phys_stack_reg_patchlist
=
.
;
}
/
*
Global
data
*/
_data
=
.
;
/
*
*
Global
data
*/
_data
=
.
;
/
*
Unwind
info
&
table
:
*/
.
=
ALIGN
(
8
)
;
.
IA_64
.
unwind_info
:
AT
(
ADDR
(
.
IA_64
.
unwind_info
)
-
LOAD_OFFSET
)
{
*(
.
IA_64
.
unwind_info
*)
}
.
IA_64
.
unwind
:
AT
(
ADDR
(
.
IA_64
.
unwind
)
-
LOAD_OFFSET
)
{
__start_unwind
=
.
;
*(.
IA_64
.
unwind
*)
__end_unwind
=
.
;
/
*
Unwind
info
&
table
:
*/
.
=
ALIGN
(
8
)
;
.
IA_64
.
unwind_info
:
AT
(
ADDR
(
.
IA_64
.
unwind_info
)
-
LOAD_OFFSET
)
{
*(.
IA_64
.
unwind_info
*)
}
.
IA_64
.
unwind
:
AT
(
ADDR
(
.
IA_64
.
unwind
)
-
LOAD_OFFSET
)
{
__start_unwind
=
.
;
*(.
IA_64
.
unwind
*)
__end_unwind
=
.
;
}
:
code
:
unwind
code_continues2
:
{}
:
code
code_continues2
:
{
}
:
code
RODATA
RODATA
.
opd
:
AT
(
ADDR
(
.
opd
)
-
LOAD_OFFSET
)
{
*(
.
opd
)
}
/
*
Initialization
code
and
data
:
*/
.
opd
:
AT
(
ADDR
(
.
opd
)
-
LOAD_OFFSET
)
{
*(.
opd
)
}
.
=
ALIGN
(
PAGE_SIZE
)
;
__init_begin
=
.
;
/
*
*
Initialization
code
and
data
:
*/
.
=
ALIGN
(
PAGE_SIZE
)
;
__init_begin
=
.
;
INIT_TEXT_SECTION
(
PAGE_SIZE
)
INIT_DATA_SECTION
(16)
INIT_TEXT_SECTION
(
PAGE_SIZE
)
INIT_DATA_SECTION
(16)
.
data..patch.vtop
:
AT
(
ADDR
(
.
data
..
patch
.
vtop
)
-
LOAD_OFFSET
)
{
__start___vtop_patchlist
=
.
;
*(.
data..patch.vtop
)
__end___vtop_patchlist
=
.
;
.
data..patch.vtop
:
AT
(
ADDR
(
.
data
..
patch
.
vtop
)
-
LOAD_OFFSET
)
{
__start___vtop_patchlist
=
.
;
*(.
data..patch.vtop
)
__end___vtop_patchlist
=
.
;
}
.
data..patch.rse
:
AT
(
ADDR
(
.
data
..
patch
.
rse
)
-
LOAD_OFFSET
)
{
__start___rse_patchlist
=
.
;
*(.
data..patch.rse
)
__end___rse_patchlist
=
.
;
.
data..patch.rse
:
AT
(
ADDR
(
.
data
..
patch
.
rse
)
-
LOAD_OFFSET
)
{
__start___rse_patchlist
=
.
;
*(.
data..patch.rse
)
__end___rse_patchlist
=
.
;
}
.
data..patch.
mckinley_e9
:
AT
(
ADDR
(
.
data
..
patch
.
mckinley_e9
)
-
LOAD_OFFSET
)
{
__start___mckinley_e9_bundles
=
.
;
*(.
data..patch.
mckinley_e9
)
__end___mckinley_e9_bundles
=
.
;
.
data..patch.
mckinley_e9
:
AT
(
ADDR
(
.
data
..
patch
.
mckinley_e9
)
-
LOAD_OFFSET
)
{
__start___mckinley_e9_bundles
=
.
;
*(.
data..patch.
mckinley_e9
)
__end___mckinley_e9_bundles
=
.
;
}
#if defined(CONFIG_PARAVIRT)
.
=
ALIGN
(
16
)
;
.
paravirt_bundles
:
AT
(
ADDR
(
.
paravirt_bundles
)
-
LOAD_OFFSET
)
{
__start_paravirt_bundles
=
.
;
*(.
paravirt_bundles
)
__stop_paravirt_bundles
=
.
;
}
.
=
ALIGN
(
16
)
;
.
paravirt_insts
:
AT
(
ADDR
(
.
paravirt_insts
)
-
LOAD_OFFSET
)
{
__start_paravirt_insts
=
.
;
*(.
paravirt_insts
)
__stop_paravirt_insts
=
.
;
}
.
=
ALIGN
(
16
)
;
.
paravirt_branches
:
AT
(
ADDR
(
.
paravirt_branches
)
-
LOAD_OFFSET
)
{
__start_paravirt_branches
=
.
;
*(.
paravirt_branches
)
__stop_paravirt_branches
=
.
;
.
=
ALIGN
(
16
)
;
.
paravirt_bundles
:
AT
(
ADDR
(
.
paravirt_bundles
)
-
LOAD_OFFSET
)
{
__start_paravirt_bundles
=
.
;
*(.
paravirt_bundles
)
__stop_paravirt_bundles
=
.
;
}
.
=
ALIGN
(
16
)
;
.
paravirt_insts
:
AT
(
ADDR
(
.
paravirt_insts
)
-
LOAD_OFFSET
)
{
__start_paravirt_insts
=
.
;
*(.
paravirt_insts
)
__stop_paravirt_insts
=
.
;
}
.
=
ALIGN
(
16
)
;
.
paravirt_branches
:
AT
(
ADDR
(
.
paravirt_branches
)
-
LOAD_OFFSET
)
{
__start_paravirt_branches
=
.
;
*(.
paravirt_branches
)
__stop_paravirt_branches
=
.
;
}
#endif
#if defined(CONFIG_IA64_GENERIC)
/
*
Machine
Vector
*/
.
=
ALIGN
(
16
)
;
.
machvec
:
AT
(
ADDR
(
.
machvec
)
-
LOAD_OFFSET
)
{
machvec_start
=
.
;
*(.
machvec
)
machvec_end
=
.
;
/
*
Machine
Vector
*/
.
=
ALIGN
(
16
)
;
.
machvec
:
AT
(
ADDR
(
.
machvec
)
-
LOAD_OFFSET
)
{
machvec_start
=
.
;
*(.
machvec
)
machvec_end
=
.
;
}
#endif
#ifdef CONFIG_SMP
.
=
ALIGN
(
PERCPU_PAGE_SIZE
)
;
__cpu0_per_cpu
=
.
;
.
=
.
+
PERCPU_PAGE_SIZE
;
/* cpu0 per-cpu space */
.
=
ALIGN
(
PERCPU_PAGE_SIZE
)
;
__cpu0_per_cpu
=
.
;
.
=
.
+
PERCPU_PAGE_SIZE
;
/* cpu0 per-cpu space */
#endif
.
=
ALIGN
(
PAGE_SIZE
)
;
__init_end
=
.
;
.
=
ALIGN
(
PAGE_SIZE
)
;
__init_end
=
.
;
.
data..
page_aligned
:
AT
(
ADDR
(
.
data
..
page_aligned
)
-
LOAD_OFFSET
)
{
PAGE_ALIGNED_DATA
(
PAGE_SIZE
)
.
=
ALIGN
(
PAGE_SIZE
)
;
__start_gate_section
=
.
;
*(.
data..gate
)
__stop_gate_section
=
.
;
.
data..
page_aligned
:
AT
(
ADDR
(
.
data
..
page_aligned
)
-
LOAD_OFFSET
)
{
PAGE_ALIGNED_DATA
(
PAGE_SIZE
)
.
=
ALIGN
(
PAGE_SIZE
)
;
__start_gate_section
=
.
;
*(.
data..gate
)
__stop_gate_section
=
.
;
#ifdef CONFIG_XEN
.
=
ALIGN
(
PAGE_SIZE
)
;
__xen_start_gate_section
=
.
;
*(.
data..gate.xen
)
__xen_stop_gate_section
=
.
;
.
=
ALIGN
(
PAGE_SIZE
)
;
__xen_start_gate_section
=
.
;
*(.
data..gate.xen
)
__xen_stop_gate_section
=
.
;
#endif
}
.
=
ALIGN
(
PAGE_SIZE
)
; /* make sure the gate page doesn't expose
*
kernel
data
*/
/
*
Per
-
cpu
data
:
*/
.
=
ALIGN
(
PERCPU_PAGE_SIZE
)
;
PERCPU_VADDR
(
PERCPU_ADDR
,
:
percpu
)
__phys_per_cpu_start
=
__per_cpu_load
;
.
=
__phys_per_cpu_start
+
PERCPU_PAGE_SIZE
; /* ensure percpu data fits
*
into
percpu
page
size
*/
data
:
{
}
:
data
.
data
:
AT
(
ADDR
(
.
data
)
-
LOAD_OFFSET
)
{
/
*
*
make
sure
the
gate
page
doesn
't expose
*
kernel
data
*/
.
=
ALIGN
(
PAGE_SIZE
)
;
/
*
Per
-
cpu
data
:
*/
.
=
ALIGN
(
PERCPU_PAGE_SIZE
)
;
PERCPU_VADDR
(
PERCPU_ADDR
,
:
percpu
)
__phys_per_cpu_start
=
__per_cpu_load
;
/
*
*
ensure
percpu
data
fits
*
into
percpu
page
size
*/
.
=
__phys_per_cpu_start
+
PERCPU_PAGE_SIZE
;
data
:
{
}
:
data
.
data
:
AT
(
ADDR
(
.
data
)
-
LOAD_OFFSET
)
{
INIT_TASK_DATA
(
PAGE_SIZE
)
CACHELINE_ALIGNED_DATA
(
SMP_CACHE_BYTES
)
READ_MOSTLY_DATA
(
SMP_CACHE_BYTES
)
...
...
@@ -213,26 +218,37 @@ SECTIONS
CONSTRUCTORS
}
.
=
ALIGN
(
16
)
; /* gp must be 16-byte aligned for exc. table */
.
got
:
AT
(
ADDR
(
.
got
)
-
LOAD_OFFSET
)
{
*(
.
got
.
plt
)
*(
.
got
)
}
__gp
=
ADDR
(
.
got
)
+
0x200000
;
/
*
We
want
the
small
data
sections
together
,
so
single
-
instruction
offsets
can
access
them
all
,
and
initialized
data
all
before
uninitialized
,
so
we
can
shorten
the
on
-
disk
segment
size
.
*/
.
sdata
:
AT
(
ADDR
(
.
sdata
)
-
LOAD_OFFSET
)
{
*(
.
sdata
)
*(
.
sdata1
)
*(
.
srdata
)
}
_edata
=
.
;
.
=
ALIGN
(
16
)
; /* gp must be 16-byte aligned for exc. table */
.
got
:
AT
(
ADDR
(
.
got
)
-
LOAD_OFFSET
)
{
*(.
got.plt
)
*(.
got
)
}
__gp
=
ADDR
(
.
got
)
+
0x200000
;
/
*
*
We
want
the
small
data
sections
together
,
*
so
single
-
instruction
offsets
can
access
*
them
all
,
and
initialized
data
all
before
*
uninitialized
,
so
we
can
shorten
the
*
on
-
disk
segment
size
.
*/
.
sdata
:
AT
(
ADDR
(
.
sdata
)
-
LOAD_OFFSET
)
{
*(.
sdata
)
*(.
sdata1
)
*(.
srdata
)
}
_edata
=
.
;
BSS_SECTION
(0,
0
,
0
)
BSS_SECTION
(0,
0
,
0
)
_end
=
.
;
_end
=
.
;
code
:
{
}
:
code
code
:
{
}
:
code
STABS_DEBUG
DWARF_DEBUG
STABS_DEBUG
DWARF_DEBUG
/
*
Default
discards
*/
DISCARDS
/
*
Default
discards
*/
DISCARDS
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录