f8c8803bda
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>
32 lines
907 B
C
32 lines
907 B
C
#ifndef _ASM_POWERPC_SPARSEMEM_H
|
|
#define _ASM_POWERPC_SPARSEMEM_H 1
|
|
#ifdef __KERNEL__
|
|
|
|
#ifdef CONFIG_SPARSEMEM
|
|
/*
|
|
* SECTION_SIZE_BITS 2^N: how big each section will be
|
|
* MAX_PHYSADDR_BITS 2^N: how much physical address space we have
|
|
* MAX_PHYSMEM_BITS 2^N: how much memory we can have in that space
|
|
*/
|
|
#define SECTION_SIZE_BITS 24
|
|
|
|
#define MAX_PHYSADDR_BITS 44
|
|
#define MAX_PHYSMEM_BITS 44
|
|
|
|
#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
|
|
static inline int hot_add_scn_to_nid(unsigned long scn_addr)
|
|
{
|
|
return 0;
|
|
}
|
|
#endif /* CONFIG_NUMA */
|
|
#endif /* CONFIG_MEMORY_HOTPLUG */
|
|
|
|
#endif /* CONFIG_SPARSEMEM */
|
|
|
|
#endif /* __KERNEL__ */
|
|
#endif /* _ASM_POWERPC_SPARSEMEM_H */
|