12 Jan, 2012

1 commit


01 Nov, 2011

1 commit


27 Oct, 2011

1 commit


22 Jul, 2011

5 commits


30 May, 2011

1 commit

  • Without an IRQ chip set, we now get a WARN_ON and no timer interrupt. This
    prevents booting.

    Fortunately, the fix is a one-liner: set up the timer IRQ like everything
    else.

    Signed-off-by: Rusty Russell
    Cc: stable@kernel.org # .39.x

    Rusty Russell
     

20 May, 2011

1 commit

  • …x/kernel/git/tip/linux-2.6-tip

    * 'timers-clocksource-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    clocksource: convert mips to generic i8253 clocksource
    clocksource: convert x86 to generic i8253 clocksource
    clocksource: convert footbridge to generic i8253 clocksource
    clocksource: add common i8253 PIT clocksource
    blackfin: convert to clocksource_register_hz
    mips: convert to clocksource_register_hz/khz
    sparc: convert to clocksource_register_hz/khz
    alpha: convert to clocksource_register_hz
    microblaze: convert to clocksource_register_hz/khz
    ia64: convert to clocksource_register_hz/khz
    x86: Convert remaining x86 clocksources to clocksource_register_hz/khz
    Make clocksource name const

    Linus Torvalds
     

14 May, 2011

1 commit


07 May, 2011

1 commit

  • - Documentation/kvm/ to Documentation/virtual/kvm
    - Documentation/uml/ to Documentation/virtual/uml
    - Documentation/lguest/ to Documentation/virtual/lguest
    throughout the kernel source tree.

    Signed-off-by: Rob Landley
    Signed-off-by: Randy Dunlap

    Rob Landley
     

18 Mar, 2011

1 commit


12 Mar, 2011

1 commit


22 Feb, 2011

1 commit


20 Jan, 2011

3 commits

  • Honor the kconfig menu hierarchy to remove kconfig dependency warnings:
    VIRTIO and VIRTIO_RING are subordinate to VIRTUALIZATION.

    warning: (LGUEST_GUEST) selects VIRTIO which has unmet direct dependencies (VIRTUALIZATION)
    warning: (LGUEST_GUEST && VIRTIO_PCI && VIRTIO_BALLOON) selects VIRTIO_RING which has unmet direct dependencies (VIRTUALIZATION && VIRTIO)

    Reported-by: Toralf F_rster
    Signed-off-by: Randy Dunlap
    Signed-off-by: Rusty Russell

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

    Rusty Russell
     
  • Use this_cpu_ops in a couple of places in lguest.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Rusty Russell

    Christoph Lameter
     

04 Jan, 2011

1 commit

  • v2.6.36-rc8-54-gb40827f (x86-32, mm: Add an initial page table
    for core bootstrapping) made x86 boot using initial_page_table
    and broke lguest.

    For 2.6.37 we simply cut & paste the initialization code into
    lguest (da32dac10126 "lguest: populate initial_page_table"), now
    we fix it properly by doing that initialization before the
    paravirt jump.

    Signed-off-by: Rusty Russell
    Acked-by: Jeremy Fitzhardinge
    Cc: lguest
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Cc: Peter Zijlstra
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Rusty Russell
     

16 Dec, 2010

3 commits

  • Two x86 patches broke lguest:
    1) v2.6.35-492-g72d7c3b, which changed x86 to use the memblock allocator.

    In lguest, the host places linear page tables at the top of mem, which
    used to be enough to get us up to the swapper_pg_dir page tables. With
    the first patch, the direct mapping tables used that memory:

    Before: kernel direct mapping tables up to 4000000 @ 7000-1a000
    After: kernel direct mapping tables up to 4000000 @ 3fed000-4000000

    I initially fixed this by lying about the amount of memory we had, so
    the kernel wouldn't blatt the lguest boot pagetables (yuk!), but then...

    2) v2.6.36-rc8-54-gb40827f, which made x86 boot use initial_page_table.

    This was initialized in a part of head_32.S which isn't executed by
    lguest; it is then copied into swapper_pg_dir. So we have to initialize
    it; and anyway we switch to it before we blatt the old tables, so that
    fixes the previous damage as well.

    For the moment, I cut & pasted the code into lguest's boot code, but
    next merge window I will merge them.

    Signed-off-by: Rusty Russell
    Cc: Jeremy Fitzhardinge
    Cc: Konrad Rzeszutek Wilk
    To: x86@kernel.org

    Rusty Russell
     
  • lguest is dumb and drops *all* the pagetables for set_pte (which is
    only used for kernel mapping manipulation, so it's OK without highmem).

    But it's used a lot in boot, too. As a guest optimization, we
    suppressed this flushing until the first page switch. Now we have
    initial_page_table, that happens much earlier, so extend the heuristic
    to wait until we switch to something other than the swapper_pg_dir or
    initial_page_table.

    As measured on my laptop under kvm, this dropped the time-to-mount-root
    from 48 seconds to 4.3 seconds.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • fe25c7fc2e "x86: lguest: Convert to new irq chip functions" converted
    enable_lguest_irq() to take a struct irq_data *, but didn't fix the one
    internal caller.

    Signed-off-by: Rusty Russell
    To: x86@kernel.org

    Rusty Russell
     

12 Oct, 2010

2 commits


21 Sep, 2010

1 commit


29 May, 2010

1 commit


14 Apr, 2010

1 commit

  • This is a partial revert of 4cd8b5e2a159 "lguest: use KVM hypercalls";
    we revert to using (just as questionable but more reliable) int $15 for
    hypercalls. I didn't revert the register mapping, so we still use the
    same calling convention as kvm.

    KVM in more recent incarnations stopped injecting a fault when a guest
    tried to use the VMCALL instruction from ring 1, so lguest under kvm
    fails to make hypercalls. It was nice to share code with our KVM
    cousins, but this was overreach.

    Signed-off-by: Rusty Russell
    Cc: Matias Zabaljauregui
    Cc: Avi Kivity

    Rusty Russell
     

15 Mar, 2010

1 commit

  • acpi=ht was important in 2003 -- before ACPI was
    universally deployed and enabled by default in
    the major Linux distributions.

    At that time, there were a fair number of people who
    or chose to, or needed to, run with acpi=off,
    yet also wanted access to Hyper-threading.

    Today we find that many invocations of "acpi=ht"
    are accidental, and thus is it possible that it
    is doing more harm than good.

    In 2.6.34, we warn on invocation of acpi=ht.
    In 2.6.35, we delete the boot option.

    Signed-off-by: Len Brown

    Len Brown
     

23 Sep, 2009

1 commit


16 Sep, 2009

1 commit

  • get/set_wallclock() have already a set of platform dependent
    implementations (default, EFI, paravirt). MRST will add another
    variant.

    Moving them to platform ops simplifies the existing code and minimizes
    the effort to integrate new variants.

    Signed-off-by: Feng Tang
    LKML-Reference:
    Signed-off-by: Thomas Gleixner

    Feng Tang
     

31 Aug, 2009

3 commits

  • TSC calibration is modified by the vmware hypervisor and paravirt by
    separate means. Moorestown wants to add its own calibration routine as
    well. So make calibrate_tsc a proper x86_init_ops function and
    override it by paravirt or by the early setup of the vmware
    hypervisor.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • The timer init code is convoluted with several quirks and the paravirt
    timer chooser. Figuring out which code path is actually taken is not
    for the faint hearted.

    Move the numaq TSC quirk to tsc_pre_init x86_init_ops function and
    replace the paravirt time chooser and the remaining x86 quirk with a
    simple x86_init_ops function.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • irq_init is overridden by x86_quirks and by paravirts. Unify the whole
    mess and make it an unconditional x86_init_ops function which defaults
    to the standard function and can be overridden by the early platform
    code.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     

27 Aug, 2009

1 commit

  • memory_setup is overridden by x86_quirks and by paravirts with weak
    functions and quirks. Unify the whole mess and make it an
    unconditional x86_init_ops function which defaults to the standard
    function and can be overridden by the early platform code.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     

30 Jul, 2009

2 commits

  • 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
     

17 Jul, 2009

2 commits


12 Jun, 2009

2 commits