* [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-09 7:49 ` Thomas Huth
0 siblings, 0 replies; 55+ messages in thread
From: Thomas Huth @ 2015-07-09 7:49 UTC (permalink / raw)
To: linux-arm-kernel
The option for supporting cross-endianness legacy guests in
the vhost and tun code should only be available on systems
that support cross-endian guests.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
arch/arm/kvm/Kconfig | 1 +
arch/arm64/kvm/Kconfig | 1 +
arch/powerpc/kvm/Kconfig | 1 +
drivers/net/Kconfig | 1 +
drivers/vhost/Kconfig | 1 +
virt/kvm/Kconfig | 3 +++
6 files changed, 8 insertions(+)
diff --git a/arch/arm/kvm/Kconfig b/arch/arm/kvm/Kconfig
index bfb915d..9d8f363 100644
--- a/arch/arm/kvm/Kconfig
+++ b/arch/arm/kvm/Kconfig
@@ -31,6 +31,7 @@ config KVM
select KVM_VFIO
select HAVE_KVM_EVENTFD
select HAVE_KVM_IRQFD
+ select KVM_CROSS_ENDIAN_GUESTS
depends on ARM_VIRT_EXT && ARM_LPAE && ARM_ARCH_TIMER
---help---
Support hosting virtualized guest machines.
diff --git a/arch/arm64/kvm/Kconfig b/arch/arm64/kvm/Kconfig
index bfffe8f..9af39fe 100644
--- a/arch/arm64/kvm/Kconfig
+++ b/arch/arm64/kvm/Kconfig
@@ -31,6 +31,7 @@ config KVM
select KVM_VFIO
select HAVE_KVM_EVENTFD
select HAVE_KVM_IRQFD
+ select KVM_CROSS_ENDIAN_GUESTS
---help---
Support hosting virtualized guest machines.
diff --git a/arch/powerpc/kvm/Kconfig b/arch/powerpc/kvm/Kconfig
index 3caec2c..e028710 100644
--- a/arch/powerpc/kvm/Kconfig
+++ b/arch/powerpc/kvm/Kconfig
@@ -79,6 +79,7 @@ config KVM_BOOK3S_64_HV
select KVM_BOOK3S_HV_POSSIBLE
select MMU_NOTIFIER
select CMA
+ select KVM_CROSS_ENDIAN_GUESTS
---help---
Support running unmodified book3s_64 guest kernels in
virtual machines on POWER7 and PPC970 processors that have
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index c18f9e6..0c4ce47 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -261,6 +261,7 @@ config TUN
config TUN_VNET_CROSS_LE
bool "Support for cross-endian vnet headers on little-endian kernels"
default n
+ depends on KVM_CROSS_ENDIAN_GUESTS
---help---
This option allows TUN/TAP and MACVTAP device drivers in a
little-endian kernel to parse vnet headers that come from a
diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig
index 533eaf0..4d8ae6b 100644
--- a/drivers/vhost/Kconfig
+++ b/drivers/vhost/Kconfig
@@ -35,6 +35,7 @@ config VHOST
config VHOST_CROSS_ENDIAN_LEGACY
bool "Cross-endian support for vhost"
+ depends on KVM_CROSS_ENDIAN_GUESTS
default n
---help---
This option allows vhost to support guests with a different byte
diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
index e2c876d..cc7b28a 100644
--- a/virt/kvm/Kconfig
+++ b/virt/kvm/Kconfig
@@ -47,3 +47,6 @@ config KVM_GENERIC_DIRTYLOG_READ_PROTECT
config KVM_COMPAT
def_bool y
depends on COMPAT && !S390
+
+config KVM_CROSS_ENDIAN_GUESTS
+ bool
--
1.8.3.1
^ permalink raw reply related [flat|nested] 55+ messages in thread* [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-09 7:49 ` Thomas Huth
0 siblings, 0 replies; 55+ messages in thread
From: Thomas Huth @ 2015-07-09 7:49 UTC (permalink / raw)
To: Michael S. Tsirkin, kvm, kvmarm, kvm-ppc, virtualization,
Greg Kurz
Cc: linux-arm-kernel, Gleb Natapov, Paolo Bonzini, Christoffer Dall,
Marc Zyngier, Alexander Graf, Paul Mackerras, linux-kernel,
netdev, kraxel, Cornelia Huck, Linus Torvalds
The option for supporting cross-endianness legacy guests in
the vhost and tun code should only be available on systems
that support cross-endian guests.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
arch/arm/kvm/Kconfig | 1 +
arch/arm64/kvm/Kconfig | 1 +
arch/powerpc/kvm/Kconfig | 1 +
drivers/net/Kconfig | 1 +
drivers/vhost/Kconfig | 1 +
virt/kvm/Kconfig | 3 +++
6 files changed, 8 insertions(+)
diff --git a/arch/arm/kvm/Kconfig b/arch/arm/kvm/Kconfig
index bfb915d..9d8f363 100644
--- a/arch/arm/kvm/Kconfig
+++ b/arch/arm/kvm/Kconfig
@@ -31,6 +31,7 @@ config KVM
select KVM_VFIO
select HAVE_KVM_EVENTFD
select HAVE_KVM_IRQFD
+ select KVM_CROSS_ENDIAN_GUESTS
depends on ARM_VIRT_EXT && ARM_LPAE && ARM_ARCH_TIMER
---help---
Support hosting virtualized guest machines.
diff --git a/arch/arm64/kvm/Kconfig b/arch/arm64/kvm/Kconfig
index bfffe8f..9af39fe 100644
--- a/arch/arm64/kvm/Kconfig
+++ b/arch/arm64/kvm/Kconfig
@@ -31,6 +31,7 @@ config KVM
select KVM_VFIO
select HAVE_KVM_EVENTFD
select HAVE_KVM_IRQFD
+ select KVM_CROSS_ENDIAN_GUESTS
---help---
Support hosting virtualized guest machines.
diff --git a/arch/powerpc/kvm/Kconfig b/arch/powerpc/kvm/Kconfig
index 3caec2c..e028710 100644
--- a/arch/powerpc/kvm/Kconfig
+++ b/arch/powerpc/kvm/Kconfig
@@ -79,6 +79,7 @@ config KVM_BOOK3S_64_HV
select KVM_BOOK3S_HV_POSSIBLE
select MMU_NOTIFIER
select CMA
+ select KVM_CROSS_ENDIAN_GUESTS
---help---
Support running unmodified book3s_64 guest kernels in
virtual machines on POWER7 and PPC970 processors that have
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index c18f9e6..0c4ce47 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -261,6 +261,7 @@ config TUN
config TUN_VNET_CROSS_LE
bool "Support for cross-endian vnet headers on little-endian kernels"
default n
+ depends on KVM_CROSS_ENDIAN_GUESTS
---help---
This option allows TUN/TAP and MACVTAP device drivers in a
little-endian kernel to parse vnet headers that come from a
diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig
index 533eaf0..4d8ae6b 100644
--- a/drivers/vhost/Kconfig
+++ b/drivers/vhost/Kconfig
@@ -35,6 +35,7 @@ config VHOST
config VHOST_CROSS_ENDIAN_LEGACY
bool "Cross-endian support for vhost"
+ depends on KVM_CROSS_ENDIAN_GUESTS
default n
---help---
This option allows vhost to support guests with a different byte
diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
index e2c876d..cc7b28a 100644
--- a/virt/kvm/Kconfig
+++ b/virt/kvm/Kconfig
@@ -47,3 +47,6 @@ config KVM_GENERIC_DIRTYLOG_READ_PROTECT
config KVM_COMPAT
def_bool y
depends on COMPAT && !S390
+
+config KVM_CROSS_ENDIAN_GUESTS
+ bool
--
1.8.3.1
^ permalink raw reply related [flat|nested] 55+ messages in thread* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
2015-07-09 7:49 ` Thomas Huth
(?)
(?)
@ 2015-07-09 9:48 ` Laurent Vivier
-1 siblings, 0 replies; 55+ messages in thread
From: Laurent Vivier @ 2015-07-09 9:48 UTC (permalink / raw)
To: Thomas Huth, Michael S. Tsirkin, kvm, kvmarm, kvm-ppc,
virtualization, Greg Kurz
Cc: Gleb Natapov, netdev, linux-kernel, Marc Zyngier, Paul Mackerras,
linux-arm-kernel, Paolo Bonzini, Linus Torvalds, Christoffer Dall
On 09/07/2015 09:49, Thomas Huth wrote:
> The option for supporting cross-endianness legacy guests in
> the vhost and tun code should only be available on systems
> that support cross-endian guests.
I'm sure I misunderstand something, but what happens if we use QEMU with
TCG instead of KVM, i.e. a big endian powerpc kernel guest on x86_64
little endian host ?
Do you forbid the use of vhost in this case ?
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> arch/arm/kvm/Kconfig | 1 +
> arch/arm64/kvm/Kconfig | 1 +
> arch/powerpc/kvm/Kconfig | 1 +
> drivers/net/Kconfig | 1 +
> drivers/vhost/Kconfig | 1 +
> virt/kvm/Kconfig | 3 +++
> 6 files changed, 8 insertions(+)
>
> diff --git a/arch/arm/kvm/Kconfig b/arch/arm/kvm/Kconfig
> index bfb915d..9d8f363 100644
> --- a/arch/arm/kvm/Kconfig
> +++ b/arch/arm/kvm/Kconfig
> @@ -31,6 +31,7 @@ config KVM
> select KVM_VFIO
> select HAVE_KVM_EVENTFD
> select HAVE_KVM_IRQFD
> + select KVM_CROSS_ENDIAN_GUESTS
> depends on ARM_VIRT_EXT && ARM_LPAE && ARM_ARCH_TIMER
> ---help---
> Support hosting virtualized guest machines.
> diff --git a/arch/arm64/kvm/Kconfig b/arch/arm64/kvm/Kconfig
> index bfffe8f..9af39fe 100644
> --- a/arch/arm64/kvm/Kconfig
> +++ b/arch/arm64/kvm/Kconfig
> @@ -31,6 +31,7 @@ config KVM
> select KVM_VFIO
> select HAVE_KVM_EVENTFD
> select HAVE_KVM_IRQFD
> + select KVM_CROSS_ENDIAN_GUESTS
> ---help---
> Support hosting virtualized guest machines.
>
> diff --git a/arch/powerpc/kvm/Kconfig b/arch/powerpc/kvm/Kconfig
> index 3caec2c..e028710 100644
> --- a/arch/powerpc/kvm/Kconfig
> +++ b/arch/powerpc/kvm/Kconfig
> @@ -79,6 +79,7 @@ config KVM_BOOK3S_64_HV
> select KVM_BOOK3S_HV_POSSIBLE
> select MMU_NOTIFIER
> select CMA
> + select KVM_CROSS_ENDIAN_GUESTS
> ---help---
> Support running unmodified book3s_64 guest kernels in
> virtual machines on POWER7 and PPC970 processors that have
> diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
> index c18f9e6..0c4ce47 100644
> --- a/drivers/net/Kconfig
> +++ b/drivers/net/Kconfig
> @@ -261,6 +261,7 @@ config TUN
> config TUN_VNET_CROSS_LE
> bool "Support for cross-endian vnet headers on little-endian kernels"
> default n
> + depends on KVM_CROSS_ENDIAN_GUESTS
> ---help---
> This option allows TUN/TAP and MACVTAP device drivers in a
> little-endian kernel to parse vnet headers that come from a
> diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig
> index 533eaf0..4d8ae6b 100644
> --- a/drivers/vhost/Kconfig
> +++ b/drivers/vhost/Kconfig
> @@ -35,6 +35,7 @@ config VHOST
>
> config VHOST_CROSS_ENDIAN_LEGACY
> bool "Cross-endian support for vhost"
> + depends on KVM_CROSS_ENDIAN_GUESTS
> default n
> ---help---
> This option allows vhost to support guests with a different byte
> diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
> index e2c876d..cc7b28a 100644
> --- a/virt/kvm/Kconfig
> +++ b/virt/kvm/Kconfig
> @@ -47,3 +47,6 @@ config KVM_GENERIC_DIRTYLOG_READ_PROTECT
> config KVM_COMPAT
> def_bool y
> depends on COMPAT && !S390
> +
> +config KVM_CROSS_ENDIAN_GUESTS
> + bool
>
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
2015-07-09 7:49 ` Thomas Huth
(?)
@ 2015-07-09 9:48 ` Laurent Vivier
-1 siblings, 0 replies; 55+ messages in thread
From: Laurent Vivier @ 2015-07-09 9:48 UTC (permalink / raw)
To: Thomas Huth, Michael S. Tsirkin, kvm, kvmarm, kvm-ppc,
virtualization, Greg Kurz
Cc: linux-arm-kernel, Gleb Natapov, Paolo Bonzini, Christoffer Dall,
Marc Zyngier, Alexander Graf, Paul Mackerras, linux-kernel,
netdev, kraxel, Cornelia Huck, Linus Torvalds
On 09/07/2015 09:49, Thomas Huth wrote:
> The option for supporting cross-endianness legacy guests in
> the vhost and tun code should only be available on systems
> that support cross-endian guests.
I'm sure I misunderstand something, but what happens if we use QEMU with
TCG instead of KVM, i.e. a big endian powerpc kernel guest on x86_64
little endian host ?
Do you forbid the use of vhost in this case ?
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> arch/arm/kvm/Kconfig | 1 +
> arch/arm64/kvm/Kconfig | 1 +
> arch/powerpc/kvm/Kconfig | 1 +
> drivers/net/Kconfig | 1 +
> drivers/vhost/Kconfig | 1 +
> virt/kvm/Kconfig | 3 +++
> 6 files changed, 8 insertions(+)
>
> diff --git a/arch/arm/kvm/Kconfig b/arch/arm/kvm/Kconfig
> index bfb915d..9d8f363 100644
> --- a/arch/arm/kvm/Kconfig
> +++ b/arch/arm/kvm/Kconfig
> @@ -31,6 +31,7 @@ config KVM
> select KVM_VFIO
> select HAVE_KVM_EVENTFD
> select HAVE_KVM_IRQFD
> + select KVM_CROSS_ENDIAN_GUESTS
> depends on ARM_VIRT_EXT && ARM_LPAE && ARM_ARCH_TIMER
> ---help---
> Support hosting virtualized guest machines.
> diff --git a/arch/arm64/kvm/Kconfig b/arch/arm64/kvm/Kconfig
> index bfffe8f..9af39fe 100644
> --- a/arch/arm64/kvm/Kconfig
> +++ b/arch/arm64/kvm/Kconfig
> @@ -31,6 +31,7 @@ config KVM
> select KVM_VFIO
> select HAVE_KVM_EVENTFD
> select HAVE_KVM_IRQFD
> + select KVM_CROSS_ENDIAN_GUESTS
> ---help---
> Support hosting virtualized guest machines.
>
> diff --git a/arch/powerpc/kvm/Kconfig b/arch/powerpc/kvm/Kconfig
> index 3caec2c..e028710 100644
> --- a/arch/powerpc/kvm/Kconfig
> +++ b/arch/powerpc/kvm/Kconfig
> @@ -79,6 +79,7 @@ config KVM_BOOK3S_64_HV
> select KVM_BOOK3S_HV_POSSIBLE
> select MMU_NOTIFIER
> select CMA
> + select KVM_CROSS_ENDIAN_GUESTS
> ---help---
> Support running unmodified book3s_64 guest kernels in
> virtual machines on POWER7 and PPC970 processors that have
> diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
> index c18f9e6..0c4ce47 100644
> --- a/drivers/net/Kconfig
> +++ b/drivers/net/Kconfig
> @@ -261,6 +261,7 @@ config TUN
> config TUN_VNET_CROSS_LE
> bool "Support for cross-endian vnet headers on little-endian kernels"
> default n
> + depends on KVM_CROSS_ENDIAN_GUESTS
> ---help---
> This option allows TUN/TAP and MACVTAP device drivers in a
> little-endian kernel to parse vnet headers that come from a
> diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig
> index 533eaf0..4d8ae6b 100644
> --- a/drivers/vhost/Kconfig
> +++ b/drivers/vhost/Kconfig
> @@ -35,6 +35,7 @@ config VHOST
>
> config VHOST_CROSS_ENDIAN_LEGACY
> bool "Cross-endian support for vhost"
> + depends on KVM_CROSS_ENDIAN_GUESTS
> default n
> ---help---
> This option allows vhost to support guests with a different byte
> diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
> index e2c876d..cc7b28a 100644
> --- a/virt/kvm/Kconfig
> +++ b/virt/kvm/Kconfig
> @@ -47,3 +47,6 @@ config KVM_GENERIC_DIRTYLOG_READ_PROTECT
> config KVM_COMPAT
> def_bool y
> depends on COMPAT && !S390
> +
> +config KVM_CROSS_ENDIAN_GUESTS
> + bool
>
^ permalink raw reply [flat|nested] 55+ messages in thread
* [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-09 9:48 ` Laurent Vivier
0 siblings, 0 replies; 55+ messages in thread
From: Laurent Vivier @ 2015-07-09 9:48 UTC (permalink / raw)
To: linux-arm-kernel
On 09/07/2015 09:49, Thomas Huth wrote:
> The option for supporting cross-endianness legacy guests in
> the vhost and tun code should only be available on systems
> that support cross-endian guests.
I'm sure I misunderstand something, but what happens if we use QEMU with
TCG instead of KVM, i.e. a big endian powerpc kernel guest on x86_64
little endian host ?
Do you forbid the use of vhost in this case ?
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> arch/arm/kvm/Kconfig | 1 +
> arch/arm64/kvm/Kconfig | 1 +
> arch/powerpc/kvm/Kconfig | 1 +
> drivers/net/Kconfig | 1 +
> drivers/vhost/Kconfig | 1 +
> virt/kvm/Kconfig | 3 +++
> 6 files changed, 8 insertions(+)
>
> diff --git a/arch/arm/kvm/Kconfig b/arch/arm/kvm/Kconfig
> index bfb915d..9d8f363 100644
> --- a/arch/arm/kvm/Kconfig
> +++ b/arch/arm/kvm/Kconfig
> @@ -31,6 +31,7 @@ config KVM
> select KVM_VFIO
> select HAVE_KVM_EVENTFD
> select HAVE_KVM_IRQFD
> + select KVM_CROSS_ENDIAN_GUESTS
> depends on ARM_VIRT_EXT && ARM_LPAE && ARM_ARCH_TIMER
> ---help---
> Support hosting virtualized guest machines.
> diff --git a/arch/arm64/kvm/Kconfig b/arch/arm64/kvm/Kconfig
> index bfffe8f..9af39fe 100644
> --- a/arch/arm64/kvm/Kconfig
> +++ b/arch/arm64/kvm/Kconfig
> @@ -31,6 +31,7 @@ config KVM
> select KVM_VFIO
> select HAVE_KVM_EVENTFD
> select HAVE_KVM_IRQFD
> + select KVM_CROSS_ENDIAN_GUESTS
> ---help---
> Support hosting virtualized guest machines.
>
> diff --git a/arch/powerpc/kvm/Kconfig b/arch/powerpc/kvm/Kconfig
> index 3caec2c..e028710 100644
> --- a/arch/powerpc/kvm/Kconfig
> +++ b/arch/powerpc/kvm/Kconfig
> @@ -79,6 +79,7 @@ config KVM_BOOK3S_64_HV
> select KVM_BOOK3S_HV_POSSIBLE
> select MMU_NOTIFIER
> select CMA
> + select KVM_CROSS_ENDIAN_GUESTS
> ---help---
> Support running unmodified book3s_64 guest kernels in
> virtual machines on POWER7 and PPC970 processors that have
> diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
> index c18f9e6..0c4ce47 100644
> --- a/drivers/net/Kconfig
> +++ b/drivers/net/Kconfig
> @@ -261,6 +261,7 @@ config TUN
> config TUN_VNET_CROSS_LE
> bool "Support for cross-endian vnet headers on little-endian kernels"
> default n
> + depends on KVM_CROSS_ENDIAN_GUESTS
> ---help---
> This option allows TUN/TAP and MACVTAP device drivers in a
> little-endian kernel to parse vnet headers that come from a
> diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig
> index 533eaf0..4d8ae6b 100644
> --- a/drivers/vhost/Kconfig
> +++ b/drivers/vhost/Kconfig
> @@ -35,6 +35,7 @@ config VHOST
>
> config VHOST_CROSS_ENDIAN_LEGACY
> bool "Cross-endian support for vhost"
> + depends on KVM_CROSS_ENDIAN_GUESTS
> default n
> ---help---
> This option allows vhost to support guests with a different byte
> diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
> index e2c876d..cc7b28a 100644
> --- a/virt/kvm/Kconfig
> +++ b/virt/kvm/Kconfig
> @@ -47,3 +47,6 @@ config KVM_GENERIC_DIRTYLOG_READ_PROTECT
> config KVM_COMPAT
> def_bool y
> depends on COMPAT && !S390
> +
> +config KVM_CROSS_ENDIAN_GUESTS
> + bool
>
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-09 9:48 ` Laurent Vivier
0 siblings, 0 replies; 55+ messages in thread
From: Laurent Vivier @ 2015-07-09 9:48 UTC (permalink / raw)
To: Thomas Huth, Michael S. Tsirkin, kvm, kvmarm, kvm-ppc,
virtualization, Greg Kurz
Cc: linux-arm-kernel, Gleb Natapov, Paolo Bonzini, Christoffer Dall,
Marc Zyngier, Alexander Graf, Paul Mackerras, linux-kernel,
netdev, kraxel, Cornelia Huck, Linus Torvalds
On 09/07/2015 09:49, Thomas Huth wrote:
> The option for supporting cross-endianness legacy guests in
> the vhost and tun code should only be available on systems
> that support cross-endian guests.
I'm sure I misunderstand something, but what happens if we use QEMU with
TCG instead of KVM, i.e. a big endian powerpc kernel guest on x86_64
little endian host ?
Do you forbid the use of vhost in this case ?
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> arch/arm/kvm/Kconfig | 1 +
> arch/arm64/kvm/Kconfig | 1 +
> arch/powerpc/kvm/Kconfig | 1 +
> drivers/net/Kconfig | 1 +
> drivers/vhost/Kconfig | 1 +
> virt/kvm/Kconfig | 3 +++
> 6 files changed, 8 insertions(+)
>
> diff --git a/arch/arm/kvm/Kconfig b/arch/arm/kvm/Kconfig
> index bfb915d..9d8f363 100644
> --- a/arch/arm/kvm/Kconfig
> +++ b/arch/arm/kvm/Kconfig
> @@ -31,6 +31,7 @@ config KVM
> select KVM_VFIO
> select HAVE_KVM_EVENTFD
> select HAVE_KVM_IRQFD
> + select KVM_CROSS_ENDIAN_GUESTS
> depends on ARM_VIRT_EXT && ARM_LPAE && ARM_ARCH_TIMER
> ---help---
> Support hosting virtualized guest machines.
> diff --git a/arch/arm64/kvm/Kconfig b/arch/arm64/kvm/Kconfig
> index bfffe8f..9af39fe 100644
> --- a/arch/arm64/kvm/Kconfig
> +++ b/arch/arm64/kvm/Kconfig
> @@ -31,6 +31,7 @@ config KVM
> select KVM_VFIO
> select HAVE_KVM_EVENTFD
> select HAVE_KVM_IRQFD
> + select KVM_CROSS_ENDIAN_GUESTS
> ---help---
> Support hosting virtualized guest machines.
>
> diff --git a/arch/powerpc/kvm/Kconfig b/arch/powerpc/kvm/Kconfig
> index 3caec2c..e028710 100644
> --- a/arch/powerpc/kvm/Kconfig
> +++ b/arch/powerpc/kvm/Kconfig
> @@ -79,6 +79,7 @@ config KVM_BOOK3S_64_HV
> select KVM_BOOK3S_HV_POSSIBLE
> select MMU_NOTIFIER
> select CMA
> + select KVM_CROSS_ENDIAN_GUESTS
> ---help---
> Support running unmodified book3s_64 guest kernels in
> virtual machines on POWER7 and PPC970 processors that have
> diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
> index c18f9e6..0c4ce47 100644
> --- a/drivers/net/Kconfig
> +++ b/drivers/net/Kconfig
> @@ -261,6 +261,7 @@ config TUN
> config TUN_VNET_CROSS_LE
> bool "Support for cross-endian vnet headers on little-endian kernels"
> default n
> + depends on KVM_CROSS_ENDIAN_GUESTS
> ---help---
> This option allows TUN/TAP and MACVTAP device drivers in a
> little-endian kernel to parse vnet headers that come from a
> diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig
> index 533eaf0..4d8ae6b 100644
> --- a/drivers/vhost/Kconfig
> +++ b/drivers/vhost/Kconfig
> @@ -35,6 +35,7 @@ config VHOST
>
> config VHOST_CROSS_ENDIAN_LEGACY
> bool "Cross-endian support for vhost"
> + depends on KVM_CROSS_ENDIAN_GUESTS
> default n
> ---help---
> This option allows vhost to support guests with a different byte
> diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
> index e2c876d..cc7b28a 100644
> --- a/virt/kvm/Kconfig
> +++ b/virt/kvm/Kconfig
> @@ -47,3 +47,6 @@ config KVM_GENERIC_DIRTYLOG_READ_PROTECT
> config KVM_COMPAT
> def_bool y
> depends on COMPAT && !S390
> +
> +config KVM_CROSS_ENDIAN_GUESTS
> + bool
>
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
2015-07-09 9:48 ` Laurent Vivier
(?)
(?)
@ 2015-07-09 12:57 ` Paolo Bonzini
-1 siblings, 0 replies; 55+ messages in thread
From: Paolo Bonzini @ 2015-07-09 12:57 UTC (permalink / raw)
To: Laurent Vivier, Thomas Huth, Michael S. Tsirkin, kvm, kvmarm,
kvm-ppc, virtualization, Greg Kurz
Cc: linux-arm-kernel, Gleb Natapov, Christoffer Dall, Marc Zyngier,
Alexander Graf, Paul Mackerras, linux-kernel, netdev, kraxel,
Cornelia Huck, Linus Torvalds
On 09/07/2015 11:48, Laurent Vivier wrote:
>
>
> On 09/07/2015 09:49, Thomas Huth wrote:
>> The option for supporting cross-endianness legacy guests in
>> the vhost and tun code should only be available on systems
>> that support cross-endian guests.
>
> I'm sure I misunderstand something, but what happens if we use QEMU with
> TCG instead of KVM, i.e. a big endian powerpc kernel guest on x86_64
> little endian host ?
TCG does not yet support irqfd/ioeventfd, so it cannot be used with vhost.
Paolo
> Do you forbid the use of vhost in this case ?
>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>> arch/arm/kvm/Kconfig | 1 +
>> arch/arm64/kvm/Kconfig | 1 +
>> arch/powerpc/kvm/Kconfig | 1 +
>> drivers/net/Kconfig | 1 +
>> drivers/vhost/Kconfig | 1 +
>> virt/kvm/Kconfig | 3 +++
>> 6 files changed, 8 insertions(+)
>>
>> diff --git a/arch/arm/kvm/Kconfig b/arch/arm/kvm/Kconfig
>> index bfb915d..9d8f363 100644
>> --- a/arch/arm/kvm/Kconfig
>> +++ b/arch/arm/kvm/Kconfig
>> @@ -31,6 +31,7 @@ config KVM
>> select KVM_VFIO
>> select HAVE_KVM_EVENTFD
>> select HAVE_KVM_IRQFD
>> + select KVM_CROSS_ENDIAN_GUESTS
>> depends on ARM_VIRT_EXT && ARM_LPAE && ARM_ARCH_TIMER
>> ---help---
>> Support hosting virtualized guest machines.
>> diff --git a/arch/arm64/kvm/Kconfig b/arch/arm64/kvm/Kconfig
>> index bfffe8f..9af39fe 100644
>> --- a/arch/arm64/kvm/Kconfig
>> +++ b/arch/arm64/kvm/Kconfig
>> @@ -31,6 +31,7 @@ config KVM
>> select KVM_VFIO
>> select HAVE_KVM_EVENTFD
>> select HAVE_KVM_IRQFD
>> + select KVM_CROSS_ENDIAN_GUESTS
>> ---help---
>> Support hosting virtualized guest machines.
>>
>> diff --git a/arch/powerpc/kvm/Kconfig b/arch/powerpc/kvm/Kconfig
>> index 3caec2c..e028710 100644
>> --- a/arch/powerpc/kvm/Kconfig
>> +++ b/arch/powerpc/kvm/Kconfig
>> @@ -79,6 +79,7 @@ config KVM_BOOK3S_64_HV
>> select KVM_BOOK3S_HV_POSSIBLE
>> select MMU_NOTIFIER
>> select CMA
>> + select KVM_CROSS_ENDIAN_GUESTS
>> ---help---
>> Support running unmodified book3s_64 guest kernels in
>> virtual machines on POWER7 and PPC970 processors that have
>> diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
>> index c18f9e6..0c4ce47 100644
>> --- a/drivers/net/Kconfig
>> +++ b/drivers/net/Kconfig
>> @@ -261,6 +261,7 @@ config TUN
>> config TUN_VNET_CROSS_LE
>> bool "Support for cross-endian vnet headers on little-endian kernels"
>> default n
>> + depends on KVM_CROSS_ENDIAN_GUESTS
>> ---help---
>> This option allows TUN/TAP and MACVTAP device drivers in a
>> little-endian kernel to parse vnet headers that come from a
>> diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig
>> index 533eaf0..4d8ae6b 100644
>> --- a/drivers/vhost/Kconfig
>> +++ b/drivers/vhost/Kconfig
>> @@ -35,6 +35,7 @@ config VHOST
>>
>> config VHOST_CROSS_ENDIAN_LEGACY
>> bool "Cross-endian support for vhost"
>> + depends on KVM_CROSS_ENDIAN_GUESTS
>> default n
>> ---help---
>> This option allows vhost to support guests with a different byte
>> diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
>> index e2c876d..cc7b28a 100644
>> --- a/virt/kvm/Kconfig
>> +++ b/virt/kvm/Kconfig
>> @@ -47,3 +47,6 @@ config KVM_GENERIC_DIRTYLOG_READ_PROTECT
>> config KVM_COMPAT
>> def_bool y
>> depends on COMPAT && !S390
>> +
>> +config KVM_CROSS_ENDIAN_GUESTS
>> + bool
>>
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-09 12:57 ` Paolo Bonzini
0 siblings, 0 replies; 55+ messages in thread
From: Paolo Bonzini @ 2015-07-09 12:57 UTC (permalink / raw)
To: Laurent Vivier, Thomas Huth, Michael S. Tsirkin, kvm, kvmarm,
kvm-ppc, virtualization, Greg Kurz
Cc: linux-arm-kernel, Gleb Natapov, Christoffer Dall, Marc Zyngier,
Alexander Graf, Paul Mackerras, linux-kernel, netdev, kraxel,
Cornelia Huck, Linus Torvalds
On 09/07/2015 11:48, Laurent Vivier wrote:
>
>
> On 09/07/2015 09:49, Thomas Huth wrote:
>> The option for supporting cross-endianness legacy guests in
>> the vhost and tun code should only be available on systems
>> that support cross-endian guests.
>
> I'm sure I misunderstand something, but what happens if we use QEMU with
> TCG instead of KVM, i.e. a big endian powerpc kernel guest on x86_64
> little endian host ?
TCG does not yet support irqfd/ioeventfd, so it cannot be used with vhost.
Paolo
> Do you forbid the use of vhost in this case ?
>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>> arch/arm/kvm/Kconfig | 1 +
>> arch/arm64/kvm/Kconfig | 1 +
>> arch/powerpc/kvm/Kconfig | 1 +
>> drivers/net/Kconfig | 1 +
>> drivers/vhost/Kconfig | 1 +
>> virt/kvm/Kconfig | 3 +++
>> 6 files changed, 8 insertions(+)
>>
>> diff --git a/arch/arm/kvm/Kconfig b/arch/arm/kvm/Kconfig
>> index bfb915d..9d8f363 100644
>> --- a/arch/arm/kvm/Kconfig
>> +++ b/arch/arm/kvm/Kconfig
>> @@ -31,6 +31,7 @@ config KVM
>> select KVM_VFIO
>> select HAVE_KVM_EVENTFD
>> select HAVE_KVM_IRQFD
>> + select KVM_CROSS_ENDIAN_GUESTS
>> depends on ARM_VIRT_EXT && ARM_LPAE && ARM_ARCH_TIMER
>> ---help---
>> Support hosting virtualized guest machines.
>> diff --git a/arch/arm64/kvm/Kconfig b/arch/arm64/kvm/Kconfig
>> index bfffe8f..9af39fe 100644
>> --- a/arch/arm64/kvm/Kconfig
>> +++ b/arch/arm64/kvm/Kconfig
>> @@ -31,6 +31,7 @@ config KVM
>> select KVM_VFIO
>> select HAVE_KVM_EVENTFD
>> select HAVE_KVM_IRQFD
>> + select KVM_CROSS_ENDIAN_GUESTS
>> ---help---
>> Support hosting virtualized guest machines.
>>
>> diff --git a/arch/powerpc/kvm/Kconfig b/arch/powerpc/kvm/Kconfig
>> index 3caec2c..e028710 100644
>> --- a/arch/powerpc/kvm/Kconfig
>> +++ b/arch/powerpc/kvm/Kconfig
>> @@ -79,6 +79,7 @@ config KVM_BOOK3S_64_HV
>> select KVM_BOOK3S_HV_POSSIBLE
>> select MMU_NOTIFIER
>> select CMA
>> + select KVM_CROSS_ENDIAN_GUESTS
>> ---help---
>> Support running unmodified book3s_64 guest kernels in
>> virtual machines on POWER7 and PPC970 processors that have
>> diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
>> index c18f9e6..0c4ce47 100644
>> --- a/drivers/net/Kconfig
>> +++ b/drivers/net/Kconfig
>> @@ -261,6 +261,7 @@ config TUN
>> config TUN_VNET_CROSS_LE
>> bool "Support for cross-endian vnet headers on little-endian kernels"
>> default n
>> + depends on KVM_CROSS_ENDIAN_GUESTS
>> ---help---
>> This option allows TUN/TAP and MACVTAP device drivers in a
>> little-endian kernel to parse vnet headers that come from a
>> diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig
>> index 533eaf0..4d8ae6b 100644
>> --- a/drivers/vhost/Kconfig
>> +++ b/drivers/vhost/Kconfig
>> @@ -35,6 +35,7 @@ config VHOST
>>
>> config VHOST_CROSS_ENDIAN_LEGACY
>> bool "Cross-endian support for vhost"
>> + depends on KVM_CROSS_ENDIAN_GUESTS
>> default n
>> ---help---
>> This option allows vhost to support guests with a different byte
>> diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
>> index e2c876d..cc7b28a 100644
>> --- a/virt/kvm/Kconfig
>> +++ b/virt/kvm/Kconfig
>> @@ -47,3 +47,6 @@ config KVM_GENERIC_DIRTYLOG_READ_PROTECT
>> config KVM_COMPAT
>> def_bool y
>> depends on COMPAT && !S390
>> +
>> +config KVM_CROSS_ENDIAN_GUESTS
>> + bool
>>
^ permalink raw reply [flat|nested] 55+ messages in thread
* [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-09 12:57 ` Paolo Bonzini
0 siblings, 0 replies; 55+ messages in thread
From: Paolo Bonzini @ 2015-07-09 12:57 UTC (permalink / raw)
To: linux-arm-kernel
On 09/07/2015 11:48, Laurent Vivier wrote:
>
>
> On 09/07/2015 09:49, Thomas Huth wrote:
>> The option for supporting cross-endianness legacy guests in
>> the vhost and tun code should only be available on systems
>> that support cross-endian guests.
>
> I'm sure I misunderstand something, but what happens if we use QEMU with
> TCG instead of KVM, i.e. a big endian powerpc kernel guest on x86_64
> little endian host ?
TCG does not yet support irqfd/ioeventfd, so it cannot be used with vhost.
Paolo
> Do you forbid the use of vhost in this case ?
>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>> arch/arm/kvm/Kconfig | 1 +
>> arch/arm64/kvm/Kconfig | 1 +
>> arch/powerpc/kvm/Kconfig | 1 +
>> drivers/net/Kconfig | 1 +
>> drivers/vhost/Kconfig | 1 +
>> virt/kvm/Kconfig | 3 +++
>> 6 files changed, 8 insertions(+)
>>
>> diff --git a/arch/arm/kvm/Kconfig b/arch/arm/kvm/Kconfig
>> index bfb915d..9d8f363 100644
>> --- a/arch/arm/kvm/Kconfig
>> +++ b/arch/arm/kvm/Kconfig
>> @@ -31,6 +31,7 @@ config KVM
>> select KVM_VFIO
>> select HAVE_KVM_EVENTFD
>> select HAVE_KVM_IRQFD
>> + select KVM_CROSS_ENDIAN_GUESTS
>> depends on ARM_VIRT_EXT && ARM_LPAE && ARM_ARCH_TIMER
>> ---help---
>> Support hosting virtualized guest machines.
>> diff --git a/arch/arm64/kvm/Kconfig b/arch/arm64/kvm/Kconfig
>> index bfffe8f..9af39fe 100644
>> --- a/arch/arm64/kvm/Kconfig
>> +++ b/arch/arm64/kvm/Kconfig
>> @@ -31,6 +31,7 @@ config KVM
>> select KVM_VFIO
>> select HAVE_KVM_EVENTFD
>> select HAVE_KVM_IRQFD
>> + select KVM_CROSS_ENDIAN_GUESTS
>> ---help---
>> Support hosting virtualized guest machines.
>>
>> diff --git a/arch/powerpc/kvm/Kconfig b/arch/powerpc/kvm/Kconfig
>> index 3caec2c..e028710 100644
>> --- a/arch/powerpc/kvm/Kconfig
>> +++ b/arch/powerpc/kvm/Kconfig
>> @@ -79,6 +79,7 @@ config KVM_BOOK3S_64_HV
>> select KVM_BOOK3S_HV_POSSIBLE
>> select MMU_NOTIFIER
>> select CMA
>> + select KVM_CROSS_ENDIAN_GUESTS
>> ---help---
>> Support running unmodified book3s_64 guest kernels in
>> virtual machines on POWER7 and PPC970 processors that have
>> diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
>> index c18f9e6..0c4ce47 100644
>> --- a/drivers/net/Kconfig
>> +++ b/drivers/net/Kconfig
>> @@ -261,6 +261,7 @@ config TUN
>> config TUN_VNET_CROSS_LE
>> bool "Support for cross-endian vnet headers on little-endian kernels"
>> default n
>> + depends on KVM_CROSS_ENDIAN_GUESTS
>> ---help---
>> This option allows TUN/TAP and MACVTAP device drivers in a
>> little-endian kernel to parse vnet headers that come from a
>> diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig
>> index 533eaf0..4d8ae6b 100644
>> --- a/drivers/vhost/Kconfig
>> +++ b/drivers/vhost/Kconfig
>> @@ -35,6 +35,7 @@ config VHOST
>>
>> config VHOST_CROSS_ENDIAN_LEGACY
>> bool "Cross-endian support for vhost"
>> + depends on KVM_CROSS_ENDIAN_GUESTS
>> default n
>> ---help---
>> This option allows vhost to support guests with a different byte
>> diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
>> index e2c876d..cc7b28a 100644
>> --- a/virt/kvm/Kconfig
>> +++ b/virt/kvm/Kconfig
>> @@ -47,3 +47,6 @@ config KVM_GENERIC_DIRTYLOG_READ_PROTECT
>> config KVM_COMPAT
>> def_bool y
>> depends on COMPAT && !S390
>> +
>> +config KVM_CROSS_ENDIAN_GUESTS
>> + bool
>>
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-09 12:57 ` Paolo Bonzini
0 siblings, 0 replies; 55+ messages in thread
From: Paolo Bonzini @ 2015-07-09 12:57 UTC (permalink / raw)
To: Laurent Vivier, Thomas Huth, Michael S. Tsirkin, kvm, kvmarm,
kvm-ppc, virtualization, Greg Kurz
Cc: Gleb Natapov, netdev, linux-kernel, Marc Zyngier, Paul Mackerras,
linux-arm-kernel, Linus Torvalds, Christoffer Dall
On 09/07/2015 11:48, Laurent Vivier wrote:
>
>
> On 09/07/2015 09:49, Thomas Huth wrote:
>> The option for supporting cross-endianness legacy guests in
>> the vhost and tun code should only be available on systems
>> that support cross-endian guests.
>
> I'm sure I misunderstand something, but what happens if we use QEMU with
> TCG instead of KVM, i.e. a big endian powerpc kernel guest on x86_64
> little endian host ?
TCG does not yet support irqfd/ioeventfd, so it cannot be used with vhost.
Paolo
> Do you forbid the use of vhost in this case ?
>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>> arch/arm/kvm/Kconfig | 1 +
>> arch/arm64/kvm/Kconfig | 1 +
>> arch/powerpc/kvm/Kconfig | 1 +
>> drivers/net/Kconfig | 1 +
>> drivers/vhost/Kconfig | 1 +
>> virt/kvm/Kconfig | 3 +++
>> 6 files changed, 8 insertions(+)
>>
>> diff --git a/arch/arm/kvm/Kconfig b/arch/arm/kvm/Kconfig
>> index bfb915d..9d8f363 100644
>> --- a/arch/arm/kvm/Kconfig
>> +++ b/arch/arm/kvm/Kconfig
>> @@ -31,6 +31,7 @@ config KVM
>> select KVM_VFIO
>> select HAVE_KVM_EVENTFD
>> select HAVE_KVM_IRQFD
>> + select KVM_CROSS_ENDIAN_GUESTS
>> depends on ARM_VIRT_EXT && ARM_LPAE && ARM_ARCH_TIMER
>> ---help---
>> Support hosting virtualized guest machines.
>> diff --git a/arch/arm64/kvm/Kconfig b/arch/arm64/kvm/Kconfig
>> index bfffe8f..9af39fe 100644
>> --- a/arch/arm64/kvm/Kconfig
>> +++ b/arch/arm64/kvm/Kconfig
>> @@ -31,6 +31,7 @@ config KVM
>> select KVM_VFIO
>> select HAVE_KVM_EVENTFD
>> select HAVE_KVM_IRQFD
>> + select KVM_CROSS_ENDIAN_GUESTS
>> ---help---
>> Support hosting virtualized guest machines.
>>
>> diff --git a/arch/powerpc/kvm/Kconfig b/arch/powerpc/kvm/Kconfig
>> index 3caec2c..e028710 100644
>> --- a/arch/powerpc/kvm/Kconfig
>> +++ b/arch/powerpc/kvm/Kconfig
>> @@ -79,6 +79,7 @@ config KVM_BOOK3S_64_HV
>> select KVM_BOOK3S_HV_POSSIBLE
>> select MMU_NOTIFIER
>> select CMA
>> + select KVM_CROSS_ENDIAN_GUESTS
>> ---help---
>> Support running unmodified book3s_64 guest kernels in
>> virtual machines on POWER7 and PPC970 processors that have
>> diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
>> index c18f9e6..0c4ce47 100644
>> --- a/drivers/net/Kconfig
>> +++ b/drivers/net/Kconfig
>> @@ -261,6 +261,7 @@ config TUN
>> config TUN_VNET_CROSS_LE
>> bool "Support for cross-endian vnet headers on little-endian kernels"
>> default n
>> + depends on KVM_CROSS_ENDIAN_GUESTS
>> ---help---
>> This option allows TUN/TAP and MACVTAP device drivers in a
>> little-endian kernel to parse vnet headers that come from a
>> diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig
>> index 533eaf0..4d8ae6b 100644
>> --- a/drivers/vhost/Kconfig
>> +++ b/drivers/vhost/Kconfig
>> @@ -35,6 +35,7 @@ config VHOST
>>
>> config VHOST_CROSS_ENDIAN_LEGACY
>> bool "Cross-endian support for vhost"
>> + depends on KVM_CROSS_ENDIAN_GUESTS
>> default n
>> ---help---
>> This option allows vhost to support guests with a different byte
>> diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
>> index e2c876d..cc7b28a 100644
>> --- a/virt/kvm/Kconfig
>> +++ b/virt/kvm/Kconfig
>> @@ -47,3 +47,6 @@ config KVM_GENERIC_DIRTYLOG_READ_PROTECT
>> config KVM_COMPAT
>> def_bool y
>> depends on COMPAT && !S390
>> +
>> +config KVM_CROSS_ENDIAN_GUESTS
>> + bool
>>
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
2015-07-09 12:57 ` Paolo Bonzini
(?)
(?)
@ 2015-07-09 13:07 ` Michael S. Tsirkin
-1 siblings, 0 replies; 55+ messages in thread
From: Michael S. Tsirkin @ 2015-07-09 13:07 UTC (permalink / raw)
To: Paolo Bonzini
Cc: Laurent Vivier, Thomas Huth, kvm, kvmarm, kvm-ppc, virtualization,
Greg Kurz, linux-arm-kernel, Gleb Natapov, Christoffer Dall,
Marc Zyngier, Alexander Graf, Paul Mackerras, linux-kernel,
netdev, kraxel, Cornelia Huck, Linus Torvalds
On Thu, Jul 09, 2015 at 02:57:33PM +0200, Paolo Bonzini wrote:
>
>
> On 09/07/2015 11:48, Laurent Vivier wrote:
> >
> >
> > On 09/07/2015 09:49, Thomas Huth wrote:
> >> The option for supporting cross-endianness legacy guests in
> >> the vhost and tun code should only be available on systems
> >> that support cross-endian guests.
> >
> > I'm sure I misunderstand something, but what happens if we use QEMU with
> > TCG instead of KVM, i.e. a big endian powerpc kernel guest on x86_64
> > little endian host ?
>
> TCG does not yet support irqfd/ioeventfd, so it cannot be used with vhost.
>
> Paolo
vhost does not require irqfd anymore. I think ioeventfd actually works
fine though I didn't try, it would be easy to support.
> > Do you forbid the use of vhost in this case ?
> >
> >> Signed-off-by: Thomas Huth <thuth@redhat.com>
> >> ---
> >> arch/arm/kvm/Kconfig | 1 +
> >> arch/arm64/kvm/Kconfig | 1 +
> >> arch/powerpc/kvm/Kconfig | 1 +
> >> drivers/net/Kconfig | 1 +
> >> drivers/vhost/Kconfig | 1 +
> >> virt/kvm/Kconfig | 3 +++
> >> 6 files changed, 8 insertions(+)
> >>
> >> diff --git a/arch/arm/kvm/Kconfig b/arch/arm/kvm/Kconfig
> >> index bfb915d..9d8f363 100644
> >> --- a/arch/arm/kvm/Kconfig
> >> +++ b/arch/arm/kvm/Kconfig
> >> @@ -31,6 +31,7 @@ config KVM
> >> select KVM_VFIO
> >> select HAVE_KVM_EVENTFD
> >> select HAVE_KVM_IRQFD
> >> + select KVM_CROSS_ENDIAN_GUESTS
> >> depends on ARM_VIRT_EXT && ARM_LPAE && ARM_ARCH_TIMER
> >> ---help---
> >> Support hosting virtualized guest machines.
> >> diff --git a/arch/arm64/kvm/Kconfig b/arch/arm64/kvm/Kconfig
> >> index bfffe8f..9af39fe 100644
> >> --- a/arch/arm64/kvm/Kconfig
> >> +++ b/arch/arm64/kvm/Kconfig
> >> @@ -31,6 +31,7 @@ config KVM
> >> select KVM_VFIO
> >> select HAVE_KVM_EVENTFD
> >> select HAVE_KVM_IRQFD
> >> + select KVM_CROSS_ENDIAN_GUESTS
> >> ---help---
> >> Support hosting virtualized guest machines.
> >>
> >> diff --git a/arch/powerpc/kvm/Kconfig b/arch/powerpc/kvm/Kconfig
> >> index 3caec2c..e028710 100644
> >> --- a/arch/powerpc/kvm/Kconfig
> >> +++ b/arch/powerpc/kvm/Kconfig
> >> @@ -79,6 +79,7 @@ config KVM_BOOK3S_64_HV
> >> select KVM_BOOK3S_HV_POSSIBLE
> >> select MMU_NOTIFIER
> >> select CMA
> >> + select KVM_CROSS_ENDIAN_GUESTS
> >> ---help---
> >> Support running unmodified book3s_64 guest kernels in
> >> virtual machines on POWER7 and PPC970 processors that have
> >> diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
> >> index c18f9e6..0c4ce47 100644
> >> --- a/drivers/net/Kconfig
> >> +++ b/drivers/net/Kconfig
> >> @@ -261,6 +261,7 @@ config TUN
> >> config TUN_VNET_CROSS_LE
> >> bool "Support for cross-endian vnet headers on little-endian kernels"
> >> default n
> >> + depends on KVM_CROSS_ENDIAN_GUESTS
> >> ---help---
> >> This option allows TUN/TAP and MACVTAP device drivers in a
> >> little-endian kernel to parse vnet headers that come from a
> >> diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig
> >> index 533eaf0..4d8ae6b 100644
> >> --- a/drivers/vhost/Kconfig
> >> +++ b/drivers/vhost/Kconfig
> >> @@ -35,6 +35,7 @@ config VHOST
> >>
> >> config VHOST_CROSS_ENDIAN_LEGACY
> >> bool "Cross-endian support for vhost"
> >> + depends on KVM_CROSS_ENDIAN_GUESTS
> >> default n
> >> ---help---
> >> This option allows vhost to support guests with a different byte
> >> diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
> >> index e2c876d..cc7b28a 100644
> >> --- a/virt/kvm/Kconfig
> >> +++ b/virt/kvm/Kconfig
> >> @@ -47,3 +47,6 @@ config KVM_GENERIC_DIRTYLOG_READ_PROTECT
> >> config KVM_COMPAT
> >> def_bool y
> >> depends on COMPAT && !S390
> >> +
> >> +config KVM_CROSS_ENDIAN_GUESTS
> >> + bool
> >>
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-09 13:07 ` Michael S. Tsirkin
0 siblings, 0 replies; 55+ messages in thread
From: Michael S. Tsirkin @ 2015-07-09 13:07 UTC (permalink / raw)
To: Paolo Bonzini
Cc: Laurent Vivier, Thomas Huth, kvm, kvmarm, kvm-ppc, virtualization,
Greg Kurz, linux-arm-kernel, Gleb Natapov, Christoffer Dall,
Marc Zyngier, Alexander Graf, Paul Mackerras, linux-kernel,
netdev, kraxel, Cornelia Huck, Linus Torvalds
On Thu, Jul 09, 2015 at 02:57:33PM +0200, Paolo Bonzini wrote:
>
>
> On 09/07/2015 11:48, Laurent Vivier wrote:
> >
> >
> > On 09/07/2015 09:49, Thomas Huth wrote:
> >> The option for supporting cross-endianness legacy guests in
> >> the vhost and tun code should only be available on systems
> >> that support cross-endian guests.
> >
> > I'm sure I misunderstand something, but what happens if we use QEMU with
> > TCG instead of KVM, i.e. a big endian powerpc kernel guest on x86_64
> > little endian host ?
>
> TCG does not yet support irqfd/ioeventfd, so it cannot be used with vhost.
>
> Paolo
vhost does not require irqfd anymore. I think ioeventfd actually works
fine though I didn't try, it would be easy to support.
> > Do you forbid the use of vhost in this case ?
> >
> >> Signed-off-by: Thomas Huth <thuth@redhat.com>
> >> ---
> >> arch/arm/kvm/Kconfig | 1 +
> >> arch/arm64/kvm/Kconfig | 1 +
> >> arch/powerpc/kvm/Kconfig | 1 +
> >> drivers/net/Kconfig | 1 +
> >> drivers/vhost/Kconfig | 1 +
> >> virt/kvm/Kconfig | 3 +++
> >> 6 files changed, 8 insertions(+)
> >>
> >> diff --git a/arch/arm/kvm/Kconfig b/arch/arm/kvm/Kconfig
> >> index bfb915d..9d8f363 100644
> >> --- a/arch/arm/kvm/Kconfig
> >> +++ b/arch/arm/kvm/Kconfig
> >> @@ -31,6 +31,7 @@ config KVM
> >> select KVM_VFIO
> >> select HAVE_KVM_EVENTFD
> >> select HAVE_KVM_IRQFD
> >> + select KVM_CROSS_ENDIAN_GUESTS
> >> depends on ARM_VIRT_EXT && ARM_LPAE && ARM_ARCH_TIMER
> >> ---help---
> >> Support hosting virtualized guest machines.
> >> diff --git a/arch/arm64/kvm/Kconfig b/arch/arm64/kvm/Kconfig
> >> index bfffe8f..9af39fe 100644
> >> --- a/arch/arm64/kvm/Kconfig
> >> +++ b/arch/arm64/kvm/Kconfig
> >> @@ -31,6 +31,7 @@ config KVM
> >> select KVM_VFIO
> >> select HAVE_KVM_EVENTFD
> >> select HAVE_KVM_IRQFD
> >> + select KVM_CROSS_ENDIAN_GUESTS
> >> ---help---
> >> Support hosting virtualized guest machines.
> >>
> >> diff --git a/arch/powerpc/kvm/Kconfig b/arch/powerpc/kvm/Kconfig
> >> index 3caec2c..e028710 100644
> >> --- a/arch/powerpc/kvm/Kconfig
> >> +++ b/arch/powerpc/kvm/Kconfig
> >> @@ -79,6 +79,7 @@ config KVM_BOOK3S_64_HV
> >> select KVM_BOOK3S_HV_POSSIBLE
> >> select MMU_NOTIFIER
> >> select CMA
> >> + select KVM_CROSS_ENDIAN_GUESTS
> >> ---help---
> >> Support running unmodified book3s_64 guest kernels in
> >> virtual machines on POWER7 and PPC970 processors that have
> >> diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
> >> index c18f9e6..0c4ce47 100644
> >> --- a/drivers/net/Kconfig
> >> +++ b/drivers/net/Kconfig
> >> @@ -261,6 +261,7 @@ config TUN
> >> config TUN_VNET_CROSS_LE
> >> bool "Support for cross-endian vnet headers on little-endian kernels"
> >> default n
> >> + depends on KVM_CROSS_ENDIAN_GUESTS
> >> ---help---
> >> This option allows TUN/TAP and MACVTAP device drivers in a
> >> little-endian kernel to parse vnet headers that come from a
> >> diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig
> >> index 533eaf0..4d8ae6b 100644
> >> --- a/drivers/vhost/Kconfig
> >> +++ b/drivers/vhost/Kconfig
> >> @@ -35,6 +35,7 @@ config VHOST
> >>
> >> config VHOST_CROSS_ENDIAN_LEGACY
> >> bool "Cross-endian support for vhost"
> >> + depends on KVM_CROSS_ENDIAN_GUESTS
> >> default n
> >> ---help---
> >> This option allows vhost to support guests with a different byte
> >> diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
> >> index e2c876d..cc7b28a 100644
> >> --- a/virt/kvm/Kconfig
> >> +++ b/virt/kvm/Kconfig
> >> @@ -47,3 +47,6 @@ config KVM_GENERIC_DIRTYLOG_READ_PROTECT
> >> config KVM_COMPAT
> >> def_bool y
> >> depends on COMPAT && !S390
> >> +
> >> +config KVM_CROSS_ENDIAN_GUESTS
> >> + bool
> >>
^ permalink raw reply [flat|nested] 55+ messages in thread
* [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-09 13:07 ` Michael S. Tsirkin
0 siblings, 0 replies; 55+ messages in thread
From: Michael S. Tsirkin @ 2015-07-09 13:07 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, Jul 09, 2015 at 02:57:33PM +0200, Paolo Bonzini wrote:
>
>
> On 09/07/2015 11:48, Laurent Vivier wrote:
> >
> >
> > On 09/07/2015 09:49, Thomas Huth wrote:
> >> The option for supporting cross-endianness legacy guests in
> >> the vhost and tun code should only be available on systems
> >> that support cross-endian guests.
> >
> > I'm sure I misunderstand something, but what happens if we use QEMU with
> > TCG instead of KVM, i.e. a big endian powerpc kernel guest on x86_64
> > little endian host ?
>
> TCG does not yet support irqfd/ioeventfd, so it cannot be used with vhost.
>
> Paolo
vhost does not require irqfd anymore. I think ioeventfd actually works
fine though I didn't try, it would be easy to support.
> > Do you forbid the use of vhost in this case ?
> >
> >> Signed-off-by: Thomas Huth <thuth@redhat.com>
> >> ---
> >> arch/arm/kvm/Kconfig | 1 +
> >> arch/arm64/kvm/Kconfig | 1 +
> >> arch/powerpc/kvm/Kconfig | 1 +
> >> drivers/net/Kconfig | 1 +
> >> drivers/vhost/Kconfig | 1 +
> >> virt/kvm/Kconfig | 3 +++
> >> 6 files changed, 8 insertions(+)
> >>
> >> diff --git a/arch/arm/kvm/Kconfig b/arch/arm/kvm/Kconfig
> >> index bfb915d..9d8f363 100644
> >> --- a/arch/arm/kvm/Kconfig
> >> +++ b/arch/arm/kvm/Kconfig
> >> @@ -31,6 +31,7 @@ config KVM
> >> select KVM_VFIO
> >> select HAVE_KVM_EVENTFD
> >> select HAVE_KVM_IRQFD
> >> + select KVM_CROSS_ENDIAN_GUESTS
> >> depends on ARM_VIRT_EXT && ARM_LPAE && ARM_ARCH_TIMER
> >> ---help---
> >> Support hosting virtualized guest machines.
> >> diff --git a/arch/arm64/kvm/Kconfig b/arch/arm64/kvm/Kconfig
> >> index bfffe8f..9af39fe 100644
> >> --- a/arch/arm64/kvm/Kconfig
> >> +++ b/arch/arm64/kvm/Kconfig
> >> @@ -31,6 +31,7 @@ config KVM
> >> select KVM_VFIO
> >> select HAVE_KVM_EVENTFD
> >> select HAVE_KVM_IRQFD
> >> + select KVM_CROSS_ENDIAN_GUESTS
> >> ---help---
> >> Support hosting virtualized guest machines.
> >>
> >> diff --git a/arch/powerpc/kvm/Kconfig b/arch/powerpc/kvm/Kconfig
> >> index 3caec2c..e028710 100644
> >> --- a/arch/powerpc/kvm/Kconfig
> >> +++ b/arch/powerpc/kvm/Kconfig
> >> @@ -79,6 +79,7 @@ config KVM_BOOK3S_64_HV
> >> select KVM_BOOK3S_HV_POSSIBLE
> >> select MMU_NOTIFIER
> >> select CMA
> >> + select KVM_CROSS_ENDIAN_GUESTS
> >> ---help---
> >> Support running unmodified book3s_64 guest kernels in
> >> virtual machines on POWER7 and PPC970 processors that have
> >> diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
> >> index c18f9e6..0c4ce47 100644
> >> --- a/drivers/net/Kconfig
> >> +++ b/drivers/net/Kconfig
> >> @@ -261,6 +261,7 @@ config TUN
> >> config TUN_VNET_CROSS_LE
> >> bool "Support for cross-endian vnet headers on little-endian kernels"
> >> default n
> >> + depends on KVM_CROSS_ENDIAN_GUESTS
> >> ---help---
> >> This option allows TUN/TAP and MACVTAP device drivers in a
> >> little-endian kernel to parse vnet headers that come from a
> >> diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig
> >> index 533eaf0..4d8ae6b 100644
> >> --- a/drivers/vhost/Kconfig
> >> +++ b/drivers/vhost/Kconfig
> >> @@ -35,6 +35,7 @@ config VHOST
> >>
> >> config VHOST_CROSS_ENDIAN_LEGACY
> >> bool "Cross-endian support for vhost"
> >> + depends on KVM_CROSS_ENDIAN_GUESTS
> >> default n
> >> ---help---
> >> This option allows vhost to support guests with a different byte
> >> diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
> >> index e2c876d..cc7b28a 100644
> >> --- a/virt/kvm/Kconfig
> >> +++ b/virt/kvm/Kconfig
> >> @@ -47,3 +47,6 @@ config KVM_GENERIC_DIRTYLOG_READ_PROTECT
> >> config KVM_COMPAT
> >> def_bool y
> >> depends on COMPAT && !S390
> >> +
> >> +config KVM_CROSS_ENDIAN_GUESTS
> >> + bool
> >>
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-09 13:07 ` Michael S. Tsirkin
0 siblings, 0 replies; 55+ messages in thread
From: Michael S. Tsirkin @ 2015-07-09 13:07 UTC (permalink / raw)
To: Paolo Bonzini
Cc: Laurent Vivier, Thomas Huth, kvm, Gleb Natapov, linux-kernel,
kvm-ppc, virtualization, Marc Zyngier, Paul Mackerras,
Christoffer Dall, netdev, Linus Torvalds, kvmarm,
linux-arm-kernel
On Thu, Jul 09, 2015 at 02:57:33PM +0200, Paolo Bonzini wrote:
>
>
> On 09/07/2015 11:48, Laurent Vivier wrote:
> >
> >
> > On 09/07/2015 09:49, Thomas Huth wrote:
> >> The option for supporting cross-endianness legacy guests in
> >> the vhost and tun code should only be available on systems
> >> that support cross-endian guests.
> >
> > I'm sure I misunderstand something, but what happens if we use QEMU with
> > TCG instead of KVM, i.e. a big endian powerpc kernel guest on x86_64
> > little endian host ?
>
> TCG does not yet support irqfd/ioeventfd, so it cannot be used with vhost.
>
> Paolo
vhost does not require irqfd anymore. I think ioeventfd actually works
fine though I didn't try, it would be easy to support.
> > Do you forbid the use of vhost in this case ?
> >
> >> Signed-off-by: Thomas Huth <thuth@redhat.com>
> >> ---
> >> arch/arm/kvm/Kconfig | 1 +
> >> arch/arm64/kvm/Kconfig | 1 +
> >> arch/powerpc/kvm/Kconfig | 1 +
> >> drivers/net/Kconfig | 1 +
> >> drivers/vhost/Kconfig | 1 +
> >> virt/kvm/Kconfig | 3 +++
> >> 6 files changed, 8 insertions(+)
> >>
> >> diff --git a/arch/arm/kvm/Kconfig b/arch/arm/kvm/Kconfig
> >> index bfb915d..9d8f363 100644
> >> --- a/arch/arm/kvm/Kconfig
> >> +++ b/arch/arm/kvm/Kconfig
> >> @@ -31,6 +31,7 @@ config KVM
> >> select KVM_VFIO
> >> select HAVE_KVM_EVENTFD
> >> select HAVE_KVM_IRQFD
> >> + select KVM_CROSS_ENDIAN_GUESTS
> >> depends on ARM_VIRT_EXT && ARM_LPAE && ARM_ARCH_TIMER
> >> ---help---
> >> Support hosting virtualized guest machines.
> >> diff --git a/arch/arm64/kvm/Kconfig b/arch/arm64/kvm/Kconfig
> >> index bfffe8f..9af39fe 100644
> >> --- a/arch/arm64/kvm/Kconfig
> >> +++ b/arch/arm64/kvm/Kconfig
> >> @@ -31,6 +31,7 @@ config KVM
> >> select KVM_VFIO
> >> select HAVE_KVM_EVENTFD
> >> select HAVE_KVM_IRQFD
> >> + select KVM_CROSS_ENDIAN_GUESTS
> >> ---help---
> >> Support hosting virtualized guest machines.
> >>
> >> diff --git a/arch/powerpc/kvm/Kconfig b/arch/powerpc/kvm/Kconfig
> >> index 3caec2c..e028710 100644
> >> --- a/arch/powerpc/kvm/Kconfig
> >> +++ b/arch/powerpc/kvm/Kconfig
> >> @@ -79,6 +79,7 @@ config KVM_BOOK3S_64_HV
> >> select KVM_BOOK3S_HV_POSSIBLE
> >> select MMU_NOTIFIER
> >> select CMA
> >> + select KVM_CROSS_ENDIAN_GUESTS
> >> ---help---
> >> Support running unmodified book3s_64 guest kernels in
> >> virtual machines on POWER7 and PPC970 processors that have
> >> diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
> >> index c18f9e6..0c4ce47 100644
> >> --- a/drivers/net/Kconfig
> >> +++ b/drivers/net/Kconfig
> >> @@ -261,6 +261,7 @@ config TUN
> >> config TUN_VNET_CROSS_LE
> >> bool "Support for cross-endian vnet headers on little-endian kernels"
> >> default n
> >> + depends on KVM_CROSS_ENDIAN_GUESTS
> >> ---help---
> >> This option allows TUN/TAP and MACVTAP device drivers in a
> >> little-endian kernel to parse vnet headers that come from a
> >> diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig
> >> index 533eaf0..4d8ae6b 100644
> >> --- a/drivers/vhost/Kconfig
> >> +++ b/drivers/vhost/Kconfig
> >> @@ -35,6 +35,7 @@ config VHOST
> >>
> >> config VHOST_CROSS_ENDIAN_LEGACY
> >> bool "Cross-endian support for vhost"
> >> + depends on KVM_CROSS_ENDIAN_GUESTS
> >> default n
> >> ---help---
> >> This option allows vhost to support guests with a different byte
> >> diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
> >> index e2c876d..cc7b28a 100644
> >> --- a/virt/kvm/Kconfig
> >> +++ b/virt/kvm/Kconfig
> >> @@ -47,3 +47,6 @@ config KVM_GENERIC_DIRTYLOG_READ_PROTECT
> >> config KVM_COMPAT
> >> def_bool y
> >> depends on COMPAT && !S390
> >> +
> >> +config KVM_CROSS_ENDIAN_GUESTS
> >> + bool
> >>
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
2015-07-09 13:07 ` Michael S. Tsirkin
(?)
(?)
@ 2015-07-09 18:59 ` Thomas Huth
-1 siblings, 0 replies; 55+ messages in thread
From: Thomas Huth @ 2015-07-09 18:59 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Paolo Bonzini, Laurent Vivier, kvm, kvmarm, kvm-ppc,
virtualization, Greg Kurz, linux-arm-kernel, Gleb Natapov,
Christoffer Dall, Marc Zyngier, Alexander Graf, Paul Mackerras,
linux-kernel, netdev, kraxel, Cornelia Huck, Linus Torvalds
On Thu, 9 Jul 2015 16:07:47 +0300
"Michael S. Tsirkin" <mst@redhat.com> wrote:
> On Thu, Jul 09, 2015 at 02:57:33PM +0200, Paolo Bonzini wrote:
> >
> >
> > On 09/07/2015 11:48, Laurent Vivier wrote:
> > >
> > >
> > > On 09/07/2015 09:49, Thomas Huth wrote:
> > >> The option for supporting cross-endianness legacy guests in
> > >> the vhost and tun code should only be available on systems
> > >> that support cross-endian guests.
> > >
> > > I'm sure I misunderstand something, but what happens if we use QEMU with
> > > TCG instead of KVM, i.e. a big endian powerpc kernel guest on x86_64
> > > little endian host ?
> >
> > TCG does not yet support irqfd/ioeventfd, so it cannot be used with vhost.
> >
> > Paolo
>
> vhost does not require irqfd anymore. I think ioeventfd actually works
> fine though I didn't try, it would be easy to support.
That's an interesting issue, thanks for pointing this out, Laurent! So
do we now rather want to leave everything as it currently is, in case
somebody wants to use vhost-net with a cross-endian TCG guest one day?
Or do we assume that either
a) TCG is so slow anyway that nobody wants to accelerate it with vhost
or
b) TCG vhost likely won't happen that soon so we hope that everybody
will already be using virtio 1.0 at that point in time (with a fixed
endianness)
?
... then I think we should go on and include this patch.
Thomas
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-09 18:59 ` Thomas Huth
0 siblings, 0 replies; 55+ messages in thread
From: Thomas Huth @ 2015-07-09 18:59 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Paolo Bonzini, Laurent Vivier, kvm, kvmarm, kvm-ppc,
virtualization, Greg Kurz, linux-arm-kernel, Gleb Natapov,
Christoffer Dall, Marc Zyngier, Alexander Graf, Paul Mackerras,
linux-kernel, netdev, kraxel, Cornelia Huck, Linus Torvalds
On Thu, 9 Jul 2015 16:07:47 +0300
"Michael S. Tsirkin" <mst@redhat.com> wrote:
> On Thu, Jul 09, 2015 at 02:57:33PM +0200, Paolo Bonzini wrote:
> >
> >
> > On 09/07/2015 11:48, Laurent Vivier wrote:
> > >
> > >
> > > On 09/07/2015 09:49, Thomas Huth wrote:
> > >> The option for supporting cross-endianness legacy guests in
> > >> the vhost and tun code should only be available on systems
> > >> that support cross-endian guests.
> > >
> > > I'm sure I misunderstand something, but what happens if we use QEMU with
> > > TCG instead of KVM, i.e. a big endian powerpc kernel guest on x86_64
> > > little endian host ?
> >
> > TCG does not yet support irqfd/ioeventfd, so it cannot be used with vhost.
> >
> > Paolo
>
> vhost does not require irqfd anymore. I think ioeventfd actually works
> fine though I didn't try, it would be easy to support.
That's an interesting issue, thanks for pointing this out, Laurent! So
do we now rather want to leave everything as it currently is, in case
somebody wants to use vhost-net with a cross-endian TCG guest one day?
Or do we assume that either
a) TCG is so slow anyway that nobody wants to accelerate it with vhost
or
b) TCG vhost likely won't happen that soon so we hope that everybody
will already be using virtio 1.0 at that point in time (with a fixed
endianness)
?
... then I think we should go on and include this patch.
Thomas
^ permalink raw reply [flat|nested] 55+ messages in thread
* [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-09 18:59 ` Thomas Huth
0 siblings, 0 replies; 55+ messages in thread
From: Thomas Huth @ 2015-07-09 18:59 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, 9 Jul 2015 16:07:47 +0300
"Michael S. Tsirkin" <mst@redhat.com> wrote:
> On Thu, Jul 09, 2015 at 02:57:33PM +0200, Paolo Bonzini wrote:
> >
> >
> > On 09/07/2015 11:48, Laurent Vivier wrote:
> > >
> > >
> > > On 09/07/2015 09:49, Thomas Huth wrote:
> > >> The option for supporting cross-endianness legacy guests in
> > >> the vhost and tun code should only be available on systems
> > >> that support cross-endian guests.
> > >
> > > I'm sure I misunderstand something, but what happens if we use QEMU with
> > > TCG instead of KVM, i.e. a big endian powerpc kernel guest on x86_64
> > > little endian host ?
> >
> > TCG does not yet support irqfd/ioeventfd, so it cannot be used with vhost.
> >
> > Paolo
>
> vhost does not require irqfd anymore. I think ioeventfd actually works
> fine though I didn't try, it would be easy to support.
That's an interesting issue, thanks for pointing this out, Laurent! So
do we now rather want to leave everything as it currently is, in case
somebody wants to use vhost-net with a cross-endian TCG guest one day?
Or do we assume that either
a) TCG is so slow anyway that nobody wants to accelerate it with vhost
or
b) TCG vhost likely won't happen that soon so we hope that everybody
will already be using virtio 1.0 at that point in time (with a fixed
endianness)
?
... then I think we should go on and include this patch.
Thomas
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-09 18:59 ` Thomas Huth
0 siblings, 0 replies; 55+ messages in thread
From: Thomas Huth @ 2015-07-09 18:59 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Laurent Vivier, kvm, Gleb Natapov, linux-kernel, kvm-ppc,
virtualization, Marc Zyngier, Paul Mackerras, Christoffer Dall,
netdev, Paolo Bonzini, Linus Torvalds, kvmarm, linux-arm-kernel
On Thu, 9 Jul 2015 16:07:47 +0300
"Michael S. Tsirkin" <mst@redhat.com> wrote:
> On Thu, Jul 09, 2015 at 02:57:33PM +0200, Paolo Bonzini wrote:
> >
> >
> > On 09/07/2015 11:48, Laurent Vivier wrote:
> > >
> > >
> > > On 09/07/2015 09:49, Thomas Huth wrote:
> > >> The option for supporting cross-endianness legacy guests in
> > >> the vhost and tun code should only be available on systems
> > >> that support cross-endian guests.
> > >
> > > I'm sure I misunderstand something, but what happens if we use QEMU with
> > > TCG instead of KVM, i.e. a big endian powerpc kernel guest on x86_64
> > > little endian host ?
> >
> > TCG does not yet support irqfd/ioeventfd, so it cannot be used with vhost.
> >
> > Paolo
>
> vhost does not require irqfd anymore. I think ioeventfd actually works
> fine though I didn't try, it would be easy to support.
That's an interesting issue, thanks for pointing this out, Laurent! So
do we now rather want to leave everything as it currently is, in case
somebody wants to use vhost-net with a cross-endian TCG guest one day?
Or do we assume that either
a) TCG is so slow anyway that nobody wants to accelerate it with vhost
or
b) TCG vhost likely won't happen that soon so we hope that everybody
will already be using virtio 1.0 at that point in time (with a fixed
endianness)
?
... then I think we should go on and include this patch.
Thomas
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
2015-07-09 7:49 ` Thomas Huth
(?)
(?)
@ 2015-07-09 10:02 ` Christoffer Dall
-1 siblings, 0 replies; 55+ messages in thread
From: Christoffer Dall @ 2015-07-09 10:02 UTC (permalink / raw)
To: Thomas Huth
Cc: Michael S. Tsirkin, kvm, kvmarm, kvm-ppc, virtualization,
Greg Kurz, linux-arm-kernel, Gleb Natapov, Paolo Bonzini,
Marc Zyngier, Alexander Graf, Paul Mackerras, linux-kernel,
netdev, kraxel, Cornelia Huck, Linus Torvalds
On Thu, Jul 09, 2015 at 09:49:05AM +0200, Thomas Huth wrote:
> The option for supporting cross-endianness legacy guests in
> the vhost and tun code should only be available on systems
> that support cross-endian guests.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
Acked-by: Christoffer Dall <christoffer.dall@linaro.org>
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-09 10:02 ` Christoffer Dall
0 siblings, 0 replies; 55+ messages in thread
From: Christoffer Dall @ 2015-07-09 10:02 UTC (permalink / raw)
To: Thomas Huth
Cc: Michael S. Tsirkin, kvm, kvmarm, kvm-ppc, virtualization,
Greg Kurz, linux-arm-kernel, Gleb Natapov, Paolo Bonzini,
Marc Zyngier, Alexander Graf, Paul Mackerras, linux-kernel,
netdev, kraxel, Cornelia Huck, Linus Torvalds
On Thu, Jul 09, 2015 at 09:49:05AM +0200, Thomas Huth wrote:
> The option for supporting cross-endianness legacy guests in
> the vhost and tun code should only be available on systems
> that support cross-endian guests.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
Acked-by: Christoffer Dall <christoffer.dall@linaro.org>
^ permalink raw reply [flat|nested] 55+ messages in thread
* [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-09 10:02 ` Christoffer Dall
0 siblings, 0 replies; 55+ messages in thread
From: Christoffer Dall @ 2015-07-09 10:02 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, Jul 09, 2015 at 09:49:05AM +0200, Thomas Huth wrote:
> The option for supporting cross-endianness legacy guests in
> the vhost and tun code should only be available on systems
> that support cross-endian guests.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
Acked-by: Christoffer Dall <christoffer.dall@linaro.org>
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-09 10:02 ` Christoffer Dall
0 siblings, 0 replies; 55+ messages in thread
From: Christoffer Dall @ 2015-07-09 10:02 UTC (permalink / raw)
To: Thomas Huth
Cc: kvm, Michael S. Tsirkin, Gleb Natapov, linux-kernel, kvm-ppc,
virtualization, Marc Zyngier, Paul Mackerras, netdev,
Paolo Bonzini, Linus Torvalds, kvmarm, linux-arm-kernel
On Thu, Jul 09, 2015 at 09:49:05AM +0200, Thomas Huth wrote:
> The option for supporting cross-endianness legacy guests in
> the vhost and tun code should only be available on systems
> that support cross-endian guests.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
Acked-by: Christoffer Dall <christoffer.dall@linaro.org>
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
2015-07-09 7:49 ` Thomas Huth
(?)
(?)
@ 2015-07-09 12:21 ` Cornelia Huck
-1 siblings, 0 replies; 55+ messages in thread
From: Cornelia Huck @ 2015-07-09 12:21 UTC (permalink / raw)
To: Thomas Huth
Cc: Michael S. Tsirkin, kvm, kvmarm, kvm-ppc, virtualization,
Greg Kurz, linux-arm-kernel, Gleb Natapov, Paolo Bonzini,
Christoffer Dall, Marc Zyngier, Alexander Graf, Paul Mackerras,
linux-kernel, netdev, kraxel, Linus Torvalds
On Thu, 9 Jul 2015 09:49:05 +0200
Thomas Huth <thuth@redhat.com> wrote:
> The option for supporting cross-endianness legacy guests in
s/cross-endianness/cross-endian/ ?
> the vhost and tun code should only be available on systems
> that support cross-endian guests.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> arch/arm/kvm/Kconfig | 1 +
> arch/arm64/kvm/Kconfig | 1 +
> arch/powerpc/kvm/Kconfig | 1 +
> drivers/net/Kconfig | 1 +
> drivers/vhost/Kconfig | 1 +
> virt/kvm/Kconfig | 3 +++
> 6 files changed, 8 insertions(+)
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-09 12:21 ` Cornelia Huck
0 siblings, 0 replies; 55+ messages in thread
From: Cornelia Huck @ 2015-07-09 12:21 UTC (permalink / raw)
To: Thomas Huth
Cc: Michael S. Tsirkin, kvm, kvmarm, kvm-ppc, virtualization,
Greg Kurz, linux-arm-kernel, Gleb Natapov, Paolo Bonzini,
Christoffer Dall, Marc Zyngier, Alexander Graf, Paul Mackerras,
linux-kernel, netdev, kraxel, Linus Torvalds
On Thu, 9 Jul 2015 09:49:05 +0200
Thomas Huth <thuth@redhat.com> wrote:
> The option for supporting cross-endianness legacy guests in
s/cross-endianness/cross-endian/ ?
> the vhost and tun code should only be available on systems
> that support cross-endian guests.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> arch/arm/kvm/Kconfig | 1 +
> arch/arm64/kvm/Kconfig | 1 +
> arch/powerpc/kvm/Kconfig | 1 +
> drivers/net/Kconfig | 1 +
> drivers/vhost/Kconfig | 1 +
> virt/kvm/Kconfig | 3 +++
> 6 files changed, 8 insertions(+)
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
^ permalink raw reply [flat|nested] 55+ messages in thread
* [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-09 12:21 ` Cornelia Huck
0 siblings, 0 replies; 55+ messages in thread
From: Cornelia Huck @ 2015-07-09 12:21 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, 9 Jul 2015 09:49:05 +0200
Thomas Huth <thuth@redhat.com> wrote:
> The option for supporting cross-endianness legacy guests in
s/cross-endianness/cross-endian/ ?
> the vhost and tun code should only be available on systems
> that support cross-endian guests.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> arch/arm/kvm/Kconfig | 1 +
> arch/arm64/kvm/Kconfig | 1 +
> arch/powerpc/kvm/Kconfig | 1 +
> drivers/net/Kconfig | 1 +
> drivers/vhost/Kconfig | 1 +
> virt/kvm/Kconfig | 3 +++
> 6 files changed, 8 insertions(+)
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-09 12:21 ` Cornelia Huck
0 siblings, 0 replies; 55+ messages in thread
From: Cornelia Huck @ 2015-07-09 12:21 UTC (permalink / raw)
To: Thomas Huth
Cc: kraxel, kvm, Michael S. Tsirkin, Gleb Natapov, linux-kernel,
kvm-ppc, virtualization, Marc Zyngier, Paul Mackerras, netdev,
Paolo Bonzini, Linus Torvalds, kvmarm, linux-arm-kernel,
Greg Kurz
On Thu, 9 Jul 2015 09:49:05 +0200
Thomas Huth <thuth@redhat.com> wrote:
> The option for supporting cross-endianness legacy guests in
s/cross-endianness/cross-endian/ ?
> the vhost and tun code should only be available on systems
> that support cross-endian guests.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> arch/arm/kvm/Kconfig | 1 +
> arch/arm64/kvm/Kconfig | 1 +
> arch/powerpc/kvm/Kconfig | 1 +
> drivers/net/Kconfig | 1 +
> drivers/vhost/Kconfig | 1 +
> virt/kvm/Kconfig | 3 +++
> 6 files changed, 8 insertions(+)
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
2015-07-09 7:49 ` Thomas Huth
` (5 preceding siblings ...)
(?)
@ 2015-07-09 12:21 ` Cornelia Huck
-1 siblings, 0 replies; 55+ messages in thread
From: Cornelia Huck @ 2015-07-09 12:21 UTC (permalink / raw)
To: Thomas Huth
Cc: kvm, Michael S. Tsirkin, Gleb Natapov, linux-kernel, kvm-ppc,
virtualization, Marc Zyngier, Paul Mackerras, Christoffer Dall,
netdev, Paolo Bonzini, Linus Torvalds, kvmarm, linux-arm-kernel
On Thu, 9 Jul 2015 09:49:05 +0200
Thomas Huth <thuth@redhat.com> wrote:
> The option for supporting cross-endianness legacy guests in
s/cross-endianness/cross-endian/ ?
> the vhost and tun code should only be available on systems
> that support cross-endian guests.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> arch/arm/kvm/Kconfig | 1 +
> arch/arm64/kvm/Kconfig | 1 +
> arch/powerpc/kvm/Kconfig | 1 +
> drivers/net/Kconfig | 1 +
> drivers/vhost/Kconfig | 1 +
> virt/kvm/Kconfig | 3 +++
> 6 files changed, 8 insertions(+)
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
^ permalink raw reply [flat|nested] 55+ messages in thread* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
2015-07-09 7:49 ` Thomas Huth
(?)
(?)
@ 2015-07-13 9:24 ` Greg Kurz
-1 siblings, 0 replies; 55+ messages in thread
From: Greg Kurz @ 2015-07-13 9:24 UTC (permalink / raw)
To: Thomas Huth
Cc: Michael S. Tsirkin, kvm, kvmarm, kvm-ppc, virtualization,
linux-arm-kernel, Gleb Natapov, Paolo Bonzini, Christoffer Dall,
Marc Zyngier, Alexander Graf, Paul Mackerras, linux-kernel,
netdev, kraxel, Cornelia Huck, Linus Torvalds
On Thu, 9 Jul 2015 09:49:05 +0200
Thomas Huth <thuth@redhat.com> wrote:
> The option for supporting cross-endianness legacy guests in
> the vhost and tun code should only be available on systems
> that support cross-endian guests.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
Acked-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-13 9:24 ` Greg Kurz
0 siblings, 0 replies; 55+ messages in thread
From: Greg Kurz @ 2015-07-13 9:24 UTC (permalink / raw)
To: Thomas Huth
Cc: Michael S. Tsirkin, kvm, kvmarm, kvm-ppc, virtualization,
linux-arm-kernel, Gleb Natapov, Paolo Bonzini, Christoffer Dall,
Marc Zyngier, Alexander Graf, Paul Mackerras, linux-kernel,
netdev, kraxel, Cornelia Huck, Linus Torvalds
On Thu, 9 Jul 2015 09:49:05 +0200
Thomas Huth <thuth@redhat.com> wrote:
> The option for supporting cross-endianness legacy guests in
> the vhost and tun code should only be available on systems
> that support cross-endian guests.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
Acked-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
^ permalink raw reply [flat|nested] 55+ messages in thread
* [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-13 9:24 ` Greg Kurz
0 siblings, 0 replies; 55+ messages in thread
From: Greg Kurz @ 2015-07-13 9:24 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, 9 Jul 2015 09:49:05 +0200
Thomas Huth <thuth@redhat.com> wrote:
> The option for supporting cross-endianness legacy guests in
> the vhost and tun code should only be available on systems
> that support cross-endian guests.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
Acked-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
@ 2015-07-13 9:24 ` Greg Kurz
0 siblings, 0 replies; 55+ messages in thread
From: Greg Kurz @ 2015-07-13 9:24 UTC (permalink / raw)
To: Thomas Huth
Cc: kvm, Michael S. Tsirkin, Gleb Natapov, linux-kernel, kvm-ppc,
virtualization, Marc Zyngier, Paul Mackerras, netdev,
Cornelia Huck, Paolo Bonzini, Linus Torvalds, kvmarm,
linux-arm-kernel, kraxel
On Thu, 9 Jul 2015 09:49:05 +0200
Thomas Huth <thuth@redhat.com> wrote:
> The option for supporting cross-endianness legacy guests in
> the vhost and tun code should only be available on systems
> that support cross-endian guests.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
Acked-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
^ permalink raw reply [flat|nested] 55+ messages in thread
* Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests
2015-07-09 7:49 ` Thomas Huth
` (7 preceding siblings ...)
(?)
@ 2015-07-13 9:24 ` Greg Kurz
-1 siblings, 0 replies; 55+ messages in thread
From: Greg Kurz @ 2015-07-13 9:24 UTC (permalink / raw)
To: Thomas Huth
Cc: kvm, Michael S. Tsirkin, Gleb Natapov, linux-kernel, kvm-ppc,
virtualization, Marc Zyngier, Paul Mackerras, Christoffer Dall,
netdev, Paolo Bonzini, Linus Torvalds, kvmarm, linux-arm-kernel
On Thu, 9 Jul 2015 09:49:05 +0200
Thomas Huth <thuth@redhat.com> wrote:
> The option for supporting cross-endianness legacy guests in
> the vhost and tun code should only be available on systems
> that support cross-endian guests.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
Acked-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
^ permalink raw reply [flat|nested] 55+ messages in thread