Skip to content

Commit

Permalink
x86, CPA: Add a flag parameter to cpa set_clr()
Browse files Browse the repository at this point in the history
Change change_page_attr_set_clr() array parameter to a flag. This helps
following patches which adds an interface to change attr to uc/wb over a
set of pages referred by struct page.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Cc: arjan@infradead.org
Cc: eric@anholt.net
Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Cc: airlied@redhat.com
LKML-Reference: <20090319215358.611346000@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
venkatesh.pallipadi@intel.com authored and Ingo Molnar committed Mar 20, 2009
1 parent 7f00a24 commit 728c951
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions arch/x86/mm/pageattr.c
Original file line number Diff line number Diff line change
Expand Up @@ -787,7 +787,7 @@ static inline int cache_attr(pgprot_t attr)

static int change_page_attr_set_clr(unsigned long *addr, int numpages,
pgprot_t mask_set, pgprot_t mask_clr,
int force_split, int array)
int force_split, int in_flag)
{
struct cpa_data cpa;
int ret, cache, checkalias;
Expand All @@ -802,7 +802,7 @@ static int change_page_attr_set_clr(unsigned long *addr, int numpages,
return 0;

/* Ensure we are PAGE_SIZE aligned */
if (!array) {
if (!(in_flag & CPA_ARRAY)) {
if (*addr & ~PAGE_MASK) {
*addr &= PAGE_MASK;
/*
Expand Down Expand Up @@ -840,7 +840,7 @@ static int change_page_attr_set_clr(unsigned long *addr, int numpages,
cpa.curpage = 0;
cpa.force_split = force_split;

if (array)
if (in_flag & CPA_ARRAY)
cpa.flags |= CPA_ARRAY;

/* No alias checking for _NX bit modifications */
Expand Down Expand Up @@ -889,14 +889,14 @@ static inline int change_page_attr_set(unsigned long *addr, int numpages,
pgprot_t mask, int array)
{
return change_page_attr_set_clr(addr, numpages, mask, __pgprot(0), 0,
array);
(array ? CPA_ARRAY : 0));
}

static inline int change_page_attr_clear(unsigned long *addr, int numpages,
pgprot_t mask, int array)
{
return change_page_attr_set_clr(addr, numpages, __pgprot(0), mask, 0,
array);
(array ? CPA_ARRAY : 0));
}

int _set_memory_uc(unsigned long addr, int numpages)
Expand Down

0 comments on commit 728c951

Please sign in to comment.