linux/arch/powerpc/kernel
Alexander Graf f7adbba1e5 KVM: PPC: Keep SRR1 flags around in shadow_msr
SRR1 stores more information that just the MSR value. It also stores
valuable information about the type of interrupt we received, for
example whether the storage interrupt we just got was because of a
missing htab entry or not.

We use that information to speed up the exit path.

Now if we get preempted before we can interpret the shadow_msr values,
we get into vcpu_put which then calls the MSR handler, which then sets
all the SRR1 information bits in shadow_msr to 0. Great.

So let's preserve the SRR1 specific bits in shadow_msr whenever we set
the MSR. They don't hurt.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Avi Kivity <avi@redhat.com>
2010-03-01 12:35:56 -03:00
..
vdso32 powerpc: Fix segment mapping in vdso32 2009-10-27 16:42:40 +11:00
vdso64 Use macros for .data.page_aligned section. 2009-09-21 06:27:08 +02:00
.gitignore
align.c powerpc: Handle VSX alignment faults correctly in little-endian mode 2009-12-18 14:55:43 +11:00
asm-offsets.c KVM: PPC: Keep SRR1 flags around in shadow_msr 2010-03-01 12:35:56 -03:00
audit.c
btext.c
cacheinfo.c
cacheinfo.h
clock.c
compat_audit.c
cpu_setup_6xx.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
cpu_setup_44x.S
cpu_setup_fsl_booke.S powerpc/fsl-booke: Enable L1 cache on e500v1/e500v2/e500mc CPUs 2009-06-15 21:45:30 -05:00
cpu_setup_pa6t.S
cpu_setup_ppc970.S
cputable.c powerpc: broadway processor support 2009-12-12 22:24:29 -07:00
crash.c powerpc: Remove get_irq_desc() 2009-10-30 17:20:55 +11:00
crash_dump.c powerpc: Unify opcode definitions and support 2009-02-23 10:48:56 +11:00
dbell.c powerpc: Add support for using doorbells for SMP IPI 2009-02-23 15:53:03 +11:00
dma-iommu.c powerpc: Change archdata dma_data to a union 2009-09-24 15:31:43 +10:00
dma-swiotlb.c powerpc: Kill unused swiotlb variable 2009-11-24 17:00:24 +11:00
dma.c powerpc: Rename get_dma_direct_offset get_dma_offset 2009-09-24 15:31:43 +10:00
entry_32.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
entry_64.S powerpc: Clear MSR_RI during RTAS calls 2010-02-09 13:56:24 +11:00
exceptions-64e.S powerpc/book3e-64: Remove duplicated #include 2009-09-24 15:31:41 +10:00
exceptions-64s.S Merge commit 'origin/master' into next 2009-12-09 17:14:38 +11:00
firmware.c powerpc: Make powerpc_firmware_features __read_mostly 2010-02-09 13:56:07 +11:00
fpu.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
ftrace.c Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-06-20 10:56:46 -07:00
head_8xx.S powerpc/8xx: Fix user space TLB walk in dcbX fixup 2010-01-15 13:26:16 +11:00
head_32.S powerpc: gamecube/wii: early debugging using usbgecko 2009-12-12 22:24:31 -07:00
head_40x.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
head_44x.S powerpc/mm: Cleanup handling of execute permission 2009-08-27 13:12:51 +10:00
head_64.S Make head_64.S aware of KVM real mode code 2009-11-05 16:49:57 +11:00
head_booke.h powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
head_fsl_booke.S powerpc/fsl-booke: replace a hardcoded constant 2010-02-17 21:10:25 -06:00
ibmebus.c powerpc: use dma_map_ops struct 2009-08-28 14:24:10 +10:00
idle.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
idle_6xx.S
idle_e500.S
idle_power4.S
init_task.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
io.c powerpc: tiny memcpy_(to|from)io optimisation 2009-11-04 16:43:12 -07:00
iomap.c
iommu.c iommu-helper: use bitmap library 2009-12-16 07:20:18 -08:00
irq.c powerpc: Convert big_irq_lock to raw_spinlock 2010-02-19 14:52:32 +11:00
isa-bridge.c
kgdb.c powerpc/booke: Introduce new CONFIG options for advanced debug registers 2010-02-17 14:03:16 +11:00
kprobes.c powerpc/booke: Introduce new CONFIG options for advanced debug registers 2010-02-17 14:03:16 +11:00
l2cr_6xx.S
legacy_serial.c
lparcfg.c powerpc: Remove trailing space in messages 2010-02-09 13:56:23 +11:00
machine_kexec.c powerpc: Allow mem=x cmdline to work with 4G+ 2009-05-15 16:43:41 +10:00
machine_kexec_32.c
machine_kexec_64.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
Makefile powerpc/chrp: Use the same RTAS daemon as pSeries 2009-10-30 17:20:53 +11:00
misc.S
misc_32.S powerpc/8xx: Start using dcbX instructions in various copy routines 2009-12-09 17:10:37 +11:00
misc_64.S powerpc: Move VMX and VSX asm code to vector.S 2009-06-09 16:46:25 +10:00
module.c module: cleanup FIXME comments about trimming exception table entries. 2009-06-12 21:47:05 +09:30
module_32.c
module_64.c powerpc: Unify opcode definitions and support 2009-02-23 10:48:56 +11:00
mpc7450-pmu.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
msi.c powerpc/PCI: include pci.h in powerpc MSI implementation 2009-03-25 08:54:29 -07:00
nvram_64.c arch/powerpc: Fix continuation line formats 2010-02-09 13:55:05 +11:00
of_device.c powerpc/of: Fix usage of dev_set_name() in of_device_alloc() 2009-06-26 16:55:35 +10:00
of_platform.c of: unify phandle name in struct device_node 2010-01-28 14:06:53 -07:00
paca.c powerpc: Add PACA fields specific to 64-bit Book3E processors 2009-08-20 10:25:08 +10:00
pci-common.c PCI: add pci_bus_for_each_resource(), remove direct bus->resource[] refs 2010-02-23 09:43:31 -08:00
pci_32.c powerpc/pci: Merge ppc32 and ppc64 versions of phb_scan() 2009-09-02 15:45:53 +10:00
pci_64.c of: add 'of_' prefix to machine_is_compatible() 2010-02-09 08:33:00 -07:00
pci_dn.c powerpc/pci: Move pseries code into pseries platform specific area 2009-05-21 15:44:24 +10:00
pci_of_scan.c powerpc: Remove trailing space in messages 2010-02-09 13:56:23 +11:00
perf_callchain.c perf: Fix inconsistency between IP and callchain sampling 2010-01-28 14:31:20 +01:00
perf_event.c perf_events: Simplify code by removing cpu argument to hw_perf_group_sched_in() 2010-02-26 10:56:53 +01:00
pmc.c powerpc: Convert pmc_owner_lock to raw_spinlock 2010-02-19 14:52:33 +11:00
power4-pmu.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
power5+-pmu.c powerpc: perf_event: Enable SDAR in continous sample mode 2009-10-28 16:13:02 +11:00
power5-pmu.c powerpc: perf_event: Enable SDAR in continous sample mode 2009-10-28 16:13:02 +11:00
power6-pmu.c powerpc: perf_event: Enable SDAR in continous sample mode 2009-10-28 16:13:02 +11:00
power7-pmu.c powerpc: perf_event: Enable SDAR in continous sample mode 2009-10-28 16:13:02 +11:00
ppc32.h
ppc970-pmu.c powerpc: perf_event: Enable SDAR in continous sample mode 2009-10-28 16:13:02 +11:00
ppc_ksyms.c KVM: PPC: Export __giveup_vsx 2010-03-01 12:35:52 -03:00
ppc_save_regs.S
proc_powerpc.c powerpc: Move /proc/ppc64 to /proc/powerpc and add symlink 2009-10-30 17:20:53 +11:00
process.c powerpc/booke: Add support for advanced debug registers 2010-02-17 14:03:17 +11:00
prom.c of: move definition of of_chosen into common code. 2010-02-14 07:13:55 -07:00
prom_init.c powerpc/pseries: Pass more accurate number of supported cores to firmware 2010-02-04 14:33:54 +11:00
prom_init_check.sh powerpc: Print linux_banner in prom_init 2009-03-11 17:11:33 +11:00
prom_parse.c powerpc: Fix of_node_put() exit path in of_irq_map_one() 2009-04-20 12:18:43 -06:00
ptrace.c powerpc/booke: Add support for advanced debug registers 2010-02-17 14:03:17 +11:00
ptrace32.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
reloc_64.S
rtas-proc.c powerpc: Move /proc/ppc64 to /proc/powerpc update 2010-01-15 13:26:17 +11:00
rtas-rtc.c
rtas.c locking: Convert __raw_spin* functions to arch_spin* 2009-12-14 23:55:32 +01:00
rtas_flash.c powerpc: Move /proc/ppc64 to /proc/powerpc and add symlink 2009-10-30 17:20:53 +11:00
rtas_pci.c powerpc/pci: Clean up direct access to sysdata by RTAS 2009-05-21 15:44:23 +10:00
rtasd.c powerpc/chrp: Use the same RTAS daemon as pSeries 2009-10-30 17:20:53 +11:00
setup-common.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2009-12-14 09:58:24 -08:00
setup.h
setup_32.c swiotlb: Defer swiotlb init printing, export swiotlb_print_info() 2009-11-10 12:32:00 +01:00
setup_64.c Merge commit 'origin/master' into next 2009-12-09 17:14:38 +11:00
signal.c powerpc/booke: Add support for advanced debug registers 2010-02-17 14:03:17 +11:00
signal.h powerpc: Sanitize stack pointer in signal handling code 2009-03-27 16:58:24 +11:00
signal_32.c powerpc/booke: Add support for advanced debug registers 2010-02-17 14:03:17 +11:00
signal_64.c powerpc: Sanitize stack pointer in signal handling code 2009-03-27 16:58:24 +11:00
smp-tbsync.c
smp.c powerpc: Move cpu hotplug driver lock from pseries to powerpc 2010-01-15 13:26:18 +11:00
softemu8xx.c
stacktrace.c
suspend.c
swsusp.c
swsusp_32.S powerpc/swsusp_32: Fix TLB invalidation 2010-01-15 13:20:07 +11:00
swsusp_64.c
swsusp_asm64.S
sys_ppc32.c sysctl: Introduce a generic compat sysctl sysctl 2009-11-06 03:52:55 -08:00
syscalls.c Unify sys_mmap* 2009-12-11 06:44:29 -05:00
sysfs.c sysfs/cpu: Add probe/release files 2009-12-09 17:09:33 +11:00
systbl.S
systbl_chk.c
systbl_chk.sh
tau_6xx.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
time.c powerpc: Add timer, performance monitor and machine check counts to /proc/interrupts 2010-02-17 14:02:49 +11:00
traps.c powerpc: Convert die.lock to raw_spinlock 2010-02-19 14:52:33 +11:00
udbg.c powerpc: gamecube/wii: early debugging using usbgecko 2009-12-12 22:24:31 -07:00
udbg_16550.c trivial: fix typo "for for" in multiple files 2009-09-21 15:14:54 +02:00
vdso.c tree-wide: fix a very frequent spelling mistake 2009-11-09 09:40:54 +01:00
vecemu.c
vector.S powerpc: Fix usage of 64-bit instruction in 32-bit altivec code 2009-12-09 18:10:12 +11:00
vio.c powerpc: Change archdata dma_data to a union 2009-09-24 15:31:43 +10:00
vmlinux.lds.S module: handle ppc64 relocating kcrctabs when CONFIG_RELOCATABLE=y 2009-12-15 16:28:34 +10:30