Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
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
Show 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 @@
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 @@
0x1000000
0x0
0x0
0x1000000
0x0
0x0
0x0
0x10000
0
>;
0x0
0x10000
>;
isa
@
1
e
{
device_type
=
"isa"
;
#
interrupt
-
cells
=
<
2
>;
...
...
@@ -744,7 +744,7 @@
0x1000000
0x0
0x0
0x1000000
0x0
0x0
0x0
0x10000
0
>;
0x0
0x10000
>;
};
};
...
...
@@ -781,7 +781,7 @@
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 @@
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 @@
0x1000000
0x0
0x0
0x1000000
0x0
0x0
0x0
0x10000
0
>;
0x0
0x10000
>;
isa
@
1
e
{
device_type
=
"isa"
;
#
interrupt
-
cells
=
<
2
>;
...
...
@@ -477,7 +477,7 @@
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 @@
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