summaryrefslogtreecommitdiffstats
path: root/include/asm-ppc64
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] ppc64: SMU partition recoveryBenjamin Herrenschmidt2005-11-081-1/+1
| | | | | | | | | | This patch adds the ability to the SMU driver to recover missing calibration partitions from the SMU chip itself. It also adds some dynamic mecanism to /proc/device-tree so that new properties are visible to userland. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* Merge ../linux-2.6Paul Mackerras2005-11-083-0/+7
|\
| * [PATCH] fix remaining missing includesTim Schmielau2005-11-071-0/+1
| | | | | | | | | | | | | | | | | | | | Fix more include file problems that surfaced since I submitted the previous fix-missing-includes.patch. This should now allow not to include sched.h from module.h, which is done by a followup patch. Signed-off-by: Tim Schmielau <tim@physik3.uni-rostock.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] ppc64: Fix bug in SLB miss handler for hugepagesDavid Gibson2005-11-072-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch, however, should be applied on top of the 64k-page-size patch to fix some problems with hugepage (some pre-existing, another introduced by this patch). The patch fixes a bug in the SLB miss handler for hugepages on ppc64 introduced by the dynamic hugepage patch (commit id c594adad5653491813959277fb87a2fef54c4e05) due to a misunderstanding of the srd instruction's behaviour (mea culpa). The problem arises when a 64-bit process maps some hugepages in the low 4GB of the address space (unusual). In this case, as well as the 256M segment in question being marked for hugepages, other segments at 32G intervals will be incorrectly marked for hugepages. In the process, this patch tweaks the semantics of the hugepage bitmaps to be more sensible. Previously, an address below 4G was marked for hugepages if the appropriate segment bit in the "low areas" bitmask was set *or* if the low bit in the "high areas" bitmap was set (which would mark all addresses below 1TB for hugepage). With this patch, any given address is governed by a single bitmap. Addresses below 4GB are marked for hugepage if and only if their bit is set in the "low areas" bitmap (256M granularity). Addresses between 4GB and 1TB are marked for hugepage iff the low bit in the "high areas" bitmap is set. Higher addresses are marked for hugepage iff their bit in the "high areas" bitmap is set (1TB granularity). To avoid conflicts, this patch must be applied on top of BenH's pending patch for 64k base page size [0]. As such, this patch also addresses a hugepage problem introduced by that patch. That patch allows hugepages of 1MB in size on hardware which supports it, however, that won't work when using 4k pages (4 level pagetable), because in that case hugepage PTEs are stored at the PMD level, and each PMD entry maps 2MB. This patch simply disallows hugepages in that case (we can do something cleverer to re-enable them some other day). Built, booted, and a handful of hugepage related tests passed on POWER5 LPAR (both ARCH=powerpc and ARCH=ppc64). [0] http://gate.crashing.org/~benh/ppc64-64k-pages.diff Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Merge ../linux-2.6Paul Mackerras2005-11-0710-243/+532
|\ \ | |/
| * [PATCH] ppc64: support 64k pagesBenjamin Herrenschmidt2005-11-0610-243/+532
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a new CONFIG_PPC_64K_PAGES which, when enabled, changes the kernel base page size to 64K. The resulting kernel still boots on any hardware. On current machines with 4K pages support only, the kernel will maintain 16 "subpages" for each 64K page transparently. Note that while real 64K capable HW has been tested, the current patch will not enable it yet as such hardware is not released yet, and I'm still verifying with the firmware architects the proper to get the information from the newer hypervisors. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] powerpc: Kill ppcdebugDavid Gibson2005-11-072-111/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ancient ppcdebug/PPCDBG mechanism is now only used in two places. First, in the hash setup code, one of the bits allows the size of the hash table to be reduced by a factor of 8 - which would be better accomplished with a command line option for that purpose. The other was a bunch of bus walking related messages in the iSeries code, which would seem to be insufficient reason to keep the mechanism. This patch removes the last traces of this mechanism. Built and booted on iSeries and pSeries POWER5 LPAR (ARCH=powerpc). Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] dlpar enable for OF pci probeJohn Rose2005-11-071-0/+8
|/ | | | | | | | | This patch contains the arch/ppc64 bits for enabling DLPAR and PCI Hotplug for the new OF-based PCI probe mechanism. This code path is currently broken. Signed-off-by: John Rose <johnrose@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Merge smp.c and smp.hPaul Mackerras2005-11-051-92/+0
| | | | | | | This also moves setup_cpu_maps to setup-common.c (calling it smp_setup_cpu_maps) and uses it on both 32-bit and 64-bit. Signed-off-by: Paul Mackerras <paulus@samba.org>
* Merge git://oak/home/sfr/kernels/iseries/workPaul Mackerras2005-11-042-91/+0
|\
| * powerpc: merge tlbflush.hStephen Rothwell2005-11-041-52/+0
| | | | | | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * powerpc: merge tlb.hStephen Rothwell2005-11-041-39/+0
| | | | | | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* | Merge with PaulusMichael Ellerman2005-11-045-464/+0
|\ \ | |/
| * powerpc: merge ucontext.hStephen Rothwell2005-11-031-22/+0
| | | | | | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * powerpc: merge sigcontext.hStephen Rothwell2005-11-031-47/+0
| | | | | | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * powerpc: move include/asm-ppc64/ppc32.h to arch/powerpc/kernelStephen Rothwell2005-11-031-138/+0
| | | | | | | | | | | | It is only included by signal_32.c Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * powerpc: merge ptrace.hStephen Rothwell2005-11-032-213/+16
| | | | | | | | | | | | Move struct ptregs32 into asm-ppc64/ppc32.h Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * powerpc: merge stat.hStephen Rothwell2005-11-031-60/+0
| | | | | | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* | powerpc: Implement smp_release_cpus() in C not asmMichael Ellerman2005-11-041-0/+1
| | | | | | | | | | | | | | | | | | | | There's no reason for smp_release_cpus() to be asm, and most people can make more sense of C code. Add an extern declaration to smp.h and remove the custom one in machine_kexec.c Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* | powerpc: Cleanup vpa codeMichael Ellerman2005-11-031-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | register_vpa() doesn't actually do a VPA register call it just uses the flags you pass it, so rename it to vpa_call() to be clearer. We can then define register_vpa() and unregister_vpa() which are both simple wrappers around vpa_call(). (we'll need unregister_vpa() for kexec soon) We can then cleanup vpa_init(), and because vpa_init() is only called from platforms/pseries we remove the definition in asm-ppc64/smp.h. Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
* | powerpc: Merge asm-ppc/kexec.h and asm-ppc64/kexec.hMichael Ellerman2005-11-031-41/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Merge include/asm-ppc/kexec.h and include/asm-ppc64/kexec.h. The only thing that's really changed is that we now allocate crash_notes properly on PPC32. It's address is exported via sysfs, so it's not correct for it to be a pointer. I've also removed some of the "we don't use this" comments, because they're wrong (or perhaps were referring only to arch code). Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
* | powerpc: Move plpar_wrappers.h into arch/powerpc/platforms/pseriesMichael Ellerman2005-11-031-120/+0
|/ | | | | | | Move plpar_wrappers.h into arch/powerpc/platforms/pseries, fixup white space, and update callers. Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
* Merge Paulus' treeStephen Rothwell2005-11-024-106/+0
|\
| * [PATCH] powerpc: Move naca.h to platforms/iseriesDavid Gibson2005-11-021-24/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | These days, the NACA only exists on iSeries. Therefore, this patch moves naca.h from include/asm-ppc64 to arch/powerpc/platforms/iseries. There was one file including naca.h outside of platforms/iseries - arch/ppc64/kernel/udbg_scc.c. However, that's obviously a hangover from older days. The include is not necessary, so this patch simply removes it. Built and booted on iSeries, built for G5 (which uses udbg_scc.o). Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: Move dart.hDavid Gibson2005-11-021-59/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | asm-ppc64/dart.h is included in exactly one place - arch/powerpc/sysdev/u3_iommu.c. This patch, therefore, moves it into arch/powerpc/sysdev. While we're at it, update the #ifndef/#define protecting the include, and the filename in the comments of u3_iommu.c. Built and booted on pSeries and G5, built for ppc32 powermac. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: Merge (move) numnodes.h and sparsemem.hDavid Gibson2005-11-022-23/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | The ppc64 versions of numnodes.h and sparsemem.h can be safely moved to asm-powerpc with no changes apart from changing the #define to the standard _ASM_POWERPC_ form. There are no ppc32 versions of these files, because they only have any effect if CONFIG_SPARSEMEM is enabled, which it never can be on ppc32. Built and booted on pSeries (POWER5), built for 32-bit powermac. Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | Merge iSeries include file moveStephen Rothwell2005-11-0218-1507/+3
|\ \ | |/ |/|
| * merge filename and modify references to iseries/vio.hKelly Daly2005-11-021-130/+0
| | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| * merge filename and modify references to iSeries/mf.hKelly Daly2005-11-021-57/+0
| | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| * merge filename and modify references to iseries/iseries_io.hKelly Daly2005-11-022-50/+1
| | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| * merge filename and modify references to iseries/lpar_map.hKelly Daly2005-11-021-83/+0
| | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| * merge filename and modify references to iseries/it_lp_reg_save.hKelly Daly2005-11-022-85/+1
| | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| * merge filename and modify references to iseries/it_lp_queue.hKelly Daly2005-11-021-81/+0
| | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| * merge filename and modify references to iseries/it_lp_naca.hKelly Daly2005-11-021-80/+0
| | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| * merge filename and modify references to iseries/it_exp_vpd_panel.hKelly Daly2005-11-021-52/+0
| | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| * merge filename and modify references to iseries/hv_types.hKelly Daly2005-11-023-115/+2
| | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| * merge filename and modify references to iseries/hv_lp_event.hKelly Daly2005-11-022-143/+1
| | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| * merge filename and modify reference to iseries/hv_lp_config.hKelly Daly2005-11-021-138/+0
| | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| * merge filename and modify references to iseries/hv_call_xm.hKelly Daly2005-11-021-78/+0
| | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| * merge filename and modify references to iseries/hv_call_sc.hKelly Daly2005-11-023-53/+2
| | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| * merge filename and modify references to iseries/hv_call_event.hKelly Daly2005-11-023-255/+2
| | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| * merge filename and modify references to iseries/hv_call.hKelly Daly2005-11-012-114/+1
| | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
* | [PATCH] powerpc: Merge futex.hDavid Gibson2005-11-021-83/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch merges the ppc32 and ppc64 versions of futex.h, essentially by taking the ppc64 version as the powerpc version. The old ppc32 version did not implement the futex_atomic_op_inuser() callback (it always returned -ENOSYS), so FUTEX_WAKE_OP would not work on ppc32. In fact the ppc64 version of this function is almost suitable for ppc32 as well - the only change needed is to extend ppc_asm.h with a macro expanding to to the right pseudo-op to store a pointer (either ".long" or ".llong"). Built and booted on pSeries. Built for 32-bit powermac. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Merge bitops.hDavid Gibson2005-11-012-375/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here's a revised version. This re-introduces the set_bits() function from ppc64, which I removed because I thought it was unused (it exists on no other arch). In fact it is used in the powermac interrupt code (but not on pSeries). - We use LARXL/STCXL macros to generate the right (32 or 64 bit) instructions, similar to LDL/STL from ppc_asm.h, used in fpu.S - ppc32 previously used a full "sync" barrier at the end of test_and_*_bit(), whereas ppc64 used an "isync". The merged version uses "isync", since I believe that's sufficient. - The ppc64 versions of then minix_*() bitmap functions have changed semantics. Previously on ppc64, these functions were big-endian (that is bit 0 was the LSB in the first 64-bit, big-endian word). On ppc32 (and x86, for that matter, they were little-endian. As far as I can tell, the big-endian usage was simply wrong - I guess no-one ever tried to use minixfs on ppc64. - On ppc32 find_next_bit() and find_next_zero_bit() are no longer inline (they were already out-of-line on ppc64). - For ppc64, sched_find_first_bit() has moved from mmu_context.h to the merged bitops. What it was doing in mmu_context.h in the first place, I have no idea. - The fls() function is now implemented using the cntlzw instruction on ppc64, instead of generic_fls(), as it already was on ppc32. - For ARCH=ppc, this patch requires adding arch/powerpc/lib to the arch/ppc/Makefile. This in turn requires some changes to arch/powerpc/lib/Makefile which didn't correctly handle ARCH=ppc. Built and running on G5. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Merge ipcbuf.hDavid Gibson2005-11-011-28/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch merges ppc32 and ppc64 versions of ipcbuf.h. The merge is essentially trivial, since the structure defined in each version was already identical. Only wrinkle is that the merged version now includes linux/types.h in order to get the fixed width integer types. In fact, the old versions probably should have been including that anyway, since the file uses various __kernel_*_t types. Built and booted on G5, built for 32-bit pmac, but not booted, since the merge tree currently doesn't boot there. Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: create a new arch/powerpc/platforms/cell/smp.cArnd Bergmann2005-11-011-0/+1
| | | | | | | | | | | | | | | | | | | | During the conversion to the merge tree, the Cell specific SMP initialization was removed from the pSeries code. This creates a new Cell specific SMP implementation file. Signed-off-by: Arnd Bergmann <arndb@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Rename BPA to CellArnd Bergmann2005-11-011-1/+1
| | | | | | | | | | | | | | | | | | The official name for BPA is now CBEA (Cell Broadband Engine Architecture). This patch renames all occurences of the term BPA to 'Cell' for easier recognition. Signed-off-by: Arnd Bergmann <arndb@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: merge uaccess.hStephen Rothwell2005-11-011-341/+0
|/ | | | | | There is still a bug to be fixed and more merging to be done. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* Merge ../linux-2.6 by handPaul Mackerras2005-10-312-4/+3
|\
| * [PATCH] semaphore: Remove __MUTEX_INITIALIZER()Arthur Othieno2005-10-301-3/+0
| | | | | | | | | | | | | | | | | | __MUTEX_INITIALIZER() has no users, and equates to the more commonly used DECLARE_MUTEX(), thus making it pretty much redundant. Remove it for good. Signed-off-by: Arthur Othieno <a.othieno@bluewin.ch> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
OpenPOWER on IntegriCloud