Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
9d87dd97
K
Kernel
项目概览
openeuler
/
Kernel
大约 1 年 前同步成功
通知
5
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9d87dd97
编写于
4月 29, 2008
作者:
R
Russell King
提交者:
Russell King
4月 29, 2008
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'orion-fixes2'
上级
92794a5d
0ed15071
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
120 addition
and
6 deletion
+120
-6
arch/arm/mm/Kconfig
arch/arm/mm/Kconfig
+4
-1
arch/arm/mm/Makefile
arch/arm/mm/Makefile
+1
-0
arch/arm/mm/copypage-feroceon.S
arch/arm/mm/copypage-feroceon.S
+95
-0
arch/arm/mm/proc-feroceon.S
arch/arm/mm/proc-feroceon.S
+12
-5
include/asm-arm/page.h
include/asm-arm/page.h
+8
-0
未找到文件。
arch/arm/mm/Kconfig
浏览文件 @
9d87dd97
...
...
@@ -372,7 +372,7 @@ config CPU_FEROCEON
select CPU_PABRT_NOIFAR
select CPU_CACHE_VIVT
select CPU_CP15_MMU
select CPU_COPY_
V4WB
if MMU
select CPU_COPY_
FEROCEON
if MMU
select CPU_TLB_V4WBI if MMU
config CPU_FEROCEON_OLD_ID
...
...
@@ -523,6 +523,9 @@ config CPU_COPY_V4WT
config CPU_COPY_V4WB
bool
config CPU_COPY_FEROCEON
bool
config CPU_COPY_V6
bool
...
...
arch/arm/mm/Makefile
浏览文件 @
9d87dd97
...
...
@@ -36,6 +36,7 @@ obj-$(CONFIG_CPU_CACHE_V7) += cache-v7.o
obj-$(CONFIG_CPU_COPY_V3)
+=
copypage-v3.o
obj-$(CONFIG_CPU_COPY_V4WT)
+=
copypage-v4wt.o
obj-$(CONFIG_CPU_COPY_V4WB)
+=
copypage-v4wb.o
obj-$(CONFIG_CPU_COPY_FEROCEON)
+=
copypage-feroceon.o
obj-$(CONFIG_CPU_COPY_V6)
+=
copypage-v6.o context.o
obj-$(CONFIG_CPU_SA1100)
+=
copypage-v4mc.o
obj-$(CONFIG_CPU_XSCALE)
+=
copypage-xscale.o
...
...
arch/arm/mm/copypage-feroceon.S
0 → 100644
浏览文件 @
9d87dd97
/*
*
linux
/
arch
/
arm
/
lib
/
copypage
-
feroceon
.
S
*
*
Copyright
(
C
)
2008
Marvell
Semiconductors
*
*
This
program
is
free
software
; you can redistribute it and/or modify
*
it
under
the
terms
of
the
GNU
General
Public
License
version
2
as
*
published
by
the
Free
Software
Foundation
.
*
*
This
handles
copy_user_page
and
clear_user_page
on
Feroceon
*
more
optimally
than
the
generic
implementations
.
*/
#include <linux/linkage.h>
#include <linux/init.h>
#include <asm/asm-offsets.h>
.
text
.
align
5
ENTRY
(
feroceon_copy_user_page
)
stmfd
sp
!,
{
r4
-
r9
,
lr
}
mov
ip
,
#
PAGE_SZ
1
:
mov
lr
,
r1
ldmia
r1
!,
{
r2
-
r9
}
pld
[
lr
,
#
32
]
pld
[
lr
,
#
64
]
pld
[
lr
,
#
96
]
pld
[
lr
,
#
128
]
pld
[
lr
,
#
160
]
pld
[
lr
,
#
192
]
pld
[
lr
,
#
224
]
stmia
r0
,
{
r2
-
r9
}
ldmia
r1
!,
{
r2
-
r9
}
mcr
p15
,
0
,
r0
,
c7
,
c14
,
1
@
clean
and
invalidate
D
line
add
r0
,
r0
,
#
32
stmia
r0
,
{
r2
-
r9
}
ldmia
r1
!,
{
r2
-
r9
}
mcr
p15
,
0
,
r0
,
c7
,
c14
,
1
@
clean
and
invalidate
D
line
add
r0
,
r0
,
#
32
stmia
r0
,
{
r2
-
r9
}
ldmia
r1
!,
{
r2
-
r9
}
mcr
p15
,
0
,
r0
,
c7
,
c14
,
1
@
clean
and
invalidate
D
line
add
r0
,
r0
,
#
32
stmia
r0
,
{
r2
-
r9
}
ldmia
r1
!,
{
r2
-
r9
}
mcr
p15
,
0
,
r0
,
c7
,
c14
,
1
@
clean
and
invalidate
D
line
add
r0
,
r0
,
#
32
stmia
r0
,
{
r2
-
r9
}
ldmia
r1
!,
{
r2
-
r9
}
mcr
p15
,
0
,
r0
,
c7
,
c14
,
1
@
clean
and
invalidate
D
line
add
r0
,
r0
,
#
32
stmia
r0
,
{
r2
-
r9
}
ldmia
r1
!,
{
r2
-
r9
}
mcr
p15
,
0
,
r0
,
c7
,
c14
,
1
@
clean
and
invalidate
D
line
add
r0
,
r0
,
#
32
stmia
r0
,
{
r2
-
r9
}
ldmia
r1
!,
{
r2
-
r9
}
mcr
p15
,
0
,
r0
,
c7
,
c14
,
1
@
clean
and
invalidate
D
line
add
r0
,
r0
,
#
32
stmia
r0
,
{
r2
-
r9
}
subs
ip
,
ip
,
#(
32
*
8
)
mcr
p15
,
0
,
r0
,
c7
,
c14
,
1
@
clean
and
invalidate
D
line
add
r0
,
r0
,
#
32
bne
1
b
mcr
p15
,
0
,
ip
,
c7
,
c10
,
4
@
drain
WB
ldmfd
sp
!,
{
r4
-
r9
,
pc
}
.
align
5
ENTRY
(
feroceon_clear_user_page
)
stmfd
sp
!,
{
r4
-
r7
,
lr
}
mov
r1
,
#
PAGE_SZ
/
32
mov
r2
,
#
0
mov
r3
,
#
0
mov
r4
,
#
0
mov
r5
,
#
0
mov
r6
,
#
0
mov
r7
,
#
0
mov
ip
,
#
0
mov
lr
,
#
0
1
:
stmia
r0
,
{
r2
-
r7
,
ip
,
lr
}
subs
r1
,
r1
,
#
1
mcr
p15
,
0
,
r0
,
c7
,
c14
,
1
@
clean
and
invalidate
D
line
add
r0
,
r0
,
#
32
bne
1
b
mcr
p15
,
0
,
r1
,
c7
,
c10
,
4
@
drain
WB
ldmfd
sp
!,
{
r4
-
r7
,
pc
}
__INITDATA
.
type
feroceon_user_fns
,
#
object
ENTRY
(
feroceon_user_fns
)
.
long
feroceon_clear_user_page
.
long
feroceon_copy_user_page
.
size
feroceon_user_fns
,
.
-
feroceon_user_fns
arch/arm/mm/proc-feroceon.S
浏览文件 @
9d87dd97
...
...
@@ -93,7 +93,7 @@ ENTRY(cpu_feroceon_reset)
*
*
Called
with
IRQs
disabled
*/
.
align
10
.
align
5
ENTRY
(
cpu_feroceon_do_idle
)
mov
r0
,
#
0
mcr
p15
,
0
,
r0
,
c7
,
c10
,
4
@
Drain
write
buffer
...
...
@@ -106,6 +106,7 @@ ENTRY(cpu_feroceon_do_idle)
*
Clean
and
invalidate
all
cache
entries
in
a
particular
*
address
space
.
*/
.
align
5
ENTRY
(
feroceon_flush_user_cache_all
)
/
*
FALLTHROUGH
*/
...
...
@@ -135,6 +136,7 @@ __flush_whole_cache:
*
-
end
-
end
address
(
exclusive
)
*
-
flags
-
vm_flags
describing
address
space
*/
.
align
5
ENTRY
(
feroceon_flush_user_cache_range
)
mov
ip
,
#
0
sub
r3
,
r1
,
r0
@
calculate
total
size
...
...
@@ -163,6 +165,7 @@ ENTRY(feroceon_flush_user_cache_range)
*
-
start
-
virtual
start
address
*
-
end
-
virtual
end
address
*/
.
align
5
ENTRY
(
feroceon_coherent_kern_range
)
/
*
FALLTHROUGH
*/
...
...
@@ -194,6 +197,7 @@ ENTRY(feroceon_coherent_user_range)
*
*
-
addr
-
page
aligned
address
*/
.
align
5
ENTRY
(
feroceon_flush_kern_dcache_page
)
add
r1
,
r0
,
#
PAGE_SZ
1
:
mcr
p15
,
0
,
r0
,
c7
,
c14
,
1
@
clean
+
invalidate
D
entry
...
...
@@ -218,6 +222,7 @@ ENTRY(feroceon_flush_kern_dcache_page)
*
*
(
same
as
v4wb
)
*/
.
align
5
ENTRY
(
feroceon_dma_inv_range
)
tst
r0
,
#
CACHE_DLINESIZE
-
1
mcrne
p15
,
0
,
r0
,
c7
,
c10
,
1
@
clean
D
entry
...
...
@@ -241,6 +246,7 @@ ENTRY(feroceon_dma_inv_range)
*
*
(
same
as
v4wb
)
*/
.
align
5
ENTRY
(
feroceon_dma_clean_range
)
bic
r0
,
r0
,
#
CACHE_DLINESIZE
-
1
1
:
mcr
p15
,
0
,
r0
,
c7
,
c10
,
1
@
clean
D
entry
...
...
@@ -258,10 +264,10 @@ ENTRY(feroceon_dma_clean_range)
*
-
start
-
virtual
start
address
*
-
end
-
virtual
end
address
*/
.
align
5
ENTRY
(
feroceon_dma_flush_range
)
bic
r0
,
r0
,
#
CACHE_DLINESIZE
-
1
1
:
mcr
p15
,
0
,
r0
,
c7
,
c14
,
1
@
clean
+
invalidate
D
entry
1
:
mcr
p15
,
0
,
r0
,
c7
,
c14
,
1
@
clean
+
invalidate
D
entry
add
r0
,
r0
,
#
CACHE_DLINESIZE
cmp
r0
,
r1
blo
1
b
...
...
@@ -279,6 +285,7 @@ ENTRY(feroceon_cache_fns)
.
long
feroceon_dma_clean_range
.
long
feroceon_dma_flush_range
.
align
5
ENTRY
(
cpu_feroceon_dcache_clean_area
)
1
:
mcr
p15
,
0
,
r0
,
c7
,
c10
,
1
@
clean
D
entry
add
r0
,
r0
,
#
CACHE_DLINESIZE
...
...
@@ -433,7 +440,7 @@ __feroceon_old_id_proc_info:
.
long
cpu_feroceon_name
.
long
feroceon_processor_functions
.
long
v4wbi_tlb_fns
.
long
v4wb
_user_fns
.
long
feroceon
_user_fns
.
long
feroceon_cache_fns
.
size
__feroceon_old_id_proc_info
,
.
-
__feroceon_old_id_proc_info
#endif
...
...
@@ -459,6 +466,6 @@ __feroceon_proc_info:
.
long
cpu_feroceon_name
.
long
feroceon_processor_functions
.
long
v4wbi_tlb_fns
.
long
v4wb
_user_fns
.
long
feroceon
_user_fns
.
long
feroceon_cache_fns
.
size
__feroceon_proc_info
,
.
-
__feroceon_proc_info
include/asm-arm/page.h
浏览文件 @
9d87dd97
...
...
@@ -71,6 +71,14 @@
# endif
#endif
#ifdef CONFIG_CPU_COPY_FEROCEON
# ifdef _USER
# define MULTI_USER 1
# else
# define _USER feroceon
# endif
#endif
#ifdef CONFIG_CPU_SA1100
# ifdef _USER
# define MULTI_USER 1
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录