30 Jul, 2009

1 commit

  • 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
     

12 Jun, 2009

2 commits

  • We no longer need an efficient mechanism to force the Guest back into
    host userspace, as each device is serviced without bothering the main
    Guest process (aka. the Launcher).

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • Currently, when a Guest wants to perform I/O it calls LHCALL_NOTIFY with
    an address: the main Launcher process returns with this address, and figures
    out what device to run.

    A far nicer model is to let processes bind an eventfd to an address: if we
    find one, we simply signal the eventfd.

    Signed-off-by: Rusty Russell
    Cc: Davide Libenzi

    Rusty Russell
     

30 Dec, 2008

2 commits


28 Mar, 2008

1 commit


04 Feb, 2008

1 commit

  • Previously we used a type/len pair within the config space, but this
    seems overkill. We now simply define a structure which represents the
    layout in the config space: the config space can now only be extended
    at the end.

    The main driver-visible changes:
    1) We indicate what fields are present with an explicit feature bit.
    2) Virtqueues are explicitly numbered, and not in the config space.

    Signed-off-by: Rusty Russell

    Rusty Russell
     

25 Oct, 2007

2 commits


23 Oct, 2007

4 commits

  • 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: Rusty Russell

    Rusty Russell
     
  • This patch gets rid of the old lguest host I/O infrastructure and
    replaces it with a single hypercall "LHCALL_NOTIFY" which takes an
    address.

    The main change is the removal of io.c: that mainly did inter-guest
    I/O, which virtio doesn't yet support.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • This gets rid of the lguest bus, drivers and DMA mechanism, to make
    way for a generic virtio mechanism.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • lguest_launcher.h uses "u32" not "__u32", which sets a bad example. Fix that,
    and include .

    This means we need to use -I on the Launcher build line so types.h is found.

    Signed-off-by: Rusty Russell

    Rusty Russell
     

27 Jul, 2007

1 commit


20 Jul, 2007

1 commit

  • This is the code for the "lg.ko" module, which allows lguest guests to
    be launched.

    [akpm@linux-foundation.org: update for futex-new-private-futexes]
    [akpm@linux-foundation.org: build fix]
    [jmorris@namei.org: lguest: use hrtimers]
    [akpm@linux-foundation.org: x86_64 build fix]
    Signed-off-by: Rusty Russell
    Cc: Andi Kleen
    Cc: Eric Dumazet
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rusty Russell