summaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] x86_64: Account mem_map in VM holes accountingAndi Kleen2005-11-141-0/+19
| | | | | | | | | | | The VM needs to know about lost memory in zones to accurately balance dirty pages. This patch accounts mem_map in there too, which fixes a constant errror of a few percent. Also some other misc mappings and the kernel text itself are accounted too. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Make i386 compile again with fourth DMA32 zoneAndi Kleen2005-11-141-2/+2
| | | | | | | | The code should deal with an additional empty zone, so fix up the #error. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Set compatibility flag for 4GB zone on IA64Andi Kleen2005-11-141-0/+4
| | | | | | | | | | | IA64 traditionally had a 4GB DMA32 zone. Set the compatibility flag to keep old drivers working. For new drivers it would be better to use ZONE_DMA32 now. Cc: tony.luck@intel.com Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Add 4GB DMA32 zoneAndi Kleen2005-11-142-43/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new 4GB GFP_DMA32 zone between the GFP_DMA and GFP_NORMAL zones. As a bit of historical background: when the x86-64 port was originally designed we had some discussion if we should use a 16MB DMA zone like i386 or a 4GB DMA zone like IA64 or both. Both was ruled out at this point because it was in early 2.4 when VM is still quite shakey and had bad troubles even dealing with one DMA zone. We settled on the 16MB DMA zone mainly because we worried about older soundcards and the floppy. But this has always caused problems since then because device drivers had trouble getting enough DMA able memory. These days the VM works much better and the wide use of NUMA has proven it can deal with many zones successfully. So this patch adds both zones. This helps drivers who need a lot of memory below 4GB because their hardware is not accessing more (graphic drivers - proprietary and free ones, video frame buffer drivers, sound drivers etc.). Previously they could only use IOMMU+16MB GFP_DMA, which was not enough memory. Another common problem is that hardware who has full memory addressing for >4GB misses it for some control structures in memory (like transmit rings or other metadata). They tended to allocate memory in the 16MB GFP_DMA or the IOMMU/swiotlb then using pci_alloc_consistent, but that can tie up a lot of precious 16MB GFPDMA/IOMMU/swiotlb memory (even on AMD systems the IOMMU tends to be quite small) especially if you have many devices. With the new zone pci_alloc_consistent can just put this stuff into memory below 4GB which works better. One argument was still if the zone should be 4GB or 2GB. The main motivation for 2GB would be an unnamed not so unpopular hardware raid controller (mostly found in older machines from a particular four letter company) who has a strange 2GB restriction in firmware. But that one works ok with swiotlb/IOMMU anyways, so it doesn't really need GFP_DMA32. I chose 4GB to be compatible with IA64 and because it seems to be the most common restriction. The new zone is so far added only for x86-64. For other architectures who don't set up this new zone nothing changes. Architectures can set a compatibility define in Kconfig CONFIG_DMA_IS_DMA32 that will define GFP_DMA32 as GFP_DMA. Otherwise it's a nop because on 32bit architectures it's normally not needed because GFP_NORMAL (=0) is DMA able enough. One problem is still that GFP_DMA means different things on different architectures. e.g. some drivers used to have #ifdef ia64 use GFP_DMA (trusting it to be 4GB) #elif __x86_64__ (use other hacks like the swiotlb because 16MB is not enough) ... . This was quite ugly and is now obsolete. These should be now converted to use GFP_DMA32 unconditionally. I haven't done this yet. Or best only use pci_alloc_consistent/dma_alloc_coherent which will use GFP_DMA32 transparently. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] x86_64: Update defconfigAndi Kleen2005-11-141-15/+83
| | | | | | | Rerun and enable autofs 4, relayfs and softdog Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc-mergeLinus Torvalds2005-11-04104-1128/+7146
|\
| * powerpc: Fix vmlinux.lds.S for 32-bitPaul Mackerras2005-11-051-25/+5
| | | | | | | | | | | | | | | | | | | | | | | | We can't currently use asm-ppc/page.h in vmlinux.lds.S, so until we have a merged page.h, define PAGE_SIZE and KERNELBASE locally. Also gets rid of some dynamic executable cruft that we had for 32-bit. With -Ttext=$(KERNELBASE) this didn't cause any problem, but when we changed to putting . = KERNELBASE in the vmlinux.lds.S this cruft caused the text to get linked at 0xa0 instead of 0xc0000000. Oops. Signed-off-by: Paul Mackerras <paulus@samba.org>
| * powerpc: Merge smp.c and smp.hPaul Mackerras2005-11-059-192/+157
| | | | | | | | | | | | | | 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 branch 'for-paulus' of git://kernel/home/michael/src/work/Paul Mackerras2005-11-0419-77/+6022
| |\
| | * Merge with PaulusMichael Ellerman2005-11-0421-175/+300
| | |\
| | * | powerpc: Implement smp_release_cpus() in C not asmMichael Ellerman2005-11-044-39/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-032-10/+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: 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-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-035-4/+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-032-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-035-3/+140
| |\ \
| | * | powerpc: move include/asm-ppc64/ppc32.h to arch/powerpc/kernelStephen Rothwell2005-11-032-1/+139
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | [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: 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-0311-161/+143
| |/ | | | | | | | | | | | | | | | | 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-0297-169/+243
| |\
| | * 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-4/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * Merge ../linux-2.6Paul Mackerras2005-11-0289-163/+153
| | |\
| * | \ Merge iSeries include file moveStephen Rothwell2005-11-0229-64/+64
| |\ \ \ | | |/ / | |/| |
| | * | merge filename and modify references to iseries/vio.hKelly Daly2005-11-023-3/+3
| | | | | | | | | | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| | * | merge filename and modify references to iSeries/mf.hKelly Daly2005-11-024-4/+4
| | | | | | | | | | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| | * | merge filename and modify references to iseries/lpar_map.hKelly Daly2005-11-025-5/+5
| | | | | | | | | | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| | * | merge filename and modify references to iseries/it_lp_reg_save.hKelly Daly2005-11-021-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| | * | merge filename and modify references to iseries/it_lp_queue.hKelly Daly2005-11-028-8/+8
| | | | | | | | | | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| | * | merge filename and modify references to iseries/it_lp_naca.hKelly Daly2005-11-023-3/+3
| | | | | | | | | | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| | * | merge filename and modify references to iseries/it_exp_vpd_panel.hKelly Daly2005-11-023-3/+3
| | | | | | | | | | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| | * | merge filename and modify references to iseries/hv_types.hKelly Daly2005-11-028-8/+8
| | | | | | | | | | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| | * | merge filename and modify references to iseries/hv_lp_event.hKelly Daly2005-11-026-6/+6
| | | | | | | | | | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| | * | merge filename and modify reference to iseries/hv_lp_config.hKelly Daly2005-11-026-6/+6
| | | | | | | | | | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| | * | merge filename and modify references to iseries/hv_call_xm.hKelly Daly2005-11-027-7/+7
| | | | | | | | | | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| | * | merge filename and modify references to iseries/hv_call_sc.hKelly Daly2005-11-025-5/+5
| | | | | | | | | | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>
| | * | merge filename and modify references to iseries/hv_call_event.hKelly Daly2005-11-022-2/+2
| | | | | | | | | | | | | | | | Signed-off-by: Kelly Daly <kelly@au.ibm.com>