diff options
author | David Hildenbrand <dahi@linux.vnet.ibm.com> | 2015-07-21 13:47:32 +0200 |
---|---|---|
committer | Cornelia Huck <cornelia.huck@de.ibm.com> | 2015-10-21 12:21:30 +0200 |
commit | db3b2566e0fb45e2901b6f9b842d91db6963915d (patch) | |
tree | 758906db40e0a59d2131e8cd432fdb6c2ba0d619 /hw/s390x/ipl.h | |
parent | feacc6c2c8fff037f67a89402b29923251833425 (diff) |
s390x: machine reset function with new ipl cpu handling
Current implementation depends on the order of resets getting triggered.
If a cpu reset is triggered after the ipl device reset, the CPU is stopped and
the VM will not run. In fact, that hinders us from converting the ipl device
into a TYPE_DEVICE. Let's change that by manually configuring the ipl cpu
during a system reset, so we have full control and can demangle that code.
Also remove the superflous cpu parameter from s390_update_iplstate on the way.
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Diffstat (limited to 'hw/s390x/ipl.h')
-rw-r--r-- | hw/s390x/ipl.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/hw/s390x/ipl.h b/hw/s390x/ipl.h index 6424e08db8..7f2b4033d4 100644 --- a/hw/s390x/ipl.h +++ b/hw/s390x/ipl.h @@ -12,6 +12,8 @@ #ifndef HW_S390_IPL_H #define HW_S390_IPL_H +#include "cpu.h" + typedef struct IplParameterBlock { uint8_t reserved1[110]; uint16_t devno; @@ -19,6 +21,7 @@ typedef struct IplParameterBlock { } IplParameterBlock; void s390_ipl_update_diag308(IplParameterBlock *iplb); +void s390_ipl_prepare_cpu(S390CPU *cpu); IplParameterBlock *s390_ipl_get_iplb(void); void s390_reipl_request(void); |