1. 11 7月, 2008 1 次提交
  2. 30 1月, 2008 1 次提交
  3. 30 11月, 2007 1 次提交
    • R
      lguest: prevent VISWS or VOYAGER randconfigs · b8415ec3
      Randy Dunlap 提交于
      Keep lguest from being enabled on VISWS or VOYAGER configs, just as is
      already done for VMI and XEN.  Otherwise randconfigs with VISWS and LGUEST
      have this problem:
      
      In file included from arch/x86/kernel/setup_32.c:61:
      include/asm-x86/mach-visws/setup_arch.h:8:1: warning: "ARCH_SETUP" redefined
      In file included from include/asm/msr.h:80,
                       from include/asm/processor_32.h:17,
                       from include/asm/processor.h:2,
                       from include/asm/thread_info_32.h:16,
                       from include/asm/thread_info.h:2,
                       from include/linux/thread_info.h:21,
                       from include/linux/preempt.h:9,
                       from include/linux/spinlock.h:49,
                       from include/linux/seqlock.h:29,
                       from include/linux/time.h:8,
                       from include/linux/timex.h:57,
                       from include/linux/sched.h:53,
                       from arch/x86/kernel/setup_32.c:24:
      include/asm/paravirt.h:458:1: warning: this is the location of the previous definition
      
      (and of course, this happens because kconfig does not follow dependencies
      when [evil] select is used...)
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b8415ec3
  4. 23 10月, 2007 3 次提交
    • R
      Lguest support for Virtio · 19f1537b
      Rusty Russell 提交于
      This makes lguest able to use the virtio devices.
      
      We change the device descriptor page from a simple array to a variable
      length "type, config_len, status, config data..." format, and
      implement virtio_config_ops to read from that config data.
      
      We use the virtio ring implementation for an efficient Guest <-> Host
      virtqueue mechanism, and the new LHCALL_NOTIFY hypercall to kick the
      host when it changes.
      
      We also use LHCALL_NOTIFY on kernel addresses for very very early
      console output.  We could have another hypercall, but this hack works
      quite well.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      19f1537b
    • R
      Virtio helper routines for a descriptor ringbuffer implementation · 0a8a69dd
      Rusty Russell 提交于
      These helper routines supply most of the virtqueue_ops for hypervisors
      which want to use a ring for virtio.  Unlike the previous lguest
      implementation:
      
      1) The rings are variable sized (2^n-1 elements).
      2) They have an unfortunate limit of 65535 bytes per sg element.
      3) The page numbers are always 64 bit (PAE anyone?)
      4) They no longer place used[] on a separate page, just a separate
         cacheline.
      5) We do a modulo on a variable.  We could be tricky if we cared.
      6) Interrupts and notifies are suppressed using flags within the rings.
      
      Users need only get the ring pages and provide a notify hook (KVM
      wants the guest to allocate the rings, lguest does it sanely).
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Cc: Dor Laor <dor.laor@qumranet.com>
      0a8a69dd
    • R
      Move lguest guest support to arch/x86. · 34b8867a
      Rusty Russell 提交于
      Lguest has two sides: host support (to launch guests) and guest
      support (replacement boot path and paravirt_ops).  This moves the
      guest side to arch/x86/lguest where it's closer to related code.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Cc: Andi Kleen <ak@suse.de>
      34b8867a