1. 30 9月, 2010 1 次提交
    • M
      sh: boot kernel with SR.BL set · 68a1aed7
      Magnus Damm 提交于
      Update the SH kernel to keep SR.BL set until the VBR
      register has been initialized. Useful to allow boot
      of the kernel even though exceptions are pending.
      
      Without this patch there is a window of time when
      exceptions such as NMI are enabled but no exception
      handlers are installed.
      
      This patch modifies both the zImage loader and the
      actual kernel to boot with BL=1, but the zImage
      loader is modfied in such a way that the init_sr
      value is unchanged to not break the zImage loader
      provided by kexec.
      
      Tested on sh7724 Ecovec and on the SH4AL-DSP core
      included in sh7372.
      Signed-off-by: NMagnus Damm <damm@opensource.se>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      68a1aed7
  2. 26 4月, 2010 2 次提交
  3. 03 3月, 2010 1 次提交
  4. 01 3月, 2010 1 次提交
  5. 18 2月, 2010 1 次提交
    • P
      sh: Merge legacy and dynamic PMB modes. · d01447b3
      Paul Mundt 提交于
      This implements a bit of rework for the PMB code, which permits us to
      kill off the legacy PMB mode completely. Rather than trusting the boot
      loader to do the right thing, we do a quick verification of the PMB
      contents to determine whether to have the kernel setup the initial
      mappings or whether it needs to mangle them later on instead.
      
      If we're booting from legacy mappings, the kernel will now take control
      of them and make them match the kernel's initial mapping configuration.
      This is accomplished by breaking the initialization phase out in to
      multiple steps: synchronization, merging, and resizing. With the recent
      rework, the synchronization code establishes page links for compound
      mappings already, so we build on top of this for promoting mappings and
      reclaiming unused slots.
      
      At the same time, the changes introduced for the uncached helpers also
      permit us to dynamically resize the uncached mapping without any
      particular headaches. The smallest page size is more than sufficient for
      mapping all of kernel text, and as we're careful not to jump to any far
      off locations in the setup code the mapping can safely be resized
      regardless of whether we are executing from it or not.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      d01447b3
  6. 16 2月, 2010 1 次提交
  7. 28 1月, 2010 1 次提交
    • P
      sh: Kill off superfluous sh_bios references from compressed loader. · abec86a8
      Paul Mundt 提交于
      The VBR value needs to be initialized in order for any of the bios
      trapping to work, and as we don't do that until slightly later in the
      boot process, this has no real chance of working.
      
      The only reason for using this in the past was due to the fact that early
      serial initialization wasn't possible, but now that early sh-sci is
      supported by everyone, there's no longer any reason to support the
      sh_bios hacks in the first place. Given that, we just kill off the
      references completely.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      abec86a8
  8. 13 1月, 2010 1 次提交
  9. 10 10月, 2009 1 次提交
    • M
      sh: Obliterate the P1 area macros · 8bd642b1
      Matt Fleming 提交于
      Replace the use of PHYSADDR() with __pa(). PHYSADDR() is based on the
      idea that all addresses in P1SEG are untranslated, so we can access an
      address's physical page as an offset from P1SEG. This doesn't work for
      CONFIG_PMB/CONFIG_PMB_FIXED because pages in P1SEG and P2SEG are used
      for PMB mappings and so can be translated to any physical address.
      
      Likewise, replace a P1SEGADDR() use with virt_to_phys().
      Signed-off-by: NMatt Fleming <matt@console-pimps.org>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      8bd642b1
  10. 20 9月, 2009 1 次提交
    • S
      kbuild: use INSTALLKERNEL to select customized installkernel script · caa27b66
      Sam Ravnborg 提交于
      Replace the use of CROSS_COMPILE to select a customized
      installkernel script with the possibility to set INSTALLKERNEL
      to select a custom installkernel script when running make:
      
          make INSTALLKERNEL=arm-installkernel install
      
      With this patch we are now more consistent across
      different architectures - they did not all support use
      of CROSS_COMPILE.
      
      The use of CROSS_COMPILE was a hack as this really belongs
      to gcc/binutils and the installkernel script does not change
      just because we change toolchain.
      
      The use of CROSS_COMPILE caused troubles with an upcoming patch
      that saves CROSS_COMPILE when a kernel is built - it would no
      longer be installable.
      [Thanks to Peter Z. for this hint]
      
      This patch undos what Ian did in commit:
      
        0f8e2d62
        ("use ${CROSS_COMPILE}installkernel in arch/*/boot/install.sh")
      
      The patch has been lightly tested on x86 only - but all changes
      looks obvious.
      Acked-by: NPeter Zijlstra <peterz@infradead.org>
      Acked-by: Mike Frysinger <vapier@gentoo.org> [blackfin]
      Acked-by: Russell King <linux@arm.linux.org.uk> [arm]
      Acked-by: Paul Mundt <lethal@linux-sh.org> [sh]
      Acked-by: "H. Peter Anvin" <hpa@zytor.com> [x86]
      Cc: Ian Campbell <icampbell@arcom.com>
      Cc: Tony Luck <tony.luck@intel.com> [ia64]
      Cc: Fenghua Yu <fenghua.yu@intel.com> [ia64]
      Cc: Hirokazu Takata <takata@linux-m32r.org> [m32r]
      Cc: Geert Uytterhoeven <geert@linux-m68k.org> [m68k]
      Cc: Kyle McMartin <kyle@mcmartin.ca> [parisc]
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> [powerpc]
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> [s390]
      Cc: Thomas Gleixner <tglx@linutronix.de> [x86]
      Cc: Ingo Molnar <mingo@redhat.com> [x86]
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      caa27b66
  11. 24 8月, 2009 1 次提交
    • S
      sh: Remove implicit sign extension from assembler immediates · fea966f7
      Stuart Menefy 提交于
      The SH instruction set has several instructions which accept an 8 bit
      immediate operand. For logical instructions this operand is zero extended,
      for arithmetic instructions the operand is sign extended. After adding an
      option to the assembler to check this, it was found that several pieces
      of assembly code were assuming this behaviour, and in one case
      getting it wrong.
      
      So this patch explicitly sign extends any immediate operands, which makes
      it obvious what is happening, and fixes the one case which got it wrong.
      Signed-off-by: NStuart Menefy <stuart.menefy@st.com>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      fea966f7
  12. 21 7月, 2009 1 次提交
  13. 12 7月, 2009 5 次提交
  14. 11 7月, 2009 1 次提交
    • P
      sh: Decouple mcount from ftrace. · 473d1cf4
      Paul Mundt 提交于
      This adds a general CONFIG_MCOUNT in order to permit mcount generation
      without ftrace support. This is primarily for allowing platforms to
      enable aggressive stack overflow checking without having to enable ftrace
      support. Based on the sparc64 implementation.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      473d1cf4
  15. 09 5月, 2009 4 次提交
  16. 31 10月, 2008 1 次提交
  17. 21 9月, 2008 1 次提交
  18. 08 9月, 2008 1 次提交
  19. 29 7月, 2008 1 次提交
  20. 28 7月, 2008 1 次提交
  21. 26 7月, 2008 1 次提交
    • T
      inflate: refactor inflate malloc code · 2d6ffcca
      Thomas Petazzoni 提交于
      Inflate requires some dynamic memory allocation very early in the boot
      process and this is provided with a set of four functions:
      malloc/free/gzip_mark/gzip_release.
      
      The old inflate code used a mark/release strategy rather than implement
      free.  This new version instead keeps a count on the number of outstanding
      allocations and when it hits zero, it resets the malloc arena.
      
      This allows removing all the mark and release implementations and unifying
      all the malloc/free implementations.
      
      The architecture-dependent code must define two addresses:
       - free_mem_ptr, the address of the beginning of the area in which
         allocations should be made
       - free_mem_end_ptr, the address of the end of the area in which
         allocations should be made. If set to 0, then no check is made on
         the number of allocations, it just grows as much as needed
      
      The architecture-dependent code can also provide an arch_decomp_wdog()
      function call.  This function will be called several times during the
      decompression process, and allow to notify the watchdog that the system is
      still running.  If an architecture provides such a call, then it must
      define ARCH_HAS_DECOMP_WDOG so that the generic inflate code calls
      arch_decomp_wdog().
      
      Work initially done by Matt Mackall, updated to a recent version of the
      kernel and improved by me.
      
      [akpm@linux-foundation.org: coding-style fixes]
      Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Cc: Matt Mackall <mpm@selenic.com>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Mikael Starvik <mikael.starvik@axis.com>
      Cc: Jesper Nilsson <jesper.nilsson@axis.com>
      Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Acked-by: NPaul Mundt <lethal@linux-sh.org>
      Acked-by: NYoshinori Sato <ysato@users.sourceforge.jp>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2d6ffcca
  22. 08 5月, 2008 1 次提交
  23. 16 4月, 2008 1 次提交
  24. 28 1月, 2008 3 次提交
  25. 15 10月, 2007 1 次提交
    • S
      kbuild: enable 'make CFLAGS=...' to add additional options to CC · a0f97e06
      Sam Ravnborg 提交于
      The variable CFLAGS is a wellknown variable and the usage by
      kbuild may result in unexpected behaviour.
      On top of that several people over time has asked for a way to
      pass in additional flags to gcc.
      
      This patch replace use of CFLAGS with KBUILD_CFLAGS all over the
      tree and enabling one to use:
      make CFLAGS=...
      to specify additional gcc commandline options.
      
      One usecase is when trying to find gcc bugs but other
      use cases has been requested too.
      
      Patch was tested on following architectures:
      alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k
      
      Test was simple to do a defconfig build, apply the patch and check
      that nothing got rebuild.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      a0f97e06
  26. 26 7月, 2007 1 次提交
  27. 12 12月, 2006 2 次提交
  28. 06 12月, 2006 1 次提交
  29. 27 9月, 2006 1 次提交