diff options
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/platforms/iseries/lpardata.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/iseries/naca.h | 24 | ||||
-rw-r--r-- | arch/powerpc/platforms/iseries/release_data.h | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/iseries/setup.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/powermac/setup.c | 1 | ||||
-rw-r--r-- | arch/powerpc/sysdev/dart.h | 59 | ||||
-rw-r--r-- | arch/powerpc/sysdev/u3_iommu.c | 5 |
7 files changed, 90 insertions, 5 deletions
diff --git a/arch/powerpc/platforms/iseries/lpardata.c b/arch/powerpc/platforms/iseries/lpardata.c index 608431a2260..bb8c91537f3 100644 --- a/arch/powerpc/platforms/iseries/lpardata.c +++ b/arch/powerpc/platforms/iseries/lpardata.c @@ -13,7 +13,6 @@ #include <linux/bitops.h> #include <asm/processor.h> #include <asm/ptrace.h> -#include <asm/naca.h> #include <asm/abs_addr.h> #include <asm/iseries/it_lp_naca.h> #include <asm/lppaca.h> @@ -23,6 +22,7 @@ #include <asm/iseries/it_exp_vpd_panel.h> #include <asm/iseries/it_lp_queue.h> +#include "naca.h" #include "vpd_areas.h" #include "spcomm_area.h" #include "ipl_parms.h" diff --git a/arch/powerpc/platforms/iseries/naca.h b/arch/powerpc/platforms/iseries/naca.h new file mode 100644 index 00000000000..ab2372eb8d2 --- /dev/null +++ b/arch/powerpc/platforms/iseries/naca.h @@ -0,0 +1,24 @@ +#ifndef _PLATFORMS_ISERIES_NACA_H +#define _PLATFORMS_ISERIES_NACA_H + +/* + * c 2001 PPC 64 Team, IBM Corp + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ + +#include <asm/types.h> + +struct naca_struct { + /* Kernel only data - undefined for user space */ + void *xItVpdAreas; /* VPD Data 0x00 */ + void *xRamDisk; /* iSeries ramdisk 0x08 */ + u64 xRamDiskSize; /* In pages 0x10 */ +}; + +extern struct naca_struct naca; + +#endif /* _PLATFORMS_ISERIES_NACA_H */ diff --git a/arch/powerpc/platforms/iseries/release_data.h b/arch/powerpc/platforms/iseries/release_data.h index c68b9c3e5ca..66189fd2e32 100644 --- a/arch/powerpc/platforms/iseries/release_data.h +++ b/arch/powerpc/platforms/iseries/release_data.h @@ -24,7 +24,7 @@ * address of the OS's NACA). */ #include <asm/types.h> -#include <asm/naca.h> +#include "naca.h" /* * When we IPL a secondary partition, we will check if if the diff --git a/arch/powerpc/platforms/iseries/setup.c b/arch/powerpc/platforms/iseries/setup.c index 8e5ef62715b..fda712b4216 100644 --- a/arch/powerpc/platforms/iseries/setup.c +++ b/arch/powerpc/platforms/iseries/setup.c @@ -41,7 +41,6 @@ #include <asm/firmware.h> #include <asm/time.h> -#include <asm/naca.h> #include <asm/paca.h> #include <asm/cache.h> #include <asm/sections.h> @@ -54,6 +53,7 @@ #include <asm/iseries/hv_lp_event.h> #include <asm/iseries/lpar_map.h> +#include "naca.h" #include "setup.h" #include "irq.h" #include "vpd_areas.h" diff --git a/arch/powerpc/platforms/powermac/setup.c b/arch/powerpc/platforms/powermac/setup.c index 6f62af59729..d8bdaaf74c9 100644 --- a/arch/powerpc/platforms/powermac/setup.c +++ b/arch/powerpc/platforms/powermac/setup.c @@ -75,6 +75,7 @@ #include <asm/smu.h> #include <asm/pmc.h> #include <asm/mpic.h> +#include <asm/lmb.h> #include "pmac.h" diff --git a/arch/powerpc/sysdev/dart.h b/arch/powerpc/sysdev/dart.h new file mode 100644 index 00000000000..ea8f0d9eed8 --- /dev/null +++ b/arch/powerpc/sysdev/dart.h @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2004 Olof Johansson <olof@austin.ibm.com>, IBM Corporation + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef _POWERPC_SYSDEV_DART_H +#define _POWERPC_SYSDEV_DART_H + + +/* physical base of DART registers */ +#define DART_BASE 0xf8033000UL + +/* Offset from base to control register */ +#define DARTCNTL 0 +/* Offset from base to exception register */ +#define DARTEXCP 0x10 +/* Offset from base to TLB tag registers */ +#define DARTTAG 0x1000 + + +/* Control Register fields */ + +/* base address of table (pfn) */ +#define DARTCNTL_BASE_MASK 0xfffff +#define DARTCNTL_BASE_SHIFT 12 + +#define DARTCNTL_FLUSHTLB 0x400 +#define DARTCNTL_ENABLE 0x200 + +/* size of table in pages */ +#define DARTCNTL_SIZE_MASK 0x1ff +#define DARTCNTL_SIZE_SHIFT 0 + + +/* DART table fields */ + +#define DARTMAP_VALID 0x80000000 +#define DARTMAP_RPNMASK 0x00ffffff + + +#define DART_PAGE_SHIFT 12 +#define DART_PAGE_SIZE (1 << DART_PAGE_SHIFT) +#define DART_PAGE_FACTOR (PAGE_SHIFT - DART_PAGE_SHIFT) + + +#endif /* _POWERPC_SYSDEV_DART_H */ diff --git a/arch/powerpc/sysdev/u3_iommu.c b/arch/powerpc/sysdev/u3_iommu.c index fba871a1bda..607722178c1 100644 --- a/arch/powerpc/sysdev/u3_iommu.c +++ b/arch/powerpc/sysdev/u3_iommu.c @@ -1,5 +1,5 @@ /* - * arch/ppc64/kernel/u3_iommu.c + * arch/powerpc/sysdev/u3_iommu.c * * Copyright (C) 2004 Olof Johansson <olof@austin.ibm.com>, IBM Corporation * @@ -44,9 +44,10 @@ #include <asm/abs_addr.h> #include <asm/cacheflush.h> #include <asm/lmb.h> -#include <asm/dart.h> #include <asm/ppc-pci.h> +#include "dart.h" + extern int iommu_force_on; /* Physical base address and size of the DART table */ |