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
6ec25809
Commit
6ec25809
authored
Oct 12, 2005
by
Ralf Baechle
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Rename page argument of flush_cache_page to something more descriptive.
Signed-off-by:
Ralf Baechle
<
ralf@linux-mips.org
>
parent
8f91ed6c
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
16 deletions
+17
-16
arch/mips/mm/c-r4k.c
arch/mips/mm/c-r4k.c
+17
-16
No files found.
arch/mips/mm/c-r4k.c
View file @
6ec25809
...
@@ -368,14 +368,14 @@ static void r4k_flush_cache_mm(struct mm_struct *mm)
...
@@ -368,14 +368,14 @@ static void r4k_flush_cache_mm(struct mm_struct *mm)
struct
flush_cache_page_args
{
struct
flush_cache_page_args
{
struct
vm_area_struct
*
vma
;
struct
vm_area_struct
*
vma
;
unsigned
long
page
;
unsigned
long
addr
;
};
};
static
inline
void
local_r4k_flush_cache_page
(
void
*
args
)
static
inline
void
local_r4k_flush_cache_page
(
void
*
args
)
{
{
struct
flush_cache_page_args
*
fcp_args
=
args
;
struct
flush_cache_page_args
*
fcp_args
=
args
;
struct
vm_area_struct
*
vma
=
fcp_args
->
vma
;
struct
vm_area_struct
*
vma
=
fcp_args
->
vma
;
unsigned
long
page
=
fcp_args
->
page
;
unsigned
long
addr
=
fcp_args
->
addr
;
int
exec
=
vma
->
vm_flags
&
VM_EXEC
;
int
exec
=
vma
->
vm_flags
&
VM_EXEC
;
struct
mm_struct
*
mm
=
vma
->
vm_mm
;
struct
mm_struct
*
mm
=
vma
->
vm_mm
;
pgd_t
*
pgdp
;
pgd_t
*
pgdp
;
...
@@ -390,11 +390,11 @@ static inline void local_r4k_flush_cache_page(void *args)
...
@@ -390,11 +390,11 @@ static inline void local_r4k_flush_cache_page(void *args)
if
(
cpu_context
(
smp_processor_id
(),
mm
)
==
0
)
if
(
cpu_context
(
smp_processor_id
(),
mm
)
==
0
)
return
;
return
;
page
&=
PAGE_MASK
;
addr
&=
PAGE_MASK
;
pgdp
=
pgd_offset
(
mm
,
page
);
pgdp
=
pgd_offset
(
mm
,
addr
);
pudp
=
pud_offset
(
pgdp
,
page
);
pudp
=
pud_offset
(
pgdp
,
addr
);
pmdp
=
pmd_offset
(
pudp
,
page
);
pmdp
=
pmd_offset
(
pudp
,
addr
);
ptep
=
pte_offset
(
pmdp
,
page
);
ptep
=
pte_offset
(
pmdp
,
addr
);
/*
/*
* If the page isn't marked valid, the page cannot possibly be
* If the page isn't marked valid, the page cannot possibly be
...
@@ -411,12 +411,12 @@ static inline void local_r4k_flush_cache_page(void *args)
...
@@ -411,12 +411,12 @@ static inline void local_r4k_flush_cache_page(void *args)
*/
*/
if
((
mm
==
current
->
active_mm
)
&&
(
pte_val
(
*
ptep
)
&
_PAGE_VALID
))
{
if
((
mm
==
current
->
active_mm
)
&&
(
pte_val
(
*
ptep
)
&
_PAGE_VALID
))
{
if
(
cpu_has_dc_aliases
||
(
exec
&&
!
cpu_has_ic_fills_f_dc
))
{
if
(
cpu_has_dc_aliases
||
(
exec
&&
!
cpu_has_ic_fills_f_dc
))
{
r4k_blast_dcache_page
(
page
);
r4k_blast_dcache_page
(
addr
);
if
(
exec
&&
!
cpu_icache_snoops_remote_store
)
if
(
exec
&&
!
cpu_icache_snoops_remote_store
)
r4k_blast_scache_page
(
page
);
r4k_blast_scache_page
(
addr
);
}
}
if
(
exec
)
if
(
exec
)
r4k_blast_icache_page
(
page
);
r4k_blast_icache_page
(
addr
);
return
;
return
;
}
}
...
@@ -425,11 +425,11 @@ static inline void local_r4k_flush_cache_page(void *args)
...
@@ -425,11 +425,11 @@ static inline void local_r4k_flush_cache_page(void *args)
* Do indexed flush, too much work to get the (possible) TLB refills
* Do indexed flush, too much work to get the (possible) TLB refills
* to work correctly.
* to work correctly.
*/
*/
page
=
INDEX_BASE
+
(
page
&
(
dcache_size
-
1
));
addr
=
INDEX_BASE
+
(
addr
&
(
dcache_size
-
1
));
if
(
cpu_has_dc_aliases
||
(
exec
&&
!
cpu_has_ic_fills_f_dc
))
{
if
(
cpu_has_dc_aliases
||
(
exec
&&
!
cpu_has_ic_fills_f_dc
))
{
r4k_blast_dcache_page_indexed
(
page
);
r4k_blast_dcache_page_indexed
(
addr
);
if
(
exec
&&
!
cpu_icache_snoops_remote_store
)
if
(
exec
&&
!
cpu_icache_snoops_remote_store
)
r4k_blast_scache_page_indexed
(
page
);
r4k_blast_scache_page_indexed
(
addr
);
}
}
if
(
exec
)
{
if
(
exec
)
{
if
(
cpu_has_vtag_icache
)
{
if
(
cpu_has_vtag_icache
)
{
...
@@ -438,16 +438,17 @@ static inline void local_r4k_flush_cache_page(void *args)
...
@@ -438,16 +438,17 @@ static inline void local_r4k_flush_cache_page(void *args)
if
(
cpu_context
(
cpu
,
mm
)
!=
0
)
if
(
cpu_context
(
cpu
,
mm
)
!=
0
)
drop_mmu_context
(
mm
,
cpu
);
drop_mmu_context
(
mm
,
cpu
);
}
else
}
else
r4k_blast_icache_page_indexed
(
page
);
r4k_blast_icache_page_indexed
(
addr
);
}
}
}
}
static
void
r4k_flush_cache_page
(
struct
vm_area_struct
*
vma
,
unsigned
long
page
,
unsigned
long
pfn
)
static
void
r4k_flush_cache_page
(
struct
vm_area_struct
*
vma
,
unsigned
long
addr
,
unsigned
long
pfn
)
{
{
struct
flush_cache_page_args
args
;
struct
flush_cache_page_args
args
;
args
.
vma
=
vma
;
args
.
vma
=
vma
;
args
.
page
=
page
;
args
.
addr
=
addr
;
on_each_cpu
(
local_r4k_flush_cache_page
,
&
args
,
1
,
1
);
on_each_cpu
(
local_r4k_flush_cache_page
,
&
args
,
1
,
1
);
}
}
...
...
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