diff for duplicates of <9fa18b3f-61c5-eb1c-5d9f-5e872d88a6e5@arm.com>
diff --git a/a/1.txt b/N1/1.txt
index 493b090..175cb23 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,7 +1,7 @@
On 08/03/18 09:31, Yang, Shunyong wrote:
> Hi, Eric,
>
-> First, please let me change Christoffer's email to cdall@kernel.org. I
+> First, please let me change?Christoffer's email to?cdall at kernel.org. I
> add more information about my test below, please check.
>
> On Thu, 2018-03-08 at 09:57 +0100, Auger Eric wrote:
@@ -15,9 +15,9 @@ On 08/03/18 09:31, Yang, Shunyong wrote:
>>> "When the PE acknowledges an SGI, a PPI, or an SPI at the CPU
>>> interface, the IRI changes the status of the interrupt to active
>>> and pending if:
->>> • It is an edge-triggered interrupt, and another edge has been
+>>> ? It is an edge-triggered interrupt, and another edge has been
>>> detected since the interrupt was acknowledged.
->>> • It is a level-sensitive interrupt, and the level has not been
+>>> ? It is a level-sensitive interrupt, and the level has not been
>>> deasserted since the interrupt was acknowledged."
>>>
>>> GIC v2 specification IHI0048B.b has similar description on page
@@ -42,46 +42,46 @@ On 08/03/18 09:31, Yang, Shunyong wrote:
>>> occurs.
>>>
>>> / # cat /dev/ttyS0
->>> [ 4.826836] random: crng init done
->>> [ 6.373620] irq 41: nobody cared (try booting with the "irqpoll"
+>>> [????4.826836] random: crng init done
+>>> [????6.373620] irq 41: nobody cared (try booting with the "irqpoll"
>>> option)
->>> [ 6.376414] CPU: 0 PID: 1307 Comm: cat Not tainted 4.16.0-rc4 #4
->>> [ 6.378927] Hardware name: linux,dummy-virt (DT)
->>> [ 6.380876] Call trace:
->>> [ 6.381937] dump_backtrace+0x0/0x180
->>> [ 6.383495] show_stack+0x14/0x1c
->>> [ 6.384902] dump_stack+0x90/0xb4
->>> [ 6.386312] __report_bad_irq+0x38/0xe0
->>> [ 6.387944] note_interrupt+0x1f4/0x2b8
->>> [ 6.389568] handle_irq_event_percpu+0x54/0x7c
->>> [ 6.391433] handle_irq_event+0x44/0x74
->>> [ 6.393056] handle_fasteoi_irq+0x9c/0x154
->>> [ 6.394784] generic_handle_irq+0x24/0x38
->>> [ 6.396483] __handle_domain_irq+0x60/0xb4
->>> [ 6.398207] gic_handle_irq+0x98/0x1b0
->>> [ 6.399796] el1_irq+0xb0/0x128
->>> [ 6.401138] _raw_spin_unlock_irqrestore+0x18/0x40
->>> [ 6.403149] __setup_irq+0x41c/0x678
->>> [ 6.404669] request_threaded_irq+0xe0/0x190
->>> [ 6.406474] univ8250_setup_irq+0x208/0x234
->>> [ 6.408250] serial8250_do_startup+0x1b4/0x754
->>> [ 6.410123] serial8250_startup+0x20/0x28
->>> [ 6.411826] uart_startup.part.21+0x78/0x144
->>> [ 6.413633] uart_port_activate+0x50/0x68
->>> [ 6.415328] tty_port_open+0x84/0xd4
->>> [ 6.416851] uart_open+0x34/0x44
->>> [ 6.418229] tty_open+0xec/0x3c8
->>> [ 6.419610] chrdev_open+0xb0/0x198
->>> [ 6.421093] do_dentry_open+0x200/0x310
->>> [ 6.422714] vfs_open+0x54/0x84
->>> [ 6.424054] path_openat+0x2dc/0xf04
->>> [ 6.425569] do_filp_open+0x68/0xd8
->>> [ 6.427044] do_sys_open+0x16c/0x224
->>> [ 6.428563] SyS_openat+0x10/0x18
->>> [ 6.429972] el0_svc_naked+0x30/0x34
->>> [ 6.431494] handlers:
->>> [ 6.432479] [<000000000e9fb4bb>] serial8250_interrupt
->>> [ 6.434597] Disabling IRQ #41
+>>> [????6.376414] CPU: 0 PID: 1307 Comm: cat Not tainted 4.16.0-rc4 #4
+>>> [????6.378927] Hardware name: linux,dummy-virt (DT)
+>>> [????6.380876] Call trace:
+>>> [????6.381937]??dump_backtrace+0x0/0x180
+>>> [????6.383495]??show_stack+0x14/0x1c
+>>> [????6.384902]??dump_stack+0x90/0xb4
+>>> [????6.386312]??__report_bad_irq+0x38/0xe0
+>>> [????6.387944]??note_interrupt+0x1f4/0x2b8
+>>> [????6.389568]??handle_irq_event_percpu+0x54/0x7c
+>>> [????6.391433]??handle_irq_event+0x44/0x74
+>>> [????6.393056]??handle_fasteoi_irq+0x9c/0x154
+>>> [????6.394784]??generic_handle_irq+0x24/0x38
+>>> [????6.396483]??__handle_domain_irq+0x60/0xb4
+>>> [????6.398207]??gic_handle_irq+0x98/0x1b0
+>>> [????6.399796]??el1_irq+0xb0/0x128
+>>> [????6.401138]??_raw_spin_unlock_irqrestore+0x18/0x40
+>>> [????6.403149]??__setup_irq+0x41c/0x678
+>>> [????6.404669]??request_threaded_irq+0xe0/0x190
+>>> [????6.406474]??univ8250_setup_irq+0x208/0x234
+>>> [????6.408250]??serial8250_do_startup+0x1b4/0x754
+>>> [????6.410123]??serial8250_startup+0x20/0x28
+>>> [????6.411826]??uart_startup.part.21+0x78/0x144
+>>> [????6.413633]??uart_port_activate+0x50/0x68
+>>> [????6.415328]??tty_port_open+0x84/0xd4
+>>> [????6.416851]??uart_open+0x34/0x44
+>>> [????6.418229]??tty_open+0xec/0x3c8
+>>> [????6.419610]??chrdev_open+0xb0/0x198
+>>> [????6.421093]??do_dentry_open+0x200/0x310
+>>> [????6.422714]??vfs_open+0x54/0x84
+>>> [????6.424054]??path_openat+0x2dc/0xf04
+>>> [????6.425569]??do_filp_open+0x68/0xd8
+>>> [????6.427044]??do_sys_open+0x16c/0x224
+>>> [????6.428563]??SyS_openat+0x10/0x18
+>>> [????6.429972]??el0_svc_naked+0x30/0x34
+>>> [????6.431494] handlers:
+>>> [????6.432479] [<000000000e9fb4bb>] serial8250_interrupt
+>>> [????6.434597] Disabling IRQ #41
>>>
>>> This patch changes the lr state condition in lr_signals_eoi_mi()
>>> from
@@ -93,9 +93,9 @@ On 08/03/18 09:31, Yang, Shunyong wrote:
>>> Cc: Joey Zheng <yu.zheng@hxt-semitech.com>
>>> Signed-off-by: Shunyong Yang <shunyong.yang@hxt-semitech.com>
>>> ---
->>> virt/kvm/arm/vgic/vgic-v2.c | 4 ++--
->>> virt/kvm/arm/vgic/vgic-v3.c | 4 ++--
->>> 2 files changed, 4 insertions(+), 4 deletions(-)
+>>> ?virt/kvm/arm/vgic/vgic-v2.c | 4 ++--
+>>> ?virt/kvm/arm/vgic/vgic-v3.c | 4 ++--
+>>> ?2 files changed, 4 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/virt/kvm/arm/vgic/vgic-v2.c b/virt/kvm/arm/vgic/vgic-
>>> v2.c
@@ -103,31 +103,31 @@ On 08/03/18 09:31, Yang, Shunyong wrote:
>>> --- a/virt/kvm/arm/vgic/vgic-v2.c
>>> +++ b/virt/kvm/arm/vgic/vgic-v2.c
>>> @@ -46,8 +46,8 @@ void vgic_v2_set_underflow(struct kvm_vcpu *vcpu)
->>>
->>> static bool lr_signals_eoi_mi(u32 lr_val)
->>> {
+>>> ?
+>>> ?static bool lr_signals_eoi_mi(u32 lr_val)
+>>> ?{
>>> - return !(lr_val & GICH_LR_STATE) && (lr_val & GICH_LR_EOI)
>>> &&
->>> - !(lr_val & GICH_LR_HW);
+>>> - ???????!(lr_val & GICH_LR_HW);
>>> + return !((lr_val & GICH_LR_STATE) ^ GICH_LR_STATE) &&
->>> + (lr_val & GICH_LR_EOI) && !(lr_val & GICH_LR_HW);
->>> }
->>>
->>> /*
+>>> + ???????(lr_val & GICH_LR_EOI) && !(lr_val & GICH_LR_HW);
+>>> ?}
+>>> ?
+>>> ?/*
>>> diff --git a/virt/kvm/arm/vgic/vgic-v3.c b/virt/kvm/arm/vgic/vgic-
>>> v3.c
>>> index 6b329414e57a..43111bba7af9 100644
>>> --- a/virt/kvm/arm/vgic/vgic-v3.c
>>> +++ b/virt/kvm/arm/vgic/vgic-v3.c
>>> @@ -35,8 +35,8 @@ void vgic_v3_set_underflow(struct kvm_vcpu *vcpu)
->>>
->>> static bool lr_signals_eoi_mi(u64 lr_val)
->>> {
+>>> ?
+>>> ?static bool lr_signals_eoi_mi(u64 lr_val)
+>>> ?{
>>> - return !(lr_val & ICH_LR_STATE) && (lr_val & ICH_LR_EOI)
>>> &&
->>> - !(lr_val & ICH_LR_HW);
+>>> - ???????!(lr_val & ICH_LR_HW);
>>> + return !((lr_val & ICH_LR_STATE) ^ ICH_LR_STATE) &&
->>> + (lr_val & ICH_LR_EOI) && !(lr_val & ICH_LR_HW);
+>>> + ???????(lr_val & ICH_LR_EOI) && !(lr_val & ICH_LR_HW);
>>
>> In general don't we have this state transition
>>
@@ -141,7 +141,7 @@ On 08/03/18 09:31, Yang, Shunyong wrote:
>> Eric
>
> In current code, in my test, when I output LR value of the mtty IRQ 41
-> (hwirq = 36) in vgic_v3_fold_lr_state(). The LR's transition starts
+> (hwirq = 36) in?vgic_v3_fold_lr_state(). The LR's transition starts
> like following,
>
> 0-->50a0020000000024-->90a0020000000024-->d0a0020000000024
@@ -153,7 +153,7 @@ On 08/03/18 09:31, Yang, Shunyong wrote:
> /* Notify fds when the guest EOI'ed a level-triggered IRQ */
> if (lr_signals_eoi_mi(val) && vgic_valid_spi(vcpu->kvm, intid))
> kvm_notify_acked_irq(vcpu->kvm, 0,
-> intid - VGIC_NR_PRIVATE_IRQS);
+> ?????intid - VGIC_NR_PRIVATE_IRQS);
>
> But as addressed in commit message, lr_signals_eoi_mi() will return
> false if state in LR is not invalid(inactive), so it has no chance to
diff --git a/a/content_digest b/N1/content_digest
index 98a5117..f51e78a 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -8,7 +8,7 @@
"ref\0001520501495.2583.19.camel\@hxt-semitech.com\0"
]
[
- "From\0Marc Zyngier <marc.zyngier\@arm.com>\0"
+ "From\0marc.zyngier\@arm.com (Marc Zyngier)\0"
]
[
"Subject\0Re: [\346\255\244\351\202\256\344\273\266\345\217\257\350\203\275\345\255\230\345\234\250\351\243\216\351\231\251] Re: [RFC PATCH] KVM: arm/arm64: vgic: change condition for level interrupt resampling\0"
@@ -17,20 +17,7 @@
"Date\0Thu, 8 Mar 2018 11:01:16 +0000\0"
]
[
- "To\0Yang",
- " Shunyong <shunyong.yang\@hxt-semitech.com>",
- " eric.auger\@redhat.com <eric.auger\@redhat.com>",
- " cdall\@kernel.org <cdall\@kernel.org>\0"
-]
-[
- "Cc\0linux-kernel\@vger.kernel.org <linux-kernel\@vger.kernel.org>",
- " ard.biesheuvel\@linaro.org <ard.biesheuvel\@linaro.org>",
- " kvmarm\@lists.cs.columbia.edu <kvmarm\@lists.cs.columbia.edu>",
- " Zheng",
- " Joey <yu.zheng\@hxt-semitech.com>",
- " will.deacon\@arm.com <will.deacon\@arm.com>",
- " linux-arm-kernel\@lists.infradead.org <linux-arm-kernel\@lists.infradead.org>",
- " david.daney\@cavium.com <david.daney\@cavium.com>\0"
+ "To\0linux-arm-kernel\@lists.infradead.org\0"
]
[
"\0000:1\0"
@@ -42,7 +29,7 @@
"On 08/03/18 09:31, Yang, Shunyong wrote:\n",
"> Hi, Eric,\n",
"> \n",
- "> First, please let me change\302\240Christoffer's email to\302\240cdall\@kernel.org. I\n",
+ "> First, please let me change?Christoffer's email to?cdall at kernel.org. I\n",
"> add more information about my test below, please check.\n",
"> \n",
"> On Thu, 2018-03-08 at 09:57 +0100, Auger Eric wrote:\n",
@@ -56,9 +43,9 @@
">>> \"When the PE acknowledges an SGI, a PPI, or an SPI at the CPU\n",
">>> interface, the IRI changes the status of the interrupt to active\n",
">>> and pending if:\n",
- ">>> \342\200\242 It is an edge-triggered interrupt, and another edge has been\n",
+ ">>> ? It is an edge-triggered interrupt, and another edge has been\n",
">>> detected since the interrupt was acknowledged.\n",
- ">>> \342\200\242 It is a level-sensitive interrupt, and the level has not been\n",
+ ">>> ? It is a level-sensitive interrupt, and the level has not been\n",
">>> deasserted since the interrupt was acknowledged.\"\n",
">>>\n",
">>> GIC v2 specification IHI0048B.b has similar description on page\n",
@@ -83,46 +70,46 @@
">>> occurs.\n",
">>>\n",
">>> / # cat /dev/ttyS0\n",
- ">>> [\302\240\302\240\302\240\302\2404.826836] random: crng init done\n",
- ">>> [\302\240\302\240\302\240\302\2406.373620] irq 41: nobody cared (try booting with the \"irqpoll\"\n",
+ ">>> [????4.826836] random: crng init done\n",
+ ">>> [????6.373620] irq 41: nobody cared (try booting with the \"irqpoll\"\n",
">>> option)\n",
- ">>> [\302\240\302\240\302\240\302\2406.376414] CPU: 0 PID: 1307 Comm: cat Not tainted 4.16.0-rc4 #4\n",
- ">>> [\302\240\302\240\302\240\302\2406.378927] Hardware name: linux,dummy-virt (DT)\n",
- ">>> [\302\240\302\240\302\240\302\2406.380876] Call trace:\n",
- ">>> [\302\240\302\240\302\240\302\2406.381937]\302\240\302\240dump_backtrace+0x0/0x180\n",
- ">>> [\302\240\302\240\302\240\302\2406.383495]\302\240\302\240show_stack+0x14/0x1c\n",
- ">>> [\302\240\302\240\302\240\302\2406.384902]\302\240\302\240dump_stack+0x90/0xb4\n",
- ">>> [\302\240\302\240\302\240\302\2406.386312]\302\240\302\240__report_bad_irq+0x38/0xe0\n",
- ">>> [\302\240\302\240\302\240\302\2406.387944]\302\240\302\240note_interrupt+0x1f4/0x2b8\n",
- ">>> [\302\240\302\240\302\240\302\2406.389568]\302\240\302\240handle_irq_event_percpu+0x54/0x7c\n",
- ">>> [\302\240\302\240\302\240\302\2406.391433]\302\240\302\240handle_irq_event+0x44/0x74\n",
- ">>> [\302\240\302\240\302\240\302\2406.393056]\302\240\302\240handle_fasteoi_irq+0x9c/0x154\n",
- ">>> [\302\240\302\240\302\240\302\2406.394784]\302\240\302\240generic_handle_irq+0x24/0x38\n",
- ">>> [\302\240\302\240\302\240\302\2406.396483]\302\240\302\240__handle_domain_irq+0x60/0xb4\n",
- ">>> [\302\240\302\240\302\240\302\2406.398207]\302\240\302\240gic_handle_irq+0x98/0x1b0\n",
- ">>> [\302\240\302\240\302\240\302\2406.399796]\302\240\302\240el1_irq+0xb0/0x128\n",
- ">>> [\302\240\302\240\302\240\302\2406.401138]\302\240\302\240_raw_spin_unlock_irqrestore+0x18/0x40\n",
- ">>> [\302\240\302\240\302\240\302\2406.403149]\302\240\302\240__setup_irq+0x41c/0x678\n",
- ">>> [\302\240\302\240\302\240\302\2406.404669]\302\240\302\240request_threaded_irq+0xe0/0x190\n",
- ">>> [\302\240\302\240\302\240\302\2406.406474]\302\240\302\240univ8250_setup_irq+0x208/0x234\n",
- ">>> [\302\240\302\240\302\240\302\2406.408250]\302\240\302\240serial8250_do_startup+0x1b4/0x754\n",
- ">>> [\302\240\302\240\302\240\302\2406.410123]\302\240\302\240serial8250_startup+0x20/0x28\n",
- ">>> [\302\240\302\240\302\240\302\2406.411826]\302\240\302\240uart_startup.part.21+0x78/0x144\n",
- ">>> [\302\240\302\240\302\240\302\2406.413633]\302\240\302\240uart_port_activate+0x50/0x68\n",
- ">>> [\302\240\302\240\302\240\302\2406.415328]\302\240\302\240tty_port_open+0x84/0xd4\n",
- ">>> [\302\240\302\240\302\240\302\2406.416851]\302\240\302\240uart_open+0x34/0x44\n",
- ">>> [\302\240\302\240\302\240\302\2406.418229]\302\240\302\240tty_open+0xec/0x3c8\n",
- ">>> [\302\240\302\240\302\240\302\2406.419610]\302\240\302\240chrdev_open+0xb0/0x198\n",
- ">>> [\302\240\302\240\302\240\302\2406.421093]\302\240\302\240do_dentry_open+0x200/0x310\n",
- ">>> [\302\240\302\240\302\240\302\2406.422714]\302\240\302\240vfs_open+0x54/0x84\n",
- ">>> [\302\240\302\240\302\240\302\2406.424054]\302\240\302\240path_openat+0x2dc/0xf04\n",
- ">>> [\302\240\302\240\302\240\302\2406.425569]\302\240\302\240do_filp_open+0x68/0xd8\n",
- ">>> [\302\240\302\240\302\240\302\2406.427044]\302\240\302\240do_sys_open+0x16c/0x224\n",
- ">>> [\302\240\302\240\302\240\302\2406.428563]\302\240\302\240SyS_openat+0x10/0x18\n",
- ">>> [\302\240\302\240\302\240\302\2406.429972]\302\240\302\240el0_svc_naked+0x30/0x34\n",
- ">>> [\302\240\302\240\302\240\302\2406.431494] handlers:\n",
- ">>> [\302\240\302\240\302\240\302\2406.432479] [<000000000e9fb4bb>] serial8250_interrupt\n",
- ">>> [\302\240\302\240\302\240\302\2406.434597] Disabling IRQ #41\n",
+ ">>> [????6.376414] CPU: 0 PID: 1307 Comm: cat Not tainted 4.16.0-rc4 #4\n",
+ ">>> [????6.378927] Hardware name: linux,dummy-virt (DT)\n",
+ ">>> [????6.380876] Call trace:\n",
+ ">>> [????6.381937]??dump_backtrace+0x0/0x180\n",
+ ">>> [????6.383495]??show_stack+0x14/0x1c\n",
+ ">>> [????6.384902]??dump_stack+0x90/0xb4\n",
+ ">>> [????6.386312]??__report_bad_irq+0x38/0xe0\n",
+ ">>> [????6.387944]??note_interrupt+0x1f4/0x2b8\n",
+ ">>> [????6.389568]??handle_irq_event_percpu+0x54/0x7c\n",
+ ">>> [????6.391433]??handle_irq_event+0x44/0x74\n",
+ ">>> [????6.393056]??handle_fasteoi_irq+0x9c/0x154\n",
+ ">>> [????6.394784]??generic_handle_irq+0x24/0x38\n",
+ ">>> [????6.396483]??__handle_domain_irq+0x60/0xb4\n",
+ ">>> [????6.398207]??gic_handle_irq+0x98/0x1b0\n",
+ ">>> [????6.399796]??el1_irq+0xb0/0x128\n",
+ ">>> [????6.401138]??_raw_spin_unlock_irqrestore+0x18/0x40\n",
+ ">>> [????6.403149]??__setup_irq+0x41c/0x678\n",
+ ">>> [????6.404669]??request_threaded_irq+0xe0/0x190\n",
+ ">>> [????6.406474]??univ8250_setup_irq+0x208/0x234\n",
+ ">>> [????6.408250]??serial8250_do_startup+0x1b4/0x754\n",
+ ">>> [????6.410123]??serial8250_startup+0x20/0x28\n",
+ ">>> [????6.411826]??uart_startup.part.21+0x78/0x144\n",
+ ">>> [????6.413633]??uart_port_activate+0x50/0x68\n",
+ ">>> [????6.415328]??tty_port_open+0x84/0xd4\n",
+ ">>> [????6.416851]??uart_open+0x34/0x44\n",
+ ">>> [????6.418229]??tty_open+0xec/0x3c8\n",
+ ">>> [????6.419610]??chrdev_open+0xb0/0x198\n",
+ ">>> [????6.421093]??do_dentry_open+0x200/0x310\n",
+ ">>> [????6.422714]??vfs_open+0x54/0x84\n",
+ ">>> [????6.424054]??path_openat+0x2dc/0xf04\n",
+ ">>> [????6.425569]??do_filp_open+0x68/0xd8\n",
+ ">>> [????6.427044]??do_sys_open+0x16c/0x224\n",
+ ">>> [????6.428563]??SyS_openat+0x10/0x18\n",
+ ">>> [????6.429972]??el0_svc_naked+0x30/0x34\n",
+ ">>> [????6.431494] handlers:\n",
+ ">>> [????6.432479] [<000000000e9fb4bb>] serial8250_interrupt\n",
+ ">>> [????6.434597] Disabling IRQ #41\n",
">>>\n",
">>> This patch changes the lr state condition in lr_signals_eoi_mi()\n",
">>> from\n",
@@ -134,9 +121,9 @@
">>> Cc: Joey Zheng <yu.zheng\@hxt-semitech.com>\n",
">>> Signed-off-by: Shunyong Yang <shunyong.yang\@hxt-semitech.com>\n",
">>> ---\n",
- ">>> \302\240virt/kvm/arm/vgic/vgic-v2.c | 4 ++--\n",
- ">>> \302\240virt/kvm/arm/vgic/vgic-v3.c | 4 ++--\n",
- ">>> \302\2402 files changed, 4 insertions(+), 4 deletions(-)\n",
+ ">>> ?virt/kvm/arm/vgic/vgic-v2.c | 4 ++--\n",
+ ">>> ?virt/kvm/arm/vgic/vgic-v3.c | 4 ++--\n",
+ ">>> ?2 files changed, 4 insertions(+), 4 deletions(-)\n",
">>>\n",
">>> diff --git a/virt/kvm/arm/vgic/vgic-v2.c b/virt/kvm/arm/vgic/vgic-\n",
">>> v2.c\n",
@@ -144,31 +131,31 @@
">>> --- a/virt/kvm/arm/vgic/vgic-v2.c\n",
">>> +++ b/virt/kvm/arm/vgic/vgic-v2.c\n",
">>> \@\@ -46,8 +46,8 \@\@ void vgic_v2_set_underflow(struct kvm_vcpu *vcpu)\n",
- ">>> \302\240\n",
- ">>> \302\240static bool lr_signals_eoi_mi(u32 lr_val)\n",
- ">>> \302\240{\n",
+ ">>> ?\n",
+ ">>> ?static bool lr_signals_eoi_mi(u32 lr_val)\n",
+ ">>> ?{\n",
">>> -\treturn !(lr_val & GICH_LR_STATE) && (lr_val & GICH_LR_EOI)\n",
">>> &&\n",
- ">>> -\t\302\240\302\240\302\240\302\240\302\240\302\240\302\240!(lr_val & GICH_LR_HW);\n",
+ ">>> -\t???????!(lr_val & GICH_LR_HW);\n",
">>> +\treturn !((lr_val & GICH_LR_STATE) ^ GICH_LR_STATE) &&\n",
- ">>> +\t\302\240\302\240\302\240\302\240\302\240\302\240\302\240(lr_val & GICH_LR_EOI) && !(lr_val & GICH_LR_HW);\n",
- ">>> \302\240}\n",
- ">>> \302\240\n",
- ">>> \302\240/*\n",
+ ">>> +\t???????(lr_val & GICH_LR_EOI) && !(lr_val & GICH_LR_HW);\n",
+ ">>> ?}\n",
+ ">>> ?\n",
+ ">>> ?/*\n",
">>> diff --git a/virt/kvm/arm/vgic/vgic-v3.c b/virt/kvm/arm/vgic/vgic-\n",
">>> v3.c\n",
">>> index 6b329414e57a..43111bba7af9 100644\n",
">>> --- a/virt/kvm/arm/vgic/vgic-v3.c\n",
">>> +++ b/virt/kvm/arm/vgic/vgic-v3.c\n",
">>> \@\@ -35,8 +35,8 \@\@ void vgic_v3_set_underflow(struct kvm_vcpu *vcpu)\n",
- ">>> \302\240\n",
- ">>> \302\240static bool lr_signals_eoi_mi(u64 lr_val)\n",
- ">>> \302\240{\n",
+ ">>> ?\n",
+ ">>> ?static bool lr_signals_eoi_mi(u64 lr_val)\n",
+ ">>> ?{\n",
">>> -\treturn !(lr_val & ICH_LR_STATE) && (lr_val & ICH_LR_EOI)\n",
">>> &&\n",
- ">>> -\t\302\240\302\240\302\240\302\240\302\240\302\240\302\240!(lr_val & ICH_LR_HW);\n",
+ ">>> -\t???????!(lr_val & ICH_LR_HW);\n",
">>> +\treturn !((lr_val & ICH_LR_STATE) ^ ICH_LR_STATE) &&\n",
- ">>> +\t\302\240\302\240\302\240\302\240\302\240\302\240\302\240(lr_val & ICH_LR_EOI) && !(lr_val & ICH_LR_HW);\n",
+ ">>> +\t???????(lr_val & ICH_LR_EOI) && !(lr_val & ICH_LR_HW);\n",
">>\n",
">> In general don't we have this state transition\n",
">>\n",
@@ -182,7 +169,7 @@
">> Eric\n",
"> \n",
"> In current code, in my test, when I output LR value of the mtty IRQ 41\n",
- "> (hwirq = 36) in\302\240vgic_v3_fold_lr_state(). The LR's transition starts\n",
+ "> (hwirq = 36) in?vgic_v3_fold_lr_state(). The LR's transition starts\n",
"> like following,\n",
"> \n",
"> 0-->50a0020000000024-->90a0020000000024-->d0a0020000000024\n",
@@ -194,7 +181,7 @@
"> /* Notify fds when the guest EOI'ed a level-triggered IRQ */\n",
"> \tif (lr_signals_eoi_mi(val) && vgic_valid_spi(vcpu->kvm, intid))\n",
"> \t\tkvm_notify_acked_irq(vcpu->kvm, 0,\n",
- "> \t\t\t\t\302\240\302\240\302\240\302\240\302\240intid - VGIC_NR_PRIVATE_IRQS);\n",
+ "> \t\t\t\t?????intid - VGIC_NR_PRIVATE_IRQS);\n",
"> \n",
"> But as addressed in commit message, lr_signals_eoi_mi() will return\n",
"> false if state in LR is not invalid(inactive), so it has no chance to\n",
@@ -215,4 +202,4 @@
"Jazz is not dead. It just smells funny..."
]
-9af92f43597f7c58649c241e43a3c23c8486a8e8edd2dcc3adfb2b111c964917
+ebb437e6381f8a9472d7a40fd120b62aac9eff902a1584ac60b06d13e212ad2d
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.