mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 19:29:37 +00:00
![Deepak Saxena](/assets/img/avatar_default.png)
Patch from Deepak Saxena In working on adding 36-bit addressed supersection support to ioremap(), I came to the conclusion that it would be far simpler to do so by just splitting __ioremap() into a main external interface and adding an __ioremap_pfn() function that takes a pfn + offset into the page that __ioremap() can call. This way existing callers of __ioremap() won't have to change their code and 36-bit systems will just call __ioremap_pfn() and we will not have to deal with unsigned long long variables. Note that __ioremap_pfn() should _NOT_ be called directly by drivers but is reserved for use by arch_ioremap() implementations that map 32-bit resource regions into the real 36-bit address and then call this new function. Signed-off-by: Deepak Saxena <dsaxena@plexity.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
33 lines
831 B
C
33 lines
831 B
C
/*
|
|
* linux/include/asm-arm/map.h
|
|
*
|
|
* Copyright (C) 1999-2000 Russell King
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* Page table mapping constructs and function prototypes
|
|
*/
|
|
struct map_desc {
|
|
unsigned long virtual;
|
|
unsigned long pfn;
|
|
unsigned long length;
|
|
unsigned int type;
|
|
};
|
|
|
|
struct meminfo;
|
|
|
|
#define MT_DEVICE 0
|
|
#define MT_CACHECLEAN 1
|
|
#define MT_MINICLEAN 2
|
|
#define MT_LOW_VECTORS 3
|
|
#define MT_HIGH_VECTORS 4
|
|
#define MT_MEMORY 5
|
|
#define MT_ROM 6
|
|
#define MT_IXP2000_DEVICE 7
|
|
|
|
extern void create_memmap_holes(struct meminfo *);
|
|
extern void memtable_init(struct meminfo *);
|
|
extern void iotable_init(struct map_desc *, int);
|
|
extern void setup_io_desc(void);
|