blob: af11285ffbd1d2b7f69acfbc8aacd5ddc6f1ddca [file] [log] [blame]
Stephen Rothwell2ad56492005-08-17 13:01:50 +10001/*
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>
David Gibsone1333802005-12-16 14:49:25 +110010#include <asm/pgtable.h>
Kelly Dalyc43a55f2005-11-02 15:02:47 +110011#include <asm/iseries/lpar_map.h>
Stephen Rothwell2ad56492005-08-17 13:01:50 +100012
Stephen Rothwell8cf44082007-05-03 15:19:05 +100013/* The # is to stop gcc trying to make .text nonexecutable */
14const struct LparMap __attribute__((__section__(".text #"))) xLparMap = {
Stephen Rothwell2ad56492005-08-17 13:01:50 +100015 .xNumberEsids = HvEsidsToMap,
16 .xNumberRanges = HvRangesToMap,
17 .xSegmentTableOffs = STAB0_PAGE,
18
19 .xEsids = {
Michael Ellermanb5666f72005-12-05 10:24:33 -060020 { .xKernelEsid = GET_ESID(PAGE_OFFSET),
21 .xKernelVsid = KERNEL_VSID(PAGE_OFFSET), },
David Gibson14c89e72005-12-14 16:08:40 +110022 { .xKernelEsid = GET_ESID(VMALLOC_START),
23 .xKernelVsid = KERNEL_VSID(VMALLOC_START), },
Stephen Rothwell2ad56492005-08-17 13:01:50 +100024 },
25
26 .xRanges = {
27 { .xPages = HvPagesToMap,
28 .xOffset = 0,
Michael Ellermanb5666f72005-12-05 10:24:33 -060029 .xVPN = KERNEL_VSID(PAGE_OFFSET) << (SID_SHIFT - HW_PAGE_SHIFT),
Stephen Rothwell2ad56492005-08-17 13:01:50 +100030 },
31 },
32};