enum {
NTEST = 400,
+ LOWEST_LEVEL = PG_LEVEL_4K,
#ifdef CONFIG_X86_64
- LOWEST_LEVEL = 4,
LPS = (1 << PMD_SHIFT),
#elif defined(CONFIG_X86_PAE)
- LOWEST_LEVEL = 3,
LPS = (1 << PMD_SHIFT),
#else
- LOWEST_LEVEL = 3, /* lookup_address lies here */
LPS = (1 << 22),
#endif
GPS = (1<<30)
};
-#ifdef CONFIG_X86_64
-# include <asm/proto.h>
-# define max_mapped end_pfn_map
-#else
-# define max_mapped max_low_pfn
-#endif
-
struct split_state {
long lpg, gpg, spg, exec;
long min_exec, max_exec;
s->lpg = s->gpg = s->spg = s->exec = 0;
s->min_exec = ~0UL;
s->max_exec = 0;
- for (i = 0; i < max_mapped; ) {
+ for (i = 0; i < max_pfn_mapped; ) {
unsigned long addr = (unsigned long)__va(i << PAGE_SHIFT);
int level;
pte_t *pte;
expected = (s->gpg*GPS + s->lpg*LPS)/PAGE_SIZE + s->spg + missed;
if (expected != i) {
- printk(KERN_ERR "CPA max_mapped %lu but expected %lu\n",
- max_mapped, expected);
+ printk(KERN_ERR "CPA max_pfn_mapped %lu but expected %lu\n",
+ max_pfn_mapped, expected);
return 1;
}
return err;
printk(KERN_INFO "CPA exercising pageattr\n");
- bm = vmalloc((max_mapped + 7) / 8);
+ bm = vmalloc((max_pfn_mapped + 7) / 8);
if (!bm) {
printk(KERN_ERR "CPA Cannot vmalloc bitmap\n");
return -ENOMEM;
}
- memset(bm, 0, (max_mapped + 7) / 8);
+ memset(bm, 0, (max_pfn_mapped + 7) / 8);
failed += print_split(&sa);
srandom32(100);
for (i = 0; i < NTEST; i++) {
- unsigned long pfn = random32() % max_mapped;
+ unsigned long pfn = random32() % max_pfn_mapped;
addr[i] = (unsigned long)__va(pfn << PAGE_SHIFT);
len[i] = random32() % 100;
- len[i] = min_t(unsigned long, len[i], max_mapped - pfn - 1);
+ len[i] = min_t(unsigned long, len[i], max_pfn_mapped - pfn - 1);
if (len[i] == 0)
len[i] = 1;
continue;
}
- err = change_page_attr_addr(addr[i], len[i],
- pte_pgprot(pte_clrhuge(pte_clrglobal(pte0))));
+ err = change_page_attr_clear(addr[i], len[i],
+ __pgprot(_PAGE_GLOBAL));
if (err < 0) {
printk(KERN_ERR "CPA %d failed %d\n", i, err);
failed++;
failed++;
continue;
}
- err = change_page_attr_addr(addr[i], len[i],
- pte_pgprot(pte_mkglobal(*pte)));
+ err = change_page_attr_set(addr[i], len[i],
+ __pgprot(_PAGE_GLOBAL));
if (err < 0) {
printk(KERN_ERR "CPA reverting failed: %d\n", err);
failed++;