LAST_PKMAP
#define LAST_PKMAP_MASK (LAST_PKMAP - 1)
BUILD_BUG_ON(LAST_PKMAP > PTRS_PER_PTE);
#define LAST_PKMAP_MASK (LAST_PKMAP - 1)
BUILD_BUG_ON(PKMAP_BASE + LAST_PKMAP * PAGE_SIZE > PAGE_OFFSET);
BUG_ON(PKMAP_BASE + LAST_PKMAP * PAGE_SIZE > PAGE_OFFSET);
#define LAST_PKMAP_MASK (LAST_PKMAP-1)
fixrange_init(vaddr, vaddr + PAGE_SIZE*LAST_PKMAP, swapper_pg_dir);
#define LAST_PKMAP_MASK (LAST_PKMAP - 1)
#define PKMAP_BASE (FIXADDR_START-PAGE_SIZE*LAST_PKMAP)
#define LAST_PKMAP_MASK (LAST_PKMAP - 1)
#define PKMAP_BASE (PKMAP_END - (PAGE_SIZE * LAST_PKMAP))
#define PKMAP_END ((FIXADDR_START) & ~((LAST_PKMAP << PAGE_SHIFT)-1))
fixrange_init(vaddr & PMD_MASK, vaddr + PAGE_SIZE * LAST_PKMAP, swapper_pg_dir);
#define PKMAP_BASE ((FIXADDR_START - PAGE_SIZE * (LAST_PKMAP + 1)) \
#define LAST_PKMAP_MASK (LAST_PKMAP - 1)
#define LAST_PKMAP_MASK (LAST_PKMAP-1)
#define PKMAP_END ((FIXADDR_START) & ~((LAST_PKMAP << PAGE_SHIFT)-1))
#define PKMAP_BASE (PKMAP_END - PAGE_SIZE * LAST_PKMAP)
fixrange_init(vaddr & PMD_MASK, vaddr + PAGE_SIZE*LAST_PKMAP, pgd_base);
#define PKMAP_BASE (FIXADDR_START - PAGE_SIZE*(LAST_PKMAP + 1))
#define PKMAP_BASE ((FIXADDR_START - PAGE_SIZE*(LAST_PKMAP + 1)) & PMD_MASK)
#define LAST_PKMAP_MASK (LAST_PKMAP-1)
address_markers[i++].start_address = PKMAP_ADDR(LAST_PKMAP);
#define PKMAP_SIZE (LAST_PKMAP << PAGE_SHIFT)
#define LAST_PKMAP_MASK (LAST_PKMAP - 1)
#define PKMAP_END (PKMAP_ADDR(LAST_PKMAP))
if (PKMAP_BASE+LAST_PKMAP*PAGE_SIZE >= FIXADDR_START) {
(unsigned long)PKMAP_BASE+LAST_PKMAP*PAGE_SIZE,
#define LAST_PKMAP_MASK (LAST_PKMAP-1)
page_table_range_init(vaddr, vaddr + PAGE_SIZE*LAST_PKMAP, pgd_base);
BUILD_BUG_ON(PKMAP_BASE + LAST_PKMAP*PAGE_SIZE > FIXADDR_START);
BUG_ON(PKMAP_BASE + LAST_PKMAP*PAGE_SIZE > FIXADDR_START);
(LAST_PKMAP + 1) * PAGE_SIZE) & PMD_MASK)
#define LAST_PKMAP_MASK (LAST_PKMAP - 1)
return LAST_PKMAP / DCACHE_N_COLORS;
PKMAP_BASE, PKMAP_BASE + LAST_PKMAP * PAGE_SIZE,
(LAST_PKMAP*PAGE_SIZE) >> 10,
pkmap_page_table = init_pmd(PKMAP_BASE, LAST_PKMAP);
(LAST_PKMAP * PAGE_SIZE)));
return (addr >= PKMAP_ADDR(0) && addr < PKMAP_ADDR(LAST_PKMAP)) ||
static int pkmap_count[LAST_PKMAP];
addr < PKMAP_ADDR(LAST_PKMAP)))
for (i = 0; i < LAST_PKMAP; i++) {
flush_tlb_kernel_range(PKMAP_ADDR(0), PKMAP_ADDR(LAST_PKMAP));
if (vaddr >= PKMAP_ADDR(0) && vaddr < PKMAP_ADDR(LAST_PKMAP)) {
static struct page_address_map page_address_maps[LAST_PKMAP];
return LAST_PKMAP;