1. 31 Oct, 2011 1 commit
    • Paul Gortmaker's avatar
      arm: convert core files from module.h to export.h · ecea4ab6
      Paul Gortmaker authored
      Many of the core ARM kernel files are not modules, but just
      including module.h for exporting symbols.  Now these files can
      use the lighter footprint export.h for this role.
      
      There are probably lots more, but ARM files of mach-* and plat-*
      don't get coverage via a simple yesconfig build.  They will have
      to be cleaned up and tested via using their respective configs.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      ecea4ab6
  2. 17 Oct, 2011 3 commits
  3. 21 Aug, 2011 2 commits
  4. 12 Aug, 2011 1 commit
  5. 18 Jul, 2011 1 commit
  6. 07 Jul, 2011 1 commit
    • Will Deacon's avatar
      ARM: hwcaps: add new HWCAP defines for ARMv7-A · 254cdf8e
      Will Deacon authored
      Modern ARMv7-A cores can optionally implement these new hardware
      features:
      
      - VFPv4:
          The latest version of the ARMv7 vector floating-point extensions,
          including hardware support for fused multiple accumulate. D16 or D32
          variants may be implemented.
      
      - Integer divide:
          The SDIV and UDIV instructions provide signed and unsigned integer
          division in hardware. When implemented, these instructions may be
          available in either both Thumb and ARM, or Thumb only.
      
      This patch adds new HWCAP defines to describe these new features. The
      integer divide capabilities are split into two bits for ARM and Thumb
      respectively. Whilst HWCAP_IDIVA should never be set if HWCAP_IDIVT is
      clear, separating the bits makes it easier to interpret from userspace.
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      254cdf8e
  7. 05 Jul, 2011 1 commit
  8. 24 Jun, 2011 1 commit
  9. 23 May, 2011 2 commits
    • Grant Likely's avatar
      arm/dt: probe for platforms via the device tree · 93c02ab4
      Grant Likely authored
      If a dtb is passed to the kernel then the kernel needs to iterate
      through compiled-in mdescs looking for one that matches and move the
      dtb data to a safe location before it gets accidentally overwritten by
      the kernel.
      
      This patch creates a new function, setup_machine_fdt() which is
      analogous to the setup_machine_atags() created in the previous patch.
      It does all the early setup needed to use a device tree machine
      description.
      
      v5: - Print warning with neither dtb nor atags are passed to the kernel
          - Fix bug in setting of __machine_arch_type to the selected machine,
            not just the last machine in the list.
      Reported-by: default avatarTixy <tixy@yxit.co.uk>
          - Copy command line directly into boot_command_line instead of cmd_line
      v4: - Dump some output when a matching machine_desc cannot be found
      v3: - Added processing of reserved list.
          - Backed out the v2 change that copied instead of reserved the
            dtb.  dtb is reserved again and the real problem was fixed by
            using alloc_bootmem_align() for early allocation of RAM for
            unflattening the tree.
          - Moved cmd_line and initrd changes to earlier patch to make series
            bisectable.
      v2: Changed to save the dtb by copying into an allocated buffer.
          - Since the dtb will very likely be passed in the first 16k of ram
            where the interrupt vectors live, memblock_reserve() is
            insufficient to protect the dtb data.
      
      [based on work originally written by Jeremy Kerr <jeremy.kerr@canonical.com>]
      Tested-by: default avatarTony Lindgren <tony@atomide.com>
      Acked-by: default avatarNicolas Pitre <nicolas.pitre@linaro.org>
      Acked-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      93c02ab4
    • Grant Likely's avatar
      arm/dt: consolidate atags setup into setup_machine_atags · 6291319d
      Grant Likely authored
      In preparation for adding device tree support, this patch consolidates
      all of the atag-specific setup into a single function.
      
      v5: - drop double printk("Machine; %s\n", ...); call.
          - leave copying boot_command_line in setup_arch() since it isn't
            atags specific.
      v4: - adapt to the removal of lookup_machine_type()
          - break out dump of machine_desc table into dump_machine_table()
            because the device tree probe code will use it.
          - Add for_each_machine_desc() macro
      Tested-by: default avatarTony Lindgren <tony@atomide.com>
      Acked-by: default avatarNicolas Pitre <nicolas.pitre@linaro.org>
      Acked-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      6291319d
  10. 12 May, 2011 1 commit
  11. 11 May, 2011 1 commit
  12. 24 Mar, 2011 1 commit
    • Olaf Hering's avatar
      crash_dump: export is_kdump_kernel to modules, consolidate elfcorehdr_addr,... · 93a72052
      Olaf Hering authored
      crash_dump: export is_kdump_kernel to modules, consolidate elfcorehdr_addr, setup_elfcorehdr and saved_max_pfn
      
      The Xen PV drivers in a crashed HVM guest can not connect to the dom0
      backend drivers because both frontend and backend drivers are still in
      connected state.  To run the connection reset function only in case of a
      crashdump, the is_kdump_kernel() function needs to be available for the PV
      driver modules.
      
      Consolidate elfcorehdr_addr, setup_elfcorehdr and saved_max_pfn into
      kernel/crash_dump.c Also export elfcorehdr_addr to make is_kdump_kernel()
      usable for modules.
      
      Leave 'elfcorehdr' as early_param().  This changes powerpc from __setup()
      to early_param().  It adds an address range check from x86 also on ia64
      and powerpc.
      
      [akpm@linux-foundation.org: additional #includes]
      [akpm@linux-foundation.org: remove elfcorehdr_addr export]
      [akpm@linux-foundation.org: fix for Tejun's mm/nobootmem.c changes]
      Signed-off-by: default avatarOlaf Hering <olaf@aepfle.de>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      93a72052
  13. 23 Feb, 2011 2 commits
    • Nicolas Pitre's avatar
      ARM: 6748/1: ignore mdesc->boot_params if out of range · 3572bea8
      Nicolas Pitre authored
      The initial MMU table created in head.S contains a 1 MB mapping at the
      start of memory to let the early kernel boot code access the boot params
      specified by mdesc->boot_params.
      
      When using CONFIG_ARM_PATCH_PHYS_VIRT it is possible for the kernel to
      have a different idea of where the start of memory is at run time, making
      the compile-time determined mdesc->boot_params pointing to a memory area
      which is not mapped.  Any access to the boot params in that case will
      fault and silently hang the kernel at that point.  It is therefore a
      better idea to simply ignore mdesc->boot_params in that case and give
      the kernel a chance to print some diagnostic on the console later.
      
      If the bootloader provides a valid pointer in r2 to the kernel then this
      is used instead of mdesc->boot_params, and an explicit mapping is already
      created in the initial MMU table for it.  It is therefore a good idea to
      use that facility when using a relocated kernel.
      Signed-off-by: default avatarNicolas Pitre <nicolas.pitre@linaro.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      3572bea8
    • Nicolas Pitre's avatar
      ARM: 6749/1: fold lookup_machine_type() into setup_machine() · dce72dd0
      Nicolas Pitre authored
      Since commit 6fc31d54 there is no callers for lookup_machine_type()
      other than setup_machine(). And if the former fails it won't return,
      therefore the error path in the later is dead code.  Let's clean
      things up by merging them together.
      Signed-off-by: default avatarNicolas Pitre <nicolas.pitre@linaro.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      dce72dd0
  14. 21 Feb, 2011 1 commit
  15. 19 Feb, 2011 1 commit
  16. 17 Feb, 2011 1 commit
  17. 15 Feb, 2011 2 commits
  18. 14 Jan, 2011 1 commit
  19. 12 Jan, 2011 1 commit
  20. 24 Dec, 2010 3 commits
  21. 05 Dec, 2010 1 commit
  22. 08 Oct, 2010 2 commits
  23. 04 Oct, 2010 2 commits
    • Will Deacon's avatar
      ARM: 6385/1: setup: detect aliasing I-cache when D-cache is non-aliasing · 8925ec4c
      Will Deacon authored
      Currently, the Kernel assumes that if a CPU has a non-aliasing D-cache
      then the I-cache is also non-aliasing. This may not be true on ARM cores
      from v6 onwards, which may have aliasing I-caches but non-aliasing
      D-caches.
      
      This patch adds a cpu_has_aliasing_icache function, which is called from
      cacheid_init and adds CACHEID_VIPT_I_ALIASING to the cacheid when
      appropriate. A utility macro, icache_is_vipt_aliasing(), is also
      provided.
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      8925ec4c
    • Russell King's avatar
      ARM: Allow SMP kernels to boot on UP systems · f00ec48f
      Russell King authored
      UP systems do not implement all the instructions that SMP systems have,
      so in order to boot a SMP kernel on a UP system, we need to rewrite
      parts of the kernel.
      
      Do this using an 'alternatives' scheme, where the kernel code and data
      is modified prior to initialization to replace the SMP instructions,
      thereby rendering the problematical code ineffectual.  We use the linker
      to generate a list of 32-bit word locations and their replacement values,
      and run through these replacements when we detect a UP system.
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      f00ec48f
  24. 27 Jul, 2010 2 commits
  25. 16 Jul, 2010 1 commit
  26. 09 Jul, 2010 4 commits