Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
0eef331a
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 4 年多
通知
15
Star
8
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kernel_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
0eef331a
编写于
5月 03, 2014
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
sparc64: Use 'ILOG2_4MB' instead of constant '22'.
Signed-off-by:
N
David S. Miller
<
davem@davemloft.net
>
上级
ee73887e
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
10 addition
and
10 deletion
+10
-10
arch/sparc/include/asm/pgtable_64.h
arch/sparc/include/asm/pgtable_64.h
+1
-1
arch/sparc/kernel/head_64.S
arch/sparc/kernel/head_64.S
+2
-2
arch/sparc/kernel/ktlb.S
arch/sparc/kernel/ktlb.S
+1
-1
arch/sparc/mm/init_64.c
arch/sparc/mm/init_64.c
+6
-6
未找到文件。
arch/sparc/include/asm/pgtable_64.h
浏览文件 @
0eef331a
...
@@ -918,7 +918,7 @@ static inline bool kern_addr_valid(unsigned long addr)
...
@@ -918,7 +918,7 @@ static inline bool kern_addr_valid(unsigned long addr)
if
((
paddr
>>
MAX_PHYS_ADDRESS_BITS
)
!=
0UL
)
if
((
paddr
>>
MAX_PHYS_ADDRESS_BITS
)
!=
0UL
)
return
false
;
return
false
;
return
test_bit
(
paddr
>>
22
,
sparc64_valid_addr_bitmap
);
return
test_bit
(
paddr
>>
ILOG2_4MB
,
sparc64_valid_addr_bitmap
);
}
}
extern
int
page_in_phys_avail
(
unsigned
long
paddr
);
extern
int
page_in_phys_avail
(
unsigned
long
paddr
);
...
...
arch/sparc/kernel/head_64.S
浏览文件 @
0eef331a
...
@@ -282,8 +282,8 @@ sun4v_chip_type:
...
@@ -282,8 +282,8 @@ sun4v_chip_type:
stx
%
l2
,
[%
l4
+
0x0
]
stx
%
l2
,
[%
l4
+
0x0
]
ldx
[%
sp
+
2047
+
128
+
0x50
],
%
l3
!
physaddr
low
ldx
[%
sp
+
2047
+
128
+
0x50
],
%
l3
!
physaddr
low
/
*
4
MB
align
*/
/
*
4
MB
align
*/
srlx
%
l3
,
22
,
%
l3
srlx
%
l3
,
ILOG2_4MB
,
%
l3
sllx
%
l3
,
22
,
%
l3
sllx
%
l3
,
ILOG2_4MB
,
%
l3
stx
%
l3
,
[%
l4
+
0x8
]
stx
%
l3
,
[%
l4
+
0x8
]
/
*
Leave
service
as
-
is
,
"call-method"
*/
/
*
Leave
service
as
-
is
,
"call-method"
*/
...
...
arch/sparc/kernel/ktlb.S
浏览文件 @
0eef331a
...
@@ -277,7 +277,7 @@ kvmap_dtlb_load:
...
@@ -277,7 +277,7 @@ kvmap_dtlb_load:
#ifdef CONFIG_SPARSEMEM_VMEMMAP
#ifdef CONFIG_SPARSEMEM_VMEMMAP
kvmap_vmemmap
:
kvmap_vmemmap
:
sub
%
g4
,
%
g5
,
%
g5
sub
%
g4
,
%
g5
,
%
g5
srlx
%
g5
,
22
,
%
g5
srlx
%
g5
,
ILOG2_4MB
,
%
g5
sethi
%
hi
(
vmemmap_table
),
%
g1
sethi
%
hi
(
vmemmap_table
),
%
g1
sllx
%
g5
,
3
,
%
g5
sllx
%
g5
,
3
,
%
g5
or
%
g1
,
%
lo
(
vmemmap_table
),
%
g1
or
%
g1
,
%
lo
(
vmemmap_table
),
%
g1
...
...
arch/sparc/mm/init_64.c
浏览文件 @
0eef331a
...
@@ -588,7 +588,7 @@ static void __init remap_kernel(void)
...
@@ -588,7 +588,7 @@ static void __init remap_kernel(void)
int
i
,
tlb_ent
=
sparc64_highest_locked_tlbent
();
int
i
,
tlb_ent
=
sparc64_highest_locked_tlbent
();
tte_vaddr
=
(
unsigned
long
)
KERNBASE
;
tte_vaddr
=
(
unsigned
long
)
KERNBASE
;
phys_page
=
(
prom_boot_mapping_phys_low
>>
22UL
)
<<
22UL
;
phys_page
=
(
prom_boot_mapping_phys_low
>>
ILOG2_4MB
)
<<
ILOG2_4MB
;
tte_data
=
kern_large_tte
(
phys_page
);
tte_data
=
kern_large_tte
(
phys_page
);
kern_locked_tte_data
=
tte_data
;
kern_locked_tte_data
=
tte_data
;
...
@@ -1881,7 +1881,7 @@ void __init paging_init(void)
...
@@ -1881,7 +1881,7 @@ void __init paging_init(void)
BUILD_BUG_ON
(
NR_CPUS
>
4096
);
BUILD_BUG_ON
(
NR_CPUS
>
4096
);
kern_base
=
(
prom_boot_mapping_phys_low
>>
22UL
)
<<
22UL
;
kern_base
=
(
prom_boot_mapping_phys_low
>>
ILOG2_4MB
)
<<
ILOG2_4MB
;
kern_size
=
(
unsigned
long
)
&
_end
-
(
unsigned
long
)
KERNBASE
;
kern_size
=
(
unsigned
long
)
&
_end
-
(
unsigned
long
)
KERNBASE
;
/* Invalidate both kernel TSBs. */
/* Invalidate both kernel TSBs. */
...
@@ -1937,7 +1937,7 @@ void __init paging_init(void)
...
@@ -1937,7 +1937,7 @@ void __init paging_init(void)
shift
=
kern_base
+
PAGE_OFFSET
-
((
unsigned
long
)
KERNBASE
);
shift
=
kern_base
+
PAGE_OFFSET
-
((
unsigned
long
)
KERNBASE
);
real_end
=
(
unsigned
long
)
_end
;
real_end
=
(
unsigned
long
)
_end
;
num_kernel_image_mappings
=
DIV_ROUND_UP
(
real_end
-
KERNBASE
,
1
<<
22
);
num_kernel_image_mappings
=
DIV_ROUND_UP
(
real_end
-
KERNBASE
,
1
<<
ILOG2_4MB
);
printk
(
"Kernel: Using %d locked TLB entries for main kernel image.
\n
"
,
printk
(
"Kernel: Using %d locked TLB entries for main kernel image.
\n
"
,
num_kernel_image_mappings
);
num_kernel_image_mappings
);
...
@@ -2094,7 +2094,7 @@ static void __init setup_valid_addr_bitmap_from_pavail(unsigned long *bitmap)
...
@@ -2094,7 +2094,7 @@ static void __init setup_valid_addr_bitmap_from_pavail(unsigned long *bitmap)
if
(
new_start
<=
old_start
&&
if
(
new_start
<=
old_start
&&
new_end
>=
(
old_start
+
PAGE_SIZE
))
{
new_end
>=
(
old_start
+
PAGE_SIZE
))
{
set_bit
(
old_start
>>
22
,
bitmap
);
set_bit
(
old_start
>>
ILOG2_4MB
,
bitmap
);
goto
do_next_page
;
goto
do_next_page
;
}
}
}
}
...
@@ -2143,7 +2143,7 @@ void __init mem_init(void)
...
@@ -2143,7 +2143,7 @@ void __init mem_init(void)
addr
=
PAGE_OFFSET
+
kern_base
;
addr
=
PAGE_OFFSET
+
kern_base
;
last
=
PAGE_ALIGN
(
kern_size
)
+
addr
;
last
=
PAGE_ALIGN
(
kern_size
)
+
addr
;
while
(
addr
<
last
)
{
while
(
addr
<
last
)
{
set_bit
(
__pa
(
addr
)
>>
22
,
sparc64_valid_addr_bitmap
);
set_bit
(
__pa
(
addr
)
>>
ILOG2_4MB
,
sparc64_valid_addr_bitmap
);
addr
+=
PAGE_SIZE
;
addr
+=
PAGE_SIZE
;
}
}
...
@@ -2267,7 +2267,7 @@ int __meminit vmemmap_populate(unsigned long vstart, unsigned long vend,
...
@@ -2267,7 +2267,7 @@ int __meminit vmemmap_populate(unsigned long vstart, unsigned long vend,
void
*
block
;
void
*
block
;
if
(
!
(
*
vmem_pp
&
_PAGE_VALID
))
{
if
(
!
(
*
vmem_pp
&
_PAGE_VALID
))
{
block
=
vmemmap_alloc_block
(
1UL
<<
22
,
node
);
block
=
vmemmap_alloc_block
(
1UL
<<
ILOG2_4MB
,
node
);
if
(
!
block
)
if
(
!
block
)
return
-
ENOMEM
;
return
-
ENOMEM
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录