diff mbox series

[v2] s390x/tcg: clear local interrupts on reset normal

Message ID 20191206135404.16051-1-cohuck@redhat.com (mailing list archive)
State New, archived
Headers show
Series [v2] s390x/tcg: clear local interrupts on reset normal | expand

Commit Message

Cornelia Huck Dec. 6, 2019, 1:54 p.m. UTC
We neglected to clean up pending interrupts and emergency signals;
fix that.

Signed-off-by: Cornelia Huck <cohuck@redhat.com>
---

v1->v2:
- rebased on top of my s390-next branch; we can now move the fields
  to be reset instead of clearing them manually

Further cleanup possible in a follow-up patch.

---
 target/s390x/cpu.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Philippe Mathieu-Daudé Dec. 6, 2019, 2:26 p.m. UTC | #1
On 12/6/19 2:54 PM, Cornelia Huck wrote:
> We neglected to clean up pending interrupts and emergency signals;
> fix that.
> 
> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
> ---
> 
> v1->v2:
> - rebased on top of my s390-next branch; we can now move the fields
>    to be reset instead of clearing them manually

Yep, much cleaner than v1 :)

> Further cleanup possible in a follow-up patch.
> 
> ---
>   target/s390x/cpu.h | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
> index 7f5fa1d35b73..e195e5c7c8bb 100644
> --- a/target/s390x/cpu.h
> +++ b/target/s390x/cpu.h
> @@ -98,10 +98,6 @@ struct CPUS390XState {
>   
>       uint64_t cregs[16]; /* control registers */
>   
> -    int pending_int;
> -    uint16_t external_call_addr;
> -    DECLARE_BITMAP(emergency_signals, S390_MAX_CPUS);
> -
>       uint64_t ckc;
>       uint64_t cputm;
>       uint32_t todpr;
> @@ -117,6 +113,10 @@ struct CPUS390XState {
>       struct {} start_normal_reset_fields;
>       uint8_t riccb[64];     /* runtime instrumentation control */
>   
> +    int pending_int;
> +    uint16_t external_call_addr;
> +    DECLARE_BITMAP(emergency_signals, S390_MAX_CPUS);
> +
>       /* Fields up to this point are cleared by a CPU reset */
>       struct {} end_reset_fields;
>   
>
David Hildenbrand Dec. 6, 2019, 2:27 p.m. UTC | #2
On 06.12.19 14:54, Cornelia Huck wrote:
> We neglected to clean up pending interrupts and emergency signals;
> fix that.
> 
> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
> ---
> 
> v1->v2:
> - rebased on top of my s390-next branch; we can now move the fields
>   to be reset instead of clearing them manually
> 
> Further cleanup possible in a follow-up patch.
> 
> ---
>  target/s390x/cpu.h | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
> index 7f5fa1d35b73..e195e5c7c8bb 100644
> --- a/target/s390x/cpu.h
> +++ b/target/s390x/cpu.h
> @@ -98,10 +98,6 @@ struct CPUS390XState {
>  
>      uint64_t cregs[16]; /* control registers */
>  
> -    int pending_int;
> -    uint16_t external_call_addr;
> -    DECLARE_BITMAP(emergency_signals, S390_MAX_CPUS);
> -
>      uint64_t ckc;
>      uint64_t cputm;
>      uint32_t todpr;
> @@ -117,6 +113,10 @@ struct CPUS390XState {
>      struct {} start_normal_reset_fields;
>      uint8_t riccb[64];     /* runtime instrumentation control */
>  
> +    int pending_int;
> +    uint16_t external_call_addr;
> +    DECLARE_BITMAP(emergency_signals, S390_MAX_CPUS);
> +
>      /* Fields up to this point are cleared by a CPU reset */
>      struct {} end_reset_fields;
>  
> 

Reviewed-by: David Hildenbrand <david@redhat.com>
Cornelia Huck Dec. 10, 2019, 10:11 a.m. UTC | #3
On Fri,  6 Dec 2019 14:54:04 +0100
Cornelia Huck <cohuck@redhat.com> wrote:

> We neglected to clean up pending interrupts and emergency signals;
> fix that.
> 
> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
> ---
> 
> v1->v2:
> - rebased on top of my s390-next branch; we can now move the fields
>   to be reset instead of clearing them manually
> 
> Further cleanup possible in a follow-up patch.
> 
> ---
>  target/s390x/cpu.h | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)

Queued to s390-next.
diff mbox series

Patch

diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
index 7f5fa1d35b73..e195e5c7c8bb 100644
--- a/target/s390x/cpu.h
+++ b/target/s390x/cpu.h
@@ -98,10 +98,6 @@  struct CPUS390XState {
 
     uint64_t cregs[16]; /* control registers */
 
-    int pending_int;
-    uint16_t external_call_addr;
-    DECLARE_BITMAP(emergency_signals, S390_MAX_CPUS);
-
     uint64_t ckc;
     uint64_t cputm;
     uint32_t todpr;
@@ -117,6 +113,10 @@  struct CPUS390XState {
     struct {} start_normal_reset_fields;
     uint8_t riccb[64];     /* runtime instrumentation control */
 
+    int pending_int;
+    uint16_t external_call_addr;
+    DECLARE_BITMAP(emergency_signals, S390_MAX_CPUS);
+
     /* Fields up to this point are cleared by a CPU reset */
     struct {} end_reset_fields;