1. 15 Feb, 2013 1 commit
    • H. Peter Anvin's avatar
      Merge branch 'x86/mm2' into x86/mm · 0da3e7f5
      H. Peter Anvin authored
      x86/mm2 is testing out fine, but has developed conflicts with x86/mm
      due to patches in adjacent code.  Merge them so we can drop x86/mm2
      and have a unified branch.
      
      Resolved Conflicts:
      	arch/x86/kernel/setup.c
      0da3e7f5
  2. 14 Feb, 2013 1 commit
  3. 12 Feb, 2013 4 commits
    • H. Peter Anvin's avatar
      x86, doc: Clarify the use of asm("%edx") in uaccess.h · ff52c3b0
      H. Peter Anvin authored
      Put in a comment that explains that the use of asm("%edx") in
      uaccess.h doesn't actually necessarily mean %edx alone.
      
      Cc: Jamie Lokier <jamie@shareable.org>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: H. J. Lu <hjl.tools@gmail.com>
      Link: http://lkml.kernel.org/r/511ACDFB.1050707@zytor.comSigned-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      ff52c3b0
    • H. Peter Anvin's avatar
      x86, mm: Redesign get_user with a __builtin_choose_expr hack · 3578baae
      H. Peter Anvin authored
      Instead of using a bitfield, use an odd little trick using typeof,
      __builtin_choose_expr, and sizeof.  __builtin_choose_expr is
      explicitly defined to not convert its type (its argument is required
      to be a constant expression) so this should be well-defined.
      
      The code is still not 100% preturbation-free versus the baseline
      before 64-bit get_user(), but the differences seem to be very small,
      mostly related to padding and to gcc deciding when to spill registers.
      
      Cc: Jamie Lokier <jamie@shareable.org>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: H. J. Lu <hjl.tools@gmail.com>
      Link: http://lkml.kernel.org/r/511A8922.6050908@zytor.comSigned-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      3578baae
    • H. Peter Anvin's avatar
      x86: Be consistent with data size in getuser.S · 16640165
      H. Peter Anvin authored
      Consistently use the data register by name and use a sized assembly
      instruction in getuser.S.  There is never any reason to macroize it,
      and being inconsistent in the same file is just annoying.
      
      No actual code change.
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      16640165
    • H. Peter Anvin's avatar
      x86, mm: Use a bitfield to mask nuisance get_user() warnings · b390784d
      H. Peter Anvin authored
      Even though it is never executed, gcc wants to warn for casting from
      a large integer to a pointer.  Furthermore, using a variable with
      __typeof__() doesn't work because __typeof__ retains storage
      specifiers (const, restrict, volatile).
      
      However, we can declare a bitfield using sizeof(), which is legal
      because sizeof() is a constant expression.  This quiets the warning,
      although the code generated isn't 100% identical from the baseline
      before 96477b4c x86-32: Add support for 64bit get_user():
      
      [x86-mb is baseline, x86-mm is this commit]
      
         text      data        bss     filename
      113716147  15858380   35037184   tip.x86-mb/o.i386-allconfig/vmlinux
      113716145  15858380   35037184   tip.x86-mm/o.i386-allconfig/vmlinux
       12989837   3597944   12255232   tip.x86-mb/o.i386-modconfig/vmlinux
       12989831   3597944   12255232   tip.x86-mm/o.i386-modconfig/vmlinux
        1462784    237608    1401988   tip.x86-mb/o.i386-noconfig/vmlinux
        1462837    237608    1401964   tip.x86-mm/o.i386-noconfig/vmlinux
        7938994    553688    7639040   tip.x86-mb/o.i386-pae/vmlinux
        7943136    557784    7639040   tip.x86-mm/o.i386-pae/vmlinux
        7186126    510572    6574080   tip.x86-mb/o.i386/vmlinux
        7186124    510572    6574080   tip.x86-mm/o.i386/vmlinux
      103747269  33578856   65888256   tip.x86-mb/o.x86_64-allconfig/vmlinux
      103746949  33578856   65888256   tip.x86-mm/o.x86_64-allconfig/vmlinux
       12116695  11035832   20160512   tip.x86-mb/o.x86_64-modconfig/vmlinux
       12116567  11035832   20160512   tip.x86-mm/o.x86_64-modconfig/vmlinux
        1700790    380524     511808   tip.x86-mb/o.x86_64-noconfig/vmlinux
        1700790    380524     511808   tip.x86-mm/o.x86_64-noconfig/vmlinux
       12413612   1133376    1101824   tip.x86-mb/o.x86_64/vmlinux
       12413484   1133376    1101824   tip.x86-mm/o.x86_64/vmlinux
      
      Cc: Jamie Lokier <jamie@shareable.org>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Link: http://lkml.kernel.org/r/20130209110031.GA17833@n2100.arm.linux.org.ukSigned-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      b390784d
  4. 11 Feb, 2013 1 commit
  5. 07 Feb, 2013 1 commit
  6. 01 Feb, 2013 1 commit
  7. 31 Jan, 2013 4 commits
  8. 30 Jan, 2013 11 commits
  9. 29 Jan, 2013 16 commits