02 Oct, 2009

1 commit


24 Sep, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
    lguest: don't force VIRTIO_F_NOTIFY_ON_EMPTY
    lguest: cleanup for map_switcher()
    lguest: use PGDIR_SHIFT for PAE code to allow different PAGE_OFFSET
    lguest: use set_pte/set_pmd uniformly for real page table entries
    lguest: move panic notifier registration to its expected place.
    virtio_blk: add support for cache flush
    virtio: add virtio IDs file
    virtio: get rid of redundant VIRTIO_ID_9P definition
    virtio: make add_buf return capacity remaining
    virtio_pci: minor MSI-X cleanups

    Linus Torvalds
     

23 Sep, 2009

3 commits


21 Sep, 2009

1 commit


30 Jul, 2009

4 commits

  • I've been doing this for years, and akpm picked me up on it about 12
    months ago. lguest partly serves as example code, so let's do it Right.

    Also, remove two unused fields in struct vblk_info in the example launcher.

    Signed-off-by: Rusty Russell
    Cc: Ingo Molnar

    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: Rusty Russell
    Cc: Ingo Molnar
    Cc: Paul McKenney

    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: Rusty Russell
    Cc: Ingo Molnar

    Rusty Russell
     
  • "new" was freed and then dereferenced. Also the return value wasn't being
    used so I modified the caller as well.

    Compile tested only. Found by smatch (http://repo.or.cz/w/smatch.git).

    regards,
    dan carpenter

    Signed-off-by: Dan Carpenter
    Signed-off-by: Rusty Russell

    Dan Carpenter
     

17 Jul, 2009

1 commit


01 Jul, 2009

1 commit

  • Change the eventfd interface to de-couple the eventfd memory context, from
    the file pointer instance.

    Without such change, there is no clean way to racely free handle the
    POLLHUP event sent when the last instance of the file* goes away. Also,
    now the internal eventfd APIs are using the eventfd context instead of the
    file*.

    This patch is required by KVM's IRQfd code, which is still under
    development.

    Signed-off-by: Davide Libenzi
    Cc: Gregory Haskins
    Cc: Rusty Russell
    Cc: Benjamin LaHaise
    Cc: Avi Kivity
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Davide Libenzi
     

13 Jun, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest: (31 commits)
    lguest: add support for indirect ring entries
    lguest: suppress notifications in example Launcher
    lguest: try to batch interrupts on network receive
    lguest: avoid sending interrupts to Guest when no activity occurs.
    lguest: implement deferred interrupts in example Launcher
    lguest: remove obsolete LHREQ_BREAK call
    lguest: have example Launcher service all devices in separate threads
    lguest: use eventfds for device notification
    eventfd: export eventfd_signal and eventfd_fget for lguest
    lguest: allow any process to send interrupts
    lguest: PAE fixes
    lguest: PAE support
    lguest: Add support for kvm_hypercall4()
    lguest: replace hypercall name LHCALL_SET_PMD with LHCALL_SET_PGD
    lguest: use native_set_* macros, which properly handle 64-bit entries when PAE is activated
    lguest: map switcher with executable page table entries
    lguest: fix writev returning short on console output
    lguest: clean up length-used value in example launcher
    lguest: Segment selectors are 16-bit long. Fix lg_cpu.ss1 definition.
    lguest: beyond ARRAY_SIZE of cpu->arch.gdt
    ...

    Linus Torvalds
     

12 Jun, 2009

15 commits


27 May, 2009

1 commit


19 Apr, 2009

2 commits

  • 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: Rusty Russell
    Cc: lguest@ozlabs.org

    Rusty Russell
     
  • Typical message: 'lguest: unhandled trap 6 at 0x418726 (0x0)'

    vmlinux guests were broken by 4cd8b5e2a159f18a1507f1187b44a1acbfa6341b
    '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: Rusty Russell
    Tested-by: Patrick McHardy

    Matias Zabaljauregui
     

30 Mar, 2009

3 commits


28 Mar, 2009

1 commit


09 Mar, 2009

1 commit

  • Impact: remove lots of lguest boot WARN_ON() when CONFIG_SPARSE_IRQ=y

    We now need to call irq_to_desc_alloc_cpu() before
    set_irq_chip_and_handler_name(), but we can't do that from init_IRQ (no
    kmalloc available).

    So do it as we use interrupts instead. Also means we only alloc for
    irqs we use, which was the intent of CONFIG_SPARSE_IRQ anyway.

    Signed-off-by: Rusty Russell
    Cc: Ingo Molnar

    Rusty Russell
     

23 Feb, 2009

1 commit

  • Impact: remove unused/broken code

    The Voyager subarch last built successfully on the v2.6.26 kernel
    and has been stale since then and does not build on the v2.6.27,
    v2.6.28 and v2.6.29-rc5 kernels.

    No actual users beyond the maintainer reported this breakage.
    Patches were sent and most of the fixes were accepted but the
    discussion around how to do a few remaining issues cleanly
    fizzled out with no resolution and the code remained broken.

    In the v2.6.30 x86 tree development cycle 32-bit subarch support
    has been reworked and removed - and the Voyager code, beyond the
    build problems already known, needs serious and significant
    changes and probably a rewrite to support it.

    CONFIG_X86_VOYAGER has been marked BROKEN then. The maintainer has
    been notified but no patches have been sent so far to fix it.

    While all other subarchs have been converted to the new scheme,
    voyager is still broken. We'd prefer to receive patches which
    clean up the current situation in a constructive way, but even in
    case of removal there is no obstacle to add that support back
    after the issues have been sorted out in a mutually acceptable
    fashion.

    So remove this inactive code for now.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     

30 Jan, 2009

2 commits


07 Jan, 2009

1 commit