Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
2f7ee7c6
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看板
提交
2f7ee7c6
编写于
1月 31, 2006
作者:
D
David S. Miller
提交者:
David S. Miller
3月 20, 2006
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[SPARC64]: Increase swapper_tsb size to 32K.
Signed-off-by:
N
David S. Miller
<
davem@davemloft.net
>
上级
a8b900d8
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
16 addition
and
20 deletion
+16
-20
arch/sparc64/kernel/head.S
arch/sparc64/kernel/head.S
+6
-6
arch/sparc64/kernel/vmlinux.lds.S
arch/sparc64/kernel/vmlinux.lds.S
+0
-3
arch/sparc64/mm/tsb.c
arch/sparc64/mm/tsb.c
+0
-8
include/asm-sparc64/tsb.h
include/asm-sparc64/tsb.h
+10
-3
未找到文件。
arch/sparc64/kernel/head.S
浏览文件 @
2f7ee7c6
...
...
@@ -484,16 +484,16 @@ sparc64_boot_end:
/*
*
The
following
skip
makes
sure
the
trap
table
in
ttable
.
S
is
aligned
*
on
a
32
K
boundary
as
required
by
the
v9
specs
for
TBA
register
.
*
*
We
align
to
a
32
K
boundary
,
then
we
have
the
32
K
kernel
TSB
,
*
then
the
32
K
aligned
trap
table
.
*/
1
:
.
skip
0x4000
+
_start
-
1
b
#ifdef CONFIG_SBUS
/*
This
is
just
a
hack
to
fool
make
depend
config
.
h
discovering
strategy
:
As
the
.
S
files
below
need
config
.
h
,
but
make
depend
does
not
find
it
for
them
,
we
include
config
.
h
in
head
.
S
*/
#endif
.
globl
swapper_tsb
swapper_tsb
:
.
skip
(
32
*
1024
)
!
0
x0000000000408000
...
...
arch/sparc64/kernel/vmlinux.lds.S
浏览文件 @
2f7ee7c6
...
...
@@ -43,9 +43,6 @@ SECTIONS
__ex_table
:
{
*(
__ex_table
)
}
__stop___ex_table
=
.
;
.
=
ALIGN
(
8192
)
;
swapper_tsb
=
.
;
.
+=
8192
;
.
=
ALIGN
(
8192
)
;
__init_begin
=
.
;
.
init.text
:
{
...
...
arch/sparc64/mm/tsb.c
浏览文件 @
2f7ee7c6
...
...
@@ -12,14 +12,6 @@
#include <asm/pgtable.h>
#include <asm/tsb.h>
/* We use an 8K TSB for the whole kernel, this allows to
* handle about 4MB of modules and vmalloc mappings without
* incurring many hash conflicts.
*/
#define KERNEL_TSB_SIZE_BYTES 8192
#define KERNEL_TSB_NENTRIES \
(KERNEL_TSB_SIZE_BYTES / sizeof(struct tsb))
extern
struct
tsb
swapper_tsb
[
KERNEL_TSB_NENTRIES
];
static
inline
unsigned
long
tsb_hash
(
unsigned
long
vaddr
,
unsigned
long
nentries
)
...
...
include/asm-sparc64/tsb.h
浏览文件 @
2f7ee7c6
...
...
@@ -143,6 +143,14 @@
add REG1, (3 * 8), REG1; \
99:
/* We use a 32K TSB for the whole kernel, this allows to
* handle about 16MB of modules and vmalloc mappings without
* incurring many hash conflicts.
*/
#define KERNEL_TSB_SIZE_BYTES (32 * 1024)
#define KERNEL_TSB_NENTRIES \
(KERNEL_TSB_SIZE_BYTES / 16)
/* Do a kernel TSB lookup at tl>0 on VADDR+TAG, branch to OK_LABEL
* on TSB hit. REG1, REG2, REG3, and REG4 are used as temporaries
* and the found TTE will be left in REG1. REG3 and REG4 must
...
...
@@ -150,12 +158,11 @@
*
* VADDR and TAG will be preserved and not clobbered by this macro.
*/
/* XXX non-8K base page size support... */
#define KERN_TSB_LOOKUP_TL1(VADDR, TAG, REG1, REG2, REG3, REG4, OK_LABEL) \
sethi %hi(swapper_tsb), REG1; \
or REG1, %lo(swapper_tsb), REG1; \
srlx VADDR,
13
, REG2; \
and REG2, (
512
- 1), REG2; \
srlx VADDR,
PAGE_SHIFT
, REG2; \
and REG2, (
KERNEL_TSB_NENTRIES
- 1), REG2; \
sllx REG2, 4, REG2; \
add REG1, REG2, REG2; \
ldda [REG2] ASI_NUCLEUS_QUAD_LDD, REG3; \
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录