1. 22 7月, 2011 2 次提交
  2. 20 1月, 2011 2 次提交
    • R
      lguest: compile fixes · ced05dd7
      Rusty Russell 提交于
      arch/x86/lguest/boot.c: In function ‘lguest_init_IRQ’:
      arch/x86/lguest/boot.c:824: error: macro "__this_cpu_write" requires 2 arguments, but only 1 given
      arch/x86/lguest/boot.c:824: error: ‘__this_cpu_write’ undeclared (first use in this function)
      arch/x86/lguest/boot.c:824: error: (Each undeclared identifier is reported only once
      arch/x86/lguest/boot.c:824: error: for each function it appears in.)
      
      drivers/lguest/x86/core.c: In function ‘copy_in_guest_info’:
      drivers/lguest/x86/core.c:94: error: lvalue required as left operand of assignment
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      ced05dd7
    • C
      lguest: Use this_cpu_ops · c9f29549
      Christoph Lameter 提交于
      Use this_cpu_ops in a couple of places in lguest.
      Signed-off-by: NChristoph Lameter <cl@linux.com>
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      c9f29549
  3. 14 4月, 2010 1 次提交
    • R
      lguest: workaround cmpxchg8b_emu by ignoring cli in the guest. · 5094aeaf
      Rusty Russell 提交于
      It's only used by cmpxchg8b_emu (see db677ffa for the gory
      details), and fixing that to be paravirt aware would be more work than
      simply ignoring it (and AFAICT only help lguest).  This makes lguest
      work on machines which have cmpxchg8b, for kernels compiled for older
      processors.
      
      (We can't emulate it properly: the popf which expects to restore interrupts
      does not trap).
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Cc: Jeremy Fitzhardinge <jeremy@xensource.com>
      Cc: virtualization@lists.osdl.org
      5094aeaf
  4. 29 10月, 2009 1 次提交
    • T
      percpu: make misc percpu symbols unique · 390dfd95
      Tejun Heo 提交于
      This patch updates misc percpu related symbols such that percpu
      symbols are unique and don't clash with local symbols.  This serves
      two purposes of decreasing the possibility of global percpu symbol
      collision and allowing dropping per_cpu__ prefix from percpu symbols.
      
      * drivers/crypto/padlock-aes.c: s/last_cword/paes_last_cword/
      
      * drivers/lguest/x86/core.c: s/last_cpu/lg_last_cpu/
      
      * drivers/s390/net/netiucv.c: rename the variable used in a macro to
        avoid clashing with percpu symbol
      
      * arch/mn10300/kernel/kprobes.c: replace current_ prefix with cur_ for
        static variables.  Please note that percpu symbol current_kprobe
        can't be changed as it's used by generic code.
      
      Partly based on Rusty Russell's "alloc_percpu: rename percpu vars
      which cause name clashes" patch.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Reviewed-by: NChristoph Lameter <cl@linux-foundation.org>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Chuck Ebbert <cebbert@redhat.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
      Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
      Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Masami Hiramatsu <mhiramat@redhat.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: linux390@de.ibm.com
      390dfd95
  5. 30 7月, 2009 2 次提交
    • R
      lguest: update commentry · a91d74a3
      Rusty Russell 提交于
      Every so often, after code shuffles, I need to go through and unbitrot
      the Lguest Journey (see drivers/lguest/README).  Since we now use RCU in
      a simple form in one place I took the opportunity to expand that explanation.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
      a91d74a3
    • R
      lguest: fix comment style · 2e04ef76
      Rusty Russell 提交于
      I don't really notice it (except to begrudge the extra vertical
      space), but Ingo does.  And he pointed out that one excuse of lguest
      is as a teaching tool, it should set a good example.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Cc: Ingo Molnar <mingo@redhat.com>
      2e04ef76
  6. 27 5月, 2009 1 次提交
  7. 19 4月, 2009 2 次提交
    • R
      lguest: fix guest crash on non-linear addresses in gdt pvops · a489f0b5
      Rusty Russell 提交于
      Fixes guest crash 'lguest: bad read address 0x4800000 len 256'
      
      The new per-cpu allocator ends up handing a non-linear address to
      write_gdt_entry.  We do __pa() on it, and hand it to the host, which
      kills us.
      
      I've long wanted to make the hypercall "LOAD_GDT_ENTRY" to match the IDT
      code, but had no pressing reason until now.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Cc: lguest@ozlabs.org
      a489f0b5
    • M
      lguest: fix crash on vmlinux images · 88df781a
      Matias Zabaljauregui 提交于
      Typical message: 'lguest: unhandled trap 6 at 0x418726 (0x0)'
      
      vmlinux guests were broken by 4cd8b5e2
      'lguest: use KVM hypercalls', which rewrites guest text from kvm hypercalls
      to trap 31.
      
      The Launcher mmaps the kernel image.  The Guest executes and
      immediately faults in the first text page (read-only).  Then it hits a
      hypercall, and we rewrite that hypercall, causing a copy-on-write.
      But the Guest pagetables still refer to the old page: we fault again,
      but as Host we see the hypercall already rewritten, and pass the fault
      back to the Guest.  The Guest hasn't set up an IDT yet, so we kill it.
      
      This doesn't happen with bzImages: they unpack themselves and so the
      text pages are already read-write.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Tested-by: NPatrick McHardy <kaber@trash.net>
      88df781a
  8. 30 3月, 2009 1 次提交
  9. 29 7月, 2008 1 次提交
  10. 26 6月, 2008 1 次提交
  11. 20 6月, 2008 1 次提交
    • S
      x86: fix NULL pointer deref in __switch_to · 54481cf8
      Suresh Siddha 提交于
      I am able to reproduce the oops reported by Simon in __switch_to() with
      lguest.
      
      My debug showed that there is at least one lguest specific
      issue (which should be present in 2.6.25 and before aswell) and it got
      exposed with a kernel oops with the recent fpu dynamic allocation patches.
      
      In addition to the previous possible scenario (with fpu_counter), in the
      presence of lguest, it is possible that the cpu's TS bit it still set and the
      lguest launcher task's thread_info has TS_USEDFPU still set.
      
      This is because of the way the lguest launcher handling the guest's TS bit.
      (look at lguest_set_ts() in lguest_arch_run_guest()). This can result
      in a DNA fault while doing unlazy_fpu() in __switch_to(). This will
      end up causing a DNA fault in the context of new process thats
      getting context switched in (as opossed to handling DNA fault in the context
      of lguest launcher/helper process).
      
      This is wrong in both pre and post 2.6.25 kernels. In the recent
      2.6.26-rc series, this is showing up as NULL pointer dereferences or
      sleeping function called from atomic context(__switch_to()), as
      we free and dynamically allocate the FPU context for the newly
      created threads. Older kernels might show some FPU corruption for processes
      running inside of lguest.
      
      With the appended patch, my test system is running for more than 50 mins
      now. So atleast some of your oops (hopefully all!) should get fixed.
      Please give it a try. I will spend more time with this fix tomorrow.
      Reported-by: NSimon Holm Thøgersen <odie@cs.aau.dk>
      Reported-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      54481cf8
  12. 28 3月, 2008 1 次提交
  13. 31 1月, 2008 1 次提交
  14. 30 1月, 2008 14 次提交
  15. 26 1月, 2008 1 次提交
    • G
      cpu-hotplug: replace lock_cpu_hotplug() with get_online_cpus() · 86ef5c9a
      Gautham R Shenoy 提交于
      Replace all lock_cpu_hotplug/unlock_cpu_hotplug from the kernel and use
      get_online_cpus and put_online_cpus instead as it highlights the
      refcount semantics in these operations.
      
      The new API guarantees protection against the cpu-hotplug operation, but
      it doesn't guarantee serialized access to any of the local data
      structures. Hence the changes needs to be reviewed.
      
      In case of pseries_add_processor/pseries_remove_processor, use
      cpu_maps_update_begin()/cpu_maps_update_done() as we're modifying the
      cpu_present_map there.
      Signed-off-by: NGautham R Shenoy <ego@in.ibm.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      86ef5c9a
  16. 25 10月, 2007 2 次提交
  17. 23 10月, 2007 6 次提交