1. 07 3月, 2015 2 次提交
  2. 06 3月, 2015 6 次提交
  3. 05 3月, 2015 17 次提交
  4. 04 3月, 2015 3 次提交
  5. 28 2月, 2015 1 次提交
  6. 26 2月, 2015 1 次提交
  7. 25 2月, 2015 2 次提交
  8. 24 2月, 2015 4 次提交
  9. 23 2月, 2015 4 次提交
    • B
      x86/lib/memcpy_64.S: Convert memcpy to ALTERNATIVE_2 macro · e0bc8d17
      Borislav Petkov 提交于
      Make REP_GOOD variant the default after alternatives have run.
      Signed-off-by: NBorislav Petkov <bp@suse.de>
      e0bc8d17
    • B
      x86/lib/memmove_64.S: Convert memmove() to ALTERNATIVE macro · a77600cd
      Borislav Petkov 提交于
      Make it execute the ERMS version if support is present and we're in the
      forward memmove() part and remove the unfolded alternatives section
      definition.
      Signed-off-by: NBorislav Petkov <bp@suse.de>
      a77600cd
    • B
      x86/lib/memset_64.S: Convert to ALTERNATIVE_2 macro · 84d95ad4
      Borislav Petkov 提交于
      Make alternatives replace single JMPs instead of whole memset functions,
      thus decreasing the amount of instructions copied during patching time
      at boot.
      
      While at it, make it use the REP_GOOD version by default which means
      alternatives NOP out the JMP to the other versions, as REP_GOOD is set
      by default on the majority of relevant x86 processors.
      Signed-off-by: NBorislav Petkov <bp@suse.de>
      84d95ad4
    • B
      x86/asm: Cleanup prefetch primitives · a930dc45
      Borislav Petkov 提交于
      This is based on a patch originally by hpa.
      
      With the current improvements to the alternatives, we can simply use %P1
      as a mem8 operand constraint and rely on the toolchain to generate the
      proper instruction sizes. For example, on 32-bit, where we use an empty
      old instruction we get:
      
        apply_alternatives: feat: 6*32+8, old: (c104648b, len: 4), repl: (c195566c, len: 4)
        c104648b: alt_insn: 90 90 90 90
        c195566c: rpl_insn: 0f 0d 4b 5c
      
        ...
      
        apply_alternatives: feat: 6*32+8, old: (c18e09b4, len: 3), repl: (c1955948, len: 3)
        c18e09b4: alt_insn: 90 90 90
        c1955948: rpl_insn: 0f 0d 08
      
        ...
      
        apply_alternatives: feat: 6*32+8, old: (c1190cf9, len: 7), repl: (c1955a79, len: 7)
        c1190cf9: alt_insn: 90 90 90 90 90 90 90
        c1955a79: rpl_insn: 0f 0d 0d a0 d4 85 c1
      
      all with the proper padding done depending on the size of the
      replacement instruction the compiler generates.
      Signed-off-by: NBorislav Petkov <bp@suse.de>
      Cc: H. Peter Anvin <hpa@linux.intel.com>
      a930dc45