summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'for-paulus' of git://kernel/home/michael/src/work/Paul Mackerras2005-11-0427-295/+6134
|\
| * Merge with PaulusMichael Ellerman2005-11-0434-617/+419
| |\
| * | powerpc: Fix random memory corruption in merged elf.hMichael Ellerman2005-11-041-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The merged verison of ELF_CORE_COPY_REGS is basically the PPC64 version, with a memset that came from PPC and a few types abstracted out into #defines. But it's not _quite_ right. The first problem is we calculate the number of registers with: nregs = sizeof(struct pt_regs) / sizeof(ELF_GREG_TYPE) For a 32-bit process on a 64-bit kernel that's bogus because the registers are 64 bits, but ELF_GREG_TYPE is u32, so nregs == 88 which is wrong. The other problem is the memset, which assumes a struct pt_regs is smaller than a struct elf_regs. For a 32-bit process on a 64-bit kernel that's false. The fix is to calculate the number of regs using sizeof(unsigned long), which should always be right, and just memset the whole damn thing _before_ copying the registers in. Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
| * | powerpc: Implement smp_release_cpus() in C not asmMichael Ellerman2005-11-045-39/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-033-18/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Add helper functions for synthesising instructions at runtimeMichael Ellerman2005-11-031-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | There's a few places already, and soon will be more, where we synthesise branch instructions at runtime. Rather than doing it by hand in each case, it would make sense to have one implementation. Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
| * | powerpc: Set entry point and text address in linker scriptMichael Ellerman2005-11-032-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we set the kernel entry point and the address of the text section in the Makefile, using CONFIG_KERNEL_START. But we've already got <asm/page.h> in the linker script, so we can just use KERNELBASE directly. That means if we ever change KERNELBASE there's one less place to change it. And we can set the entry point with ENTRY(). There are zero differences from "readelf -a vmlinux" with or without this patch. Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
| * | powerpc: Make early debugging fit on 80 character terminalMichael Ellerman2005-11-031-1/+1
| | | | | | | | | | | | | | | | | | | | | There's some debugging in prom.c that wraps nastly on 80 character terminals, reformat it to fit. Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
| * | powerpc: Merge asm-ppc/kexec.h and asm-ppc64/kexec.hMichael Ellerman2005-11-034-82/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-036-124/+115
| | | | | | | | | | | | | | | | | | | | | Move plpar_wrappers.h into arch/powerpc/platforms/pseries, fixup white space, and update callers. Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
| * | powerpc: Make set_dabr() a ppc_md functionMichael Ellerman2005-11-033-17/+18
| | | | | | | | | | | | | | | | | | | | | Move pSeries specific code in set_dabr() into a ppc_md function, this will allow us to keep plpar_wrappers.h private to platforms/pseries. Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
| * | powerpc: Copy default configs into arch/powerpc/configsMichael Ellerman2005-11-035-0/+5847
| | | | | | | | | | | | | | | | | | | | | Copy default configs into arch/powerpc/configs, rename bpa_defconfig to cell_defconfig while we're at it. Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
* | | powerpc: Merge smp-tbsync.c (the generic timebase sync routine)Paul Mackerras2005-11-045-65/+65
| |/ |/| | | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* | Merge git://oak/home/sfr/kernels/iseries/workPaul Mackerras2005-11-0315-420/+251
|\ \
| * | powerpc: merge ucontext.hStephen Rothwell2005-11-033-49/+40
| | | | | | | | | | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: merge sigcontext.hStephen Rothwell2005-11-032-33/+23
| | | | | | | | | | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: move include/asm-ppc64/ppc32.h to arch/powerpc/kernelStephen Rothwell2005-11-032-1/+1
| | | | | | | | | | | | | | | | | | It is only included by signal_32.c Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: move ppc64/kernel/signal.c to arch/powerpcStephen Rothwell2005-11-033-2/+1
| | | | | | | | | | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: merge ptrace.hStephen Rothwell2005-11-033-206/+105
| | | | | | | | | | | | | | | | | | Move struct ptregs32 into asm-ppc64/ppc32.h Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | powerpc: merge stat.hStephen Rothwell2005-11-033-129/+81
| | | | | | | | | | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* | | [PATCH] powerpc: Keep fixing merged ipcbuf.hDavid Gibson2005-11-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Oops, replacing the two u64s in struct ipc64_perm with __u32s changed the alignment of that structure, which could mess up userspace. Revert to using two unsigned long longs (which is what ppc32 had originally). ppc64 orignally had two unsigned longs, but long long is the same size on 64 bit, so this should be ok there too. Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | [PATCH] ppc32: Fixed warning in m8xx_setup.cVitaly Bordug2005-11-031-0/+1
| | | | | | | | | | | | | | | | | | | | | This adds missing header and thus fix the warning issued by ming prototype. Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | [PATCH] ppc32 8xx: fix cpm_dpalloc() commentMarcelo Tosatti2005-11-031-3/+2
| | | | | | | | | | | | | | | | | | | | | Current comment on top of m8xx_cpm_dpinit is wrong. Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | [PATCH] ppc32 8xx: Fix harmless warning in 8xx_io/commproc.cMarcelo Tosatti2005-11-031-0/+2
| | | | | | | | | | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | [PATCH] ppc32 8xx: export symbols required for modular IDEMarcelo Tosatti2005-11-031-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes these warnings: Building modules, stage 2. MODPOST *** Warning: "__ide_mm_insl" [drivers/ide/ide-core.ko] undefined! *** Warning: "__ide_mm_outsw" [drivers/ide/ide-core.ko] undefined! *** Warning: "__ide_mm_insw" [drivers/ide/ide-core.ko] undefined! *** Warning: "__ide_mm_outsl" [drivers/ide/ide-core.ko] undefined! Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | [PATCH] powerpc: always init nvram on 64-bit powermacDavid Woodhouse2005-11-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently there is no Kconfig symbol to indicate that we want nvram support on 64-bit kernels; it's assumed we always want it, so make the powermac setup code always initialize the pmac nvram code if 64-bit. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | [PATCH] ppc: Fix build warnings in arch/ppc/kernel/traps.cBecky Bruce2005-11-031-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | The latest updates to bug.h generate build warnings in traps.c in arch/ppc. Fix print format specifiers to account for change of line type to long from int. Signed-off-by: Becky Bruce <becky.bruce@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | [PATCH] ppc64: Fix add notifier crashesJohn Rose2005-11-032-3/+4
|/ / | | | | | | | | | | | | | | | | The extraction of PCI stuff from struct device_node left some false assumptions in notifier code. As a result, dynamic add crashes when non-PCI nodes are added. This patch fixes these assumptions. Signed-off-by: John Rose <johnrose@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* / powerpc: Merge remaining RTAS codePaul Mackerras2005-11-0312-185/+147
|/ | | | | | | | | This moves rtas-proc.c and rtas_flash.c into arch/powerpc/kernel, since cell wants them as well as pseries (and chrp can use rtas-proc.c too, at least in principle). rtas_fw.c is gone, with its bits moved into rtas_flash.c and rtas.c. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Compile fixes for chrp/nvram.cPaul Mackerras2005-11-021-2/+5
| | | | | | | Include asm/rtas.h for prototype for rtas_call etc., and make the `done' variable unsigned int since that's what rtas_call wants. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: include <linux/platform_device.h> in pegasos_eth.cPaul Mackerras2005-11-021-0/+1
| | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* Merge Paulus' treeStephen Rothwell2005-11-02252-1400/+4357
|\
| * powerpc: include lmb.h in arch/powerpc/platforms/powermac/setup.cPaul Mackerras2005-11-021-0/+1
| | | | | | | | | | | | since it uses the lmb stuff in one place. Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: Move naca.h to platforms/iseriesDavid Gibson2005-11-025-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-022-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-023-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | 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 ../linux-2.6Paul Mackerras2005-11-02241-1377/+4333
| |\
| | * Merge git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs-2.6Linus Torvalds2005-11-011-8/+9
| | |\
| | | * Merge branch 'master' of /home/src/linux-2.6/Anton Altaparmakov2005-11-01226-334/+468
| | | |\
| | | * | NTFS: Fix a stupid bug causing writes to non-initialized pages to segfault.Anton Altaparmakov2005-11-011-8/+9
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
| | * | | Don't touch USB controller IO registers when they are disabledLinus Torvalds2005-10-311-0/+23
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The USB "handoff" code is an early PCI quirk to make sure we own the USB controller (as opposed to the BIOS/SMM). But if the controller isn't even enabled yet, don't try to access it. Acked-by: Paul Mackerras <paulus@samba.org> (who had an alternate patch) Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| | * | Revert "i386: move apic init in init_IRQs"Linus Torvalds2005-10-3110-100/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit f2b36db692b7ff6972320ad9839ae656a3b0ee3e causes a bootup hang on at least one machine. Revert for now until we understand why. The old code may be ugly, but it works. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| | * | [PATCH] Creative Audigy 2 cardbus: Add IO window wakeup magicJames Courtier-Dutton2005-10-312-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the magic IO wakeup code for the CardBus version of the Creative Labs Audigy 2 to the snd-emu10k1 driver. Without the magic IO enable sequence, reading from the IO region of the card will fail spectacularly, and the machine will hang. My next task will be getting the driver to actually play sound without distortion. Signed-off-by: James Courtier-Dutton <James@superbug.co.uk> [ This is a work-in-progress, but since it avoids a total lockup if the emu10k module is loaded on a machine with the cardbus card inserted, we're better off with it than without it, even if sound quality is bad right now ] Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| | * | [PATCH] fix __writeback_single_inode WARN_ONAndrea Arcangeli2005-10-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the inode count is zero in inode writeback, the WARN_ON(!(inode->i_state & I_WILL_FREE)); is broken, and needs to test for either I_WILL_FREE|I_FREEING. When the inode is in I_FREEING state, it's already out of the visibility of the vm so it can't be freed so it doesn't require the __iget and the generic_delete_inode path can call the sync internally to the lowlevel fs callback during the last iput. So the inode being in I_FREEING is also a valid condition for calling the sync with i_count == 0. The specific stack trace is this: 0xc00000007b8fb6e0 0xc00000000010118c .__writeback_single_inode +0x5c 0xc00000007b8fb6e0 0xc0000000001014dc (lr) .sync_inode +0x3c 0xc00000007b8fb790 0xc0000000001014dc .sync_inode +0x3c 0xc00000007b8fb820 0xc0000000001a5020 .ext2_sync_inode +0x64 0xc00000007b8fb8f0 0xc0000000001a65b4 .ext2_truncate +0x3f8 0xc00000007b8fba40 0xc0000000001a6940 .ext2_delete_inode +0xdc 0xc00000007b8fbac0 0xc0000000000f7a5c .generic_delete_inode +0x124 0xc00000007b8fbb50 0xc0000000000f5fe0 .iput +0xb8 0xc00000007b8fbbe0 0xc0000000000e9fd4 .sys_unlink +0x2a8 0xc00000007b8fbd10 0xc00000000001048c .ret_from_syscall_1 +0x0 Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| | * | [PATCH] revert ide-scsi highmem cleanupAndrew Morton2005-10-311-12/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Jeff Garzik <jgarzik@pobox.com> points out that this was wrong: we need to disable local interrupts while holding KM_IRQ0 due to IRQ sharing. And holding interrupts off during a big PIO opration is expensive, so we only want to do that if we know the page was highmem. So revert commit 17fd47ab4d33e764216b87006d8118fa050b4c92 Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| | * | [PATCH] i386: CONFIG_PC removalArthur Othieno2005-10-313-8/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CONFIG_PC is left-over cruft after the introduction of CONFIG_X86_PC with the subarch split. Remove it, and fixup the remaining users to depend on CONFIG_X86_PC instead. Signed-off-by: Arthur Othieno <a.othieno@bluewin.ch> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| | * | [PATCH] noop-iosched: avoid corrupted request mergingJens Axboe2005-10-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tejun Heo notes: "I'm currently debugging this. The problem is that we are using the generic dispatch queue directly in the noop sched and merging is NOT allowed on dispatch queues but generic handling of last_merge tries to merge requests. I'm still trying to verify this, so I'll be back with results soon." In the meantime, disable merging for noop by setting REQ_NOMERGE in elevator_noop_add_request(). Eventually, we should add a noop_list and do the dispatching like in the other io schedulers. Merging is still beneficial for noop (and it has always done it). Signed-off-by: Jens Axboe <axboe@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| | * | [PATCH] Fix on-the-fly switch from cfq i/o schedulerJens Axboe2005-10-311-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't clear ->elevator_data on exit, if we are switching queues we are overwriting the data of the new io scheduler. Signed-off-by: Jens Axboe <axboe@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| | * | Merge git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs-2.6Linus Torvalds2005-10-3114-1043/+3841
| | |\|
| | | * Merge branch 'master' of /usr/src/ntfs-2.6/Anton Altaparmakov2005-10-311122-25599/+56389
| | | |\