Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
716a5d73
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看板
提交
716a5d73
编写于
5月 11, 2012
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
sparc32: Kill asm/vac-ops.h
All sun4/sun4c stuff and unused. Signed-off-by:
N
David S. Miller
<
davem@davemloft.net
>
上级
6b7679dd
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
0 addition
and
130 deletion
+0
-130
arch/sparc/include/asm/pgtable_32.h
arch/sparc/include/asm/pgtable_32.h
+0
-1
arch/sparc/include/asm/uaccess_32.h
arch/sparc/include/asm/uaccess_32.h
+0
-1
arch/sparc/include/asm/vac-ops.h
arch/sparc/include/asm/vac-ops.h
+0
-127
arch/sparc/mm/init_32.c
arch/sparc/mm/init_32.c
+0
-1
未找到文件。
arch/sparc/include/asm/pgtable_32.h
浏览文件 @
716a5d73
...
...
@@ -17,7 +17,6 @@
#include <linux/swap.h>
#include <asm/types.h>
#include <asm/pgtsrmmu.h>
#include <asm/vac-ops.h>
#include <asm/oplib.h>
#include <asm/btfixup.h>
#include <asm/cpu_type.h>
...
...
arch/sparc/include/asm/uaccess_32.h
浏览文件 @
716a5d73
...
...
@@ -12,7 +12,6 @@
#include <linux/sched.h>
#include <linux/string.h>
#include <linux/errno.h>
#include <asm/vac-ops.h>
#endif
#ifndef __ASSEMBLY__
...
...
arch/sparc/include/asm/vac-ops.h
已删除
100644 → 0
浏览文件 @
6b7679dd
#ifndef _SPARC_VAC_OPS_H
#define _SPARC_VAC_OPS_H
/* vac-ops.h: Inline assembly routines to do operations on the Sparc
* VAC (virtual address cache) for the sun4c.
*
* Copyright (C) 1994, David S. Miller (davem@caip.rutgers.edu)
*/
#include <asm/sysen.h>
#include <asm/contregs.h>
#include <asm/asi.h>
/* The SUN4C models have a virtually addressed write-through
* cache.
*
* The cache tags are directly accessible through an ASI and
* each have the form:
*
* ------------------------------------------------------------
* | MBZ | CONTEXT | WRITE | PRIV | VALID | MBZ | TagID | MBZ |
* ------------------------------------------------------------
* 31 25 24 22 21 20 19 18 16 15 2 1 0
*
* MBZ: These bits are either unused and/or reserved and should
* be written as zeroes.
*
* CONTEXT: Records the context to which this cache line belongs.
*
* WRITE: A copy of the writable bit from the mmu pte access bits.
*
* PRIV: A copy of the privileged bit from the pte access bits.
*
* VALID: If set, this line is valid, else invalid.
*
* TagID: Fourteen bits of tag ID.
*
* Every virtual address is seen by the cache like this:
*
* ----------------------------------------
* | RESV | TagID | LINE | BYTE-in-LINE |
* ----------------------------------------
* 31 30 29 16 15 4 3 0
*
* RESV: Unused/reserved.
*
* TagID: Used to match the Tag-ID in that vac tags.
*
* LINE: Which line within the cache
*
* BYTE-in-LINE: Which byte within the cache line.
*/
/* Sun4c VAC Tags */
#define S4CVACTAG_CID 0x01c00000
#define S4CVACTAG_W 0x00200000
#define S4CVACTAG_P 0x00100000
#define S4CVACTAG_V 0x00080000
#define S4CVACTAG_TID 0x0000fffc
/* Sun4c VAC Virtual Address */
/* These aren't used, why bother? (Anton) */
#if 0
#define S4CVACVA_TID 0x3fff0000
#define S4CVACVA_LINE 0x0000fff0
#define S4CVACVA_BIL 0x0000000f
#endif
/* The indexing of cache lines creates a problem. Because the line
* field of a virtual address extends past the page offset within
* the virtual address it is possible to have what are called
* 'bad aliases' which will create inconsistencies. So we must make
* sure that within a context that if a physical page is mapped
* more than once, that 'extra' line bits are the same. If this is
* not the case, and thus is a 'bad alias' we must turn off the
* cacheable bit in the pte's of all such pages.
*/
#define S4CVAC_BADBITS 0x0000f000
/* The following is true if vaddr1 and vaddr2 would cause
* a 'bad alias'.
*/
#define S4CVAC_BADALIAS(vaddr1, vaddr2) \
((((unsigned long) (vaddr1)) ^ ((unsigned long) (vaddr2))) & \
(S4CVAC_BADBITS))
/* The following structure describes the characteristics of a sun4c
* VAC as probed from the prom during boot time.
*/
struct
sun4c_vac_props
{
unsigned
int
num_bytes
;
/* Size of the cache */
unsigned
int
do_hwflushes
;
/* Hardware flushing available? */
unsigned
int
linesize
;
/* Size of each line in bytes */
unsigned
int
log2lsize
;
/* log2(linesize) */
unsigned
int
on
;
/* VAC is enabled */
};
extern
struct
sun4c_vac_props
sun4c_vacinfo
;
/* sun4c_enable_vac() enables the sun4c virtual address cache. */
static
inline
void
sun4c_enable_vac
(
void
)
{
__asm__
__volatile__
(
"lduba [%0] %1, %%g1
\n\t
"
"or %%g1, %2, %%g1
\n\t
"
"stba %%g1, [%0] %1
\n\t
"
:
/* no outputs */
:
"r"
((
unsigned
int
)
AC_SENABLE
),
"i"
(
ASI_CONTROL
),
"i"
(
SENABLE_CACHE
)
:
"g1"
,
"memory"
);
sun4c_vacinfo
.
on
=
1
;
}
/* sun4c_disable_vac() disables the virtual address cache. */
static
inline
void
sun4c_disable_vac
(
void
)
{
__asm__
__volatile__
(
"lduba [%0] %1, %%g1
\n\t
"
"andn %%g1, %2, %%g1
\n\t
"
"stba %%g1, [%0] %1
\n\t
"
:
/* no outputs */
:
"r"
((
unsigned
int
)
AC_SENABLE
),
"i"
(
ASI_CONTROL
),
"i"
(
SENABLE_CACHE
)
:
"g1"
,
"memory"
);
sun4c_vacinfo
.
on
=
0
;
}
#endif
/* !(_SPARC_VAC_OPS_H) */
arch/sparc/mm/init_32.c
浏览文件 @
716a5d73
...
...
@@ -27,7 +27,6 @@
#include <linux/gfp.h>
#include <asm/sections.h>
#include <asm/vac-ops.h>
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/vaddrs.h>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录