summaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAgeFilesLines
* fix directory entry in arch-x86-MakefileSteven Rostedt2008-02-011-1/+1
| | | | | | | | | | Doing a make randconfig I came across this error in the Makefile. This patch makes a directory out of arch/x86/mach-default for CONFIG_X86_RDC321X Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds2008-02-014-4/+4
|\ | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Fix inconsistent .section usage in lib/ [SPARC/SPARC64]: Fix usage of .section .sched.text in assembler code.
| * [SPARC64]: Fix inconsistent .section usage in lib/Sam Ravnborg2008-01-312-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A few places missed the "a" specifier for the __ex_table section. Add these so we avoid generation an additional section at link time. Latest modpost would otherwise complain like this: WARNING: vmlinux.o (__ex_table.2): section name inconsistency. (.[number]+) following section name. Did you forget to use "ax"/"aw" in a .S file? Note that for example <linux/init.h> contains section definitions for use in .S files. WARNING: vmlinux.o (__ex_table.4): section name inconsistency. (.[number]+) following section name. Did you forget to use "ax"/"aw" in a .S file? Note that for example <linux/init.h> contains section definitions for use in .S files. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [SPARC/SPARC64]: Fix usage of .section .sched.text in assembler code.Sam Ravnborg2008-01-312-2/+2
| | | | | | | | | | | | | | | | ld will generate an unique named section when assembler do not use "ax" but gcc does. Add the missing annotation. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | pasemi: Fix thinko in dma_direct_ops setupOlof Johansson2008-02-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | [POWERPC] pasemi: Fix thinko in dma_direct_ops setup The first patch will just fall through and still set dma_data to a bad value, make it return directly instead. Signed-off-by: Olof Johansson <olof@lixom.net> Acked-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: remove dead timer int pending codeGreg Ungerer2008-02-017-97/+0
| | | | | | | | | | | | | | | | Remove all the dead timer interrupt checking functions for the ColdFire CPU "timers" hardware that are not used after switching to GENERIC_TIME. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: remove empty timer offset function for 68360Greg Ungerer2008-02-011-5/+0
| | | | | | | | | | | | | | | | Switching to GENERIC_TIME means we no longer need the empty timer offset function for the 68360 CPU. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: remove local gettimeofday codeGreg Ungerer2008-02-011-57/+0
| | | | | | | | | | | | | | | | Remove unused local gettimeofday functions, now that we are using GENERIC_TIME. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: set config to use GENERIC_TIMEGreg Ungerer2008-02-011-0/+4
| | | | | | | | | | | | | | Switch m68knommu arch to using GENERIC_TIME. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: switch ColdFire TIMER to use GENERIC_TIMEGreg Ungerer2008-02-011-24/+44
| | | | | | | | | | | | | | Switch the ColdFire TIMER timer to use GENERIC_TIME. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: switch ColdFire PIT timer to use GENERIC_TIMEGreg Ungerer2008-02-011-35/+51
| | | | | | | | | | | | | | Switch the ColdFire PIT timer to using GENERIC_TIME. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: switch 68328 timer to use GENERIC_TIMEGreg Ungerer2008-02-011-13/+43
| | | | | | | | | | | | | | Switch the 68328 CPU timer code to using GENERIC_TIME. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: remove dead code from m68knommu timer codeGreg Ungerer2008-02-011-24/+0
| | | | | | | | | | | | | | Remove unused LED heartbeat code from m68knommu timer code. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: create common DMA table for ColdFire CPUsGreg Ungerer2008-02-011-0/+39
| | | | | | | | | | | | | | | | | | Move the ColdFire DMA address table into its own file, and out of each of the different CPU config files. No need to have a copy of it in each of the config setup files. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: modify Makefiles to support common coldfire directoryGreg Ungerer2008-02-013-24/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Modify Makefiles to support separate coldfire platform directory. Currently the common ColdFire CPU family code sits in the arch/m68knommu/platform/5307 directory. This is confusing, the files containing this common code are in no way specific to the 5307 ColdFire. Create an arch/m68knommu/platform/coldfire directory to contain this common code. Other m68knommu CPU varients do not need use this code though, so it doesn't make sense to move it to arch/m68knommu/kernel. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: move ColdFire vectors.c to its own coldfire directoryGreg Ungerer2008-02-011-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Move common ColdFire CPU vectors.c to common coldfire platform directory. Currently the common ColdFire CPU family code sits in the arch/m68knommu/platform/5307 directory. This is confusing, the files containing this common code are in no way specific to the 5307 ColdFire. Create an arch/m68knommu/platform/coldfire directory to contain this common code. Other m68knommu CPU varients do not need use this code though, so it doesn't make sense to move it to arch/m68knommu/kernel. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: move ColdFire timers.c to its own coldfire directoryGreg Ungerer2008-02-011-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Move common ColdFire CPU timers.c to common coldfire platform directory. Currently the common ColdFire CPU family code sits in the arch/m68knommu/platform/5307 directory. This is confusing, the files containing this common code are in no way specific to the 5307 ColdFire. Create an arch/m68knommu/platform/coldfire directory to contain this common code. Other m68knommu CPU varients do not need use this code though, so it doesn't make sense to move it to arch/m68knommu/kernel. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: move ColdFire pit.c to its own coldfire directoryGreg Ungerer2008-02-011-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Move common ColdFire CPU pit.c to common coldfire platform directory. Currently the common ColdFire CPU family code sits in the arch/m68knommu/platform/5307 directory. This is confusing, the files containing this common code are in no way specific to the 5307 ColdFire. Create an arch/m68knommu/platform/coldfire directory to contain this common code. Other m68knommu CPU varients do not need use this code though, so it doesn't make sense to move it to arch/m68knommu/kernel. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: move ColdFire head.S to its own coldfire directoryGreg Ungerer2008-02-011-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Move common ColdFire CPU head.S to common coldfire platform directory. Currently the common ColdFire CPU family code sits in the arch/m68knommu/platform/5307 directory. This is confusing, the files containing this common code are in no way specific to the 5307 ColdFire. Create an arch/m68knommu/platform/coldfire directory to contain this common code. Other m68knommu CPU varients do not need use this code though, so it doesn't make sense to move it to arch/m68knommu/kernel. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: move ColdFire entry.S to its own coldfire directoryGreg Ungerer2008-02-011-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Move common ColdFire CPU entry.S to common coldfire platform directory. Currently the common ColdFire CPU family code sits in the arch/m68knommu/platform/5307 directory. This is confusing, the files containing this common code are in no way specific to the 5307 ColdFire. Create an arch/m68knommu/platform/coldfire directory to contain this common code. Other m68knommu CPU varients do not need use this code though, so it doesn't make sense to move it to arch/m68knommu/kernel. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: platform setup for 5407 ColdFire partsGreg Ungerer2008-02-011-12/+57
| | | | | | | | | | | | | | | | | | Switch to platform style configuration for 5407 ColdFire parts. Initial support is for the UARTs. DMA support moved to common code for all ColdFire parts. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: platform setup for 532x ColdFire partsGreg Ungerer2008-02-011-10/+70
| | | | | | | | | | | | | | | | | | Switch to platform style configuration for 532x ColdFire parts. Initial support is for the UARTs. DMA support moved to common code for all ColdFire parts. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: platform setup for 527x ColdFire partsGreg Ungerer2008-02-011-9/+78
| | | | | | | | | | | | | | | | | | Switch to platform style configuration for 527x ColdFire parts. Initial support is for the UARTs. DMA support moved to common code for all ColdFire parts. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: platform setup for 5307 ColdFire partsGreg Ungerer2008-02-011-13/+58
| | | | | | | | | | | | | | | | | | Switch to platform style configuration for 5307 ColdFire parts. Initial support is for the UARTs. DMA support moved to common code for all ColdFire parts. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: platform setup for 528x ColdFire partsGreg Ungerer2008-02-011-9/+77
| | | | | | | | | | | | | | | | | | Switch to platform style configuration for 528x ColdFire parts. Initial support is for the UARTs. DMA support moved to common code for all ColdFire parts. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: platform setup for 5249 ColdFire partsGreg Ungerer2008-02-011-12/+57
| | | | | | | | | | | | | | | | | | Switch to platform style configuration for 5249 ColdFire parts. Initial support is for the UARTs. DMA support moved to common code for all ColdFire parts. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: platform setup for 5272 ColdFire partsGreg Ungerer2008-02-011-9/+63
| | | | | | | | | | | | | | | | | | Switch to platform style configuration for 5272 ColdFire parts. Initial support is for the UARTs. DMA support moved to common code for all ColdFire parts. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: platform setup for 520x ColdFire partsGreg Ungerer2008-02-011-9/+92
| | | | | | | | | | | | | | | | | | Switch to platform style configuration for 520x ColdFire parts. Initial support is for the UARTs. DMA support moved to common code for all ColdFire parts. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: platform setup for 523x ColdFire partsGreg Ungerer2008-02-011-10/+65
| | | | | | | | | | | | | | | | | | Switch to platform style configuration for 523x ColdFire parts. Initial support is for the UARTs. DMA support moved to common code for all ColdFire parts. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: platform setup for 5206e ColdFire partsGreg Ungerer2008-02-011-9/+57
| | | | | | | | | | | | | | | | Switch to platform style configuration for 5206e ColdFire parts. Initial support is for the UARTs. DMA support is moved to common code. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | m68knommu: platform setup for 5206 ColdFire partsGreg Ungerer2008-02-011-11/+57
|/ | | | | | | | | Switch to platform style configuration for 5206 ColdFire parts. Initial support is for the UARTs. DMA support moved to common code for all ColdFire parts. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'task_killable' of ↵Linus Torvalds2008-02-011-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc * 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc: (22 commits) Remove commented-out code copied from NFS NFS: Switch from intr mount option to TASK_KILLABLE Add wait_for_completion_killable Add wait_event_killable Add schedule_timeout_killable Use mutex_lock_killable in vfs_readdir Add mutex_lock_killable Use lock_page_killable Add lock_page_killable Add fatal_signal_pending Add TASK_WAKEKILL exit: Use task_is_* signal: Use task_is_* sched: Use task_contributes_to_load, TASK_ALL and TASK_NORMAL ptrace: Use task_is_* power: Use task_is_* wait: Use TASK_NORMAL proc/base.c: Use task_is_* proc/array.c: Use TASK_REPORT perfmon: Use task_is_* ... Fixed up conflicts in NFS/sunrpc manually..
| * perfmon: Use task_is_*Matthew Wilcox2007-12-061-2/+2
| | | | | | | | Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86Linus Torvalds2008-02-017-9/+34
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: asm-generic/tlb.h: build fix x86: uninline __pte_free_tlb() and __pmd_free_tlb() x86: fix small sparse warning x86: fix sparse warning in kernel/scx200_32.c x86: early_ioremap_reset fix 2 x86: c_p_a clflush_cache_range fix x86: change_page_attr_clear fix x86: fix sparse warnings in intel_cacheinfo.c
| * | x86: uninline __pte_free_tlb() and __pmd_free_tlb()Ingo Molnar2008-01-311-0/+23
| | | | | | | | | | | | | | | | | | this also removes an include file dependency. Signed-off-by: Ingo Molnar <mingo@elte.hu>
| * | x86: fix small sparse warningHarvey Harrison2008-01-311-1/+1
| | | | | | | | | | | | | | | | | | | | | arch/x86/kernel/ds.c:226:9: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
| * | x86: fix sparse warning in kernel/scx200_32.cHarvey Harrison2008-01-311-1/+1
| | | | | | | | | | | | | | | | | | | | | arch/x86/kernel/scx200_32.c:68:72: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
| * | x86: early_ioremap_reset fix 2Huang, Ying2008-01-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes a bug of early_ioremap_reset(), which had been fixed before by "convert the boot time page table to the kernels native format" patch. But that patch has been reverted now. Signed-off-by: Huang Ying <ying.huang@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
| * | x86: c_p_a clflush_cache_range fixHuang, Ying2008-01-311-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because in i386 early boot stage, boot_cpu_data may be not available, which makes clflush_cach_range() into infinite loop, which is called by change_page_attr(). This patch fixes this by setting boot_cpu_data.x86_clflush_size in early_cpu_detect(). Signed-off-by: Huang Ying <ying.huang@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
| * | x86: change_page_attr_clear fixHuang, Ying2008-01-311-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch replaces __change_page_attr_set_clr() with change_page_attr_set_clr() in change_page_attr_clear() to flush the TLB/cache properly. Signed-off-by: Huang Ying <ying.huang@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
| * | x86: fix sparse warnings in intel_cacheinfo.cHarvey Harrison2008-01-311-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arch/x86/kernel/cpu/intel_cacheinfo.c:355:7: warning: symbol 'i' shadows an earlier one arch/x86/kernel/cpu/intel_cacheinfo.c:296:39: originally declared here arch/x86/kernel/cpu/intel_cacheinfo.c:367:18: warning: incorrect type in argument 2 (different signedness) arch/x86/kernel/cpu/intel_cacheinfo.c:367:18: expected unsigned int *eax arch/x86/kernel/cpu/intel_cacheinfo.c:367:18: got int * arch/x86/kernel/cpu/intel_cacheinfo.c:367:28: warning: incorrect type in argument 3 (different signedness) arch/x86/kernel/cpu/intel_cacheinfo.c:367:28: expected unsigned int *ebx arch/x86/kernel/cpu/intel_cacheinfo.c:367:28: got int * arch/x86/kernel/cpu/intel_cacheinfo.c:367:38: warning: incorrect type in argument 4 (different signedness) arch/x86/kernel/cpu/intel_cacheinfo.c:367:38: expected unsigned int *ecx arch/x86/kernel/cpu/intel_cacheinfo.c:367:38: got int * arch/x86/kernel/cpu/intel_cacheinfo.c:367:48: warning: incorrect type in argument 5 (different signedness) arch/x86/kernel/cpu/intel_cacheinfo.c:367:48: expected unsigned int *edx arch/x86/kernel/cpu/intel_cacheinfo.c:367:48: got int * Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | | POWERPC: Set dma_data correctly for direct_ops on pasemiOlof Johansson2008-01-311-1/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | More late-caught fallout from the mainline merge. Commit 35e4a6e26d0c6bc7f32087db61f0fb3666531183 ("[POWERPC] Use archdata.dma_data in dma_direct_ops and add the offset") claimed "Now that all platforms using dma_direct_offset setup the archdata.dma_data correctly, ..." ..but nope -- the pasemi iommu setup code that disables translation on the DMA pci device didn't set dma_data correctly. This fixes it. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge branch 'for-2.6.25' of ↵Linus Torvalds2008-01-31487-21578/+53988
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (454 commits) [POWERPC] Cell IOMMU fixed mapping support [POWERPC] Split out the ioid fetching/checking logic [POWERPC] Add support to cell_iommu_setup_page_tables() for multiple windows [POWERPC] Split out the IOMMU logic from cell_dma_dev_setup() [POWERPC] Split cell_iommu_setup_hardware() into two parts [POWERPC] Split out the logic that allocates struct iommus [POWERPC] Allocate the hash table under 1G on cell [POWERPC] Add set_dma_ops() to match get_dma_ops() [POWERPC] 83xx: Clean up / convert mpc83xx board DTS files to v1 format. [POWERPC] 85xx: Only invalidate TLB0 and TLB1 [POWERPC] 83xx: Fix typo in mpc837x compatible entries [POWERPC] 85xx: convert sbc85* boards to use machine_device_initcall [POWERPC] 83xx: rework platform Kconfig [POWERPC] 85xx: rework platform Kconfig [POWERPC] 86xx: Remove unused IRQ defines [POWERPC] QE: Explicitly set address-cells and size cells for muram [POWERPC] Convert StorCenter DTS file to /dts-v1/ format. [POWERPC] 86xx: Convert all 86xx DTS files to /dts-v1/ format. [PPC] Remove 85xx from arch/ppc [PPC] Remove 83xx from arch/ppc ...
| * | [POWERPC] Cell IOMMU fixed mapping supportMichael Ellerman2008-01-311-2/+267
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for setting up a fixed IOMMU mapping on certain cell machines. For 64-bit devices this avoids the performance overhead of mapping and unmapping pages at runtime. 32-bit devices are unable to use the fixed mapping. The fixed mapping is established at boot, and maps all of physical memory 1:1 into device space at some offset. On machines with < 30 GB of memory we setup the fixed mapping immediately above the normal IOMMU window. For example a machine with 4GB of memory would end up with the normal IOMMU window from 0-2GB and the fixed mapping window from 2GB to 6GB. In this case a 64-bit device wishing to DMA to 1GB would be told to DMA to 3GB, plus any offset required by firmware. The firmware offset is encoded in the "dma-ranges" property. On machines with 30GB or more of memory, we are unable to place the fixed mapping above the normal IOMMU window as we would run out of address space. Instead we move the normal IOMMU window to coincide with the hash page table, this region does not need to be part of the fixed mapping as no device should ever be DMA'ing to it. We then setup the fixed mapping from 0 to 32GB. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] Split out the ioid fetching/checking logicMichael Ellerman2008-01-311-6/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | Split out the ioid fetching and checking logic so we can use it elsewhere in a subsequent patch. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] Add support to cell_iommu_setup_page_tables() for multiple windowsMichael Ellerman2008-01-311-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support to cell_iommu_setup_page_tables() for handling two windows, the dynamic window and the fixed window. A fixed window size of 0 indicates that there is no fixed window at all. Currently there are no callers who pass a non-zero fixed window, but the upcoming fixed IOMMU mapping patch will change that. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] Split out the IOMMU logic from cell_dma_dev_setup()Michael Ellerman2008-01-311-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split the IOMMU logic out from cell_dma_dev_setup() into a separate function. If we're not using dma_direct_ops or dma_iommu_ops we don't know what the hell's going on, so BUG. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] Split cell_iommu_setup_hardware() into two partsMichael Ellerman2008-01-311-12/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split cell_iommu_setup_hardware() into two parts. Split the page table setup into cell_iommu_setup_page_tables() and the bits that kick the hardware into cell_iommu_enable_hardware(). Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] Split out the logic that allocates struct iommusMichael Ellerman2008-01-311-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split out the logic that allocates a struct iommu into a separate function. This can fail however the calling code has never cared - so just return if we can't allocate an iommu. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] Allocate the hash table under 1G on cellMichael Ellerman2008-01-311-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to support the fixed IOMMU mapping (in a subsequent patch), we need the hash table to be inside the IOMMUs DMA window. This is usually 2G, but let's make sure the hash table is under 1G as that will satisfy the IOMMU requirements and also means the hash table will be on node 0. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
OpenPOWER on IntegriCloud