summaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAgeFilesLines
* microblaze_mmu_v2: Context handling - mmu_context.c/hMichal Simek2009-05-264-21/+238
| | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze_mmu_v2: Page fault handling high level - fault.cMichal Simek2009-05-261-0/+304
| | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze_mmu_v2: mmu.h updateMichal Simek2009-05-261-2/+102
| | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze_mmu_v2: MMU initializationMichal Simek2009-05-261-4/+154
| | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze_mmu_v2: TLB low level codeMichal Simek2009-05-261-0/+120
| | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze_mmu_v2: Alocate TLB for early consoleMichal Simek2009-05-262-2/+11
| | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze_mmu_v2: MMU update for startup codeMichal Simek2009-05-261-0/+190
| | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze_mmu_v2: Add mmu_defconfigMichal Simek2009-05-261-0/+798
| | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Fix size of __kernel_mode_t to shortMichal Simek2009-05-261-1/+1
| | | | | | | This patches solve problem with inconsistency between kernel and glibc Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Add audit and seccomp thread flags.Edgar E. Iglesias2009-05-261-0/+9
| | | | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* microblaze: Kbuild updateMichal Simek2009-05-221-24/+1
| | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Fix cast warning for __va in prom.cMichal Simek2009-05-211-2/+3
| | | | | | | __va expect 32bit value but of_read_ulong(of_read_number) returns 64bit value Signed-off-by: Michal Simek <monstr@monstr.eu>
* Microblaze: Remove unused variable from paging initMichal Simek2009-05-211-1/+0
| | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Cleanup compiled-in rootfs in BSS sectionMichal Simek2009-05-211-21/+32
| | | | | | | | | | | This patch is based on patch from Steve Magnani. There were bug for compiled-in rootfs. We have to move moving rootfs which is in BSS section to _ebss section which is at the end of kernel and then clear bss section not vice-versa. Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Fix early cmdline for CMDLINE_FORCEMichal Simek2009-05-212-8/+3
| | | | | | | | | | | | This patch fixed parsing early parameters because current implementation does that early parse DTS command line and then parse CMDLINE line which is compiled-in. For case that DTS doesn't contain command line is copied command line from kernel with is done in prom.c that's why I can remove it from machine_early_init. Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Guard __HAVE_ARCH macros with __KERNEL__ in string.hSteve Magnani2009-05-211-1/+1
| | | | | | | | | | | | | A polarity reversal in the __KERNEL__ guard prevents the __HAVE_ARCH flags from being defined in kernel compilation. I noticed that there's now an option for assembly-optimized versions of memcpy and memmove. I believe this may be buggy; when I turn it on, all my printk output gets smashed together, as if the newlines aren't getting copied. Signed-off-by: Steven J. Magnani <steve@digidescorp.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: clean LDFLAGS to build kernelThomas Chou2009-05-211-0/+2
| | | | | | | | Extra LDFLAGS from user space building may cause kernel failed to compile. Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Fix paging init-zone initializationSteve Magnani2009-05-211-4/+3
| | | | | | | | | | | | | | This patch fix problem with bad zone initialization. This bug wasn't perform because Microblaze doesn't define CONFIG_ZONE_DMA and ZONE_NORMAL was 0 for this case that's why free_area_init works with correct values. Original message: I believe that the switch from ZONE_DMA (== 0) to ZONE_NORMAL broke the free area initialization. Signed-off-by: Steven J. Magnani <steve@digidescorp.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: use generic dma-mapping-broken.hArnd Bergmann2009-05-212-130/+2
| | | | | | | | | | | | | | Microblaze does not support the Linux DMA mapping API at this point, so disable CONFIG_NO_DMA. This lets us use the generic dma-mapping-broken.h implementation instead of providing a different copy. Any drivers that try to use DMA mapping now get omitted from Kconfig or produce a link error, rather than failing silently at run time. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: prepare signal handling for generic unistd.hMichal Simek2009-05-213-76/+17
| | | | | | | | | We need to define set_restore_sigmask() in order to get pselect and ppoll. Also, the setup_frame function can not be used when __NR_sigreturn is not defined. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: clean up checksum.cArnd Bergmann2009-05-212-17/+28
| | | | | | | | | | | | | | | | This changes the function prototypes in the checksum code to have the usual prototypes, typically by turning int arguments into __wsum. Also change csum_partial_copy_from_user() to operate on the right address space and export ip_fast_csum, which is used in modular networking code. The new version is now sparse-clean including endianess checks. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: remove bad_user_access_lengthArnd Bergmann2009-05-211-4/+3
| | | | | | | | This function was actually causing harm, by hiding errors about invalid sized get_user/put_user accesses. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: do not include types.h in ptrace.hArnd Bergmann2009-05-211-1/+0
| | | | | | | | linux/types.h breaks the uclibc build, so don't include it here. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: add a dummy pgprot_noncachedArnd Bergmann2009-05-211-0/+2
| | | | | | | | | | Some device drivers call this, so add a macro that pretends to do this. Since there is no MMU support, it won't actually result in an uncached mapping, though. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: add security initcallsArnd Bergmann2009-05-211-0/+2
| | | | | | | | The security subsystem has its own initcalls, which need support in vmlinux.lds.S. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: remove cacheable_memcpyArnd Bergmann2009-05-211-5/+0
| | | | | | | | This function is neither declared nor used anywhere outside of ppc32, so remove it from microblaze. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: kill incorrect __bad_xchg definitionArnd Bergmann2009-05-211-8/+0
| | | | | | | | | | | The whole point of the __bad_xchg declaration in system.h is to give a linker error when a variable of invalid size is passed to __xchg. The out of line definition in traps.c defeats this purpose and does not any value, so remove it here. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: fix __user annotationsArnd Bergmann2009-05-211-12/+10
| | | | | | | | | | | | The microblaze signal handling code gets some __user pointers wrong, as shown by sparse. This adds the annotations where appropriate and change sys_rt_sigreturn to correctly pass a user stack down to do_sigaltstack instead of a kernel structure. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: export some symbolsArnd Bergmann2009-05-213-1/+5
| | | | | | | | Some device drivers require the symbols _ebss, kernel_thread, __page_offset or ___range_ok, so export them. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Kconfig: Enable drivers for MicroblazeMichal Simek2009-05-211-3/+4
| | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Remove POWERPC reference from Microblaze gpio.hMichal Simek2009-05-211-3/+3
| | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
* Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linusLinus Torvalds2009-05-206-15/+10
|\ | | | | | | | | | | | | | | * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: MIPS: 64-bit: Fix system lockup. MIPS: IP28: Change to build with -mr10k-cache-barrier=store MIPS: IP22: Fix hang in power button interrupt handler MIPS: IP32: Fix hang on shutdown in power button interrupt handler.
| * MIPS: 64-bit: Fix system lockup.Greg Ungerer2009-05-203-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The address range size calculation inside local_flush_tlb_kernel_range() is being truncated by a too small size variable holder on 64-bit systems. The truncated size can result in an erroneous tlbsize check that means we sit spinning inside a loop trying to flush a hige number of TLB entries. This is for all intents and purposes a system hang. Fix by using an appropriately sized valiable to hold the size. [Ralf: Greg's original patch submission identified the issue and fixed one instance in tlb-r4k.c but there there were several more. For consistency I also modified tlb-r3k.c even though that file is only used on 32-bit.] Signed-off-by: Greg Ungerer <gerg@snapgear.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * MIPS: IP28: Change to build with -mr10k-cache-barrier=storepeter fuerst2009-05-201-3/+3
| | | | | | | | | | | | | | | | | | Richard Sandiford's new code for inserting the cache-barriers, for GCC 4.3 and above and already incorporated in the current GCC-release, uses a slightly different option-syntax. Signed-off-by: peter fuerst <post@pfrst.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * MIPS: IP22: Fix hang in power button interrupt handlerRalf Baechle2009-05-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The hang was caused by the use of disable_irq() from the interrupt handler itself. Fixed by the use of disable_irq_nosync(). The issue was triggered by: commit 3aa551c9b4c40018f0e261a178e3d25478dc04a9 Author: Thomas Gleixner <tglx@linutronix.de> Date: Mon Mar 23 18:28:15 2009 +0100 genirq: add threaded interrupt handler support Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * MIPS: IP32: Fix hang on shutdown in power button interrupt handler.Andrew Randrianasulu2009-05-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The hang was caused by the use of disable_irq() from the interrupt handler itself. Fixed by the use of disable_irq_nosync(). The issue was triggered by: commit 3aa551c9b4c40018f0e261a178e3d25478dc04a9 Author: Thomas Gleixner <tglx@linutronix.de> Date: Mon Mar 23 18:28:15 2009 +0100 genirq: add threaded interrupt handler support Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* | Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2009-05-2031-131/+150
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/home/rmk/linux-2.6-arm: (25 commits) [ARM] 5519/1: amba probe: pass "struct amba_id *" instead of void * [ARM] 5517/1: integrator: don't put clock lookups in __initdata [ARM] 5518/1: versatile: don't put clock lookups in __initdata [ARM] mach-l7200: fix spelling of SYS_CLOCK_OFF [ARM] Double check memmap is actually valid with a memmap has unexpected holes V2 [ARM] realview: fix broadcast tick support [ARM] realview: remove useless smp_cross_call_done() [ARM] smp: fix cpumask usage in ARM SMP code [ARM] 5513/1: Eurotech VIPER SBC: fix compilation error [ARM] 5509/1: ep93xx: clkdev enable UARTS ARM: OMAP2/3: Change omapfb to use clkdev for dispc and rfbi, v2 ARM: OMAP3: Fix HW SAVEANDRESTORE shift define ARM: OMAP3: Fix number of GPIO lines for 34xx [ARM] S3C: Do not set clk->owner field if unset [ARM] S3C2410: mach-bast.c registering i2c data too early [ARM] S3C24XX: Fix unused code warning in arch/arm/plat-s3c24xx/dma.c [ARM] S3C64XX: fix GPIO debug [ARM] S3C64XX: GPIO include cleanup [ARM] nwfpe: fix 'floatx80_is_nan' sparse warning [ARM] nwfpe: Add decleration for ExtendedCPDO ...
| * [ARM] 5517/1: integrator: don't put clock lookups in __initdataRabin Vincent2009-05-181-1/+1
| | | | | | | | | | | | | | | | Remove the __initdata annotation for the clock lookups, since they will be needed when loading modules which use clk_get(). Signed-off-by: Rabin Vincent <rabin@rab.in> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 5518/1: versatile: don't put clock lookups in __initdataRabin Vincent2009-05-181-1/+1
| | | | | | | | | | | | | | | | Remove the __initdata annotation for the clock lookups, since they will be needed when loading modules which use clk_get(). Signed-off-by: Rabin Vincent <rabin@rab.in> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] mach-l7200: fix spelling of SYS_CLOCK_OFFPavel Roskin2009-05-181-1/+1
| | | | | | | | | | | | Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] Double check memmap is actually valid with a memmap has unexpected ↵Mel Gorman2009-05-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | holes V2 pfn_valid() is meant to be able to tell if a given PFN has valid memmap associated with it or not. In FLATMEM, it is expected that holes always have valid memmap as long as there is valid PFNs either side of the hole. In SPARSEMEM, it is assumed that a valid section has a memmap for the entire section. However, ARM and maybe other embedded architectures in the future free memmap backing holes to save memory on the assumption the memmap is never used. The page_zone linkages are then broken even though pfn_valid() returns true. A walker of the full memmap must then do this additional check to ensure the memmap they are looking at is sane by making sure the zone and PFN linkages are still valid. This is expensive, but walkers of the full memmap are extremely rare. This was caught before for FLATMEM and hacked around but it hits again for SPARSEMEM because the page_zone linkages can look ok where the PFN linkages are totally screwed. This looks like a hatchet job but the reality is that any clean solution would end up consumning all the memory saved by punching these unexpected holes in the memmap. For example, we tried marking the memmap within the section invalid but the section size exceeds the size of the hole in most cases so pfn_valid() starts returning false where valid memmap exists. Shrinking the size of the section would increase memory consumption offsetting the gains. This patch identifies when an architecture is punching unexpected holes in the memmap that the memory model cannot automatically detect and sets ARCH_HAS_HOLES_MEMORYMODEL. At the moment, this is restricted to EP93xx which is the model sub-architecture this has been reported on but may expand later. When set, walkers of the full memmap must call memmap_valid_within() for each PFN and passing in what it expects the page and zone to be for that PFN. If it finds the linkages to be broken, it assumes the memmap is invalid for that PFN. Signed-off-by: Mel Gorman <mel@csn.ul.ie> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * Merge branch 'smp-fix'Russell King2009-05-178-72/+32
| |\
| | * [ARM] realview: fix broadcast tick supportRussell King2009-05-173-14/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Having discussed broadcast tick support with Thomas Glexiner, the broadcast tick devices should be registered with a higher rating than the global tick device, and it should have the ONESHOT and PERIODIC feature flags set. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Thomas Glexiner <tglx@linutronix.de>
| | * [ARM] realview: remove useless smp_cross_call_done()Russell King2009-05-172-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | smp_cross_call_done() is a no-op for MPCore, and since it's only used by platform code, there's no point in having it unless it's doing something. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * [ARM] smp: fix cpumask usage in ARM SMP codeRussell King2009-05-176-46/+28
| | | | | | | | | | | | | | | | | | | | | The ARM SMP code wasn't properly updated for the cpumask changes, which results in smp_timer_broadcast() broadcasting ticks to non-online CPUs. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5513/1: Eurotech VIPER SBC: fix compilation errorRicardo Martins2009-05-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compilation for this board yields the following errors: arch/arm/mach-pxa/viper.c:511: error: 'FFUART' undeclared here (not in a function) arch/arm/mach-pxa/viper.c:520: error: 'BTUART' undeclared here (not in a function) arch/arm/mach-pxa/viper.c:529: error: 'STUART' undeclared here (not in a function) Fix them by including the necessary header. Signed-off-by: Ricardo Martins <rasm@fe.up.pt> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5509/1: ep93xx: clkdev enable UARTSHartley Sweeten2009-05-162-9/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the clkdev API support for the ep93xx uart clocks. The uarts available in the ep93xx have individual clock controls. The current implementation assumes that the bootloader has enabled the clocks before the kernel has booted. It also assumes that the bootloader has set the UARTBAUD bit indicating that the uarts are running off the 14.7456MHz external crystal. This fixes both issues. It also allows the uart clocks to be stopped when there are no users. Tested-by: Matthias Kaehlcke <matthias@kaehlcke.net> Cc: Ryan Mallon <ryan@bluewatersys.com> Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | Merge branch 'omap-fixes' of ↵Russell King2009-05-168-24/+27
| |\ \ | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
| | * | ARM: OMAP2/3: Change omapfb to use clkdev for dispc and rfbi, v2Tony Lindgren2009-05-162-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the framebuffer work on omap3. Also fix the clk_get usage for checkpatch.pl "ERROR: do not use assignment in if condition". Cc: Imre Deak <imre.deak@nokia.com> Cc: linux-fbdev-devel@lists.sourceforge.net Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * | ARM: OMAP3: Fix HW SAVEANDRESTORE shift defineKalle Jokiniemi2009-05-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OMAP3430ES2_SAVEANDRESTORE_SHIFT macro is used by powerdomain code in "1 << OMAP3430ES2_SAVEANDRESTORE_SHIFT" manner, but the definition was also (1 << 4), meaning we actually modified bit 16. So the definition needs to be 4. This fixes also a cold reset HW bug in OMAP3430 ES3.x where some of the efuse bits are not isolated during wake-up from off mode. This can cause randomish cold resets with off mode. Enabling the USBTLL hardware SAVEANDRESTORE causes the core power up assert to be delayed in a way that we will not get faulty values when boot ROM is reading the unisolated registers. Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@digia.com> Acked-by: Kevin Hilman <khilman@deeprootsystems.com> Acked-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
OpenPOWER on IntegriCloud