23 Jul, 2008
1 commit
-
…git/tip/linux-2.6-tip
* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
x86: fix crash due to missing debugctlmsr on AMD K6-3
x86: add PTE_FLAGS_MASK
x86: rename PTE_MASK to PTE_PFN_MASK
x86: fix pte_flags() to only return flags, fix lguest (updated)
x86: use setup_clear_cpu_cap with disable_apic, fix
x86: move the last Dprintk instance to pr_debug()
22 Jul, 2008
13 commits
-
currently if you use PTRACE_SINGLEBLOCK on AMD K6-3 (i586) it will crash.
Kernel now wrongly assumes existing DEBUGCTLMSR MSR register there.Removed the assumption also for some other non-K6 CPUs but I am not sure there
(but it can only bring small inefficiency there if my assumption is wrong).Based on info from Roland McGrath, Chuck Ebbert and Mikulas Patocka.
More info at:
https://bugzilla.redhat.com/show_bug.cgi?id=456175Signed-off-by: Jan Kratochvil
Cc:
Signed-off-by: Ingo Molnar -
PTE_PFN_MASK was getting lonely, so I made it a friend.
Signed-off-by: Jeremy Fitzhardinge
Cc: Rusty Russell
Signed-off-by: Ingo Molnar -
Rusty, in his peevish way, complained that macros defining constants
should have a name which somewhat accurately reflects the actual
purpose of the constant.Aside from the fact that PTE_MASK gives no clue as to what's actually
being masked, and is misleadingly similar to the functionally entirely
different PMD_MASK, PUD_MASK and PGD_MASK, I don't really see what the
problem is.But if this patch silences the incessent noise, then it will have
achieved its goal (TODO: write test-case).Signed-off-by: Jeremy Fitzhardinge
Cc: Rusty Russell
Signed-off-by: Ingo Molnar -
(Jeremy said:
rusty: use PTE_MASK
rusty: use PTE_MASK
rusty: use PTE_MASK
When I asked:
jsgf: does that include the NX flag?
He responded eloquently:
rusty: use PTE_MASK
rusty: use PTE_MASK
yes, it's the official constant of masking flags out of ptes
)Change a15af1c9ea2750a9ff01e51615c45950bad8221b 'x86/paravirt: add
pte_flags to just get pte flags' removed lguest's private pte_flags()
in favor of a generic one.Unfortunately, the generic one doesn't filter out the non-flags bits:
this results in lguest creating corrupt shadow page tables and blowing
up host memory.Since noone is supposed to use the pfn part of pte_flags(), it seems
safest to always do the filtering.Signed-off-by: Rusty Russell
Acked-by: Jeremy Fitzhardinge
Signed-off-and-morning-tea-spilled-by: Ingo Molnar -
beauty fix: /proc/cpuinfo will still show apic feature even if
we booted up with it disabled.Signed-off-by: Yinghai Lu
Signed-off-by: Ingo Molnar -
Use the new generic int attribute accessors for the x86 mce tolerant
attribute. Simple example to illustrate the new macros.There are much more places all over the tree that could be converted
like this.Signed-off-by: Andi Kleen
Signed-off-by: Greg Kroah-Hartman -
This allow to dynamically generate attributes and share show/store
functions between attributes. Right now most attributes are generated
by special macros and lots of duplicated code. With the attribute
passed it's instead possible to attach some data to the attribute
and then use that in shared low level functions to do different things.I need this for the dynamically generated bank attributes in the x86
machine check code, but it'll allow some further cleanups.I converted all users in tree to the new show/store prototype. It's a single
huge patch to avoid unbisectable sections.Runtime tested: x86-32, x86-64
Compiled only: ia64, powerpc
Not compile tested/only grep converted: sh, arm, avr32Signed-off-by: Andi Kleen
Signed-off-by: Greg Kroah-Hartman -
We have the dev_printk() variants for this kind of thing, use them
instead of directly trying to access the bus_id field of struct device.This is done in order to remove bus_id entirely.
Cc: Kay Sievers
Signed-off-by: Greg Kroah-Hartman -
device_create() is race-prone, so use the race-free
device_create_drvdata() instead as device_create() is going away.Cc: Thomas Gleixner
Cc: Ingo Molnar
Cc: H. Peter Anvin
Signed-off-by: Greg Kroah-Hartman -
* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
[CPUFREQ] cpufreq: remove CVS keywords
[CPUFREQ] change cpu freq arrays to per_cpu variables -
The message talked about "left on" when it meant to say disabled.
Signed-off-by: Linus Torvalds
-
Signed-off-by: Thomas Gleixner
-
There are a couple of places where (P)Dprintk is used which is an old
compile time enabled printk wrapper. Convert it to the generic
pr_debug().Signed-off-by: Thomas Gleixner
21 Jul, 2008
7 commits
-
…ore', 'x86/cpu', 'x86/fixmap', 'x86/gart', 'x86/kprobes', 'x86/memtest', 'x86/modules', 'x86/nmi', 'x86/pat', 'x86/reboot', 'x86/setup', 'x86/step', 'x86/unify-pci', 'x86/uv', 'x86/xen' and 'xen-64bit' into x86/for-linus
-
Signed-off-by: Yinghai Lu
Signed-off-by: Ingo Molnar -
... so don't need to call clear_cpu_cap again in early_identify_cpu,
and could use cleared_cpu_caps like other places.Signed-off-by: Yinghai Lu
Signed-off-by: Ingo Molnar
20 Jul, 2008
19 commits
-
The direct mapped shadow code (used for real mode and two dimensional paging)
sets upper-level ptes using direct assignment rather than calling
set_shadow_pte(). A nonpae host will split this into two writes, which opens
up a race if another vcpu accesses the same memory area.Fix by calling set_shadow_pte() instead of assigning directly.
Noticed by Izik Eidus.
Signed-off-by: Avi Kivity
-
If the guest issues a clflush in a mmio address, the instruction
can trap into the hypervisor. Currently, we do not decode clflush
properly, causing the guest to hang. This patch fixes this emulating
clflush (opcode 0f ae).Signed-off-by: Glauber Costa
Signed-off-by: Avi Kivity -
Harden kvm_mmu_zap_page() against invalid root pages that
had been shadowed from memslots that are gone.Signed-off-by: Marcelo Tosatti
Signed-off-by: Avi Kivity -
Flush the shadow mmu before removing regions to avoid stale entries.
Signed-off-by: Marcelo Tosatti
Signed-off-by: Avi Kivity -
Fixes compilation with CONFIG_VMI enabled.
Signed-off-by: Avi Kivity
-
Check that an injected pic irq is between 0 and 15.
Signed-off-by: Ben-Ami Yassour
Signed-off-by: Avi Kivity -
This patch fixes issue encountered with HLT instruction
under FreeDOS's HIMEM XMS Driver.The HLT instruction jumped directly to the done label and
skips updating the EIP value, therefore causing the guest
to spin endlessly on the same instruction.The patch changes the instruction so that it writes back
the updated EIP value.Signed-off-by: Mohammed Gamal
Signed-off-by: Avi Kivity -
Signed-off-by: Avi Kivity
-
Fix a potention issue caused by kvm_mmu_slot_remove_write_access(). The
old behavior don't sync EPT TLB with modified EPT entry, which result
in inconsistent content of EPT TLB and EPT table.Signed-off-by: Sheng Yang
Signed-off-by: Avi Kivity -
kvm_mmu_zap_page() needs slots lock held (rmap_remove->gfn_to_memslot,
for example).Since kvm_lock spinlock is held in mmu_shrink(), do a non-blocking
down_read_trylock().Untested.
Signed-off-by: Avi Kivity
-
This patch makes the needlessly global kvm_smp_prepare_boot_cpu() static.
Signed-off-by: Adrian Bunk
Signed-off-by: Avi Kivity -
On suspend the svm_hardware_disable function is called which frees all svm_data
variables. On resume they are not re-allocated. This patch removes the
deallocation of svm_data from the hardware_disable function to the
hardware_unsetup function which is not called on suspend.Signed-off-by: Joerg Roedel
Signed-off-by: Avi Kivity -
There is no need to grab slots_lock if the vapic_page will not
be touched.Signed-off-by: Marcelo Tosatti
Signed-off-by: Avi Kivity -
Older linux guests (in this case, 2.6.9) can attempt to
access the performance counter MSRs without a fixup section, and injecting
a GPF kills the guest. Work around by allowing the guest to write those MSRs.Tested by me on RHEL-4 i386 and x86_64 guests, as well as F-9 guests.
Signed-off-by: Chris Lalancette
Signed-off-by: Avi Kivity -
The function ept_update_paging_mode_cr0() write to
CPU_BASED_VM_EXEC_CONTROL based on vmcs_config.cpu_based_exec_ctrl. That's
wrong because the variable may not consistent with the content in the
CPU_BASE_VM_EXEC_CONTROL MSR.Signed-off-by: Sheng Yang
Signed-off-by: Avi Kivity -
Signed-off-by: Avi Kivity
-
Signed-off-by: Avi Kivity
-
Instead of prefetching all segment bases before emulation, read them at the
last moment. Since most of them are unneeded, we save some cycles on
Intel machines where this is a bit expensive.Signed-off-by: Avi Kivity
-
Signed-off-by: Avi Kivity