diff for duplicates of <10CBFB35-5A18-4EA8-A129-58CCC4CFBB83@suse.de>
diff --git a/a/1.txt b/N1/1.txt
index a96f089..1a00e69 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,16 +1,18 @@
On 25.06.2012, at 14:26, Mihai Caraman wrote:
-> 64-bit host runs with lazy interrupt disabling, so local_irq_disable() does
-> not disable interrupts right away and does not protect against preemption
+> 64-bit host runs with lazy interrupt disabling, so local_irq_disable() =
+does
+> not disable interrupts right away and does not protect against =
+preemption
> required by __kvmppc_vcpu_run(). Define a macro for 64-bit to use
> hard_irq_disable().
->
+>=20
> Signed-off-by: Mihai Caraman <mihai.caraman@freescale.com>
> ---
> arch/powerpc/kvm/booke.c | 14 ++++++++++----
> 1 files changed, 10 insertions(+), 4 deletions(-)
->
+>=20
> diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c
> index 93b48e0..db05692 100644
> --- a/arch/powerpc/kvm/booke.c
@@ -18,32 +20,35 @@ On 25.06.2012, at 14:26, Mihai Caraman wrote:
> @@ -45,6 +45,12 @@ unsigned long kvmppc_booke_handlers;
> #define VM_STAT(x) offsetof(struct kvm, stat.x), KVM_STAT_VM
> #define VCPU_STAT(x) offsetof(struct kvm_vcpu, stat.x), KVM_STAT_VCPU
->
+>=20
> +#ifdef CONFIG_64BIT
> +#define _hard_irq_disable() hard_irq_disable()
> +#else
> +#define _hard_irq_disable() local_irq_disable()
> +#endif
-So you only swap out the disable bit, but not the enable one? Ben, would this work out?
+So you only swap out the disable bit, but not the enable one? Ben, would =
+this work out?
Alex
> +
-> struct kvm_stats_debugfs_item debugfs_entries[] = {
+> struct kvm_stats_debugfs_item debugfs_entries[] =3D {
> { "mmio", VCPU_STAT(mmio_exits) },
> { "dcr", VCPU_STAT(dcr_exits) },
-> @@ -456,7 +462,7 @@ int kvmppc_core_prepare_to_enter(struct kvm_vcpu *vcpu)
+> @@ -456,7 +462,7 @@ int kvmppc_core_prepare_to_enter(struct kvm_vcpu =
+*vcpu)
> local_irq_enable();
> kvm_vcpu_block(vcpu);
> clear_bit(KVM_REQ_UNHALT, &vcpu->requests);
> - local_irq_disable();
> + _hard_irq_disable();
->
+>=20
> kvmppc_set_exit_type(vcpu, EMULATED_MTMSRWE_EXITS);
-> r = 1;
-> @@ -480,7 +486,7 @@ static int kvmppc_prepare_to_enter(struct kvm_vcpu *vcpu)
+> r =3D 1;
+> @@ -480,7 +486,7 @@ static int kvmppc_prepare_to_enter(struct kvm_vcpu =
+*vcpu)
> if (need_resched()) {
> local_irq_enable();
> cond_resched();
@@ -51,27 +56,30 @@ Alex
> + _hard_irq_disable();
> continue;
> }
->
-> @@ -515,7 +521,7 @@ int kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu)
+>=20
+> @@ -515,7 +521,7 @@ int kvmppc_vcpu_run(struct kvm_run *kvm_run, =
+struct kvm_vcpu *vcpu)
> return -EINVAL;
> }
->
+>=20
> - local_irq_disable();
> + _hard_irq_disable();
> if (kvmppc_prepare_to_enter(vcpu)) {
-> kvm_run->exit_reason = KVM_EXIT_INTR;
-> ret = -EINTR;
-> @@ -955,7 +961,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
+> kvm_run->exit_reason =3D KVM_EXIT_INTR;
+> ret =3D -EINTR;
+> @@ -955,7 +961,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct =
+kvm_vcpu *vcpu,
> * aren't already exiting to userspace for some other reason.
> */
> if (!(r & RESUME_HOST)) {
> - local_irq_disable();
> + _hard_irq_disable();
> if (kvmppc_prepare_to_enter(vcpu)) {
-> run->exit_reason = KVM_EXIT_INTR;
-> r = (-EINTR << 2) | RESUME_HOST | (r & RESUME_FLAG_NV);
-> --
+> run->exit_reason =3D KVM_EXIT_INTR;
+> r =3D (-EINTR << 2) | RESUME_HOST | (r & =
+RESUME_FLAG_NV);
+> --=20
> 1.7.4.1
->
->
->
\ No newline at end of file
+>=20
+>=20
+>=20
\ No newline at end of file
diff --git a/a/content_digest b/N1/content_digest
index ba926f7..9892f06 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -17,11 +17,10 @@
"To\0Mihai Caraman <mihai.caraman\@freescale.com>\0"
]
[
- "Cc\0<kvm-ppc\@vger.kernel.org> <kvm-ppc\@vger.kernel.org>",
- " KVM list <kvm\@vger.kernel.org>",
+ "Cc\0qemu-ppc\@nongnu.org List <qemu-ppc\@nongnu.org>",
" linuxppc-dev <linuxppc-dev\@lists.ozlabs.org>",
- " qemu-ppc\@nongnu.org List <qemu-ppc\@nongnu.org>",
- " Benjamin Herrenschmidt <benh\@kernel.crashing.org>\0"
+ " KVM list <kvm\@vger.kernel.org>",
+ " <kvm-ppc\@vger.kernel.org> <kvm-ppc\@vger.kernel.org>\0"
]
[
"\0000:1\0"
@@ -33,16 +32,18 @@
"\n",
"On 25.06.2012, at 14:26, Mihai Caraman wrote:\n",
"\n",
- "> 64-bit host runs with lazy interrupt disabling, so local_irq_disable() does\n",
- "> not disable interrupts right away and does not protect against preemption\n",
+ "> 64-bit host runs with lazy interrupt disabling, so local_irq_disable() =\n",
+ "does\n",
+ "> not disable interrupts right away and does not protect against =\n",
+ "preemption\n",
"> required by __kvmppc_vcpu_run(). Define a macro for 64-bit to use\n",
"> hard_irq_disable().\n",
- "> \n",
+ ">=20\n",
"> Signed-off-by: Mihai Caraman <mihai.caraman\@freescale.com>\n",
"> ---\n",
"> arch/powerpc/kvm/booke.c | 14 ++++++++++----\n",
"> 1 files changed, 10 insertions(+), 4 deletions(-)\n",
- "> \n",
+ ">=20\n",
"> diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c\n",
"> index 93b48e0..db05692 100644\n",
"> --- a/arch/powerpc/kvm/booke.c\n",
@@ -50,32 +51,35 @@
"> \@\@ -45,6 +45,12 \@\@ unsigned long kvmppc_booke_handlers;\n",
"> #define VM_STAT(x) offsetof(struct kvm, stat.x), KVM_STAT_VM\n",
"> #define VCPU_STAT(x) offsetof(struct kvm_vcpu, stat.x), KVM_STAT_VCPU\n",
- "> \n",
+ ">=20\n",
"> +#ifdef CONFIG_64BIT\n",
"> +#define _hard_irq_disable() hard_irq_disable()\n",
"> +#else\n",
"> +#define _hard_irq_disable() local_irq_disable()\n",
"> +#endif\n",
"\n",
- "So you only swap out the disable bit, but not the enable one? Ben, would this work out?\n",
+ "So you only swap out the disable bit, but not the enable one? Ben, would =\n",
+ "this work out?\n",
"\n",
"\n",
"Alex\n",
"\n",
"> +\n",
- "> struct kvm_stats_debugfs_item debugfs_entries[] = {\n",
+ "> struct kvm_stats_debugfs_item debugfs_entries[] =3D {\n",
"> \t{ \"mmio\", VCPU_STAT(mmio_exits) },\n",
"> \t{ \"dcr\", VCPU_STAT(dcr_exits) },\n",
- "> \@\@ -456,7 +462,7 \@\@ int kvmppc_core_prepare_to_enter(struct kvm_vcpu *vcpu)\n",
+ "> \@\@ -456,7 +462,7 \@\@ int kvmppc_core_prepare_to_enter(struct kvm_vcpu =\n",
+ "*vcpu)\n",
"> \t\tlocal_irq_enable();\n",
"> \t\tkvm_vcpu_block(vcpu);\n",
"> \t\tclear_bit(KVM_REQ_UNHALT, &vcpu->requests);\n",
"> -\t\tlocal_irq_disable();\n",
"> +\t\t_hard_irq_disable();\n",
- "> \n",
+ ">=20\n",
"> \t\tkvmppc_set_exit_type(vcpu, EMULATED_MTMSRWE_EXITS);\n",
- "> \t\tr = 1;\n",
- "> \@\@ -480,7 +486,7 \@\@ static int kvmppc_prepare_to_enter(struct kvm_vcpu *vcpu)\n",
+ "> \t\tr =3D 1;\n",
+ "> \@\@ -480,7 +486,7 \@\@ static int kvmppc_prepare_to_enter(struct kvm_vcpu =\n",
+ "*vcpu)\n",
"> \t\tif (need_resched()) {\n",
"> \t\t\tlocal_irq_enable();\n",
"> \t\t\tcond_resched();\n",
@@ -83,30 +87,33 @@
"> +\t\t\t_hard_irq_disable();\n",
"> \t\t\tcontinue;\n",
"> \t\t}\n",
- "> \n",
- "> \@\@ -515,7 +521,7 \@\@ int kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu)\n",
+ ">=20\n",
+ "> \@\@ -515,7 +521,7 \@\@ int kvmppc_vcpu_run(struct kvm_run *kvm_run, =\n",
+ "struct kvm_vcpu *vcpu)\n",
"> \t\treturn -EINVAL;\n",
"> \t}\n",
- "> \n",
+ ">=20\n",
"> -\tlocal_irq_disable();\n",
"> +\t_hard_irq_disable();\n",
"> \tif (kvmppc_prepare_to_enter(vcpu)) {\n",
- "> \t\tkvm_run->exit_reason = KVM_EXIT_INTR;\n",
- "> \t\tret = -EINTR;\n",
- "> \@\@ -955,7 +961,7 \@\@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,\n",
+ "> \t\tkvm_run->exit_reason =3D KVM_EXIT_INTR;\n",
+ "> \t\tret =3D -EINTR;\n",
+ "> \@\@ -955,7 +961,7 \@\@ int kvmppc_handle_exit(struct kvm_run *run, struct =\n",
+ "kvm_vcpu *vcpu,\n",
"> \t * aren't already exiting to userspace for some other reason.\n",
"> \t */\n",
"> \tif (!(r & RESUME_HOST)) {\n",
"> -\t\tlocal_irq_disable();\n",
"> +\t\t_hard_irq_disable();\n",
"> \t\tif (kvmppc_prepare_to_enter(vcpu)) {\n",
- "> \t\t\trun->exit_reason = KVM_EXIT_INTR;\n",
- "> \t\t\tr = (-EINTR << 2) | RESUME_HOST | (r & RESUME_FLAG_NV);\n",
- "> -- \n",
+ "> \t\t\trun->exit_reason =3D KVM_EXIT_INTR;\n",
+ "> \t\t\tr =3D (-EINTR << 2) | RESUME_HOST | (r & =\n",
+ "RESUME_FLAG_NV);\n",
+ "> --=20\n",
"> 1.7.4.1\n",
- "> \n",
- "> \n",
- ">"
+ ">=20\n",
+ ">=20\n",
+ ">=20"
]
-4559686cf1365a36816cf6ad8b051a23efc515360a8786dfef3038789c262917
+c3389cf839c224d9a7b0adbc1be30c387464c76192464b1afb9cec646ab62d0c
diff --git a/a/content_digest b/N2/content_digest
index ba926f7..5eb61e8 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -11,7 +11,7 @@
"Subject\0Re: [Qemu-ppc] [RFC PATCH 09/17] KVM: PPC64: booke: Hard disable interrupts when entering guest\0"
]
[
- "Date\0Wed, 4 Jul 2012 16:14:49 +0200\0"
+ "Date\0Wed, 04 Jul 2012 14:14:49 +0000\0"
]
[
"To\0Mihai Caraman <mihai.caraman\@freescale.com>\0"
@@ -109,4 +109,4 @@
">"
]
-4559686cf1365a36816cf6ad8b051a23efc515360a8786dfef3038789c262917
+c6197c5e5d2593f7a2198ca3f25beeaed342bc4bcbaff89846b50aff36ab4a39
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.