From: Marcelo Tosatti Date: Mon, 29 Oct 2012 21:15:32 +0000 (-0200) Subject: Merge remote-tracking branch 'master' into queue X-Git-Url: http://rtime.felk.cvut.cz/gitweb/can-eth-gw-linux.git/commitdiff_plain/19bf7f8ac3f8131100027281c495dbbe00cd5ae0 Merge remote-tracking branch 'master' into queue Merge reason: development work has dependency on kvm patches merged upstream. Conflicts: arch/powerpc/include/asm/Kbuild arch/powerpc/include/asm/kvm_para.h Signed-off-by: Marcelo Tosatti --- 19bf7f8ac3f8131100027281c495dbbe00cd5ae0 diff --cc arch/powerpc/include/asm/Kbuild index 13d6b7bf3b69,a4fe15e33c6f..324495a08c87 --- a/arch/powerpc/include/asm/Kbuild +++ b/arch/powerpc/include/asm/Kbuild @@@ -1,39 -1,4 +1,3 @@@ - include include/asm-generic/Kbuild.asm - - header-y += auxvec.h - header-y += bootx.h - header-y += byteorder.h - header-y += cputable.h - header-y += elf.h - header-y += errno.h - header-y += fcntl.h - header-y += ioctl.h - header-y += ioctls.h - header-y += ipcbuf.h - header-y += linkage.h - header-y += msgbuf.h - header-y += nvram.h - header-y += param.h - header-y += poll.h - header-y += posix_types.h - header-y += ps3fb.h - header-y += resource.h - header-y += seccomp.h - header-y += sembuf.h - header-y += shmbuf.h - header-y += sigcontext.h - header-y += siginfo.h - header-y += signal.h - header-y += socket.h - header-y += sockios.h - header-y += spu_info.h - header-y += stat.h - header-y += statfs.h - header-y += termbits.h - header-y += termios.h - header-y += types.h - header-y += ucontext.h - header-y += unistd.h - header-y += epapr_hcalls.h - + generic-y += clkdev.h generic-y += rwsem.h diff --cc arch/powerpc/include/asm/kvm_para.h index a168ce37d85c,9365860fb7f6..2b119654b4c1 --- a/arch/powerpc/include/asm/kvm_para.h +++ b/arch/powerpc/include/asm/kvm_para.h @@@ -19,76 -19,9 +19,8 @@@ #ifndef __POWERPC_KVM_PARA_H__ #define __POWERPC_KVM_PARA_H__ - #include - - /* - * Additions to this struct must only occur at the end, and should be - * accompanied by a KVM_MAGIC_FEAT flag to advertise that they are present - * (albeit not necessarily relevant to the current target hardware platform). - * - * Struct fields are always 32 or 64 bit aligned, depending on them being 32 - * or 64 bit wide respectively. - * - * See Documentation/virtual/kvm/ppc-pv.txt - */ - struct kvm_vcpu_arch_shared { - __u64 scratch1; - __u64 scratch2; - __u64 scratch3; - __u64 critical; /* Guest may not get interrupts if == r1 */ - __u64 sprg0; - __u64 sprg1; - __u64 sprg2; - __u64 sprg3; - __u64 srr0; - __u64 srr1; - __u64 dar; /* dear on BookE */ - __u64 msr; - __u32 dsisr; - __u32 int_pending; /* Tells the guest if we have an interrupt */ - __u32 sr[16]; - __u32 mas0; - __u32 mas1; - __u64 mas7_3; - __u64 mas2; - __u32 mas4; - __u32 mas6; - __u32 esr; - __u32 pir; - - /* - * SPRG4-7 are user-readable, so we can only keep these consistent - * between the shared area and the real registers when there's an - * intervening exit to KVM. This also applies to SPRG3 on some - * chips. - * - * This suffices for access by guest userspace, since in PR-mode - * KVM, an exit must occur when changing the guest's MSR[PR]. - * If the guest kernel writes to SPRG3-7 via the shared area, it - * must also use the shared area for reading while in kernel space. - */ - __u64 sprg4; - __u64 sprg5; - __u64 sprg6; - __u64 sprg7; - }; - - #define KVM_SC_MAGIC_R0 0x4b564d21 /* "KVM!" */ - - #define KVM_HCALL_TOKEN(num) _EV_HCALL_TOKEN(EV_KVM_VENDOR_ID, num) - - #include - - #define KVM_FEATURE_MAGIC_PAGE 1 - - #define KVM_MAGIC_FEAT_SR (1 << 0) - - /* MASn, ESR, PIR, and high SPRGs */ - #define KVM_MAGIC_FEAT_MAS0_TO_SPRG7 (1 << 1) - - #ifdef __KERNEL__ + #include - #ifdef CONFIG_KVM_GUEST #include diff --cc arch/powerpc/include/uapi/asm/Kbuild index baebb3da1d44,a33c3c03bb2e..9eedfc5a557b --- a/arch/powerpc/include/uapi/asm/Kbuild +++ b/arch/powerpc/include/uapi/asm/Kbuild @@@ -1,3 -1,44 +1,45 @@@ # UAPI Header export list include include/uapi/asm-generic/Kbuild.asm + header-y += auxvec.h + header-y += bitsperlong.h + header-y += bootx.h + header-y += byteorder.h + header-y += cputable.h + header-y += elf.h + header-y += errno.h + header-y += fcntl.h + header-y += ioctl.h + header-y += ioctls.h + header-y += ipcbuf.h + header-y += kvm.h + header-y += kvm_para.h + header-y += linkage.h + header-y += mman.h + header-y += msgbuf.h + header-y += nvram.h + header-y += param.h + header-y += poll.h + header-y += posix_types.h + header-y += ps3fb.h + header-y += ptrace.h + header-y += resource.h + header-y += seccomp.h + header-y += sembuf.h + header-y += setup.h + header-y += shmbuf.h + header-y += sigcontext.h + header-y += siginfo.h + header-y += signal.h + header-y += socket.h + header-y += sockios.h + header-y += spu_info.h + header-y += stat.h + header-y += statfs.h + header-y += swab.h + header-y += termbits.h + header-y += termios.h + header-y += types.h + header-y += ucontext.h + header-y += unistd.h ++header-y += epapr_hcalls.h diff --cc arch/powerpc/include/uapi/asm/kvm_para.h index 000000000000,5e04383a1db5..ed0e0254b47f mode 000000,100644..100644 --- a/arch/powerpc/include/uapi/asm/kvm_para.h +++ b/arch/powerpc/include/uapi/asm/kvm_para.h @@@ -1,0 -1,90 +1,91 @@@ + /* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License, version 2, as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Copyright IBM Corp. 2008 + * + * Authors: Hollis Blanchard + */ + + #ifndef _UAPI__POWERPC_KVM_PARA_H__ + #define _UAPI__POWERPC_KVM_PARA_H__ + + #include + + /* + * Additions to this struct must only occur at the end, and should be + * accompanied by a KVM_MAGIC_FEAT flag to advertise that they are present + * (albeit not necessarily relevant to the current target hardware platform). + * + * Struct fields are always 32 or 64 bit aligned, depending on them being 32 + * or 64 bit wide respectively. + * + * See Documentation/virtual/kvm/ppc-pv.txt + */ + struct kvm_vcpu_arch_shared { + __u64 scratch1; + __u64 scratch2; + __u64 scratch3; + __u64 critical; /* Guest may not get interrupts if == r1 */ + __u64 sprg0; + __u64 sprg1; + __u64 sprg2; + __u64 sprg3; + __u64 srr0; + __u64 srr1; + __u64 dar; /* dear on BookE */ + __u64 msr; + __u32 dsisr; + __u32 int_pending; /* Tells the guest if we have an interrupt */ + __u32 sr[16]; + __u32 mas0; + __u32 mas1; + __u64 mas7_3; + __u64 mas2; + __u32 mas4; + __u32 mas6; + __u32 esr; + __u32 pir; + + /* + * SPRG4-7 are user-readable, so we can only keep these consistent + * between the shared area and the real registers when there's an + * intervening exit to KVM. This also applies to SPRG3 on some + * chips. + * + * This suffices for access by guest userspace, since in PR-mode + * KVM, an exit must occur when changing the guest's MSR[PR]. + * If the guest kernel writes to SPRG3-7 via the shared area, it + * must also use the shared area for reading while in kernel space. + */ + __u64 sprg4; + __u64 sprg5; + __u64 sprg6; + __u64 sprg7; + }; + + #define KVM_SC_MAGIC_R0 0x4b564d21 /* "KVM!" */ -#define HC_VENDOR_KVM (42 << 16) -#define HC_EV_SUCCESS 0 -#define HC_EV_UNIMPLEMENTED 12 ++ ++#define KVM_HCALL_TOKEN(num) _EV_HCALL_TOKEN(EV_KVM_VENDOR_ID, num) ++ ++#include + + #define KVM_FEATURE_MAGIC_PAGE 1 + + #define KVM_MAGIC_FEAT_SR (1 << 0) + + /* MASn, ESR, PIR, and high SPRGs */ + #define KVM_MAGIC_FEAT_MAS0_TO_SPRG7 (1 << 1) + + + #endif /* _UAPI__POWERPC_KVM_PARA_H__ */