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
3b7faeb4
Commit
3b7faeb4
authored
Feb 18, 2009
by
Benjamin Herrenschmidt
Browse files
Options
Browse Files
Download
Plain Diff
Merge commit 'kumar/next' into next
parents
82a0a1cc
96a8bac5
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
860 additions
and
51 deletions
+860
-51
arch/powerpc/boot/dts/mpc8572ds.dts
arch/powerpc/boot/dts/mpc8572ds.dts
+5
-5
arch/powerpc/boot/dts/mpc8572ds_36b.dts
arch/powerpc/boot/dts/mpc8572ds_36b.dts
+787
-0
arch/powerpc/boot/dts/mpc8572ds_camp_core0.dts
arch/powerpc/boot/dts/mpc8572ds_camp_core0.dts
+4
-4
arch/powerpc/boot/dts/mpc8572ds_camp_core1.dts
arch/powerpc/boot/dts/mpc8572ds_camp_core1.dts
+2
-2
arch/powerpc/include/asm/mmu-book3e.h
arch/powerpc/include/asm/mmu-book3e.h
+42
-24
arch/powerpc/include/asm/mmu.h
arch/powerpc/include/asm/mmu.h
+3
-3
arch/powerpc/kernel/entry_32.S
arch/powerpc/kernel/entry_32.S
+3
-3
arch/powerpc/kernel/head_fsl_booke.S
arch/powerpc/kernel/head_fsl_booke.S
+7
-7
arch/powerpc/mm/fsl_booke_mmu.c
arch/powerpc/mm/fsl_booke_mmu.c
+3
-3
arch/powerpc/platforms/Kconfig.cputype
arch/powerpc/platforms/Kconfig.cputype
+4
-0
No files found.
arch/powerpc/boot/dts/mpc8572ds.dts
View file @
3b7faeb4
/*
*
MPC8572
DS
Device
Tree
Source
*
*
Copyright
2007
,
2008
Freescale
Semiconductor
Inc
.
*
Copyright
2007
-
2009
Freescale
Semiconductor
Inc
.
*
*
This
program
is
free
software
;
you
can
redistribute
it
and
/
or
modify
it
*
under
the
terms
of
the
GNU
General
Public
License
as
published
by
the
...
...
@@ -643,7 +643,7 @@ pcie@0 {
0x1000000
0x0
0x0
0x1000000
0x0
0x0
0x0
0x10000
0
>;
0x0
0x10000
>;
uli1575
@
0
{
reg
=
<
0x0
0x0
0x0
0x0
0x0
>;
#
size
-
cells
=
<
2
>;
...
...
@@ -654,7 +654,7 @@ uli1575@0 {
0x1000000
0x0
0x0
0x1000000
0x0
0x0
0x0
0x10000
0
>;
0x0
0x10000
>;
isa
@
1
e
{
device_type
=
"isa"
;
#
interrupt
-
cells
=
<
2
>;
...
...
@@ -744,7 +744,7 @@ pcie@0 {
0x1000000
0x0
0x0
0x1000000
0x0
0x0
0x0
0x10000
0
>;
0x0
0x10000
>;
};
};
...
...
@@ -781,7 +781,7 @@ pcie@0 {
0x1000000
0x0
0x0
0x1000000
0x0
0x0
0x0
0x10000
0
>;
0x0
0x10000
>;
};
};
};
arch/powerpc/boot/dts/mpc8572ds_36b.dts
0 → 100644
View file @
3b7faeb4
This diff is collapsed.
Click to expand it.
arch/powerpc/boot/dts/mpc8572ds_camp_core0.dts
View file @
3b7faeb4
...
...
@@ -6,7 +6,7 @@
*
This
dts
file
allows
core0
to
have
memory
,
l2
,
i2c
,
dma1
,
global
-
util
,
eth0
,
*
eth1
,
crypto
,
pci0
,
pci1
.
*
*
Copyright
2007
,
2008
Freescale
Semiconductor
Inc
.
*
Copyright
2007
-
2009
Freescale
Semiconductor
Inc
.
*
*
This
program
is
free
software
;
you
can
redistribute
it
and
/
or
modify
it
*
under
the
terms
of
the
GNU
General
Public
License
as
published
by
the
...
...
@@ -376,7 +376,7 @@ pcie@0 {
0x1000000
0x0
0x0
0x1000000
0x0
0x0
0x0
0x10000
0
>;
0x0
0x10000
>;
uli1575
@
0
{
reg
=
<
0x0
0x0
0x0
0x0
0x0
>;
#
size
-
cells
=
<
2
>;
...
...
@@ -387,7 +387,7 @@ uli1575@0 {
0x1000000
0x0
0x0
0x1000000
0x0
0x0
0x0
0x10000
0
>;
0x0
0x10000
>;
isa
@
1
e
{
device_type
=
"isa"
;
#
interrupt
-
cells
=
<
2
>;
...
...
@@ -477,7 +477,7 @@ pcie@0 {
0x1000000
0x0
0x0
0x1000000
0x0
0x0
0x0
0x10000
0
>;
0x0
0x10000
>;
};
};
};
arch/powerpc/boot/dts/mpc8572ds_camp_core1.dts
View file @
3b7faeb4
...
...
@@ -7,7 +7,7 @@
*
*
Please
note
to
add
"-b 1"
for
core1
's dts compiling.
*
* Copyright 2007
, 2008
Freescale Semiconductor Inc.
* Copyright 2007
-2009
Freescale Semiconductor Inc.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
...
...
@@ -228,7 +228,7 @@ pcie@0 {
0x1000000 0x0 0x0
0x1000000 0x0 0x0
0x0 0x10000
0
>;
0x0 0x10000>;
};
};
};
arch/powerpc/include/asm/mmu-
fsl-book
e.h
→
arch/powerpc/include/asm/mmu-
book3
e.h
View file @
3b7faeb4
#ifndef _ASM_POWERPC_MMU_
FSL_BOOK
E_H_
#define _ASM_POWERPC_MMU_
FSL_BOOK
E_H_
#ifndef _ASM_POWERPC_MMU_
BOOK3
E_H_
#define _ASM_POWERPC_MMU_
BOOK3
E_H_
/*
* Freescale Book-E MMU support
* Freescale Book-E
/Book-3e (ISA 2.06+)
MMU support
*/
/* Book-E defined page sizes */
#define BOOKE_PAGESZ_1K 0
#define BOOKE_PAGESZ_4K 1
#define BOOKE_PAGESZ_16K 2
#define BOOKE_PAGESZ_64K 3
#define BOOKE_PAGESZ_256K 4
#define BOOKE_PAGESZ_1M 5
#define BOOKE_PAGESZ_4M 6
#define BOOKE_PAGESZ_16M 7
#define BOOKE_PAGESZ_64M 8
#define BOOKE_PAGESZ_256M 9
#define BOOKE_PAGESZ_1GB 10
#define BOOKE_PAGESZ_4GB 11
#define BOOKE_PAGESZ_16GB 12
#define BOOKE_PAGESZ_64GB 13
#define BOOKE_PAGESZ_256GB 14
#define BOOKE_PAGESZ_1TB 15
/* Book-3e defined page sizes */
#define BOOK3E_PAGESZ_1K 0
#define BOOK3E_PAGESZ_2K 1
#define BOOK3E_PAGESZ_4K 2
#define BOOK3E_PAGESZ_8K 3
#define BOOK3E_PAGESZ_16K 4
#define BOOK3E_PAGESZ_32K 5
#define BOOK3E_PAGESZ_64K 6
#define BOOK3E_PAGESZ_128K 7
#define BOOK3E_PAGESZ_256K 8
#define BOOK3E_PAGESZ_512K 9
#define BOOK3E_PAGESZ_1M 10
#define BOOK3E_PAGESZ_2M 11
#define BOOK3E_PAGESZ_4M 12
#define BOOK3E_PAGESZ_8M 13
#define BOOK3E_PAGESZ_16M 14
#define BOOK3E_PAGESZ_32M 15
#define BOOK3E_PAGESZ_64M 16
#define BOOK3E_PAGESZ_128M 17
#define BOOK3E_PAGESZ_256M 18
#define BOOK3E_PAGESZ_512M 19
#define BOOK3E_PAGESZ_1GB 20
#define BOOK3E_PAGESZ_2GB 21
#define BOOK3E_PAGESZ_4GB 22
#define BOOK3E_PAGESZ_8GB 23
#define BOOK3E_PAGESZ_16GB 24
#define BOOK3E_PAGESZ_32GB 25
#define BOOK3E_PAGESZ_64GB 26
#define BOOK3E_PAGESZ_128GB 27
#define BOOK3E_PAGESZ_256GB 28
#define BOOK3E_PAGESZ_512GB 29
#define BOOK3E_PAGESZ_1TB 30
#define BOOK3E_PAGESZ_2TB 31
#define MAS0_TLBSEL(x) ((x << 28) & 0x30000000)
#define MAS0_ESEL(x) ((x << 16) & 0x0FFF0000)
...
...
@@ -29,8 +45,9 @@
#define MAS1_VALID 0x80000000
#define MAS1_IPROT 0x40000000
#define MAS1_TID(x) ((x << 16) & 0x3FFF0000)
#define MAS1_IND 0x00002000
#define MAS1_TS 0x00001000
#define MAS1_TSIZE(x) ((x <<
8) & 0x00000F0
0)
#define MAS1_TSIZE(x) ((x <<
7) & 0x00000F8
0)
#define MAS2_EPN 0xFFFFF000
#define MAS2_X0 0x00000040
...
...
@@ -40,7 +57,7 @@
#define MAS2_M 0x00000004
#define MAS2_G 0x00000002
#define MAS2_E 0x00000001
#define MAS2_EPN_MASK(size) (~0 << (
2*(size)
+ 10))
#define MAS2_EPN_MASK(size) (~0 << (
size
+ 10))
#define MAS2_VAL(addr, size, flags) ((addr) & MAS2_EPN_MASK(size) | (flags))
#define MAS3_RPN 0xFFFFF000
...
...
@@ -56,7 +73,7 @@
#define MAS3_SR 0x00000001
#define MAS4_TLBSELD(x) MAS0_TLBSEL(x)
#define MAS4_
TIDDSEL 0x000F0
000
#define MAS4_
INDD 0x00008
000
#define MAS4_TSIZED(x) MAS1_TSIZE(x)
#define MAS4_X0D 0x00000040
#define MAS4_X1D 0x00000020
...
...
@@ -68,6 +85,7 @@
#define MAS6_SPID0 0x3FFF0000
#define MAS6_SPID1 0x00007FFE
#define MAS6_ISIZE(x) MAS1_TSIZE(x)
#define MAS6_SAS 0x00000001
#define MAS6_SPID MAS6_SPID0
...
...
@@ -82,4 +100,4 @@ typedef struct {
}
mm_context_t
;
#endif
/* !__ASSEMBLY__ */
#endif
/* _ASM_POWERPC_MMU_
FSL_BOOK
E_H_ */
#endif
/* _ASM_POWERPC_MMU_
BOOK3
E_H_ */
arch/powerpc/include/asm/mmu.h
View file @
3b7faeb4
...
...
@@ -71,9 +71,9 @@ extern unsigned int __start___mmu_ftr_fixup, __stop___mmu_ftr_fixup;
#elif defined(CONFIG_44x)
/* 44x-style software loaded TLB */
# include <asm/mmu-44x.h>
#elif defined(CONFIG_
FSL_BOOKE
)
/* Freescale Book-E software loaded TLB */
# include <asm/mmu-
fsl-book
e.h>
#elif defined(CONFIG_
PPC_BOOK3E_MMU
)
/* Freescale Book-E software loaded TLB
or Book-3e (ISA 2.06+) MMU
*/
# include <asm/mmu-
book3
e.h>
#elif defined (CONFIG_PPC_8xx)
/* Motorola/Freescale 8xx software loaded TLB */
# include <asm/mmu-8xx.h>
...
...
arch/powerpc/kernel/entry_32.S
View file @
3b7faeb4
...
...
@@ -63,7 +63,7 @@ debug_transfer_to_handler:
.
globl
crit_transfer_to_handler
crit_transfer_to_handler
:
#ifdef CONFIG_
FSL_BOOKE
#ifdef CONFIG_
PPC_BOOK3E_MMU
mfspr
r0
,
SPRN_MAS0
stw
r0
,
MAS0
(
r11
)
mfspr
r0
,
SPRN_MAS1
...
...
@@ -78,7 +78,7 @@ crit_transfer_to_handler:
mfspr
r0
,
SPRN_MAS7
stw
r0
,
MAS7
(
r11
)
#endif /* CONFIG_PHYS_64BIT */
#endif /* CONFIG_
FSL_BOOKE
*/
#endif /* CONFIG_
PPC_BOOK3E_MMU
*/
#ifdef CONFIG_44x
mfspr
r0
,
SPRN_MMUCR
stw
r0
,
MMUCR
(
r11
)
...
...
@@ -914,7 +914,7 @@ exc_exit_restart_end:
mtspr
SPRN_
##
exc_lvl_srr0
,
r9
; \
mtspr
SPRN_
##
exc_lvl_srr1
,
r10
;
#if defined(CONFIG_
FSL_BOOKE
)
#if defined(CONFIG_
PPC_BOOK3E_MMU
)
#ifdef CONFIG_PHYS_64BIT
#define RESTORE_MAS7 \
lwz
r11
,
MAS7
(
r1
)
; \
...
...
arch/powerpc/kernel/head_fsl_booke.S
View file @
3b7faeb4
...
...
@@ -173,7 +173,7 @@ skpinv: addi r6,r6,1 /* Increment */
/
*
grab
and
fixup
the
RPN
*/
mfspr
r6
,
SPRN_MAS1
/*
extract
MAS1
[
SIZE
]
*/
rlwinm
r6
,
r6
,
25
,
27
,
3
0
rlwinm
r6
,
r6
,
25
,
27
,
3
1
li
r8
,-
1
addi
r6
,
r6
,
10
slw
r6
,
r8
,
r6
/*
convert
to
mask
*/
...
...
@@ -199,7 +199,7 @@ skpinv: addi r6,r6,1 /* Increment */
xori
r6
,
r4
,
1
/*
Setup
TMP
mapping
in
the
other
Address
space
*/
slwi
r6
,
r6
,
12
oris
r6
,
r6
,(
MAS1_VALID
|
MAS1_IPROT
)
@
h
ori
r6
,
r6
,(
MAS1_TSIZE
(
BOOKE_PAGESZ_4K
))
@
l
ori
r6
,
r6
,(
MAS1_TSIZE
(
BOOK
3
E_PAGESZ_4K
))
@
l
mtspr
SPRN_MAS1
,
r6
mfspr
r6
,
SPRN_MAS2
li
r7
,
0
/*
temp
EPN
=
0
*/
...
...
@@ -257,10 +257,10 @@ skpinv: addi r6,r6,1 /* Increment */
lis
r6
,
0x1000
/*
Set
MAS0
(
TLBSEL
)
=
TLB1
(
1
),
ESEL
=
0
*/
mtspr
SPRN_MAS0
,
r6
lis
r6
,(
MAS1_VALID
|
MAS1_IPROT
)
@
h
ori
r6
,
r6
,(
MAS1_TSIZE
(
BOOKE_PAGESZ_64M
))
@
l
ori
r6
,
r6
,(
MAS1_TSIZE
(
BOOK
3
E_PAGESZ_64M
))
@
l
mtspr
SPRN_MAS1
,
r6
lis
r6
,
MAS2_VAL
(
PAGE_OFFSET
,
BOOKE_PAGESZ_64M
,
M_IF_SMP
)
@
h
ori
r6
,
r6
,
MAS2_VAL
(
PAGE_OFFSET
,
BOOKE_PAGESZ_64M
,
M_IF_SMP
)
@
l
lis
r6
,
MAS2_VAL
(
PAGE_OFFSET
,
BOOK
3
E_PAGESZ_64M
,
M_IF_SMP
)
@
h
ori
r6
,
r6
,
MAS2_VAL
(
PAGE_OFFSET
,
BOOK
3
E_PAGESZ_64M
,
M_IF_SMP
)
@
l
mtspr
SPRN_MAS2
,
r6
mtspr
SPRN_MAS3
,
r8
tlbwe
...
...
@@ -315,7 +315,7 @@ skpinv: addi r6,r6,1 /* Increment */
mtspr
SPRN_IVPR
,
r4
/
*
Setup
the
defaults
for
TLB
entries
*/
li
r2
,(
MAS4_TSIZED
(
BOOKE_PAGESZ_4K
))
@
l
li
r2
,(
MAS4_TSIZED
(
BOOK
3
E_PAGESZ_4K
))
@
l
#ifdef CONFIG_E200
oris
r2
,
r2
,
MAS4_TLBSELD
(
1
)
@
h
#endif
...
...
@@ -1116,7 +1116,7 @@ __secondary_start:
mtspr
SPRN_SPRG3
,
r4
/
*
Setup
the
defaults
for
TLB
entries
*/
li
r4
,(
MAS4_TSIZED
(
BOOKE_PAGESZ_4K
))
@
l
li
r4
,(
MAS4_TSIZED
(
BOOK
3
E_PAGESZ_4K
))
@
l
mtspr
SPRN_MAS4
,
r4
/
*
Jump
to
start_secondary
*/
...
...
arch/powerpc/mm/fsl_booke_mmu.c
View file @
3b7faeb4
...
...
@@ -111,7 +111,7 @@ void settlbcam(int index, unsigned long virt, phys_addr_t phys,
unsigned
int
tsize
,
lz
;
asm
(
"cntlzw %0,%1"
:
"=r"
(
lz
)
:
"r"
(
size
));
tsize
=
(
21
-
lz
)
/
2
;
tsize
=
21
-
lz
;
#ifdef CONFIG_SMP
if
((
flags
&
_PAGE_NO_CACHE
)
==
0
)
...
...
@@ -218,7 +218,7 @@ adjust_total_lowmem(void)
p
+=
sprintf
(
p
,
"0/"
);
p
[
-
1
]
=
'\0'
;
pr_info
(
"Memory CAM mapping: %s Mb, residual: %
l
dMb
\n
"
,
buf
,
(
total_lowmem
-
__max_low_memory
)
>>
20
);
pr_info
(
"Memory CAM mapping: %s Mb, residual: %dMb
\n
"
,
buf
,
(
unsigned
int
)((
total_lowmem
-
__max_low_memory
)
>>
20
)
);
__initial_memory_limit_addr
=
memstart_addr
+
__max_low_memory
;
}
arch/powerpc/platforms/Kconfig.cputype
View file @
3b7faeb4
...
...
@@ -210,6 +210,10 @@ config PPC_MMU_NOHASH
def_bool y
depends on !PPC_STD_MMU
config PPC_BOOK3E_MMU
def_bool y
depends on FSL_BOOKE
config PPC_MM_SLICES
bool
default y if HUGETLB_PAGE || (PPC_STD_MMU_64 && PPC_64K_PAGES)
...
...
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