linux/arch/powerpc/include/asm
Paul Mackerras a8bd19ef4d KVM: PPC: Book3S: Get/set guest FP regs using the GET/SET_ONE_REG interface
This enables userspace to get and set all the guest floating-point
state using the KVM_[GS]ET_ONE_REG ioctls.  The floating-point state
includes all of the traditional floating-point registers and the
FPSCR (floating point status/control register), all the VMX/Altivec
vector registers and the VSCR (vector status/control register), and
on POWER7, the vector-scalar registers (note that each FP register
is the high-order half of the corresponding VSR).

Most of these are implemented in common Book 3S code, except for VSX
on POWER7.  Because HV and PR differ in how they store the FP and VSX
registers on POWER7, the code for these cases is not common.  On POWER7,
the FP registers are the upper halves of the VSX registers vsr0 - vsr31.
PR KVM stores vsr0 - vsr31 in two halves, with the upper halves in the
arch.fpr[] array and the lower halves in the arch.vsr[] array, whereas
HV KVM on POWER7 stores the whole VSX register in arch.vsr[].

Signed-off-by: Paul Mackerras <paulus@samba.org>
[agraf: fix whitespace, vsx compilation]
Signed-off-by: Alexander Graf <agraf@suse.de>
2012-10-05 23:38:54 +02:00
..
8xx_immap.h powerpc: Fix multicast problem in fs_enet driver 2011-04-21 16:59:30 -07:00
abs_addr.h powerpc: Remove FW_FEATURE ISERIES from arch code 2012-03-21 11:16:11 +11:00
agp.h
asm-compat.h powerpc: Change mtcrf to use real register names 2012-07-10 19:18:11 +10:00
asm-offsets.h
async_tx.h
atomic.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
auxvec.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
backlight.h
barrier.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
bitops.h powerpc: Fix atomic_xxx_return barrier semantics 2011-11-17 16:26:07 +11:00
bitsperlong.h
bootx.h
btext.h
bug.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
bugs.h
byteorder.h
cache.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
cacheflush.h
cell-pmu.h
cell-regs.h
checksum.h
clk_interface.h
cmpxchg.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
code-patching.h powerpc: Have patch_instruction detect faults 2012-07-03 14:14:38 +10:00
compat.h compat: sync compat_stats with statfs. 2011-10-28 14:58:53 +02:00
cpm1.h Fix common misspellings 2011-03-31 11:26:23 -03:00
cpm2.h
cpm.h Fix common misspellings 2011-03-31 11:26:23 -03:00
cputable.h powerpc: Remove unnecessary ifdefs 2012-08-24 20:26:06 +10:00
cputhreads.h powerpc: Fixing a cputhread code documentation 2012-05-22 14:37:00 +10:00
cputime.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-01-06 17:58:22 -08:00
current.h
dbdma.h
dbell.h KVM: PPC: e500mc: Add doorbell emulation support 2012-04-08 12:54:50 +03:00
dcr-generic.h
dcr-mmio.h
dcr-native.h
dcr-regs.h
dcr.h
debug.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
delay.h
device.h powerpc: IOMMU fault injection 2012-07-10 19:18:59 +10:00
disassemble.h
div64.h
dma-mapping.h common: dma-mapping: add support for generic dma_mmap_* calls 2012-07-30 12:25:46 +02:00
dma.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
edac.h
eeh_event.h powerpc/eeh: Replace pci_dn with eeh_dev for EEH aux components 2012-03-09 11:39:46 +11:00
eeh.h powerpc/eeh: pseries platform config space access in EEH 2012-03-09 11:39:51 +11:00
ehv_pic.h irq_domain/powerpc: Use common irq_domain structure instead of irq_host 2012-02-14 14:06:50 -07:00
elf.h treewide: fix potentially dangerous trailing ';' in #defined values/expressions 2011-07-21 14:10:00 +02:00
emergency-restart.h
emulated_ops.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
epapr_hcalls.h PPC: Don't use hardcoded opcode for ePAPR hcall invocation 2012-10-05 23:38:38 +02:00
errno.h
exception-64e.h powerpc/book3e-64: use a separate TLB handler when linear map is bolted 2011-06-29 17:47:48 +10:00
exception-64s.h powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
exec.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
fadump.h fadump: Invalidate registration and release reserved memory for general use. 2012-02-23 10:50:02 +11:00
fb.h
fcntl.h
feature-fixups.h powerpc: Use new CPU feature bit to select 2.06 tlbie 2011-05-04 15:19:26 +10:00
firmware.h powerpc: Remove FW_FEATURE ISERIES from arch code 2012-03-21 11:16:11 +11:00
fixmap.h
floppy.h powerpc/irq: Remove IRQF_DISABLED 2011-11-08 14:51:46 +11:00
fs_pd.h
fsl_85xx_cache_sram.h
fsl_gtm.h
fsl_guts.h powerpc/8xxx: remove 85xx/86xx restrictions from fsl_guts.h 2012-03-29 08:14:07 -05:00
fsl_hcalls.h PPC: Don't use hardcoded opcode for ePAPR hcall invocation 2012-10-05 23:38:38 +02:00
fsl_ifc.h powerpc/fsl: Add support for Integrated Flash Controller 2012-01-04 15:41:22 -06:00
fsl_lbc.h powerpc/85xx: Add lbc suspend support for PM 2011-11-24 02:01:40 -06:00
ftrace.h powerpc/ftrace: Implement raw syscall tracepoints on PowerPC 2011-05-26 13:38:57 +10:00
futex.h powerpc: Fix atomic_xxx_return barrier semantics 2011-11-17 16:26:07 +11:00
gpio.h gpiolib/arches: Centralise bolierplate asm/gpio.h 2012-05-11 18:00:14 -06:00
grackle.h
hardirq.h
heathrow.h
highmem.h highmem: kill all __kmap_atomic() 2012-03-20 21:48:30 +08:00
hugetlb.h powerpc: Define/use HUGETLB_NEED_PRELOAD insead of complicated #if 2011-12-07 16:26:24 +11:00
hvcall.h Merge branch 'next' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2012-05-24 16:17:30 -07:00
hvconsole.h
hvcserver.h
hvsi.h powerpc/hvsi: Fix conflict with old HVSI driver 2011-07-01 13:10:21 +10:00
hw_breakpoint.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
hw_irq.h KVM updates for the 3.6 merge window 2012-07-24 12:01:20 -07:00
hydra.h
i8259.h irq_domain/powerpc: Use common irq_domain structure instead of irq_host 2012-02-14 14:06:50 -07:00
ibmebus.h
ide.h
immap_cpm2.h
immap_qe.h powerpc/qe: set IReady in QE Microcode Upload 2012-07-10 07:08:58 -05:00
io_event_irq.h powerpc/pseries: Add support for IO event interrupts 2011-05-06 13:19:01 +10:00
io-defs.h
io-workarounds.h powerpc/pci: Make IO workarounds init implicit when first bus is registered 2011-04-27 14:18:31 +10:00
io.h powerpc: Disable /dev/port interface on systems without an ISA bridge 2012-07-11 18:22:32 +10:00
ioctl.h
ioctls.h
iommu.h powerpc/iommu: Implement IOMMU pools to improve multiqueue adapter performance 2012-07-03 14:14:48 +10:00
ipcbuf.h
ipic.h
irq_regs.h
irq.h powerpc/irqdomain: Fix broken NR_IRQ references 2012-04-30 10:45:26 +10:00
irqflags.h powerpc: Rework lazy-interrupt handling 2012-03-09 13:25:06 +11:00
jump_label.h static keys: Introduce 'struct static_key', static_key_true()/false() and static_key_slow_[inc|dec]() 2012-02-24 10:05:59 +01:00
Kbuild KVM: PPC: Add support for ePAPR idle hcall in host kernel 2012-10-05 23:38:37 +02:00
kdebug.h
kdump.h powerpc: Rename mapping based RELOCATABLE to DYNAMIC_MEMSTART for BookE 2011-12-20 10:20:19 -05:00
kexec.h powerpc: Cleanup crash/kexec code 2011-12-08 14:02:23 +11:00
keylargo.h Typos: change aditional to additional. 2012-02-21 11:40:36 +01:00
kgdb.h
kmap_types.h powerpc: remove km_type definitions 2012-07-24 15:27:29 +08:00
kprobes.h Fix common misspellings 2011-03-31 11:26:23 -03:00
kvm_44x.h KVM: PPC: booke: add sregs support 2011-05-22 08:47:53 -04:00
kvm_asm.h KVM: PPC: Restrict PPC_[L|ST]D macro to asm code 2012-05-06 16:19:08 +02:00
kvm_book3s_32.h KVM: PPC: Use get/set for to_svcpu to help preemption 2012-03-05 14:52:30 +02:00
kvm_book3s_64.h KVM: PPC: Book3S HV: Make the guest hash table size configurable 2012-05-30 11:43:10 +02:00
kvm_book3s_asm.h powerpc: Add VDSO version of getcpu 2012-07-11 14:18:40 +10:00
kvm_book3s.h KVM: PPC: Book3S HV: Handle memory slot deletion and modification correctly 2012-10-05 23:38:51 +02:00
kvm_booke_hv_asm.h KVM: PPC: bookehv: Allow duplicate calls of DO_KVM macro 2012-10-05 23:38:50 +02:00
kvm_booke.h KVM: PPC: factor out lpid allocator from book3s_64_mmu_hv 2012-04-08 12:51:02 +03:00
kvm_fpu.h
kvm_host.h KVM: PPC: Move kvm->arch.slot_phys into memslot.arch 2012-10-05 23:38:51 +02:00
kvm_para.h KVM: PPC: use definitions in epapr header for hcalls 2012-10-05 23:38:36 +02:00
kvm_ppc.h KVM: PPC: Book3S: Get/set guest FP regs using the GET/SET_ONE_REG interface 2012-10-05 23:38:54 +02:00
kvm.h KVM: PPC: Book3S: Get/set guest FP regs using the GET/SET_ONE_REG interface 2012-10-05 23:38:54 +02:00
libata-portmap.h
linkage.h
local64.h
local.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
lppaca.h powerpc: Reformat lppaca.h 2012-04-30 15:37:16 +10:00
lv1call.h powerpc/ps3: Correct lv1 repository routine names 2012-04-24 15:34:16 -07:00
machdep.h powerpc: Remove NO_IRQ_IGNORE 2012-03-28 11:32:01 +11:00
macio.h treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
mc146818rtc.h
mediabay.h
mman.h
mmu_context.h powerpc: Add Initiate Coprocessor Store Word (icswx) support 2011-05-04 15:19:26 +10:00
mmu-8xx.h
mmu-40x.h
mmu-44x.h
mmu-book3e.h KVM: PPC: booke: category E.HV (GS-mode) support 2012-04-08 12:51:19 +03:00
mmu-hash32.h
mmu-hash64.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-03-28 14:41:36 -07:00
mmu.h powerpc/mm: remove obsolete comment about page size name array 2012-07-03 14:14:50 +10:00
mmzone.h Fix node_start/end_pfn() definition for mm/page_cgroup.c 2011-06-27 14:13:09 -07:00
module.h
mpc5xxx.h
mpc6xx.h
mpc8xx.h
mpc52xx_psc.h
mpc52xx.h
mpc5121.h
mpc8260.h
mpic_msgr.h powerpc/mpic_msgr: Add missing includes 2012-08-24 20:26:04 +10:00
mpic.h powerpc/mpic: Properly set default triggers 2012-04-23 11:04:30 +10:00
msgbuf.h
msi_bitmap.h
mutex.h
nvram.h
ohare.h
opal.h powerpc/powernv: Update OPAL interfaces 2011-12-07 18:02:02 +11:00
oprofile_impl.h
paca.h powerpc: Rework lazy-interrupt handling 2012-03-09 13:25:06 +11:00
page_32.h
page_64.h powerpc: Only define HAVE_ARCH_HUGETLB_UNMAPPED_AREA if PPC_MM_SLICES 2011-12-07 16:26:21 +11:00
page.h powerpc: Define virtual-physical translations for RELOCATABLE 2011-12-20 10:21:34 -05:00
param.h
parport.h
pasemi_dma.h Fix common misspellings 2011-03-31 11:26:23 -03:00
pci-bridge.h powerpc/PCI: register busn_res for root buses 2012-06-13 15:42:24 -06:00
pci.h powerpc/PCI: compute I/O space bus-to-resource offset consistently 2012-03-20 10:41:44 -07:00
percpu.h
perf_event_fsl_emb.h
perf_event_server.h powerpc/perf: Fix instruction address sampling on 970 and Power4 2012-03-28 11:33:24 +11:00
perf_event.h powerpc/perf: Move code to select SIAR or pt_regs into perf_read_regs 2012-07-10 19:18:41 +10:00
pgalloc-32.h
pgalloc-64.h
pgalloc.h mm, powerpc: move the RCU page-table freeing into generic code 2011-05-25 08:39:16 -07:00
pgtable-ppc32.h
pgtable-ppc64-4k.h
pgtable-ppc64-64k.h
pgtable-ppc64.h powerpc: Whitespace fix to include/asm/pgtable-ppc64.h 2011-06-29 17:48:16 +10:00
pgtable.h powerpc: Add pgprot_cached_noncoherent() 2011-11-25 14:32:52 +11:00
pmac_feature.h Fix common misspellings 2011-03-31 11:26:23 -03:00
pmac_low_i2c.h
pmac_pfunc.h
pmc.h
pmi.h
poll.h
posix_types.h bury __kernel_nlink_t, make internal nlink_t consistent 2012-05-30 21:04:50 -04:00
ppc4xx.h
ppc_asm.h powerpc: Enforce usage of R0-R31 where possible 2012-07-10 19:18:30 +10:00
ppc-opcode.h powerpc: Enforce usage of RA 0-R31 where possible 2012-07-10 19:18:35 +10:00
ppc-pci.h Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-03-23 14:02:12 -07:00
processor.h powerpc/pseries/cpuidle: Replace pseries_notify_cpuidle_add call with notifier 2012-07-03 14:14:40 +10:00
prom.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
ps3.h
ps3av.h
ps3fb.h
ps3gpu.h
ps3stor.h
pSeries_reconfig.h powerpc/pseries: Add pseries update notifier for OFDT prop changes 2012-05-14 10:49:06 +10:00
pte-8xx.h
pte-40x.h
pte-44x.h
pte-book3e.h powerpc: Hugetlb for BookE 2011-09-20 09:19:40 +10:00
pte-common.h powerpc: Don't write protect kernel text with CONFIG_DYNAMIC_FTRACE enabled 2011-04-18 13:08:21 +10:00
pte-fsl-booke.h
pte-hash32.h
pte-hash64-4k.h
pte-hash64-64k.h treewide: fix a few typos in comments 2011-05-10 10:16:21 +02:00
pte-hash64.h
ptrace.h powerpc: Remove old powerpc specific ptrace getregs/setregs calls 2012-04-30 15:37:28 +10:00
qe_ic.h powerpc: qe_ic: Rename get_irq_desc_data and get_irq_desc_chip 2011-03-30 15:38:02 +02:00
qe.h powerpc/qe: set IReady in QE Microcode Upload 2012-07-10 07:08:58 -05:00
reg_8xx.h
reg_a2.h powerpc: Add early debug for WSP platforms 2011-05-06 13:32:41 +10:00
reg_booke.h KVM: PPC: booke: Add watchdog emulation 2012-10-05 23:38:47 +02:00
reg_fsl_emb.h
reg.h powerpc: Add "memory" attribute for mfmsr() 2012-07-11 15:25:45 +10:00
resource.h
rheap.h
rio.h powerpc/fsl_rio: Fix compile error when CONFIG_FSL_RIO not set 2011-06-02 15:29:08 -05:00
rtas.h Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
rtc.h
runlatch.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
scatterlist.h
scom.h powerpc: Add SCOM infrastructure 2011-04-20 17:01:19 +10:00
seccomp.h
sections.h powerpc: Copy down exception vectors after feature fixups 2011-11-16 14:47:54 +11:00
sembuf.h
serial.h
setjmp.h
setup.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
sfp-machine.h
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
smp.h powerpc: Random little legacy iSeries removal tidy ups 2012-03-28 11:33:23 +11:00
smu.h treewide: fix potentially dangerous trailing ';' in #defined values/expressions 2011-07-21 14:10:00 +02:00
socket.h net: Add framework to allow sending packets with customized CRC. 2012-02-24 01:37:35 -08:00
sockios.h
sparsemem.h powerpc: Fix oops when echoing bad values to /sys/devices/system/memory/probe 2011-09-20 15:53:23 +10:00
spinlock_types.h
spinlock.h powerpc: Remove the remaining CONFIG_PPC_ISERIES pieces 2012-03-21 11:16:12 +11:00
spu_csa.h
spu_info.h
spu_priv1.h Fix common misspellings 2011-03-31 11:26:23 -03:00
spu.h Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2012-01-08 12:19:57 -08:00
sstep.h
stat.h powerpc: Fix size of st_nlink on 64bit 2012-06-02 10:44:11 -04:00
statfs.h
string.h
swab.h
swiotlb.h
switch_to.h Merge branch 'next' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2012-05-24 16:17:30 -07:00
synch.h powerpc: Fix atomic_xxx_return barrier semantics 2011-11-17 16:26:07 +11:00
syscall.h powerpc/ftrace: Implement raw syscall tracepoints on PowerPC 2011-05-26 13:38:57 +10:00
syscalls.h
systbl.h Cross Memory Attach 2011-10-31 17:30:44 -07:00
tce.h powerpc/powernv: Add TCE SW invalidation support 2011-11-25 14:32:57 +11:00
termbits.h
termios.h
thread_info.h powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
time.h KVM: PPC: Use clockevent multiplier and shifter for decrementer 2012-05-06 16:19:07 +02:00
timex.h
tlb.h mm, powerpc: move the RCU page-table freeing into generic code 2011-05-25 08:39:16 -07:00
tlbflush.h powerpc/mm: Standardise on MMU_NO_CONTEXT 2011-04-20 16:59:20 +10:00
topology.h sched/numa: Rewrite the CONFIG_NUMA sched domain support 2012-05-09 15:00:55 +02:00
trace.h powerpc: tracing: Avoid tracepoint duplication with DECLARE_EVENT_CLASS 2012-07-03 14:14:41 +10:00
tsi108_irq.h
tsi108_pci.h
tsi108.h
types.h Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2012-01-08 12:19:57 -08:00
uaccess.h powerpc: Use the new generic strncpy_from_user() and strnlen_user() 2012-05-27 21:00:07 -07:00
ucc_fast.h
ucc_slow.h
ucc.h
ucontext.h
udbg.h powerpc: Random little legacy iSeries removal tidy ups 2012-03-28 11:33:23 +11:00
uic.h
unaligned.h
uninorth.h Revert wrong fixes for common misspellings 2011-04-26 23:31:11 -07:00
unistd.h ipc: use Kconfig options for __ARCH_WANT_[COMPAT_]IPC_PARSE_VERSION 2012-07-30 17:25:21 -07:00
user.h
vdso_datapage.h Fix common misspellings 2011-03-31 11:26:23 -03:00
vdso.h powerpc: Add VDSO version of getcpu 2012-07-11 14:18:40 +10:00
vga.h
vio.h powerpc: Call dma_debug_add_bus for PCI and VIO buses 2012-07-10 19:18:57 +10:00
word-at-a-time.h powerpc: Use the new generic strncpy_from_user() and strnlen_user() 2012-05-27 21:00:07 -07:00
wsp.h powerpc: Add WSP platform 2011-05-06 13:32:35 +10:00
xics.h irq_domain/powerpc: Use common irq_domain structure instead of irq_host 2012-02-14 14:06:50 -07:00
xilinx_intc.h
xilinx_pci.h
xmon.h
xor.h