The replacement of <asm/pgrable.h> with <linux/pgtable.h> made the include
of the latter in the middle of asm includes. Fix this up with the aid of
the below script and manual adjustments here and there.
import sys
import re
if len(sys.argv) is not 3:
print "USAGE: %s <file> <header>" % (sys.argv[0])
sys.exit(1)
hdr_to_move="#include <linux/%s>" % sys.argv[2]
moved = False
in_hdrs = False
with open(sys.argv[1], "r") as f:
lines = f.readlines()
for _line in lines:
line = _line.rstrip('
')
if line == hdr_to_move:
continue
if line.startswith("#include <linux/"):
in_hdrs = True
elif not moved and in_hdrs:
moved = True
print hdr_to_move
print line
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Cain <bcain@codeaurora.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Chris Zankel <chris@zankel.net>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Greentime Hu <green.hu@gmail.com>
Cc: Greg Ungerer <gerg@linux-m68k.org>
Cc: Guan Xuetao <gxt@pku.edu.cn>
Cc: Guo Ren <guoren@kernel.org>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Ley Foon Tan <ley.foon.tan@intel.com>
Cc: Mark Salter <msalter@redhat.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Nick Hu <nickhu@andestech.com>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Rich Felker <dalias@libc.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Stafford Horne <shorne@gmail.com>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Vincent Chen <deanbo422@gmail.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Will Deacon <will@kernel.org>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Link: http://lkml.kernel.org/r/20200514170327.31389-4-rppt@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
74 lines
1.7 KiB
C
74 lines
1.7 KiB
C
/*
|
|
* include/asm-xtensa/highmem.h
|
|
*
|
|
* This file is subject to the terms and conditions of the GNU General
|
|
* Public License. See the file "COPYING" in the main directory of
|
|
* this archive for more details.
|
|
*
|
|
* Copyright (C) 2003 - 2005 Tensilica Inc.
|
|
* Copyright (C) 2014 Cadence Design Systems Inc.
|
|
*/
|
|
|
|
#ifndef _XTENSA_HIGHMEM_H
|
|
#define _XTENSA_HIGHMEM_H
|
|
|
|
#include <linux/wait.h>
|
|
#include <linux/pgtable.h>
|
|
#include <asm/cacheflush.h>
|
|
#include <asm/fixmap.h>
|
|
#include <asm/kmap_types.h>
|
|
|
|
#define PKMAP_BASE ((FIXADDR_START - \
|
|
(LAST_PKMAP + 1) * PAGE_SIZE) & PMD_MASK)
|
|
#define LAST_PKMAP (PTRS_PER_PTE * DCACHE_N_COLORS)
|
|
#define LAST_PKMAP_MASK (LAST_PKMAP - 1)
|
|
#define PKMAP_NR(virt) (((virt) - PKMAP_BASE) >> PAGE_SHIFT)
|
|
#define PKMAP_ADDR(nr) (PKMAP_BASE + ((nr) << PAGE_SHIFT))
|
|
|
|
#define kmap_prot PAGE_KERNEL_EXEC
|
|
|
|
#if DCACHE_WAY_SIZE > PAGE_SIZE
|
|
#define get_pkmap_color get_pkmap_color
|
|
static inline int get_pkmap_color(struct page *page)
|
|
{
|
|
return DCACHE_ALIAS(page_to_phys(page));
|
|
}
|
|
|
|
extern unsigned int last_pkmap_nr_arr[];
|
|
|
|
static inline unsigned int get_next_pkmap_nr(unsigned int color)
|
|
{
|
|
last_pkmap_nr_arr[color] =
|
|
(last_pkmap_nr_arr[color] + DCACHE_N_COLORS) & LAST_PKMAP_MASK;
|
|
return last_pkmap_nr_arr[color] + color;
|
|
}
|
|
|
|
static inline int no_more_pkmaps(unsigned int pkmap_nr, unsigned int color)
|
|
{
|
|
return pkmap_nr < DCACHE_N_COLORS;
|
|
}
|
|
|
|
static inline int get_pkmap_entries_count(unsigned int color)
|
|
{
|
|
return LAST_PKMAP / DCACHE_N_COLORS;
|
|
}
|
|
|
|
extern wait_queue_head_t pkmap_map_wait_arr[];
|
|
|
|
static inline wait_queue_head_t *get_pkmap_wait_queue_head(unsigned int color)
|
|
{
|
|
return pkmap_map_wait_arr + color;
|
|
}
|
|
#endif
|
|
|
|
extern pte_t *pkmap_page_table;
|
|
|
|
static inline void flush_cache_kmaps(void)
|
|
{
|
|
flush_cache_all();
|
|
}
|
|
|
|
void kmap_init(void);
|
|
|
|
#endif
|