diff options
Diffstat (limited to 'arch/powerpc/kernel')
-rw-r--r-- | arch/powerpc/kernel/Makefile | 5 | ||||
-rw-r--r-- | arch/powerpc/kernel/lparmap.c | 31 |
2 files changed, 34 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile index 0625470a6235..bc063edd6de0 100644 --- a/arch/powerpc/kernel/Makefile +++ b/arch/powerpc/kernel/Makefile | |||
@@ -33,6 +33,7 @@ obj-$(CONFIG_ALTIVEC) += vecemu.o vector.o | |||
33 | obj-$(CONFIG_BOOTX_TEXT) += btext.o | 33 | obj-$(CONFIG_BOOTX_TEXT) += btext.o |
34 | 34 | ||
35 | ifeq ($(CONFIG_PPC_ISERIES),y) | 35 | ifeq ($(CONFIG_PPC_ISERIES),y) |
36 | arch/powerpc/kernel/head_64.o: arch/powerpc/platforms/iseries/lparmap.s | 36 | $(obj)/head_64.o: $(obj)/lparmap.s |
37 | AFLAGS_head_64.o += -Iarch/powerpc/platforms/iseries | 37 | AFLAGS_head_64.o += -I$(obj) |
38 | endif | ||
38 | endif | 39 | endif |
diff --git a/arch/powerpc/kernel/lparmap.c b/arch/powerpc/kernel/lparmap.c new file mode 100644 index 000000000000..b81de286df5e --- /dev/null +++ b/arch/powerpc/kernel/lparmap.c | |||
@@ -0,0 +1,31 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2005 Stephen Rothwell IBM Corp. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License | ||
6 | * as published by the Free Software Foundation; either version | ||
7 | * 2 of the License, or (at your option) any later version. | ||
8 | */ | ||
9 | #include <asm/mmu.h> | ||
10 | #include <asm/page.h> | ||
11 | #include <asm/iSeries/LparMap.h> | ||
12 | |||
13 | const struct LparMap __attribute__((__section__(".text"))) xLparMap = { | ||
14 | .xNumberEsids = HvEsidsToMap, | ||
15 | .xNumberRanges = HvRangesToMap, | ||
16 | .xSegmentTableOffs = STAB0_PAGE, | ||
17 | |||
18 | .xEsids = { | ||
19 | { .xKernelEsid = GET_ESID(KERNELBASE), | ||
20 | .xKernelVsid = KERNEL_VSID(KERNELBASE), }, | ||
21 | { .xKernelEsid = GET_ESID(VMALLOCBASE), | ||
22 | .xKernelVsid = KERNEL_VSID(VMALLOCBASE), }, | ||
23 | }, | ||
24 | |||
25 | .xRanges = { | ||
26 | { .xPages = HvPagesToMap, | ||
27 | .xOffset = 0, | ||
28 | .xVPN = KERNEL_VSID(KERNELBASE) << (SID_SHIFT - PAGE_SHIFT), | ||
29 | }, | ||
30 | }, | ||
31 | }; | ||