diff options
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/kernel/paca.c | 10 | ||||
-rw-r--r-- | arch/powerpc/platforms/iseries/lpardata.c | 7 |
2 files changed, 10 insertions, 7 deletions
diff --git a/arch/powerpc/kernel/paca.c b/arch/powerpc/kernel/paca.c index a7b68f911eb1..25420406c8c0 100644 --- a/arch/powerpc/kernel/paca.c +++ b/arch/powerpc/kernel/paca.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <asm/page.h> | 17 | #include <asm/page.h> |
18 | #include <asm/lppaca.h> | 18 | #include <asm/lppaca.h> |
19 | #include <asm/iseries/it_lp_queue.h> | 19 | #include <asm/iseries/it_lp_queue.h> |
20 | #include <asm/iseries/it_lp_reg_save.h> | ||
20 | #include <asm/paca.h> | 21 | #include <asm/paca.h> |
21 | 22 | ||
22 | 23 | ||
@@ -26,8 +27,7 @@ extern unsigned long __toc_start; | |||
26 | 27 | ||
27 | /* The Paca is an array with one entry per processor. Each contains an | 28 | /* The Paca is an array with one entry per processor. Each contains an |
28 | * lppaca, which contains the information shared between the | 29 | * lppaca, which contains the information shared between the |
29 | * hypervisor and Linux. Each also contains an ItLpRegSave area which | 30 | * hypervisor and Linux. |
30 | * is used by the hypervisor to save registers. | ||
31 | * On systems with hardware multi-threading, there are two threads | 31 | * On systems with hardware multi-threading, there are two threads |
32 | * per processor. The Paca array must contain an entry for each thread. | 32 | * per processor. The Paca array must contain an entry for each thread. |
33 | * The VPD Areas will give a max logical processors = 2 * max physical | 33 | * The VPD Areas will give a max logical processors = 2 * max physical |
@@ -57,11 +57,7 @@ extern unsigned long __toc_start; | |||
57 | #ifdef CONFIG_PPC_ISERIES | 57 | #ifdef CONFIG_PPC_ISERIES |
58 | #define PACA_INIT_ISERIES(number) \ | 58 | #define PACA_INIT_ISERIES(number) \ |
59 | .lppaca_ptr = &paca[number].lppaca, \ | 59 | .lppaca_ptr = &paca[number].lppaca, \ |
60 | .reg_save_ptr = &paca[number].reg_save, \ | 60 | .reg_save_ptr = &iseries_reg_save[number], |
61 | .reg_save = { \ | ||
62 | .xDesc = 0xd397d9e2, /* "LpRS" */ \ | ||
63 | .xSize = sizeof(struct ItLpRegSave) \ | ||
64 | } | ||
65 | 61 | ||
66 | #define PACA_INIT(number) \ | 62 | #define PACA_INIT(number) \ |
67 | { \ | 63 | { \ |
diff --git a/arch/powerpc/platforms/iseries/lpardata.c b/arch/powerpc/platforms/iseries/lpardata.c index bb8c91537f35..ea72385aaf0a 100644 --- a/arch/powerpc/platforms/iseries/lpardata.c +++ b/arch/powerpc/platforms/iseries/lpardata.c | |||
@@ -225,3 +225,10 @@ struct ItVpdAreas itVpdAreas = { | |||
225 | 0,0 | 225 | 0,0 |
226 | } | 226 | } |
227 | }; | 227 | }; |
228 | |||
229 | struct ItLpRegSave iseries_reg_save[] = { | ||
230 | [0 ... (NR_CPUS-1)] = { | ||
231 | .xDesc = 0xd397d9e2, /* "LpRS" */ | ||
232 | .xSize = sizeof(struct ItLpRegSave), | ||
233 | }, | ||
234 | }; | ||