ehea: Add DLPAR memory remove support
The eHEA driver uses the recently modified walk_memory_resource for powerpc functionality to detect the memory layout. It further uses the memory hotplug notifiers to catch memory hotplug events. Signed-off-by: Hannes Hering <hering2@de.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:

committed by
Jeff Garzik

parent
fb7b6ca2b6
commit
48cfb14f8b
@@ -40,7 +40,7 @@
|
||||
#include <asm/io.h>
|
||||
|
||||
#define DRV_NAME "ehea"
|
||||
#define DRV_VERSION "EHEA_0090"
|
||||
#define DRV_VERSION "EHEA_0091"
|
||||
|
||||
/* eHEA capability flags */
|
||||
#define DLPAR_PORT_ADD_REM 1
|
||||
@@ -118,6 +118,13 @@
|
||||
#define EHEA_MR_ACC_CTRL 0x00800000
|
||||
|
||||
#define EHEA_BUSMAP_START 0x8000000000000000ULL
|
||||
#define EHEA_INVAL_ADDR 0xFFFFFFFFFFFFFFFFULL
|
||||
#define EHEA_DIR_INDEX_SHIFT 13 /* 8k Entries in 64k block */
|
||||
#define EHEA_TOP_INDEX_SHIFT (EHEA_DIR_INDEX_SHIFT * 2)
|
||||
#define EHEA_MAP_ENTRIES (1 << EHEA_DIR_INDEX_SHIFT)
|
||||
#define EHEA_MAP_SIZE (0x10000) /* currently fixed map size */
|
||||
#define EHEA_INDEX_MASK (EHEA_MAP_ENTRIES - 1)
|
||||
|
||||
|
||||
#define EHEA_WATCH_DOG_TIMEOUT 10*HZ
|
||||
|
||||
@@ -192,10 +199,20 @@ struct h_epas {
|
||||
set to 0 if unused */
|
||||
};
|
||||
|
||||
struct ehea_busmap {
|
||||
unsigned int entries; /* total number of entries */
|
||||
unsigned int valid_sections; /* number of valid sections */
|
||||
u64 *vaddr;
|
||||
/*
|
||||
* Memory map data structures
|
||||
*/
|
||||
struct ehea_dir_bmap
|
||||
{
|
||||
u64 ent[EHEA_MAP_ENTRIES];
|
||||
};
|
||||
struct ehea_top_bmap
|
||||
{
|
||||
struct ehea_dir_bmap *dir[EHEA_MAP_ENTRIES];
|
||||
};
|
||||
struct ehea_bmap
|
||||
{
|
||||
struct ehea_top_bmap *top[EHEA_MAP_ENTRIES];
|
||||
};
|
||||
|
||||
struct ehea_qp;
|
||||
|
Reference in New Issue
Block a user