aboutsummaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAgeFilesLines
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-mergeLinus Torvalds2005-11-1830-6761/+611
|\
| * powerpc: Move defconfig over and remove remaining arch/ppc64 filesPaul Mackerras2005-11-188-6019/+244
| | | | | | | | | | | | | | | | make defconfig will now use arch/powerpc/configs/ppc64_defconfig if running on a ppc64 system. I need to add an arch/powerpc/configs/ppc_defconfig sometime. Signed-off-by: Paul Mackerras <paulus@samba.org>
| * powerpc: Fix a couple of compile warnings for 32-bit compilesPaul Mackerras2005-11-182-1/+1
| | | | | | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
| * powerpc: time-of-day fixes for 32-bit CHRP systemsPaul Mackerras2005-11-183-6/+14
| | | | | | | | | | | | | | | | | | | | This makes 32-bit CHRP systems use the RTAS time-of-day routines if available. It fixes a bug in the RTAS time-of-day routines where they were storing a 64-bit timebase value in an unsigned long by making those variables u64. Also, the direct-access time-of-day routines had the wrong convention for the month and year in the struct rtc_time. Signed-off-by: Paul Mackerras <paulus@samba.org>
| * powerpc: Fix compile error on pSeries arising from delay.h changesPaul Mackerras2005-11-181-2/+2
| | | | | | | | | | | | | | | | pseries_dedicated_idle() was using __get_tb which used to be defined in asm/delay.h. Change it to use get_tb from asm/time.h, which is in fact exactly the same thing. Signed-off-by: Paul Mackerras <paulus@samba.org>
| * powerpc: Move remaining .c files from arch/ppc64 to arch/powerpcPaul Mackerras2005-11-186-152/+6
| | | | | | | | | | | | | | | | | | | | | | This also deletes the now-unused Makefiles under arch/ppc64. Both of the files moved over could use some merging, but for now I have moved them as-is and arranged for them to be used only in 64-bit kernels. For 32-bit kernels we still use arch/ppc/kernel/idle.c and drivers/char/generic_nvram.c as before. Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] Remove SPAN_OTHER_NODES config definitionMike Kravetz2005-11-182-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | The config option SPAN_OTHER_NODES was created so that we could make pSeries numa layouts work within the DISCONTIG memory model. Now that DISCONTIG has been replaced by SPARSEMEM, we can eliminate this option. I'll be sending a separate patch to Andrew to remove the arch independent code as pSeries was the only arch that needed this. Signed-off-by: Mike Kravetz <kravetz@us.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: merge align.cBenjamin Herrenschmidt2005-11-185-544/+268
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch merges align.c, the result isn't quite what was in ppc64 nor what was in ppc32 :) It should implement all the functionalities of both though. Kumar, since you played with that in the past, I suppose you have some test cases for verifying that it works properly before I dig out the 601 machine ? :) Since it's likely that I won't be able to test all scenario, code inspection is much welcome. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * powerpc: Fix delay functions for 601 processorsPaul Mackerras2005-11-182-8/+28
| | | | | | | | | | | | | | | | | | | | | | My earlier merge of delay.h introduced a timebase-based udelay for 32-bit machines but also broke the 601, which doesn't have the timebase register. This fixes it by using the 601's RTC register on the 601, and also moves __delay() and udelay() to be out-of-line in arch/powerpc/kernel/time.c. These functions aren't really performance critical, after all. Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] ppc: Fix warnings related to seq_fileKumar Gala2005-11-182-2/+2
| | | | | | | | | | | | | | | | When we moved things around in irq.h seq_file became an issue. Fix warnings related to its usage. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] ppc: Fix MPC83xx device tableKumar Gala2005-11-181-2/+26
| | | | | | | | | | | | | | | | | | The SVRs for MPC8343/E were incorrect and really the SVRs for MPC8347/E. Signed-off-by: David Updegraff <dave@cray.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: Maple: request I/O resource.Segher Boessenkool2005-11-181-1/+10
| | | | | | | | | | | | | | Reserve the Maple RTC I/O resource. Needed now we use genrtc. Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] ppc boot: replace string labels with numbersOlaf Hering2005-11-181-12/+11
| | | | | | | | | | | | | | | | | | | | | | Replacing the string labels with numbers saves 117 bytes in the final zImage. These local labels are not discared. Signed-off-by: Olaf Hering <olh@suse.de> arch/powerpc/boot/crt0.S | 23 +++++++++++------------ 1 files changed, 11 insertions(+), 12 deletions(-) Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] Avoid use of uninitialised spinlock in EEH.David Woodhouse2005-11-171-1/+2
| | | | | | | | | | | | | | | | | | | | If the kernel supports both G5 and pSeries, and CONFIG_EEH is enabled, eeh_init() is (quite reasonably) never called when we boot on a G5. Yet eeh_check_failure() still gets called. We should avoid doing that if !eeh_subsystem_enabled. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] ppc: Fix warnings related to seq_fileKumar Gala2005-11-172-2/+2
| | | | | | | | | | | | | | | | When we moved things around in irq.h seq_file became an issue. Fix warnings related to its usage. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linusLinus Torvalds2005-11-1757-749/+1982
|\ \
| * | [MIPS] Update defconfigsRalf Baechle2005-11-1745-654/+1917
| | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | [MIPS] SEAD: More build fixes.Ralf Baechle2005-11-172-13/+3
| | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | [MIPS] TX3927: Try to glue the PCI code.Ralf Baechle2005-11-171-71/+43
| | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | [MIPS] Ocelot G: Use CPU_MASK_NONE instead of 0 to initialize cpu mask.Ralf Baechle2005-11-171-1/+1
| | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | [MIPS] JMR3927: Fix compilation by including <linux/ds1742rtc.h>.Ralf Baechle2005-11-171-1/+1
| | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | [MIPS] JMR3927: need include/asm-mips/mach-jmr3927 in it's include path.Ralf Baechle2005-11-171-0/+1
| | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | [MIPS] JMR3927: It's ops-tx3927.o not ops-jmr3927.oRalf Baechle2005-11-171-1/+1
| | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | [MIPS] Alchemy: Console output fixupPantelis Antoniou2005-11-171-1/+1
| | | | | | | | | | | | | | | | | | This is needed to make console output appear with the new driver... Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | [MIPS] IP32: Fix sparse warnings.Arnaud Giersch2005-11-171-2/+2
| | | | | | | | | | | | | | | | | | | | | Add __iomem qualifier to crime and mace pointers. Signed-off-by: Arnaud Giersch <arnaud.giersch@free.fr> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | [MIPS] IP32: Export mace symbol.Arnaud Giersch2005-11-171-0/+3
| | | | | | | | | | | | | | | | | | | | | Export mace symbol so that it can be used in modules. Signed-off-by: Arnaud Giersch <arnaud.giersch@free.fr> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | [MIPS] JMR3927: Fix syntax error.Ralf Baechle2005-11-171-1/+1
| | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | [MIPS] JMR3927: Undo accidental rename.Ralf Baechle2005-11-171-1/+1
| | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | [MIPS] DDB5477: Fix unused variable warning.Ralf Baechle2005-11-171-3/+7
| |/ | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* | Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2005-11-1712-69/+137
|\ \ | |/ |/|
| * [ARM] sa1111.c needs asm/sizes.hRussell King2005-11-161-0/+1
| | | | | | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] Move zone adjustment for SA1111 on SA11x0 platformsRussell King2005-11-161-0/+11
| | | | | | | | | | | | | | | | | | Unfortunately, using PAGE_SHIFT in asm/arch/memory.h is unsafe, and we can't include asm/page.h into this file because then we have a circular dependency. Move the offending code to arch/arm/common/sa1111.c instead. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 3162/1: S3C2410 - updated defconfigBen Dooks2005-11-161-25/+94
| | | | | | | | | | | | | | | | | | | | | | Patch from Ben Dooks Minor changes, including add SysRq, selecting the DM9000 as a built-in driver, not as a module, and selecting the framebuffer. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 3161/1: BAST - fix commas on end of structsBen Dooks2005-11-161-14/+14
| | | | | | | | | | | | | | | | | | | | Patch from Ben Dooks Make the use of , on the lsat entry structs consistenent through arch/arm/mach-s3c2410/mach-bast.c Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] compressed/head.S debugging defaults to asm/arch/debug-macro.SRussell King2005-11-161-19/+11
| | | | | | | | | | | | | | | | Since we want new platforms to use debug-macro.S, make the decompressor debugging method default to using this include file rather than having new platforms add to an #if defined(). Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] Include asm/hardware.h instead of asm/arch/hardware.hRussell King2005-11-165-5/+5
| | | | | | | | | | | | Rationalise hardware.h include. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] Fix arch-realview/system.h to use __io_address()Russell King2005-11-163-6/+1
| | | | | | | | | | | | | | Move __io_address to arch-realview/hardware.h, drop core.h from platsmp.c and localtimer.c, and include asm/io.h where required. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-mergeLinus Torvalds2005-11-1642-394/+633
|\ \ | |/ |/|
| * [PATCH] powerpc: Make the vDSO functions set error code (#2)Benjamin Herrenschmidt2005-11-166-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The vDSO functions should have the same calling convention as a syscall. Unfortunately, they currently don't set the cr0.so bit which is used to indicate an error. This patch makes them clear this bit unconditionally since all functions currently succeed. The syscall fallback done by some of them will eventually override this if the syscall fails. This also changes the symbol version of all vdso exports to make sure glibc can differenciate between old and fixed calls for existing ones like __kernel_gettimeofday. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] ppc: Fix build with CONFIG_CHRP not setBenjamin Herrenschmidt2005-11-161-1/+4
| | | | | | | | | | | | | | | | Building ARCH=ppc for multiplatforms with CONFIG_CHRP not set fails due to some unshielded code in xmon Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * powerpc: Move ppc64 boot wrapper code over to arch/powerpcPaul Mackerras2005-11-1618-61/+91
| | | | | | | | | | | | | | | | This also extends the code to handle 32-bit ELF vmlinux files as well as 64-bit ones. This is sufficient for booting on new-world 32-bit powermacs (i.e. all recent machines). Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: add new powerbooks to feature tableOlof Johansson2005-11-161-0/+8
| | | | | | | | | | | | | | | | | | | | Hi, The previous PowerBook patch didn't contain the feature table updates for ARCH=powerpc. Here they are. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] ppc: Fix boot with yaboot with ARCH=ppcBenjamin Herrenschmidt2005-11-161-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | The merge of machine types broke boot with yaboot & ARCH=ppc due to the old code still retreiving the old-syle machine type passed in by yaboot. This patch fixes it by translating those old numbers. Since that whole mecanism is deprecated, this is a temporary fix until ARCH=ppc uses the new prom_init that the merged architecture now uses for both ppc32 and ppc64 (after 2.6.15) Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: pci_64 fixes & cleanupsBenjamin Herrenschmidt2005-11-165-113/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I discovered that in some cases (PowerMac for example) we wouldn't properly map the PCI IO space on recent kernels. In addition, the code for initializing PCI host bridges was scattered all over the place with some duplication between platforms. This patch fixes the problem and does a small cleanup by creating a pcibios_alloc_controller() in pci_64.c that is similar to the one in pci_32.c (just takes an additional device node argument) that takes care of all the grunt allocation and initialisation work. It should work for both boot time and dynamically allocated PHBs. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: More debugging fixupsMichael Ellerman2005-11-164-4/+7
| | | | | | | | | | | | | | Add a few more missing includes of udbg.h Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: Fixup debugging in lmb.cMichael Ellerman2005-11-161-15/+18
| | | | | | | | | | | | | | | | Somewhere we lost the include of udbg.h in lmb.c. While we're there, add a DBG macro like every other file has and use it in lmb_dump_all(). Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: update defconfigsBenjamin Herrenschmidt2005-11-165-185/+361
| | | | | | | | | | | | | | | | | | My patch moving ppc64 RTC to genrtc was supposed to update all defconfigs, but for some reason, the patch actually posted only had the pseries one... ouch. This patch properly updates all defconfigs. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] ppc32 8xx: update_mmu_cache() needs unconditional tlbieMarcelo Tosatti2005-11-161-12/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently 8xx fails to boot due to endless pagefaults. Seems the bug is exposed by the change which avoids flushing the TLB when not necessary (in case the pte has not changed), introduced recently: __handle_mm_fault(): entry = pte_mkyoung(entry); if (!pte_same(old_entry, entry)) { ptep_set_access_flags(vma, address, pte, entry, write_access); update_mmu_cache(vma, address, entry); lazy_mmu_prot_update(entry); } else { /* * This is needed only for protection faults but the arch code * is not yet telling us if this is a protection fault or not. * This still avoids useless tlb flushes for .text page faults * with threads. */ if (write_access) flush_tlb_page(vma, address); } The "update_mmu_cache()" call was unconditional before, which caused the TLB to be flushed by: if (pfn_valid(pfn)) { struct page *page = pfn_to_page(pfn); if (!PageReserved(page) && !test_bit(PG_arch_1, &page->flags)) { if (vma->vm_mm == current->active_mm) { #ifdef CONFIG_8xx /* On 8xx, cache control instructions (particularly * "dcbst" from flush_dcache_icache) fault as write * operation if there is an unpopulated TLB entry * for the address in question. To workaround that, * we invalidate the TLB here, thus avoiding dcbst * misbehaviour. */ _tlbie(address); #endif __flush_dcache_icache((void *) address); } else flush_dcache_icache_page(page); set_bit(PG_arch_1, &page->flags); } Which worked to due to pure luck: PG_arch_1 was always unset before, but now it isnt. The root of the problem are the changes against the 8xx TLB handlers introduced during v2.6. What happens is the TLBMiss handlers load the zeroed pte into the TLB, causing the TLBError handler to be invoked (thats two TLB faults per pagefault), which then jumps to the generic MM code to setup the pte. The bug is that the zeroed TLB is not invalidated (the same reason for the "dcbst" misbehaviour), resulting in infinite TLBError faults. The "two exception" approach requires a TLB flush (to nuke the zeroed TLB) at each PTE update for correct behaviour: Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Fix sparsemem with memory holes [was Re: ppc64 oops..]Paul Mackerras2005-11-152-3/+10
|/ | | | | | | | | | | | | | | | | | | | This patch should fix the crashes we have been seeing on 64-bit powerpc systems with a memory hole when sparsemem is enabled. I'd appreciate it if people who know more about NUMA and sparsemem than me could look over it. There were two bugs. The first was that if NUMA was enabled but there was no NUMA information for the machine, the setup_nonnuma() function was adding a single region, assuming memory was contiguous. The second was that the loops in mem_init() and show_mem() assumed that all pages within the span of a pgdat were valid (had a valid struct page). I also fixed the incorrect setting of num_physpages that Mike Kravetz pointed out. Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] ia64: cpu_idle performance bug fixChen, Kenneth W2005-11-151-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Our performance validation on 2.6.15-rc1 caught a disastrous performance regression on ia64 with netperf (-98%) and volanomark (-58%) compares to previous kernel version 2.6.14-git7. See the following chart (result group 1 & 2). http://kernel-perf.sourceforge.net/results.machine_id=26.html We have root caused it to commit 64c7c8f88559624abdbe12b5da6502e8879f8d28 This changeset broke the ia64 task resched notification. In sched.c:resched_task(), a reschedule IPI is conditioned upon TIF_POLLING_NRFLAG. However, the above changeset unconditionally set the polling thread flag for idle tasks regardless whether pal_halt_light is in use or not. As a result, resched IPI is not sent from resched_task(). And since the default behavior on ia64 is to use pal_halt_light, we end up delaying the rescheduling task until next timer tick, and thus cause the performance regression. This fixes the performance bug. I'm glad our performance suite is turning up bad performance bug like this in time. Signed-off-by: Ken Chen <kenneth.w.chen@intel.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>