Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
4adb1817
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
154
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4adb1817
编写于
5月 05, 2005
作者:
L
Linus Torvalds
浏览文件
操作
浏览文件
下载
差异文件
Automatic merge of master.kernel.org:/home/rmk/linux-2.6-rmk.git
上级
3b9fa093
41e46d6a
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
116 addition
and
53 deletion
+116
-53
arch/arm/Kconfig
arch/arm/Kconfig
+12
-8
arch/arm/kernel/entry-armv.S
arch/arm/kernel/entry-armv.S
+5
-9
arch/arm/kernel/head.S
arch/arm/kernel/head.S
+2
-1
arch/arm/kernel/process.c
arch/arm/kernel/process.c
+12
-13
arch/arm/kernel/sys_arm.c
arch/arm/kernel/sys_arm.c
+1
-1
arch/arm/kernel/traps.c
arch/arm/kernel/traps.c
+9
-5
arch/arm/kernel/vmlinux.lds.S
arch/arm/kernel/vmlinux.lds.S
+2
-1
arch/arm/mach-clps711x/Kconfig
arch/arm/mach-clps711x/Kconfig
+3
-0
arch/arm/mach-footbridge/Kconfig
arch/arm/mach-footbridge/Kconfig
+12
-0
arch/arm/mach-imx/Kconfig
arch/arm/mach-imx/Kconfig
+1
-0
arch/arm/mm/Kconfig
arch/arm/mm/Kconfig
+15
-9
include/asm-arm/arch-imx/imxfb.h
include/asm-arm/arch-imx/imxfb.h
+35
-0
include/asm-arm/processor.h
include/asm-arm/processor.h
+3
-4
include/asm-arm/thread_info.h
include/asm-arm/thread_info.h
+4
-2
未找到文件。
arch/arm/Kconfig
浏览文件 @
4adb1817
...
@@ -85,6 +85,7 @@ choice
...
@@ -85,6 +85,7 @@ choice
config ARCH_CLPS7500
config ARCH_CLPS7500
bool "Cirrus-CL-PS7500FE"
bool "Cirrus-CL-PS7500FE"
select TIMER_ACORN
select TIMER_ACORN
select ISA
config ARCH_CLPS711X
config ARCH_CLPS711X
bool "CLPS711x/EP721x-based"
bool "CLPS711x/EP721x-based"
...
@@ -96,6 +97,7 @@ config ARCH_CO285
...
@@ -96,6 +97,7 @@ config ARCH_CO285
config ARCH_EBSA110
config ARCH_EBSA110
bool "EBSA-110"
bool "EBSA-110"
select ISA
help
help
This is an evaluation board for the StrongARM processor available
This is an evaluation board for the StrongARM processor available
from Digital. It has limited hardware on-board, including an onboard
from Digital. It has limited hardware on-board, including an onboard
...
@@ -120,13 +122,16 @@ config ARCH_INTEGRATOR
...
@@ -120,13 +122,16 @@ config ARCH_INTEGRATOR
config ARCH_IOP3XX
config ARCH_IOP3XX
bool "IOP3xx-based"
bool "IOP3xx-based"
select PCI
config ARCH_IXP4XX
config ARCH_IXP4XX
bool "IXP4xx-based"
bool "IXP4xx-based"
select DMABOUNCE
select DMABOUNCE
select PCI
config ARCH_IXP2000
config ARCH_IXP2000
bool "IXP2400/2800-based"
bool "IXP2400/2800-based"
select PCI
config ARCH_L7200
config ARCH_L7200
bool "LinkUp-L7200"
bool "LinkUp-L7200"
...
@@ -155,6 +160,8 @@ config ARCH_RPC
...
@@ -155,6 +160,8 @@ config ARCH_RPC
config ARCH_SA1100
config ARCH_SA1100
bool "SA1100-based"
bool "SA1100-based"
select ISA
select DISCONTIGMEM
config ARCH_S3C2410
config ARCH_S3C2410
bool "Samsung S3C2410"
bool "Samsung S3C2410"
...
@@ -165,6 +172,9 @@ config ARCH_S3C2410
...
@@ -165,6 +172,9 @@ config ARCH_S3C2410
config ARCH_SHARK
config ARCH_SHARK
bool "Shark"
bool "Shark"
select ISA
select ISA_DMA
select PCI
config ARCH_LH7A40X
config ARCH_LH7A40X
bool "Sharp LH7A40X"
bool "Sharp LH7A40X"
...
@@ -252,8 +262,6 @@ config ARM_AMBA
...
@@ -252,8 +262,6 @@ config ARM_AMBA
config ISA
config ISA
bool
bool
depends on FOOTBRIDGE_HOST || ARCH_SHARK || ARCH_CLPS7500 || ARCH_EBSA110 || ARCH_CDB89712 || ARCH_EDB7211 || ARCH_SA1100 || ARCH_MX1ADS
default y
help
help
Find out whether you have ISA slots on your motherboard. ISA is the
Find out whether you have ISA slots on your motherboard. ISA is the
name of a bus system, i.e. the way the CPU talks to the other stuff
name of a bus system, i.e. the way the CPU talks to the other stuff
...
@@ -263,8 +271,6 @@ config ISA
...
@@ -263,8 +271,6 @@ config ISA
config ISA_DMA
config ISA_DMA
bool
bool
depends on FOOTBRIDGE_HOST || ARCH_SHARK
default y
config ISA_DMA_API
config ISA_DMA_API
bool
bool
...
@@ -272,7 +278,6 @@ config ISA_DMA_API
...
@@ -272,7 +278,6 @@ config ISA_DMA_API
config PCI
config PCI
bool "PCI support" if ARCH_INTEGRATOR_AP
bool "PCI support" if ARCH_INTEGRATOR_AP
default y if ARCH_SHARK || FOOTBRIDGE_HOST || ARCH_IOP3XX || ARCH_IXP4XX || ARCH_IXP2000
help
help
Find out whether you have a PCI motherboard. PCI is the name of a
Find out whether you have a PCI motherboard. PCI is the name of a
bus system, i.e. the way the CPU talks to the other stuff inside
bus system, i.e. the way the CPU talks to the other stuff inside
...
@@ -300,7 +305,7 @@ menu "Kernel Features"
...
@@ -300,7 +305,7 @@ menu "Kernel Features"
config SMP
config SMP
bool "Symmetric Multi-Processing (EXPERIMENTAL)"
bool "Symmetric Multi-Processing (EXPERIMENTAL)"
depends on EXPERIMENTAL && n
depends on EXPERIMENTAL
#
&& n
help
help
This enables support for systems with more than one CPU. If you have
This enables support for systems with more than one CPU. If you have
a system with only one CPU, like most personal computers, say N. If
a system with only one CPU, like most personal computers, say N. If
...
@@ -340,8 +345,7 @@ config PREEMPT
...
@@ -340,8 +345,7 @@ config PREEMPT
config DISCONTIGMEM
config DISCONTIGMEM
bool
bool
depends on ARCH_EDB7211 || ARCH_SA1100 || (ARCH_LH7A40X && !LH7A40X_CONTIGMEM)
default (ARCH_LH7A40X && !LH7A40X_CONTIGMEM)
default y
help
help
Say Y to support efficient handling of discontiguous physical memory,
Say Y to support efficient handling of discontiguous physical memory,
for architectures which are either NUMA (Non-Uniform Memory Access)
for architectures which are either NUMA (Non-Uniform Memory Access)
...
...
arch/arm/kernel/entry-armv.S
浏览文件 @
4adb1817
...
@@ -17,8 +17,8 @@
...
@@ -17,8 +17,8 @@
#include <asm/glue.h>
#include <asm/glue.h>
#include <asm/vfpmacros.h>
#include <asm/vfpmacros.h>
#include <asm/hardware.h>
@ should be moved into entry-macro.S
#include <asm/hardware.h>
/* should be moved into entry-macro.S */
#include <asm/arch/irqs.h>
@ should be moved into entry-macro.S
#include <asm/arch/irqs.h>
/* should be moved into entry-macro.S */
#include <asm/arch/entry-macro.S>
#include <asm/arch/entry-macro.S>
#include "entry-header.S"
#include "entry-header.S"
...
@@ -505,9 +505,9 @@ ENTRY(__switch_to)
...
@@ -505,9 +505,9 @@ ENTRY(__switch_to)
mra
r4
,
r5
,
acc0
mra
r4
,
r5
,
acc0
stmia
ip
,
{
r4
,
r5
}
stmia
ip
,
{
r4
,
r5
}
#endif
#endif
#if
def CONFIG_HAS_TLS_REG
#if
defined(CONFIG_HAS_TLS_REG)
mcr
p15
,
0
,
r3
,
c13
,
c0
,
3
@
set
TLS
register
mcr
p15
,
0
,
r3
,
c13
,
c0
,
3
@
set
TLS
register
#el
se
#el
if !defined(CONFIG_TLS_REG_EMUL)
mov
r4
,
#
0xffff0fff
mov
r4
,
#
0xffff0fff
str
r3
,
[
r4
,
#-
15
]
@
TLS
val
at
0xffff0ff0
str
r3
,
[
r4
,
#-
15
]
@
TLS
val
at
0xffff0ff0
#endif
#endif
...
@@ -690,11 +690,7 @@ __kuser_cmpxchg: @ 0xffff0fc0
...
@@ -690,11 +690,7 @@ __kuser_cmpxchg: @ 0xffff0fc0
__kuser_get_tls
:
@
0xffff0fe0
__kuser_get_tls
:
@
0xffff0fe0
#ifndef CONFIG_HAS_TLS_REG
#if !defined(CONFIG_HAS_TLS_REG) && !defined(CONFIG_TLS_REG_EMUL)
#ifdef CONFIG_SMP /* sanity check */
#error "CONFIG_SMP without CONFIG_HAS_TLS_REG is wrong"
#endif
ldr
r0
,
[
pc
,
#(
16
-
8
)]
@
TLS
stored
at
0xffff0ff0
ldr
r0
,
[
pc
,
#(
16
-
8
)]
@
TLS
stored
at
0xffff0ff0
mov
pc
,
lr
mov
pc
,
lr
...
...
arch/arm/kernel/head.S
浏览文件 @
4adb1817
...
@@ -19,6 +19,7 @@
...
@@ -19,6 +19,7 @@
#include <asm/procinfo.h>
#include <asm/procinfo.h>
#include <asm/ptrace.h>
#include <asm/ptrace.h>
#include <asm/constants.h>
#include <asm/constants.h>
#include <asm/thread_info.h>
#include <asm/system.h>
#include <asm/system.h>
#define PROCINFO_MMUFLAGS 8
#define PROCINFO_MMUFLAGS 8
...
@@ -131,7 +132,7 @@ __switch_data:
...
@@ -131,7 +132,7 @@ __switch_data:
.
long
processor_id
@
r4
.
long
processor_id
@
r4
.
long
__machine_arch_type
@
r5
.
long
__machine_arch_type
@
r5
.
long
cr_alignment
@
r6
.
long
cr_alignment
@
r6
.
long
init_thread_union
+
8192
@
sp
.
long
init_thread_union
+
THREAD_START_SP
@
sp
/*
/*
*
The
following
fragment
of
code
is
executed
with
the
MMU
on
,
and
uses
*
The
following
fragment
of
code
is
executed
with
the
MMU
on
,
and
uses
...
...
arch/arm/kernel/process.c
浏览文件 @
4adb1817
...
@@ -256,8 +256,6 @@ static unsigned long *thread_info_head;
...
@@ -256,8 +256,6 @@ static unsigned long *thread_info_head;
static
unsigned
int
nr_thread_info
;
static
unsigned
int
nr_thread_info
;
#define EXTRA_TASK_STRUCT 4
#define EXTRA_TASK_STRUCT 4
#define ll_alloc_task_struct() ((struct thread_info *) __get_free_pages(GFP_KERNEL,1))
#define ll_free_task_struct(p) free_pages((unsigned long)(p),1)
struct
thread_info
*
alloc_thread_info
(
struct
task_struct
*
task
)
struct
thread_info
*
alloc_thread_info
(
struct
task_struct
*
task
)
{
{
...
@@ -274,17 +272,16 @@ struct thread_info *alloc_thread_info(struct task_struct *task)
...
@@ -274,17 +272,16 @@ struct thread_info *alloc_thread_info(struct task_struct *task)
}
}
if
(
!
thread
)
if
(
!
thread
)
thread
=
ll_alloc_task_struct
();
thread
=
(
struct
thread_info
*
)
__get_free_pages
(
GFP_KERNEL
,
THREAD_SIZE_ORDER
);
#ifdef CONFIG_
MAGIC_SYSRQ
#ifdef CONFIG_
DEBUG_STACK_USAGE
/*
/*
* The stack must be cleared if you want SYSRQ-T to
* The stack must be cleared if you want SYSRQ-T to
* give sensible stack usage information
* give sensible stack usage information
*/
*/
if
(
thread
)
{
if
(
thread
)
char
*
p
=
(
char
*
)
thread
;
memzero
(
thread
,
THREAD_SIZE
);
memzero
(
p
+
KERNEL_STACK_SIZE
,
KERNEL_STACK_SIZE
);
}
#endif
#endif
return
thread
;
return
thread
;
}
}
...
@@ -297,7 +294,7 @@ void free_thread_info(struct thread_info *thread)
...
@@ -297,7 +294,7 @@ void free_thread_info(struct thread_info *thread)
thread_info_head
=
p
;
thread_info_head
=
p
;
nr_thread_info
+=
1
;
nr_thread_info
+=
1
;
}
else
}
else
ll_free_task_struct
(
thread
);
free_pages
((
unsigned
long
)
thread
,
THREAD_SIZE_ORDER
);
}
}
/*
/*
...
@@ -350,7 +347,7 @@ copy_thread(int nr, unsigned long clone_flags, unsigned long stack_start,
...
@@ -350,7 +347,7 @@ copy_thread(int nr, unsigned long clone_flags, unsigned long stack_start,
struct
thread_info
*
thread
=
p
->
thread_info
;
struct
thread_info
*
thread
=
p
->
thread_info
;
struct
pt_regs
*
childregs
;
struct
pt_regs
*
childregs
;
childregs
=
((
struct
pt_regs
*
)((
unsigned
long
)
thread
+
THREAD_S
IZE
-
8
))
-
1
;
childregs
=
((
struct
pt_regs
*
)((
unsigned
long
)
thread
+
THREAD_S
TART_SP
))
-
1
;
*
childregs
=
*
regs
;
*
childregs
=
*
regs
;
childregs
->
ARM_r0
=
0
;
childregs
->
ARM_r0
=
0
;
childregs
->
ARM_sp
=
stack_start
;
childregs
->
ARM_sp
=
stack_start
;
...
@@ -447,15 +444,17 @@ EXPORT_SYMBOL(kernel_thread);
...
@@ -447,15 +444,17 @@ EXPORT_SYMBOL(kernel_thread);
unsigned
long
get_wchan
(
struct
task_struct
*
p
)
unsigned
long
get_wchan
(
struct
task_struct
*
p
)
{
{
unsigned
long
fp
,
lr
;
unsigned
long
fp
,
lr
;
unsigned
long
stack_
page
;
unsigned
long
stack_
start
,
stack_end
;
int
count
=
0
;
int
count
=
0
;
if
(
!
p
||
p
==
current
||
p
->
state
==
TASK_RUNNING
)
if
(
!
p
||
p
==
current
||
p
->
state
==
TASK_RUNNING
)
return
0
;
return
0
;
stack_page
=
4096
+
(
unsigned
long
)
p
->
thread_info
;
stack_start
=
(
unsigned
long
)(
p
->
thread_info
+
1
);
stack_end
=
((
unsigned
long
)
p
->
thread_info
)
+
THREAD_SIZE
;
fp
=
thread_saved_fp
(
p
);
fp
=
thread_saved_fp
(
p
);
do
{
do
{
if
(
fp
<
stack_
page
||
fp
>
4092
+
stack_page
)
if
(
fp
<
stack_
start
||
fp
>
stack_end
)
return
0
;
return
0
;
lr
=
pc_pointer
(((
unsigned
long
*
)
fp
)[
-
1
]);
lr
=
pc_pointer
(((
unsigned
long
*
)
fp
)[
-
1
]);
if
(
!
in_sched_functions
(
lr
))
if
(
!
in_sched_functions
(
lr
))
...
...
arch/arm/kernel/sys_arm.c
浏览文件 @
4adb1817
...
@@ -302,7 +302,7 @@ long execve(const char *filename, char **argv, char **envp)
...
@@ -302,7 +302,7 @@ long execve(const char *filename, char **argv, char **envp)
"b ret_to_user"
"b ret_to_user"
:
:
:
"r"
(
current_thread_info
()),
:
"r"
(
current_thread_info
()),
"Ir"
(
THREAD_S
IZE
-
8
-
sizeof
(
regs
)),
"Ir"
(
THREAD_S
TART_SP
-
sizeof
(
regs
)),
"r"
(
&
regs
),
"r"
(
&
regs
),
"Ir"
(
sizeof
(
regs
))
"Ir"
(
sizeof
(
regs
))
:
"r0"
,
"r1"
,
"r2"
,
"r3"
,
"ip"
,
"memory"
);
:
"r0"
,
"r1"
,
"r2"
,
"r3"
,
"ip"
,
"memory"
);
...
...
arch/arm/kernel/traps.c
浏览文件 @
4adb1817
...
@@ -218,7 +218,8 @@ NORET_TYPE void die(const char *str, struct pt_regs *regs, int err)
...
@@ -218,7 +218,8 @@ NORET_TYPE void die(const char *str, struct pt_regs *regs, int err)
tsk
->
comm
,
tsk
->
pid
,
tsk
->
thread_info
+
1
);
tsk
->
comm
,
tsk
->
pid
,
tsk
->
thread_info
+
1
);
if
(
!
user_mode
(
regs
)
||
in_interrupt
())
{
if
(
!
user_mode
(
regs
)
||
in_interrupt
())
{
dump_mem
(
"Stack: "
,
regs
->
ARM_sp
,
8192
+
(
unsigned
long
)
tsk
->
thread_info
);
dump_mem
(
"Stack: "
,
regs
->
ARM_sp
,
THREAD_SIZE
+
(
unsigned
long
)
tsk
->
thread_info
);
dump_backtrace
(
regs
,
tsk
);
dump_backtrace
(
regs
,
tsk
);
dump_instr
(
regs
);
dump_instr
(
regs
);
}
}
...
@@ -450,9 +451,9 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs)
...
@@ -450,9 +451,9 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs)
case
NR
(
set_tls
):
case
NR
(
set_tls
):
thread
->
tp_value
=
regs
->
ARM_r0
;
thread
->
tp_value
=
regs
->
ARM_r0
;
#if
def CONFIG_HAS_TLS_REG
#if
defined(CONFIG_HAS_TLS_REG)
asm
(
"mcr p15, 0, %0, c13, c0, 3"
:
:
"r"
(
regs
->
ARM_r0
)
);
asm
(
"mcr p15, 0, %0, c13, c0, 3"
:
:
"r"
(
regs
->
ARM_r0
)
);
#el
se
#el
if !defined(CONFIG_TLS_REG_EMUL)
/*
/*
* User space must never try to access this directly.
* User space must never try to access this directly.
* Expect your app to break eventually if you do so.
* Expect your app to break eventually if you do so.
...
@@ -497,11 +498,14 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs)
...
@@ -497,11 +498,14 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs)
return
0
;
return
0
;
}
}
#if
defined(CONFIG_CPU_32v6) && !defined(CONFIG_HAS_TLS_REG)
#if
def CONFIG_TLS_REG_EMUL
/*
/*
* We might be running on an ARMv6+ processor which should have the TLS
* We might be running on an ARMv6+ processor which should have the TLS
* register, but for some reason we can't use it and have to emulate it.
* register but for some reason we can't use it, or maybe an SMP system
* using a pre-ARMv6 processor (there are apparently a few prototypes like
* that in existence) and therefore access to that register must be
* emulated.
*/
*/
static
int
get_tp_trap
(
struct
pt_regs
*
regs
,
unsigned
int
instr
)
static
int
get_tp_trap
(
struct
pt_regs
*
regs
,
unsigned
int
instr
)
...
...
arch/arm/kernel/vmlinux.lds.S
浏览文件 @
4adb1817
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
#include <asm-generic/vmlinux.lds.h>
#include <asm-generic/vmlinux.lds.h>
#include <linux/config.h>
#include <linux/config.h>
#include <asm/thread_info.h>
OUTPUT_ARCH
(
arm
)
OUTPUT_ARCH
(
arm
)
ENTRY
(
stext
)
ENTRY
(
stext
)
...
@@ -103,7 +104,7 @@ SECTIONS
...
@@ -103,7 +104,7 @@ SECTIONS
__data_loc
=
ALIGN
(
4
)
; /* location in binary */
__data_loc
=
ALIGN
(
4
)
; /* location in binary */
.
=
DATAADDR
;
.
=
DATAADDR
;
#else
#else
.
=
ALIGN
(
8192
)
;
.
=
ALIGN
(
THREAD_SIZE
)
;
__data_loc
=
.
;
__data_loc
=
.
;
#endif
#endif
...
...
arch/arm/mach-clps711x/Kconfig
浏览文件 @
4adb1817
...
@@ -10,6 +10,7 @@ config ARCH_AUTCPU12
...
@@ -10,6 +10,7 @@ config ARCH_AUTCPU12
config ARCH_CDB89712
config ARCH_CDB89712
bool "CDB89712"
bool "CDB89712"
select ISA
help
help
This is an evaluation board from Cirrus for the CS89712 processor.
This is an evaluation board from Cirrus for the CS89712 processor.
The board includes 2 serial ports, Ethernet, IRDA, and expansion
The board includes 2 serial ports, Ethernet, IRDA, and expansion
...
@@ -26,6 +27,8 @@ config ARCH_CLEP7312
...
@@ -26,6 +27,8 @@ config ARCH_CLEP7312
config ARCH_EDB7211
config ARCH_EDB7211
bool "EDB7211"
bool "EDB7211"
select ISA
select DISCONTIGMEM
help
help
Say Y here if you intend to run this kernel on a Cirrus Logic EDB-7211
Say Y here if you intend to run this kernel on a Cirrus Logic EDB-7211
evaluation board.
evaluation board.
...
...
arch/arm/mach-footbridge/Kconfig
浏览文件 @
4adb1817
...
@@ -5,6 +5,9 @@ menu "Footbridge Implementations"
...
@@ -5,6 +5,9 @@ menu "Footbridge Implementations"
config ARCH_CATS
config ARCH_CATS
bool "CATS"
bool "CATS"
select FOOTBRIDGE_HOST
select FOOTBRIDGE_HOST
select ISA
select ISA_DMA
select PCI
help
help
Say Y here if you intend to run this kernel on the CATS.
Say Y here if you intend to run this kernel on the CATS.
...
@@ -13,6 +16,9 @@ config ARCH_CATS
...
@@ -13,6 +16,9 @@ config ARCH_CATS
config ARCH_PERSONAL_SERVER
config ARCH_PERSONAL_SERVER
bool "Compaq Personal Server"
bool "Compaq Personal Server"
select FOOTBRIDGE_HOST
select FOOTBRIDGE_HOST
select ISA
select ISA_DMA
select PCI
---help---
---help---
Say Y here if you intend to run this kernel on the Compaq
Say Y here if you intend to run this kernel on the Compaq
Personal Server.
Personal Server.
...
@@ -42,6 +48,9 @@ config ARCH_EBSA285_HOST
...
@@ -42,6 +48,9 @@ config ARCH_EBSA285_HOST
bool "EBSA285 (host mode)"
bool "EBSA285 (host mode)"
select ARCH_EBSA285
select ARCH_EBSA285
select FOOTBRIDGE_HOST
select FOOTBRIDGE_HOST
select ISA
select ISA_DMA
select PCI
help
help
Say Y here if you intend to run this kernel on the EBSA285 card
Say Y here if you intend to run this kernel on the EBSA285 card
in host ("central function") mode.
in host ("central function") mode.
...
@@ -51,6 +60,9 @@ config ARCH_EBSA285_HOST
...
@@ -51,6 +60,9 @@ config ARCH_EBSA285_HOST
config ARCH_NETWINDER
config ARCH_NETWINDER
bool "NetWinder"
bool "NetWinder"
select FOOTBRIDGE_HOST
select FOOTBRIDGE_HOST
select ISA
select ISA_DMA
select PCI
help
help
Say Y here if you intend to run this kernel on the Rebel.COM
Say Y here if you intend to run this kernel on the Rebel.COM
NetWinder. Information about this machine can be found at:
NetWinder. Information about this machine can be found at:
...
...
arch/arm/mach-imx/Kconfig
浏览文件 @
4adb1817
...
@@ -4,6 +4,7 @@ menu "IMX Implementations"
...
@@ -4,6 +4,7 @@ menu "IMX Implementations"
config ARCH_MX1ADS
config ARCH_MX1ADS
bool "mx1ads"
bool "mx1ads"
depends on ARCH_IMX
depends on ARCH_IMX
select ISA
help
help
Say Y here if you are using the Motorola MX1ADS board
Say Y here if you are using the Motorola MX1ADS board
...
...
arch/arm/mm/Kconfig
浏览文件 @
4adb1817
...
@@ -410,17 +410,23 @@ config CPU_BPREDICT_DISABLE
...
@@ -410,17 +410,23 @@ config CPU_BPREDICT_DISABLE
help
help
Say Y here to disable branch prediction. If unsure, say N.
Say Y here to disable branch prediction. If unsure, say N.
config TLS_REG_EMUL
bool
default y if (SMP || CPU_32v6) && (CPU_32v5 || CPU_32v4 || CPU_32v3)
help
We might be running on an ARMv6+ processor which should have the TLS
register but for some reason we can't use it, or maybe an SMP system
using a pre-ARMv6 processor (there are apparently a few prototypes
like that in existence) and therefore access to that register must
be emulated.
config HAS_TLS_REG
config HAS_TLS_REG
bool
bool
depends on CPU_32v6
&& !CPU_32v5 && !CPU_32v4 && !CPU_32v3
depends on CPU_32v6
default y
default y
if !TLS_REG_EMUL
help
help
This selects support for the CP15 thread register.
This selects support for the CP15 thread register.
It is defined to be available on ARMv6 or later. However
It is defined to be available on ARMv6 or later. If a particular
if the kernel is configured to support multiple CPUs including
ARMv6 or later CPU doesn't support it then it must omc;ide "select
a pre-ARMv6 processors, or if a given ARMv6 processor doesn't
TLS_REG_EMUL" along with its other caracteristics.
implement the thread register for some reason, then access to
this register from user space must be trapped and emulated.
If user space is relying on the __kuser_get_tls code then
there should not be any impact.
include/asm-arm/arch-imx/imxfb.h
0 → 100644
浏览文件 @
4adb1817
/*
* This structure describes the machine which we are running on.
*/
struct
imxfb_mach_info
{
u_long
pixclock
;
u_short
xres
;
u_short
yres
;
u_char
bpp
;
u_char
hsync_len
;
u_char
left_margin
;
u_char
right_margin
;
u_char
vsync_len
;
u_char
upper_margin
;
u_char
lower_margin
;
u_char
sync
;
u_int
cmap_greyscale
:
1
,
cmap_inverse:
1
,
cmap_static:
1
,
unused:
29
;
u_int
pcr
;
u_int
pwmr
;
u_int
lscr1
;
u_char
*
fixed_screen_cpu
;
dma_addr_t
fixed_screen_dma
;
void
(
*
lcd_power
)(
int
);
void
(
*
backlight_power
)(
int
);
};
void
set_imx_fb_info
(
struct
imxfb_mach_info
*
hard_imx_fb_info
);
include/asm-arm/processor.h
浏览文件 @
4adb1817
...
@@ -23,8 +23,6 @@
...
@@ -23,8 +23,6 @@
#include <asm/procinfo.h>
#include <asm/procinfo.h>
#include <asm/types.h>
#include <asm/types.h>
#define KERNEL_STACK_SIZE PAGE_SIZE
union
debug_insn
{
union
debug_insn
{
u32
arm
;
u32
arm
;
u16
thumb
;
u16
thumb
;
...
@@ -87,8 +85,9 @@ unsigned long get_wchan(struct task_struct *p);
...
@@ -87,8 +85,9 @@ unsigned long get_wchan(struct task_struct *p);
*/
*/
extern
int
kernel_thread
(
int
(
*
fn
)(
void
*
),
void
*
arg
,
unsigned
long
flags
);
extern
int
kernel_thread
(
int
(
*
fn
)(
void
*
),
void
*
arg
,
unsigned
long
flags
);
#define KSTK_EIP(tsk) (((unsigned long *)(4096+(unsigned long)(tsk)->thread_info))[1019])
#define KSTK_REGS(tsk) (((struct pt_regs *)(THREAD_START_SP + (unsigned long)(tsk)->thread_info)) - 1)
#define KSTK_ESP(tsk) (((unsigned long *)(4096+(unsigned long)(tsk)->thread_info))[1017])
#define KSTK_EIP(tsk) KSTK_REGS(tsk)->ARM_pc
#define KSTK_ESP(tsk) KSTK_REGS(tsk)->ARM_sp
/*
/*
* Prefetching support - only ARMv5.
* Prefetching support - only ARMv5.
...
...
include/asm-arm/thread_info.h
浏览文件 @
4adb1817
...
@@ -14,6 +14,10 @@
...
@@ -14,6 +14,10 @@
#include <asm/fpstate.h>
#include <asm/fpstate.h>
#define THREAD_SIZE_ORDER 1
#define THREAD_SIZE 8192
#define THREAD_START_SP (THREAD_SIZE - 8)
#ifndef __ASSEMBLY__
#ifndef __ASSEMBLY__
struct
task_struct
;
struct
task_struct
;
...
@@ -77,8 +81,6 @@ struct thread_info {
...
@@ -77,8 +81,6 @@ struct thread_info {
#define init_thread_info (init_thread_union.thread_info)
#define init_thread_info (init_thread_union.thread_info)
#define init_stack (init_thread_union.stack)
#define init_stack (init_thread_union.stack)
#define THREAD_SIZE 8192
/*
/*
* how to get the thread information struct from C
* how to get the thread information struct from C
*/
*/
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录