1. 04 11月, 2010 1 次提交
    • C
      ARM: 6384/1: Remove the domain switching on ARMv6k/v7 CPUs · 247055aa
      Catalin Marinas 提交于
      This patch removes the domain switching functionality via the set_fs and
      __switch_to functions on cores that have a TLS register.
      
      Currently, the ioremap and vmalloc areas share the same level 1 page
      tables and therefore have the same domain (DOMAIN_KERNEL). When the
      kernel domain is modified from Client to Manager (via the __set_fs or in
      the __switch_to function), the XN (eXecute Never) bit is overridden and
      newer CPUs can speculatively prefetch the ioremap'ed memory.
      
      Linux performs the kernel domain switching to allow user-specific
      functions (copy_to/from_user, get/put_user etc.) to access kernel
      memory. In order for these functions to work with the kernel domain set
      to Client, the patch modifies the LDRT/STRT and related instructions to
      the LDR/STR ones.
      
      The user pages access rights are also modified for kernel read-only
      access rather than read/write so that the copy-on-write mechanism still
      works. CPU_USE_DOMAINS gets disabled only if the hardware has a TLS register
      (CPU_32v6K is defined) since writing the TLS value to the high vectors page
      isn't possible.
      
      The user addresses passed to the kernel are checked by the access_ok()
      function so that they do not point to the kernel space.
      Tested-by: NAnton Vorontsov <cbouatmailru@gmail.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      247055aa
  2. 13 3月, 2009 1 次提交
  3. 06 9月, 2008 1 次提交
  4. 02 7月, 2006 1 次提交
    • T
      [ARM] 3692/1: ARM: coswitch irq handling to the generic implementation · 4a2581a0
      Thomas Gleixner 提交于
      Patch from Thomas Gleixner
      
      From: Thomas Gleixner <tglx@linutronix.de>
      
      Switch the ARM irq core handling to the generic implementation. The
      ARM specific header files now contain mostly migration stubs and
      helper macros. Note that each machine type must be converted after
      this step seperately. This was seperated out from the patch for easier
      review.
      
      The main changes for the machine type code is the conversion of the
      type handlers to a 'type flow' and 'chip' model. This affects only the
      multiplex interrupt handlers. A conversion macro needs to be added to
      those implementations, which defines the data structure which is
      registered by the set_irq_chained_handler() macro.
      
      Some minor fixups of include files and the conversion of data
      structure access is necessary all over the place.
      
      The mostly macro based conversion was provided to allow an easy
      migration of the existing implementations.
      
      The code compiles on all defconfigs available in arch/arm/configs
      except those which were broken also before applying the conversion
      patches.
      
      The code has been boot and runtime tested on most ARM platforms. The
      results of an extensive testing and bugfixing series can be found
      at: http://www.linutronix.de/index.php?page=testingSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      4a2581a0
  5. 13 1月, 2006 1 次提交
  6. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4