1. 11 8月, 2010 1 次提交
  2. 05 8月, 2010 1 次提交
  3. 29 7月, 2010 1 次提交
  4. 12 7月, 2010 1 次提交
    • E
      ARM: Auto calculate ZRELADDR and provide option for exceptions · e69edc79
      Eric Miao 提交于
      As long as the zImage is placed within the 128MB range from the start of
      memory, ZRELADDR (Address where the decompressed kernel will be placed,
      usually == PHYS_OFFSET + TEXT_OFFSET) can be determined at run-time by
      masking PC with 0xf80000000.
      
      Running through all the Makefile.boot, all those zreladdr-y
      addresses == 0x[0-f][08]00_0000 + TEXT_OFFSET can be determined at
      run-time.
      
      Option CONFIG_AUTO_ZRELADDR and CONFIG_ZRELADDR are introduced,
      CONFIG_ZRELADDR _must_ be explicitly specified if:
      
      - ((zreladdr-y - TEXT_OFFSET) & ~0xf8000000) != 0, which means
        masking PC with 0xf8000000 will result in an incorrect address.
        Currently this is only a problem on u300.
      
      - or the assumption of the zImage being loaded by the bootloader within
        the first 128MB of RAM is incorrect
      
      - or when ZBOOT_ROM is used, where the above assumption is usually wrong.
      
      [ukleinek: changed mask from 0xf0000000 to 0xf8000000 for mx1 and shark
      + some review fixes from the mailing list]
      Original-Idea-and-Signed-off-by: NNicolas Pitre <nicolas.pitre@linaro.org>
      Signed-off-by: NEric Miao <eric.miao@canonical.com>
      Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      e69edc79
  5. 07 7月, 2010 3 次提交
  6. 24 6月, 2010 1 次提交
  7. 17 6月, 2010 5 次提交
  8. 06 5月, 2010 1 次提交
  9. 14 4月, 2010 1 次提交
  10. 08 4月, 2010 1 次提交
  11. 15 3月, 2010 2 次提交
  12. 13 3月, 2010 1 次提交
    • M
      ARM: 5985/2: ARM: Fix Samsung build after "ARM: Eliminate decompressor -Dstatic= PIC hack" · a2302b45
      Mark Brown 提交于
      Commit 5de813b6 (ARM: Eliminate decompressor -Dstatic= PIC hack) among
      other things changed the declared type of the error() function to an
      extern, conflicting with the forward declartion in the Samsung
      plat/uncompress.h which appears to have been relying on the static
      being defined away, causing build failures since error() ends up with
      a GOT relocation but the linker script discards all GOT relocated
      data and functions:
      
      arch/arm/boot/compressed/decompress.o: In function `gunzip':
      /home/broonie/git/linux-2.6/arch/arm/boot/compressed/../../../../lib/decompress_
      +inflate.c:68: undefined reference to `error'
      
      and so on. Fix this by moving the declaration into uncompress/misc.c
      where it is shared with the rest of the code, correcting the definition
      as we go.
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      a2302b45
  13. 26 2月, 2010 2 次提交
    • R
      ARM: Fix decompressor's kernel size estimation for ROM=y · 98e12b5a
      Russell King 提交于
      Commit 2552fc27 changed the way the decompressor decides if it is safe
      to decompress the kernel directly to its final location.  Unfortunately,
      it took the top of the compressed data as being the stack pointer,
      which it is for ROM=n cases.  However, for ROM=y, the stack pointer
      is not relevant, and results in the wrong answer.
      
      Fix this by explicitly storing the end of the biggybacked data in the
      decompressor, and use that to calculate the compressed image size.
      
      CC: <stable@kernel.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      98e12b5a
    • R
      ARM: Eliminate decompressor -Dstatic= PIC hack · 5de813b6
      Russell King 提交于
      We used to build decompressors with -Dstatic= to avoid any local data
      being generated.  The problem is that local data generates GOTOFF
      relocations, which means we can't relocate the data relative to the
      text segment.
      
      Global data, on the other hand, goes through the GOT, and can be
      relocated anywhere.
      
      Unfortunately, with the new decompressors, this presents a problem
      since they declare static data within functions, and this leads to
      stack overflow.
      
      Fix this by separating out the decompressor code into a separate file,
      and removing 'static' from BSS data in misc.c.
      
      Also, discard the .data section - this means that should we end up
      with read/write initialized data, the decompressor will fail to link
      and the problem will be obvious.
      Acked-by: NNicolas Pitre <nico@fluxnic.net>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      5de813b6
  14. 13 2月, 2010 1 次提交
  15. 20 1月, 2010 1 次提交
  16. 18 1月, 2010 1 次提交
    • T
      ARM: 5882/1: ARM: Fix uncompress code compile for different defines of flush(void) · b53e9b5e
      Tony Lindgren 提交于
      Because of the include of the decompress_inflate.c file from
      boot/compress/misc.c, there are different flush() defines:
      
      In file included from arch/arm/boot/compressed/misc.c:249:
      arch/arm/boot/compressed/../../../../lib/decompress_inflate.c:138:29: error: macro "flush" passed 2 arguments, but takes just 0
      
      Fix this by removing the define of flush() in misc.c for
      CONFIG_DEBUG_ICEDCC as it's already defined in mach/uncompress.h,
      and that is being included unconditionally.
      
      Also use a static inline function instead of define
      for mach-mxc and mach-gemini to avoid similar bug
      for those platforms.
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      b53e9b5e
  17. 12 1月, 2010 1 次提交
  18. 28 11月, 2009 1 次提交
  19. 16 9月, 2009 1 次提交
  20. 26 7月, 2009 1 次提交
  21. 24 7月, 2009 3 次提交
  22. 20 6月, 2009 1 次提交
  23. 30 5月, 2009 1 次提交
    • C
      Add core support for ARMv6/v7 big-endian · 26584853
      Catalin Marinas 提交于
      Starting with ARMv6, the CPUs support the BE-8 variant of big-endian
      (byte-invariant). This patch adds the core support:
      
      - setting of the BE-8 mode via the CPSR.E register for both kernel and
        user threads
      - big-endian page table walking
      - REV used to rotate instructions read from memory during fault
        processing as they are still little-endian format
      - Kconfig and Makefile support for BE-8. The --be8 option must be passed
        to the final linking stage to convert the instructions to
        little-endian
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      26584853
  24. 31 3月, 2009 1 次提交
    • R
      arm: allow usage of string functions in linux/string.h · aa0d3bb7
      Rusty Russell 提交于
      In introducing a trivial "strstarts()" function in linux/string.h, we
      hit:
      
      	arch/arm/boot/compressed/misc.o: In function `strstarts':
      	misc.c:(.text+0x368): undefined reference to `strlen'
      	misc.c:(.text+0x378): undefined reference to `strncmp'
      
      This is because of "CFLAGS_misc.o := -Dstatic=" in the Makefile.
      "static inline strstarts(...)" becomes non-inline, and refers to the
      other string ops.
      
      The simplest workaround is to include asm/string.h.  This makes sense
      anyway, since lib/string.c won't be linked against this so we can't
      use those functions anyway.
      
      Compile tested here.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      aa0d3bb7
  25. 25 3月, 2009 1 次提交
  26. 23 3月, 2009 1 次提交
    • E
      [ARM] pxa: add base support for Marvell's PXA168 processor line · 49cbe786
      Eric Miao 提交于
      """The Marvell® PXA168 processor is the first in a family of application
      processors targeted at mass market opportunities in computing and consumer
      devices. It balances high computing and multimedia performance with low
      power consumption to support extended battery life, and includes a wealth
      of integrated peripherals to reduce overall BOM cost .... """
      
      See http://www.marvell.com/featured/pxa168.jsp for more information.
      
        1. Marvell Mohawk core is a hybrid of xscale3 and its own ARM core,
           there are many enhancements like instructions for flushing the
           whole D-cache, and so on
      
        2. Clock reuses Russell's common clkdev, and added the basic support
           for UART1/2.
      
        3. Devices are a bit different from the 'mach-pxa' way, the platform
           devices are now dynamically allocated only when necessary (i.e.
           when pxa_register_device() is called). Description for each device
           are stored in an array of 'struct pxa_device_desc'. Now that:
      
           a. this array of device description is marked with __initdata and
              can be freed up system is fully up
      
           b. which means board code has to add all needed devices early in
              his initializing function
      
           c. platform specific data can now be marked as __initdata since
              they are allocated and copied by platform_device_add_data()
      
        4. only the basic UART1/2/3 are added, more devices will come later.
      Signed-off-by: NJason Chagas <chagas@marvell.com>
      Signed-off-by: NEric Miao <eric.miao@marvell.com>
      49cbe786
  27. 28 2月, 2009 1 次提交
  28. 19 2月, 2009 1 次提交
  29. 02 12月, 2008 1 次提交
  30. 27 11月, 2008 1 次提交