summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorBadari Pulavarty2008-01-28 23:19:24 +0100
committerPaul Mackerras2008-02-26 12:17:03 +0100
commitf8c8803bda4db47cbbdadb9b27b024e903e1d645 (patch)
tree394411edf1626257193e904e25a4dc763528e34f /include
parentMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/lmb-2.6 (diff)
downloadkernel-qcow2-linux-f8c8803bda4db47cbbdadb9b27b024e903e1d645.tar.gz
kernel-qcow2-linux-f8c8803bda4db47cbbdadb9b27b024e903e1d645.tar.xz
kernel-qcow2-linux-f8c8803bda4db47cbbdadb9b27b024e903e1d645.zip
[POWERPC] Add code for removing HPTEs for parts of the linear mapping
For memory remove, we need to clean up htab mappings for the section of the memory we are removing. This implements support for removing htab bolted mappings for pSeries logical partitions. Other sub-archs may need to implement similar functionality for hotplug memory remove to work on them. Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include')
-rw-r--r--include/asm-powerpc/machdep.h2
-rw-r--r--include/asm-powerpc/sparsemem.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/include/asm-powerpc/machdep.h b/include/asm-powerpc/machdep.h
index 0872ec228c1e..b95386aed50d 100644
--- a/include/asm-powerpc/machdep.h
+++ b/include/asm-powerpc/machdep.h
@@ -68,6 +68,8 @@ struct machdep_calls {
unsigned long vflags,
int psize, int ssize);
long (*hpte_remove)(unsigned long hpte_group);
+ void (*hpte_removebolted)(unsigned long ea,
+ int psize, int ssize);
void (*flush_hash_range)(unsigned long number, int local);
/* special for kexec, to be called in real mode, linar mapping is
diff --git a/include/asm-powerpc/sparsemem.h b/include/asm-powerpc/sparsemem.h
index e8b493d52b4f..c5acf4ccf571 100644
--- a/include/asm-powerpc/sparsemem.h
+++ b/include/asm-powerpc/sparsemem.h
@@ -15,6 +15,7 @@
#ifdef CONFIG_MEMORY_HOTPLUG
extern void create_section_mapping(unsigned long start, unsigned long end);
+extern void remove_section_mapping(unsigned long start, unsigned long end);
#ifdef CONFIG_NUMA
extern int hot_add_scn_to_nid(unsigned long scn_addr);
#else