Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
38145517
Commit
38145517
authored
May 30, 2002
by
Russell King
Browse files
Options
Browse Files
Download
Plain Diff
[ARM] Manual merge.
parents
ca980f75
fed2889b
Changes
17
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
93 additions
and
435 deletions
+93
-435
arch/arm/boot/compressed/misc.c
arch/arm/boot/compressed/misc.c
+0
-2
arch/arm/def-configs/victor
arch/arm/def-configs/victor
+0
-206
arch/arm/kernel/entry-armv.S
arch/arm/kernel/entry-armv.S
+5
-10
arch/arm/kernel/process.c
arch/arm/kernel/process.c
+9
-11
arch/arm/mach-integrator/cpu.c
arch/arm/mach-integrator/cpu.c
+2
-2
arch/arm/mach-sa1100/Makefile
arch/arm/mach-sa1100/Makefile
+0
-2
arch/arm/mach-sa1100/generic.c
arch/arm/mach-sa1100/generic.c
+1
-4
arch/arm/mach-sa1100/victor.c
arch/arm/mach-sa1100/victor.c
+0
-80
arch/arm/mm/init.c
arch/arm/mm/init.c
+3
-0
drivers/video/clps711xfb.c
drivers/video/clps711xfb.c
+14
-14
include/asm-arm/atomic.h
include/asm-arm/atomic.h
+8
-8
include/asm-arm/proc-armo/processor.h
include/asm-arm/proc-armo/processor.h
+2
-16
include/asm-arm/proc-armo/uncompress.h
include/asm-arm/proc-armo/uncompress.h
+0
-11
include/asm-arm/proc-armv/processor.h
include/asm-arm/proc-armv/processor.h
+2
-17
include/asm-arm/proc-armv/uncompress.h
include/asm-arm/proc-armv/uncompress.h
+0
-26
include/asm-arm/thread_info.h
include/asm-arm/thread_info.h
+27
-26
include/asm-arm/tlb.h
include/asm-arm/tlb.h
+20
-0
No files found.
arch/arm/boot/compressed/misc.c
View file @
38145517
...
...
@@ -22,7 +22,6 @@ unsigned int __machine_arch_type;
#include <asm/uaccess.h>
#include <asm/arch/uncompress.h>
#include <asm/proc/uncompress.h>
#ifdef STANDALONE_DEBUG
#define puts printf
...
...
@@ -291,7 +290,6 @@ decompress_kernel(ulg output_start, ulg free_mem_ptr_p, ulg free_mem_ptr_end_p,
free_mem_ptr_end
=
free_mem_ptr_end_p
;
__machine_arch_type
=
arch_id
;
proc_decomp_setup
();
arch_decomp_setup
();
makecrc
();
...
...
arch/arm/def-configs/victor
deleted
100644 → 0
View file @
ca980f75
#
# Automatically generated make config: don't edit
#
CONFIG_ARM=y
#
# System and processor type
#
# CONFIG_ARCH_ARC is not set
# CONFIG_ARCH_A5K is not set
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_EBSA110 is not set
# CONFIG_FOOTBRIDGE is not set
CONFIG_ARCH_SA1100=y
CONFIG_CPU_SA1100=y
# CONFIG_SA1100_BRUTUS is not set
# CONFIG_SA1100_EMPEG is not set
# CONFIG_SA1100_ITSY is not set
# CONFIG_SA1100_PLEB is not set
CONFIG_SA1100_VICTOR=y
# CONFIG_VICTOR_BOARD1 is not set
# CONFIG_ARCH_ACORN is not set
# CONFIG_ISA_DMA is not set
CONFIG_CPU_32=y
# CONFIG_CPU_26 is not set
# CONFIG_CPU_ARM2 is not set
# CONFIG_CPU_ARM3 is not set
# CONFIG_CPU_ARM6 is not set
# CONFIG_CPU_ARM7 is not set
CONFIG_CPU_SA110=y
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
# CONFIG_ALIGNMENT_TRAP is not set
# CONFIG_TEXT_SECTIONS is not set
#
# Loadable module support
#
CONFIG_MODULES=y
# CONFIG_MODVERSIONS is not set
# CONFIG_KMOD is not set
#
# General setup
#
CONFIG_ZBOOT_ROM=y
CONFIG_ZBOOT_ROM_TEXT=0x00002000
CONFIG_ZBOOT_ROM_BSS=0xc0200000
# CONFIG_NET is not set
# CONFIG_SYSVIPC is not set
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_SYSCTL is not set
CONFIG_NWFPE=y
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_ARTHUR is not set
# CONFIG_PARPORT is not set
CONFIG_CMDLINE=""
#
# Plug and Play support
#
# CONFIG_PNP is not set
#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
CONFIG_BLK_DEV_IDE=y
#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD_IDE is not set
# CONFIG_BLK_DEV_IDEDISK is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_IDE_CHIPSETS is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_MD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_XD is not set
CONFIG_PARIDE_PARPORT=y
# CONFIG_PARIDE is not set
# CONFIG_BLK_DEV_HD is not set
#
# Character devices
#
# CONFIG_VT is not set
CONFIG_SERIAL_SA1100=y
CONFIG_SERIAL_SA1100_CONSOLE=y
# CONFIG_SERIAL is not set
# CONFIG_SERIAL_EXTENDED is not set
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_UNIX98_PTYS is not set
# CONFIG_MOUSE is not set
# CONFIG_QIC02_TAPE is not set
# CONFIG_WATCHDOG is not set
# CONFIG_NVRAM is not set
# CONFIG_RTC is not set
#
# Video For Linux
#
# CONFIG_VIDEO_DEV is not set
#
# Joystick support
#
# CONFIG_JOYSTICK is not set
# CONFIG_DTLK is not set
#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
#
# SCSI support
#
# CONFIG_SCSI is not set
#
# Filesystems
#
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_FAT_FS is not set
# CONFIG_MSDOS_FS is not set
# CONFIG_UMSDOS_FS is not set
# CONFIG_VFAT_FS is not set
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
# CONFIG_MINIX_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_PROC_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
#
# Partition Types
#
# CONFIG_OSF_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
# CONFIG_MSDOS_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ACORN_PARTITION is not set
CONFIG_NLS=y
#
# Native Language Support
#
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
CONFIG_NLS_CODEPAGE_850=y
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
#
# Kernel hacking
#
CONFIG_FRAME_POINTER=y
CONFIG_DEBUG_ERRORS=y
CONFIG_DEBUG_USER=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_DEBUG_LL is not set
arch/arm/kernel/entry-armv.S
View file @
38145517
...
...
@@ -958,20 +958,15 @@ ENTRY(fp_enter)
.
text
/*
*
Register
switch
for
ARMv3
and
ARMv4
processors
*
r0
=
previous
thread_info
,
r1
=
next
thread_info
,
return
previous
.
*
r0
=
previous
thread_info
,
r1
=
next
thread_info
*
previous
and
next
are
guaranteed
not
to
be
the
same
.
*/
ENTRY
(
__switch_to
)
stmfd
sp
!,
{
r4
-
sl
,
fp
,
lr
}
@
Store
most
regs
on
stack
mrs
ip
,
cpsr
str
ip
,
[
sp
,
#-
4
]!
@
Save
cpsr_SVC
str
sp
,
[
r0
,
#
TI_CPU_SAVE
]
@
Save
sp_SVC
ldr
sp
,
[
r1
,
#
TI_CPU_SAVE
]
@
Get
saved
sp_SVC
ldr
r2
,
[
r1
,
#
TI_CPU_DOMAIN
]
ldr
ip
,
[
sp
],
#
4
add
ip
,
r0
,
#
TI_CPU_SAVE
ldr
r2
,
[
r1
,
#
TI_CPU_DOMAIN
]!
stmia
ip
,
{
r4
-
sl
,
fp
,
sp
,
lr
}
@
Store
most
regs
on
stack
mcr
p15
,
0
,
r2
,
c3
,
c0
@
Set
domain
register
msr
spsr
,
ip
@
Save
tasks
CPSR
into
SPSR
for
this
return
ldmfd
sp
!,
{
r4
-
sl
,
fp
,
pc
}^
@
Load
all
regs
saved
previously
ldmib
r1
,
{
r4
-
sl
,
fp
,
sp
,
pc
}
@
Load
all
regs
saved
previously
.
section
".text.init"
,#
alloc
,#
execinstr
/*
...
...
arch/arm/kernel/process.c
View file @
38145517
...
...
@@ -185,7 +185,7 @@ void show_regs(struct pt_regs * regs)
get_fs
()
==
get_ds
()
?
"kernel"
:
"user"
);
#if defined(CONFIG_CPU_32)
{
int
ctrl
,
transbase
,
dac
;
unsigned
int
ctrl
,
transbase
,
dac
;
__asm__
(
" mrc p15, 0, %0, c1, c0
\n
"
" mrc p15, 0, %1, c2, c0
\n
"
...
...
@@ -310,23 +310,21 @@ void release_thread(struct task_struct *dead_task)
asmlinkage
void
ret_from_fork
(
void
)
__asm__
(
"ret_from_fork"
);
int
copy_thread
(
int
nr
,
unsigned
long
clone_flags
,
unsigned
long
esp
,
unsigned
long
unused
,
struct
task_struct
*
p
,
struct
pt_regs
*
regs
)
int
copy_thread
(
int
nr
,
unsigned
long
clone_flags
,
unsigned
long
esp
,
unsigned
long
unused
,
struct
task_struct
*
p
,
struct
pt_regs
*
regs
)
{
struct
thread_info
*
thread
=
p
->
thread_info
;
struct
pt_regs
*
childregs
;
struct
cpu_context_save
*
save
;
childregs
=
((
struct
pt_regs
*
)((
unsigned
long
)
p
->
thread_info
+
THREAD_SIZE
))
-
1
;
childregs
=
((
struct
pt_regs
*
)((
unsigned
long
)
thread
+
THREAD_SIZE
-
8
))
-
1
;
*
childregs
=
*
regs
;
childregs
->
ARM_r0
=
0
;
childregs
->
ARM_sp
=
esp
;
save
=
((
struct
cpu_context_save
*
)(
childregs
))
-
1
;
*
save
=
INIT_CSS
;
save
->
pc
|=
(
unsigned
long
)
ret_from_fork
;
p
->
thread_info
->
cpu_context
=
save
;
memset
(
&
thread
->
cpu_context
,
0
,
sizeof
(
struct
cpu_context_save
));
thread
->
cpu_context
.
sp
=
(
unsigned
long
)
childregs
;
thread
->
cpu_context
.
pc
=
(
unsigned
long
)
ret_from_fork
;
return
0
;
}
...
...
arch/arm/mach-integrator/cpu.c
View file @
38145517
...
...
@@ -3,7 +3,7 @@
*
* Copyright (C) 2001 Deep Blue Solutions Ltd.
*
* $Id: cpu.c,v 1.
2 2001/09/22 12:11:17
rmk Exp $
* $Id: cpu.c,v 1.
4 2002/05/29 11:41:55
rmk Exp $
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
...
...
@@ -121,7 +121,7 @@ static int __init cpu_init(void)
cpu_freq_khz
=
vco_to_freq
(
vco
,
1
);
#ifdef CONFIG_CPU_FREQ
cpufreq_init
(
cpu_freq_khz
);
cpufreq_init
(
cpu_freq_khz
,
1000
,
0
);
cpufreq_setfunctions
(
integrator_validatespeed
,
integrator_setspeed
);
#endif
...
...
arch/arm/mach-sa1100/Makefile
View file @
38145517
...
...
@@ -99,8 +99,6 @@ led-$(CONFIG_SA1100_SIMPAD) += leds-simpad.o
obj-$(CONFIG_SA1100_STORK)
+=
stork.o
export-objs
+=
stork.o
obj-$(CONFIG_SA1100_VICTOR)
+=
victor.o
obj-$(CONFIG_SA1100_XP860)
+=
xp860.o
obj-$(CONFIG_SA1100_YOPY)
+=
yopy.o
...
...
arch/arm/mach-sa1100/generic.c
View file @
38145517
...
...
@@ -78,7 +78,7 @@ unsigned int sa11x0_validatespeed(unsigned int khz)
static
int
__init
sa11x0_init_clock
(
void
)
{
cpufreq_init
(
cclk_frequency_100khz
[
PPCR
&
0xf
]
*
100
);
cpufreq_init
(
cclk_frequency_100khz
[
PPCR
&
0xf
]
*
100
,
59000
,
287000
);
return
0
;
}
...
...
@@ -203,6 +203,3 @@ void __init sa1110_mb_enable(void)
local_irq_restore
(
flags
);
}
EXPORT_SYMBOL
(
sa1111_wake
);
EXPORT_SYMBOL
(
sa1111_doze
);
arch/arm/mach-sa1100/victor.c
deleted
100644 → 0
View file @
ca980f75
/*
* linux/arch/arm/mach-sa1100/victor.c
*
* Author: Nicolas Pitre
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/delay.h>
#include <linux/pm.h>
#include <linux/tty.h>
#include <asm/hardware.h>
#include <asm/setup.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/serial_sa1100.h>
#include "generic.h"
static
void
victor_power_off
(
void
)
{
/* switch off power supply */
mdelay
(
2000
);
GPCR
=
GPIO_GPIO23
;
while
(
1
);
}
static
int
__init
victor_init
(
void
)
{
pm_power_off
=
victor_power_off
;
return
0
;
}
__initcall
(
victor_init
);
static
void
__init
fixup_victor
(
struct
machine_desc
*
desc
,
struct
tag
*
tags
,
char
**
cmdline
,
struct
meminfo
*
mi
)
{
SET_BANK
(
0
,
0xc0000000
,
4
*
1024
*
1024
);
mi
->
nr_banks
=
1
;
ROOT_DEV
=
mk_kdev
(
60
,
2
);
/* Get command line parameters passed from the loader (if any) */
if
(
*
((
char
*
)
0xc0000000
)
)
strcpy
(
*
cmdline
,
((
char
*
)
0xc0000000
)
);
/* power off if any problem */
strcat
(
*
cmdline
,
" panic=1"
);
}
static
struct
map_desc
victor_io_desc
[]
__initdata
=
{
/* virtual physical length domain r w c b */
{
0xe8000000
,
0x00000000
,
0x00200000
,
DOMAIN_IO
,
0
,
1
,
0
,
0
},
/* Flash */
LAST_DESC
};
static
void
__init
victor_map_io
(
void
)
{
sa1100_map_io
();
iotable_init
(
victor_io_desc
);
sa1100_register_uart
(
0
,
3
);
}
MACHINE_START
(
VICTOR
,
"VisuAide Victor"
)
BOOT_MEM
(
0xc0000000
,
0x80000000
,
0xf8000000
)
FIXUP
(
fixup_victor
)
MAPIO
(
victor_map_io
)
INITIRQ
(
sa1100_init_irq
)
MACHINE_END
arch/arm/mm/init.c
View file @
38145517
...
...
@@ -30,6 +30,7 @@
#include <asm/dma.h>
#include <asm/hardware.h>
#include <asm/setup.h>
#include <asm/tlb.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
...
...
@@ -48,6 +49,8 @@
#define TABLE_SIZE ((TABLE_OFFSET + PTRS_PER_PTE) * sizeof(pte_t))
mmu_gather_t
mmu_gathers
[
NR_CPUS
];
extern
pgd_t
swapper_pg_dir
[
PTRS_PER_PGD
];
extern
char
_stext
,
_text
,
_etext
,
_end
,
__init_begin
,
__init_end
;
...
...
drivers/video/clps711xfb.c
View file @
38145517
...
...
@@ -158,7 +158,7 @@ static int clps7111fb_blank(int blank, struct fb_info *info)
clps_writeb
(
clps_readb
(
PDDR
)
&
~
EDB_PD1_LCD_DC_DC_EN
,
PDDR
);
/* Delay for a little while (half a second). */
for
(
i
=
0
;
i
<
65536
*
4
;
i
++
);
udelay
(
100
);
/* Power off the LCD panel. */
clps_writeb
(
clps_readb
(
PDDR
)
&
~
EDB_PD2_LCDEN
,
PDDR
);
...
...
@@ -179,7 +179,7 @@ static int clps7111fb_blank(int blank, struct fb_info *info)
clps_writeb
(
clps_readb
(
PDDR
)
|
EDB_PD2_LCDEN
,
PDDR
);
/* Delay for a little while. */
for
(
i
=
0
;
i
<
65536
*
4
;
i
++
);
udelay
(
100
);
/* Power up the LCD DC-DC converter. */
clps_writeb
(
clps_readb
(
PDDR
)
|
EDB_PD1_LCD_DC_DC_EN
,
...
...
include/asm-arm/atomic.h
View file @
38145517
...
...
@@ -71,27 +71,27 @@ static __inline__ void atomic_dec(volatile atomic_t *v)
static
__inline__
int
atomic_dec_and_test
(
volatile
atomic_t
*
v
)
{
unsigned
long
flags
;
int
result
;
int
val
;
__save_flags_cli
(
flags
);
v
->
counter
-=
1
;
result
=
(
v
->
counter
==
0
)
;
v
al
=
v
->
counter
;
v
->
counter
=
val
-=
1
;
__restore_flags
(
flags
);
return
result
;
return
val
==
0
;
}
static
inline
int
atomic_add_negative
(
int
i
,
volatile
atomic_t
*
v
)
{
unsigned
long
flags
;
int
result
;
int
val
;
__save_flags_cli
(
flags
);
v
->
counter
+=
i
;
result
=
(
v
->
counter
<
0
)
;
v
al
=
v
->
counter
;
v
->
counter
=
val
+=
i
;
__restore_flags
(
flags
);
return
result
;
return
val
<
0
;
}
static
__inline__
void
atomic_clear_mask
(
unsigned
long
mask
,
unsigned
long
*
addr
)
...
...
include/asm-arm/proc-armo/processor.h
View file @
38145517
...
...
@@ -23,20 +23,6 @@
#define KERNEL_STACK_SIZE 4096
struct
cpu_context_save
{
unsigned
long
r4
;
unsigned
long
r5
;
unsigned
long
r6
;
unsigned
long
r7
;
unsigned
long
r8
;
unsigned
long
r9
;
unsigned
long
sl
;
unsigned
long
fp
;
unsigned
long
pc
;
};
#define INIT_CSS (struct cpu_context_save){ 0, 0, 0, 0, 0, 0, 0, 0, SVC26_MODE }
typedef
struct
{
void
(
*
put_byte
)(
void
);
/* Special calling convention */
void
(
*
get_byte
)(
void
);
/* Special calling convention */
...
...
@@ -71,7 +57,7 @@ extern uaccess_t uaccess_user, uaccess_kernel;
regs->ARM_r0 = stack[0];
/* r0 (argc) */
\
})
#define KSTK_EIP(tsk) (((unsigned long *)(4096+(unsigned long)(tsk)))[102
2
])
#define KSTK_ESP(tsk) (((unsigned long *)(4096+(unsigned long)(tsk)))[10
20
])
#define KSTK_EIP(tsk) (((unsigned long *)(4096+(unsigned long)(tsk)))[102
0
])
#define KSTK_ESP(tsk) (((unsigned long *)(4096+(unsigned long)(tsk)))[10
18
])
#endif
include/asm-arm/proc-armo/uncompress.h
deleted
100644 → 0
View file @
ca980f75
/*
* linux/include/asm-arm/proc-armo/uncompress.h
*
* Copyright (C) 1997 Russell King
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#define proc_decomp_setup()
include/asm-arm/proc-armv/processor.h
View file @
38145517
...
...
@@ -22,21 +22,6 @@
#define KERNEL_STACK_SIZE PAGE_SIZE
struct
cpu_context_save
{
unsigned
long
cpsr
;
unsigned
long
r4
;
unsigned
long
r5
;
unsigned
long
r6
;
unsigned
long
r7
;
unsigned
long
r8
;
unsigned
long
r9
;
unsigned
long
sl
;
unsigned
long
fp
;
unsigned
long
pc
;
};
#define INIT_CSS (struct cpu_context_save){ SVC_MODE, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
#define INIT_EXTRA_THREAD_INFO \
cpu_domain: domain_val(DOMAIN_USER, DOMAIN_CLIENT) | \
domain_val(DOMAIN_KERNEL, DOMAIN_MANAGER) | \
...
...
@@ -58,7 +43,7 @@ struct cpu_context_save {
regs->ARM_r0 = stack[0];
/* r0 (argc) */
\
})
#define KSTK_EIP(tsk) (((unsigned long *)(4096+(unsigned long)(tsk)))[10
21
])
#define KSTK_ESP(tsk) (((unsigned long *)(4096+(unsigned long)(tsk)))[101
9
])
#define KSTK_EIP(tsk) (((unsigned long *)(4096+(unsigned long)(tsk)))[10
19
])
#define KSTK_ESP(tsk) (((unsigned long *)(4096+(unsigned long)(tsk)))[101
7
])
#endif
include/asm-arm/proc-armv/uncompress.h
deleted
100644 → 0
View file @
ca980f75
/*
* linux/include/asm-arm/proc-armv/uncompress.h
*
* Copyright (C) 1997 Russell King
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
static
inline
void
proc_decomp_setup
(
void
)
{
__asm__
__volatile__
(
"
mrc p15, 0, r0, c0, c0
eor r0, r0, #0x44 << 24
eor r0, r0, #0x01 << 16
eor r0, r0, #0xA1 << 8
movs r0, r0, lsr #5
mcreq p15, 0, r0, c7, c5, 0 @ flush I cache
mrceq p15, 0, r0, c1, c0
orreq r0, r0, #1 << 12
mcreq p15, 0, r0, c1, c0 @ enable I cache
mov r0, #0
mcreq p15, 0, r0, c15, c1, 2 @ enable clock switching
"
:
:
:
"r0"
,
"cc"
,
"memory"
);
}
include/asm-arm/thread_info.h
View file @
38145517
...
...
@@ -22,20 +22,35 @@ struct exec_domain;
#include <asm/ptrace.h>
#include <asm/types.h>
typedef
unsigned
long
mm_segment_t
;
/* domain register */
typedef
unsigned
long
mm_segment_t
;
struct
cpu_context_save
{
__u32
r4
;
__u32
r5
;
__u32
r6
;
__u32
r7
;
__u32
r8
;
__u32
r9
;
__u32
sl
;
__u32
fp
;
__u32
sp
;
__u32
pc
;
__u32
extra
[
2
];
/* Xscale 'acc' register, etc */
};
/*
* low level task data that entry.S needs immediate access to.
* We assume cpu_context follows immedately after cpu_domain.
*/
struct
thread_info
{
unsigned
long
flags
;
/* low level flags */
__s32
preempt_count
;
/* 0 => preemptable, <0 => bug */
mm_segment_t
addr_limit
;
/* address limit */
__u32
cpu
;
/* cpu */
struct
cpu_context_save
*
cpu_context
;
/* cpu context */
__u32
cpu_domain
;
/* cpu domain */
struct
task_struct
*
task
;
/* main task structure */
struct
exec_domain
*
exec_domain
;
/* execution domain */
__u32
cpu
;
/* cpu */
__u32
cpu_domain
;
/* cpu domain */
struct
cpu_context_save
cpu_context
;
/* cpu context */
union
fp_state
fpstate
;
};
...
...
@@ -71,34 +86,20 @@ extern void free_thread_info(struct thread_info *);
#define get_thread_info(ti) get_task_struct((ti)->task)
#define put_thread_info(ti) put_task_struct((ti)->task)
static
inline
unsigned
long
__thread_saved_pc
(
struct
thread_info
*
thread
)
{
struct
cpu_context_save
*
context
=
thread
->
cpu_context
;
return
context
?
pc_pointer
(
context
->
pc
)
:
0
;
}
static
inline
unsigned
long
__thread_saved_fp
(
struct
thread_info
*
thread
)
{
struct
cpu_context_save
*
context
=
thread
->
cpu_context
;
return
context
?
context
->
fp
:
0
;
}
#define thread_saved_pc(tsk) __thread_saved_pc((tsk)->thread_info)
#define thread_saved_fp(tsk) __thread_saved_fp((tsk)->thread_info)
#define thread_saved_pc(tsk) (pc_pointer((tsk)->thread_info->cpu_context.pc))
#define thread_saved_fp(tsk) ((tsk)->thread_info->cpu_context.fp)
#else
/* !__ASSEMBLY__ */
#define TI_FLAGS 0
#define TI_PREEMPT 4
#define TI_ADDR_LIMIT 8
#define TI_
CPU
12
#define TI_
CPU_SAVE
16
#define TI_CPU
_DOMAIN
20
#define TI_
TASK
24
#define TI_
EXEC_DOMAIN
28
#define TI_FPSTATE
32
#define TI_
TASK
12
#define TI_
EXEC_DOMAIN
16
#define TI_CPU
20
#define TI_
CPU_DOMAIN
24
#define TI_
CPU_SAVE
28
#define TI_FPSTATE
76
#endif
...
...
include/asm-arm/tlb.h
View file @
38145517
#ifndef __ASMARM_TLB_H
#define __ASMARM_TLB_H
#include <asm/cacheflush.h>
#include <asm/tlbflush.h>
#define tlb_flush(tlb) \
flush_tlb_mm((tlb)->mm)
#define tlb_start_vma(tlb,vma) \
flush_cache_range(vma, vma->vm_start, vma->vm_end)
#define tlb_end_vma(tlb,vma) \
flush_tlb_range(vma, vma->vm_start, vma->vm_end)
#define tlb_remove_tlb_entry(tlb, pte, address) do { } while (0)
#include <asm-generic/tlb.h>
#define pmd_free_tlb(tlb, pmd) pmd_free(pmd)
#define pte_free_tlb(tlb, pte) pte_free(pte)
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment