12 Jan, 2012
1 commit
-
Make sure the interrupt is allocated correctly by lguest_setup_irq (check the
return value of irq_alloc_desc_at for -ENOMEM)Signed-off-by: Stratos Psomadakis
Signed-off-by: Rusty Russell (cleanups and commentry)
01 Nov, 2011
1 commit
-
We need this in advance of the module.h cleanup, or we'll
get compile errors like this:CC drivers/lguest/lguest_device.o
drivers/lguest/lguest_device.c: In function ‘lguest_devices_init’:
drivers/lguest/lguest_device.c:490: error: ‘THIS_MODULE’ undeclared (first use in this function)Signed-off-by: Paul Gortmaker
27 Oct, 2011
1 commit
-
Host might be running under KVM, but we shouldn't allow Guest to think it
can use KVM hypercalls (it can't, and it will embarrass itself if it tries).Signed-off-by: Rusty Russell
22 Jul, 2011
5 commits
-
The comment is outdated, wikipedia now has six translations of the cpuid
page.Signed-off-by: Adrian Knoth
Signed-off-by: Rusty Russell -
This patch fixes three typos I've accidentally spotted.
Signed-off-by: Adrian Knoth
Signed-off-by: Rusty Russell (one was already fixed) -
Also removes a long-unused #define and an extraneous semicolon.
Signed-off-by: Rusty Russell
-
We switch back from using vmcall in 091ebf07a2408f9a56634caa0f86d9360e9af23b
because it was unreliable under kvm, but I missed one (rarely-used) place.Signed-off-by: Rusty Russell
-
The Host used to create some page tables for the Guest to use at the
top of Guest memory; it would then tell the Guest where this was. In
particular, it created linear mappings for 0 and 0xC0000000 addresses
because lguest used to switch to its real page tables quite late in
boot.However, since d50d8fe19 Linux initialized boot page tables in
head_32.S even before the "are we lguest?" boot jump. So, now we can
simplify things: the Host pagetable code assumes 1:1 linear mapping
until it first calls the LHCALL_NEW_PGTABLE hypercall, which we now do
before we reach C code.This also means that the Host doesn't need to know anything about the
Guest's PAGE_OFFSET. (Non-Linux guests might not even have such a
thing).Signed-off-by: Rusty Russell
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
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
14 May, 2011
1 commit
-
…into timers/clocksource
Conflicts:
arch/ia64/kernel/cyclone.c
arch/mips/kernel/i8253.c
arch/x86/kernel/i8253.cReason: Resolve conflicts so further cleanups do not conflict further
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
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
18 Mar, 2011
1 commit
-
They were generated by 'codespell' and then manually reviewed.
Signed-off-by: Lucas De Marchi
Cc: trivial@kernel.org
LKML-Reference:
Signed-off-by: Ingo Molnar
12 Mar, 2011
1 commit
-
genirq is switching to a consistent name space for the irq related
functions. Convert x86. Conversion was done with coccinelle.Signed-off-by: Thomas Gleixner
22 Feb, 2011
1 commit
-
This converts the remaining x86 clocksources to use
clocksource_register_hz/khz.CC: jacob.jun.pan@intel.com
CC: Glauber Costa
CC: Dimitri Sivanich
CC: Rusty Russell
CC: Jeremy Fitzhardinge
CC: Chris McDermott
CC: Thomas Gleixner
Tested-by: Konrad Rzeszutek Wilk [xen]
Signed-off-by: John Stultz
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 -
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 assignmentSigned-off-by: Rusty Russell
-
Use this_cpu_ops in a couple of places in lguest.
Signed-off-by: Christoph Lameter
Signed-off-by: Rusty Russell
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
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-4000000I 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 -
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
-
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
12 Oct, 2010
2 commits
-
Signed-off-by: Thomas Gleixner
Reviewed-by: Ingo Molnar
Cc: Rusty Russell -
Signed-off-by: Thomas Gleixner
Reviewed-by: Ingo Molnar
Cc: Rusty Russell
21 Sep, 2010
1 commit
-
We used to have a hypercall which reloaded the entire GDT, then we
switched to one which loaded a single entry (to match the IDT code).Some comments were not updated, so fix them.
Signed-off-by: Rusty Russell
Reported by: Eviatar Khen
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
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
23 Sep, 2009
1 commit
-
We used to defer it, so lockdep was happy. We now init lockdep early
anyway, so just do it after that.Signed-off-by: Rusty Russell
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
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
-
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
-
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
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
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 -
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
17 Jul, 2009
2 commits
-
Avoid the following:
[ 0.012093] WARNING: at arch/x86/kernel/apic/apic.c:249 native_apic_write_dummy+0x2f/0x40()Rather than chase each new cpuid-detected feature, just lie about the highest
valid CPUID so this code is never run.Signed-off-by: Rusty Russell
-
fix: "make Guest" was complaining about duplicated G:032
Signed-off-by: Matias Zabaljauregui
Signed-off-by: Rusty Russell
12 Jun, 2009
2 commits
-
This version requires that host and guest have the same PAE status.
NX cap is not offered to the guest, yet.Signed-off-by: Matias Zabaljauregui
Signed-off-by: Rusty Russell -
Add support for kvm_hypercall4(); PAE wants it.
Signed-off-by: Matias Zabaljauregui
Signed-off-by: Rusty Russell