Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
c86c676c
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
c86c676c
编写于
12月 10, 2006
作者:
K
Kumar Gala
浏览文件
操作
浏览文件
下载
差异文件
Merge branch '85xx' into for_paulus
上级
a147c585
45d8e7aa
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
42 addition
and
38 deletion
+42
-38
arch/powerpc/kernel/ppc_ksyms.c
arch/powerpc/kernel/ppc_ksyms.c
+1
-1
arch/powerpc/sysdev/Makefile
arch/powerpc/sysdev/Makefile
+2
-1
include/asm-powerpc/dcr-native.h
include/asm-powerpc/dcr-native.h
+35
-2
include/asm-powerpc/dcr.h
include/asm-powerpc/dcr.h
+2
-0
include/asm-ppc/reg_booke.h
include/asm-ppc/reg_booke.h
+2
-34
未找到文件。
arch/powerpc/kernel/ppc_ksyms.c
浏览文件 @
c86c676c
...
...
@@ -208,7 +208,7 @@ EXPORT_SYMBOL(mmu_hash_lock); /* For MOL */
extern
long
*
intercept_table
;
EXPORT_SYMBOL
(
intercept_table
);
#endif
/* CONFIG_PPC_STD_MMU_32 */
#if
defined(CONFIG_40x) || defined(CONFIG_BOOKE)
#if
def CONFIG_PPC_DCR_NATIVE
EXPORT_SYMBOL
(
__mtdcr
);
EXPORT_SYMBOL
(
__mfdcr
);
#endif
arch/powerpc/sysdev/Makefile
浏览文件 @
c86c676c
...
...
@@ -5,7 +5,8 @@ endif
obj-$(CONFIG_MPIC)
+=
mpic.o
obj-$(CONFIG_PPC_INDIRECT_PCI)
+=
indirect_pci.o
obj-$(CONFIG_PPC_MPC106)
+=
grackle.o
obj-$(CONFIG_PPC_DCR)
+=
dcr.o dcr-low.o
obj-$(CONFIG_PPC_DCR)
+=
dcr.o
obj-$(CONFIG_PPC_DCR_NATIVE)
+=
dcr-low.o
obj-$(CONFIG_U3_DART)
+=
dart_iommu.o
obj-$(CONFIG_MMIO_NVRAM)
+=
mmio_nvram.o
obj-$(CONFIG_FSL_SOC)
+=
fsl_soc.o
...
...
include/asm-powerpc/dcr-native.h
浏览文件 @
c86c676c
...
...
@@ -20,8 +20,7 @@
#ifndef _ASM_POWERPC_DCR_NATIVE_H
#define _ASM_POWERPC_DCR_NATIVE_H
#ifdef __KERNEL__
#include <asm/reg.h>
#ifndef __ASSEMBLY__
typedef
struct
{}
dcr_host_t
;
...
...
@@ -32,7 +31,41 @@ typedef struct {} dcr_host_t;
#define dcr_read(host, dcr_n) mfdcr(dcr_n)
#define dcr_write(host, dcr_n, value) mtdcr(dcr_n, value)
/* Device Control Registers */
void
__mtdcr
(
int
reg
,
unsigned
int
val
);
unsigned
int
__mfdcr
(
int
reg
);
#define mfdcr(rn) \
({unsigned int rval; \
if (__builtin_constant_p(rn)) \
asm volatile("mfdcr %0," __stringify(rn) \
: "=r" (rval)); \
else \
rval = __mfdcr(rn); \
rval;})
#define mtdcr(rn, v) \
do { \
if (__builtin_constant_p(rn)) \
asm volatile("mtdcr " __stringify(rn) ",%0" \
: : "r" (v)); \
else \
__mtdcr(rn, v); \
} while (0)
/* R/W of indirect DCRs make use of standard naming conventions for DCRs */
#define mfdcri(base, reg) \
({ \
mtdcr(base ## _CFGADDR, base ## _ ## reg); \
mfdcr(base ## _CFGDATA); \
})
#define mtdcri(base, reg, data) \
do { \
mtdcr(base ## _CFGADDR, base ## _ ## reg); \
mtdcr(base ## _CFGDATA, data); \
} while (0)
#endif
/* __ASSEMBLY__ */
#endif
/* __KERNEL__ */
#endif
/* _ASM_POWERPC_DCR_NATIVE_H */
...
...
include/asm-powerpc/dcr.h
浏览文件 @
c86c676c
...
...
@@ -20,6 +20,7 @@
#ifndef _ASM_POWERPC_DCR_H
#define _ASM_POWERPC_DCR_H
#ifdef __KERNEL__
#ifdef CONFIG_PPC_DCR
#ifdef CONFIG_PPC_DCR_NATIVE
#include <asm/dcr-native.h>
...
...
@@ -38,5 +39,6 @@ extern unsigned int dcr_resource_len(struct device_node *np,
unsigned
int
index
);
#endif
/* CONFIG_PPC_MERGE */
#endif
/* CONFIG_PPC_DCR */
#endif
/* __KERNEL__ */
#endif
/* _ASM_POWERPC_DCR_H */
include/asm-ppc/reg_booke.h
浏览文件 @
c86c676c
...
...
@@ -9,41 +9,9 @@
#ifndef __ASM_PPC_REG_BOOKE_H__
#define __ASM_PPC_REG_BOOKE_H__
#ifndef __ASSEMBLY__
/* Device Control Registers */
void
__mtdcr
(
int
reg
,
unsigned
int
val
);
unsigned
int
__mfdcr
(
int
reg
);
#define mfdcr(rn) \
({unsigned int rval; \
if (__builtin_constant_p(rn)) \
asm volatile("mfdcr %0," __stringify(rn) \
: "=r" (rval)); \
else \
rval = __mfdcr(rn); \
rval;})
#define mtdcr(rn, v) \
do { \
if (__builtin_constant_p(rn)) \
asm volatile("mtdcr " __stringify(rn) ",%0" \
: : "r" (v)); \
else \
__mtdcr(rn, v); \
} while (0)
/* R/W of indirect DCRs make use of standard naming conventions for DCRs */
#define mfdcri(base, reg) \
({ \
mtdcr(base ## _CFGADDR, base ## _ ## reg); \
mfdcr(base ## _CFGDATA); \
})
#define mtdcri(base, reg, data) \
do { \
mtdcr(base ## _CFGADDR, base ## _ ## reg); \
mtdcr(base ## _CFGDATA, data); \
} while (0)
#include <asm/dcr.h>
#ifndef __ASSEMBLY__
/* Performance Monitor Registers */
#define mfpmr(rn) ({unsigned int rval; \
asm volatile("mfpmr %0," __stringify(rn) \
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录