1. 16 7月, 2007 7 次提交
  2. 15 6月, 2007 1 次提交
  3. 01 6月, 2007 1 次提交
  4. 22 5月, 2007 1 次提交
    • A
      Detach sched.h from mm.h · e8edc6e0
      Alexey Dobriyan 提交于
      First thing mm.h does is including sched.h solely for can_do_mlock() inline
      function which has "current" dereference inside. By dealing with can_do_mlock()
      mm.h can be detached from sched.h which is good. See below, why.
      
      This patch
      a) removes unconditional inclusion of sched.h from mm.h
      b) makes can_do_mlock() normal function in mm/mlock.c
      c) exports can_do_mlock() to not break compilation
      d) adds sched.h inclusions back to files that were getting it indirectly.
      e) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were
         getting them indirectly
      
      Net result is:
      a) mm.h users would get less code to open, read, preprocess, parse, ... if
         they don't need sched.h
      b) sched.h stops being dependency for significant number of files:
         on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,
         after patch it's only 3744 (-8.3%).
      
      Cross-compile tested on
      
      	all arm defconfigs, all mips defconfigs, all powerpc defconfigs,
      	alpha alpha-up
      	arm
      	i386 i386-up i386-defconfig i386-allnoconfig
      	ia64 ia64-up
      	m68k
      	mips
      	parisc parisc-up
      	powerpc powerpc-up
      	s390 s390-up
      	sparc sparc-up
      	sparc64 sparc64-up
      	um-x86_64
      	x86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig
      
      as well as my two usual configs.
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e8edc6e0
  5. 03 5月, 2007 21 次提交
  6. 27 3月, 2007 2 次提交
    • I
      KVM: always reload segment selectors · 6d9658df
      Ingo Molnar 提交于
      failed VM entry on VMX might still change %fs or %gs, thus make sure
      that KVM always reloads the segment selectors. This is crutial on both
      x86 and x86_64: x86 has __KERNEL_PDA in %fs on which things like
      'current' depends and x86_64 has 0 there and needs MSR_GS_BASE to work.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      6d9658df
    • A
      KVM: Prevent system selectors leaking into guest on real->protected mode transition on vmx · 6af11b9e
      Avi Kivity 提交于
      Intel virtualization extensions do not support virtualizing real mode.  So
      kvm uses virtualized vm86 mode to run real mode code.  Unfortunately, this
      virtualized vm86 mode does not support the so called "big real" mode, where
      the segment selector and base do not agree with each other according to the
      real mode rules (base == selector << 4).
      
      To work around this, kvm checks whether a selector/base pair violates the
      virtualized vm86 rules, and if so, forces it into conformance.  On a
      transition back to protected mode, if we see that the guest did not touch
      a forced segment, we restore it back to the original protected mode value.
      
      This pile of hacks breaks down if the gdt has changed in real mode, as it
      can cause a segment selector to point to a system descriptor instead of a
      normal data segment.  In fact, this happens with the Windows bootloader
      and the qemu acpi bios, where a protected mode memcpy routine issues an
      innocent 'pop %es' and traps on an attempt to load a system descriptor.
      
      "Fix" by checking if the to-be-restored selector points at a system segment,
      and if so, coercing it into a normal data segment.  The long term solution,
      of course, is to abandon vm86 mode and use emulation for big real mode.
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      6af11b9e
  7. 18 3月, 2007 1 次提交
  8. 04 3月, 2007 6 次提交