summaryrefslogtreecommitdiffstats
path: root/arch/ppc64
Commit message (Collapse)AuthorAgeFilesLines
* powerpc: Reduce the 32/64-bit diffs in vmlinux.lds.SPaul Mackerras2005-10-101-0/+1
| | | | | | Also adds the definition of the _sdata symbol to the ppc64 vmlinux.lds.S. Signed-off-by: Paul Mackerras <paulus@samba.org>
* ppc64: Use SPRN_ prefix for special purpose register namesPaul Mackerras2005-10-102-112/+112
| | | | | | | Now that we are using the merged reg.h we have to use the SPRN_xxx names rather than the xxx names. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: move pSeries files to arch/powerpc/platforms/pseriesPaul Mackerras2005-10-1010-3386/+1
| | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Merge arch/ppc64/mm to arch/powerpc/mmPaul Mackerras2005-10-1015-5098/+1
| | | | | | | This moves the remaining files in arch/ppc64/mm to arch/powerpc/mm, and arranges that we use them when compiling with ARCH=ppc64. Signed-off-by: Paul Mackerras <paulus@samba.org>
* ppc64: Use the merged lmb routinesPaul Mackerras2005-10-103-302/+4
| | | | | | | The only real change here is that lmb_enforce_memory_limit now takes the memory_limit as a parameter instead of as a global variable. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Make some #includes explicit.Paul Mackerras2005-10-102-0/+2
| | | | | | | In preparation for merging processor.h, this adds some explicit but won't be after the merge. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Use SPRN_xxx rather than xxx for SPR numbersPaul Mackerras2005-10-101-2/+2
| | | | | | | | | | This changes symbols like HID0, SPRG3, SRR0, SRR1 etc. that refer to special purpose registers to SPRN_HID0, SPRN_SPRG3, etc. Using the SPRN_ symbols clutters the namespace less, and the forthcoming merge of asm/processor.h and asm/reg.h is going to remove the non-SPRN_ versions. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: make iSeries buildStephen Rothwell2005-10-011-5/+3
| | | | | | | | Merge vmlinux.lds.S. Also remove arch/powerpc/kernel/vmlinux.lds which is a generated file. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* ppc64: simplify the build a littleStephen Rothwell2005-10-012-10/+3
| | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* powerpc: merge idle_power4.S and trapc.sStephen Rothwell2005-10-013-647/+8
| | | | | | | | | | | | | Use idle_power4.S from ppc64 as we are not going to support 32 bit power4 in the merged tree. Merge ppc64 traps.c into powerpc traps.c: use ppc64 versions of exception routine names (as they don't have StudlyCaps) make all the versions if die() have the same prototype Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* powerpc: Move lparmap.c to powerpc/platformsStephen Rothwell2005-09-302-33/+2
| | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* powerpc: remove old vector.S filesStephen Rothwell2005-09-302-172/+1
| | | | | | Update old kernel/Makefiles to cope Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* Merge by hand from Linus' tree.Paul Mackerras2005-09-293-5/+7
|\ | | | | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] ppc64: More hugepage fixesBenjamin Herrenschmidt2005-09-282-4/+5
| | | | | | | | | | | | | | | | | | | | | | My previous patch fixing invalidation of huge PTEs wasn't good enough, we still had an issue if a PTE invalidation batch contained both small and large pages. This patch fixes this by making sure the batch is flushed if the page size fed to it changes. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] ppc64: Add missing barrier() in kexec codeAnton Blanchard2005-09-281-0/+1
| | | | | | | | | | | | | | | | | | | | Mikey and I were testing kexec and hit a lockup. It turns out gcc 4.0 optimises the kexec_prepare_cpus loop so we avoid reloading paca.hw_cpu_id. A gcc barrier() fixes the problem. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Merge Stephen Rothwell's patchesPaul Mackerras2005-09-2840-6275/+17
|\ \
| * | ppc64 iSeries: use device_node instead of iSeries_Device_nodeStephen Rothwell2005-09-281-6/+0
| | | | | | | | | | | | | | | | | | There needs to be more cleanup after this. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: move more iSeries codeStephen Rothwell2005-09-282-58/+0
| | | | | | | | | | | | | | | | | | | | | Move the iSeries specific parts of misc.S and ppc_ksyms.c into powerpc/platforms/iseries. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: Move viopath.c to powerpc/platforms/iseriesStephen Rothwell2005-09-282-674/+0
| | | | | | | | | | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: Move iSeries_smp.c to powerpc/platforms/iseriesStephen Rothwell2005-09-282-122/+0
| | | | | | | | | | | | | | | | | | And rename it to smp.c. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: Move iSeries_vio.c to powerpc/platforms/iseriesStephen Rothwell2005-09-282-157/+0
| | | | | | | | | | | | | | | | | | And rename it to vio.c. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: Move iSeries_VpdInfo.c to powerpc/platforms/iseriesStephen Rothwell2005-09-282-269/+0
| | | | | | | | | | | | | | | | | | And rename it to vpdinfo.c. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: Move iSeries_irq.c to powerpc/platorms/iseriesStephen Rothwell2005-09-282-368/+1
| | | | | | | | | | | | | | | | | | And rename it to irq.c. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: Move iSeries_pci.c to powerpc/platform/iseriesStephen Rothwell2005-09-2818-983/+16
| | | | | | | | | | | | | | | | | | | | | | | | and rename it to pci.c. This also required moving arch/ppc64/kernel/pci.h into include/asm-powerpc (called ppc-pci.h. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: Move iSeries_iommu.c to powerpc/platforms/iseriesStephen Rothwell2005-09-282-179/+0
| | | | | | | | | | | | | | | | | | And rename it to iommu.c Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: Move iSeries_htab.c to powerpc/platforms/iseriesStephen Rothwell2005-09-282-257/+1
| | | | | | | | | | | | | | | | | | And rename it to htab.c Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: move iSeries_proc.c to powerpc/platforms/iseriesStephen Rothwell2005-09-282-114/+1
| | | | | | | | | | | | | | | | | | And renamed it to proc.c Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: Merge HvLpEvent.c into lpevents.cStephen Rothwell2005-09-282-89/+1
| | | | | | | | | | | | | | | | | | These two files were intimately connected, so just merge them. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: move hvCall.s to powerpc/platforms/iseriesStephen Rothwell2005-09-282-100/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Rename it to hvcall.S and (so I can do that) rename hvcall.c to hvlog.c - a more appropriate name. Do some white space cleanups. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: move ItLpQueue.c to powerpc/platforms/iseriesStephen Rothwell2005-09-282-263/+1
| | | | | | | | | | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: move iSeries_setup.[ch] and mf.c into platforms/iseriesStephen Rothwell2005-09-275-2353/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | iSeries_setup.c becomes setup.c iSeries_setup.h becomes setup.h mf.c retains its name Also moved iSeries_[gs]et_rtc_time and iSeries_get_boot_time into mf.c since they are just small wrappers around mf_ functions. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: Move LparData.c to powerpc platformsStephen Rothwell2005-09-273-230/+2
| | | | | | | | | | | | | | | | | | Also rename it to lpardata.c Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: Move HvLpConfig.c to powerpc archStephen Rothwell2005-09-272-28/+1
| | | | | | | | | | | | | | | | | | Also rename it to hvlpconfig.c Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: Create arch/powerpc/platforms/iseriesStephen Rothwell2005-09-273-37/+2
| | | | | | | | | | | | | | | | | | | | | I also move arch/ppc64/kernel/HvCall.c to arch/powerpc/platforms/iseries/hvcall.c. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* | | [PATCH] powerpc: merged asm/cputable.hKumar Gala2005-09-281-65/+17
|/ / | | | | | | | | | | | | | | | | | | Merged cputable.h between ppc32 and ppc64. In doing this removed support for the BEGIN_FTR_SECTION/END_FTR_SECTION macros in C code since they dont compile correctly. C code should use cpu_has_feature(). This is based on Arnd Bergmann's initial patch. Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: clean up after powermac build mergeStephen Rothwell2005-09-2711-288/+10
| | | | | | | | | | | | | | | | | | | | | | | | Complete moving arch/ppc64/kernel/mpic.h, include/asm-ppc/reg.h, include/asm-ppc64/kdebug.h and include/asm-ppc64/kprobes.h Add arch/powerpc/platforms/Makefile and use it from arch/powerpc/Makefile Introduce OLDARCH temporarily so we can point back to the originating architecture Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* | Merge refs/heads/devtree from rsync://oak/kernels/iseries/work/.git Paul Mackerras2005-09-2610-273/+308
|\ \
| * | ppc64 iSeries: Don't create linux,boot-cpuStephen Rothwell2005-09-231-3/+0
| | | | | | | | | | | | | | | | | | This is obsolete. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | ppc64 iSeries: Define /cpus in iSeries device treeMichael Ellerman2005-09-233-153/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the /cpus node and nodes for each cpu, as well as cache size properties, reg propery, "linux,boot-cpu", and timebase/clock frequency. With those properties in place we can remove: - setup_iSeries_cache_sizes() - code in iSeries_setup_arch() to calculate timebase etc. - iSeries_calibrate_decr() - smp_iSeries_numProcs() and simplify smp_iSeries_probe() Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | ppc64 iSeries: Move setup of systemcfg->platform into iSeries device treeMichael Ellerman2005-09-232-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | Add /chosen/linux,platform to the device tree so we can remove iSeries specific code in setup_system() to set systemcfg->platform. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | ppc64 iSeries: Move memory setup into iSeries device treeMichael Ellerman2005-09-231-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds the required nodes to the iSeries device tree to allow early_init_devtree() to do the lmb setup for us. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | ppc64 iSeries: Call early_setup() on iSeriesMichael Ellerman2005-09-235-15/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Misc steps to incorporate the flat device tree on iSeries. - define iseries_probe() - call build_iSeries_Memory_Map() earlier - return __pa() of the flat device tree from iSeries_early_setup() - actually call early_setup() for iSeries - add iseries_md to machdep_calls - build prom.o for iSeries - enable /proc/device-tree for iSeries Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | ppc64 iSeries: Create a fake flat device tree on iSeriesMichael Ellerman2005-09-231-0/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds infrastructure for creating a fake flattened device tree on iSeries. We also need to build prom.o for iSeries which means we'll always need it. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | ppc64 iSeries: Make smp_release_cpus() callable on iSeriesMichael Ellerman2005-09-232-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | We don't need to call smp_release_cpus() on iSeries but it's harmless if we do and it removes another #ifdef ISERIES. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | ppc64 iSeries: Make stab_initialize() work on iSeriesMichael Ellerman2005-09-231-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | We don't need to call stab_initialize() for the boot cpu on iSeries, so we hack around it so that early_setup() can be called on iSeries. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | ppc64 iSeries: Update create_pte_mapping to replace iSeries_bolt_kernel()Michael Ellerman2005-09-233-64/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | early_setup() calls htab_initialize() which is similar, but not identical to iSeries_bolt_kernel(). On iSeries the Hypervisor has already inserted some ptes for us, and we simply have to detect that and bolt them. iSeries_hpte_bolt_or_insert() implements that logic. For the case of a non-existing pte we just call iSeries_hpte_insert(). This appears to work, although it's not entirely equivalent to the old code in iSeries_make_pte() which panicked if we got a secondary slot. Not sure if that's important. Finally we call iSeries_hpte_bolt_or_insert() from create_pte_mapping(), which is called from htab_initialize() for each lmb region. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | ppc46 iSeries: Make some generic irq code compile for iSeriesMichael Ellerman2005-09-232-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to call finish_device_tree() on iSeries we need to define virt_irq_create_mapping(). We also need to set ppc64_interrupt_controller to something other than zero. If we want to do interrupt setup via the device tree on iSeries this code will need some serious work, but it's harmless to have it there as long as the nodes in the iSeries device tree don't cause it to be invoked. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | ppc64 iSeries: Move iSeries ppc_md functions into a machdep_calls structMichael Ellerman2005-09-231-29/+28
| | | | | | | | | | | | | | | | | | | | | | | | Move the iSeries machine specific calls into a machdep_calls struct like other platforms, rather than setting members of ppc_md explicitly. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* | | Merge from Linus' tree.Paul Mackerras2005-09-2510-105/+132
|\ \ \ | |/ / |/| / | |/
| * [PATCH] ppc64: Fix huge pages MMU mapping bugBenjamin Herrenschmidt2005-09-232-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current kernel has a couple of sneaky bugs in the ppc64 hugetlb code that cause huge pages to be potentially left stale in the hash table and TLBs (improperly invalidated), with all the nasty consequences that can have. One is that we forgot to set the "secondary" bit in the hash PTEs when hashing a huge page in the secondary bucket (fortunately very rare). The other one is on non-LPAR machines (like Apple G5s), flush_hash_range() which is used to flush a batch of PTEs simply did not work for huge pages. Historically, our huge page code didn't batch, but this was changed without fixing this routine. This patch fixes both. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
OpenPOWER on IntegriCloud