qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH RFC] s390x: refactor reset/reipl handling


From: David Hildenbrand
Subject: Re: [Qemu-devel] [PATCH RFC] s390x: refactor reset/reipl handling
Date: Wed, 18 Apr 2018 16:33:13 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0

>  static void s390_ipl_class_init(ObjectClass *klass, void *data)
> diff --git a/hw/s390x/ipl.h b/hw/s390x/ipl.h
> index 0570d0ad75..102f1ea7af 100644
> --- a/hw/s390x/ipl.h
> +++ b/hw/s390x/ipl.h
> @@ -87,7 +87,17 @@ int s390_ipl_set_loadparm(uint8_t *loadparm);
>  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);
> +
> +enum s390_reset {
> +    /* default is a reset not triggered by a CPU e.g. issued by QMP */
> +    S390_RESET_EXTERNAL = 0,
> +    S390_RESET_REIPL,
> +    S390_RESET_MODIFIED_CLEAR,
> +    S390_RESET_LOAD_NORMAL,
> +};
> +void s390_ipl_reset_request(CPUState *cs, enum s390_reset reset_type);
> +void s390_ipl_get_reset_request(CPUState **cs, enum s390_reset *reset_type);
> +void s390_ipl_clear_reset_request(void);
>  
>  #define QIPL_ADDRESS  0xcc
>  
> @@ -129,9 +139,11 @@ struct S390IPLState {
>      bool enforce_bios;
>      IplParameterBlock iplb;
>      bool iplb_valid;
> -    bool reipl_requested;
>      bool netboot;
>      QemuIplParameters qipl;
> +    /* reset related properties don't have to be migrated or reset */
> +    enum s390_reset reset_type;
> +    CPUState *reset_cpu;

Wondering if storing the cpu number would be nicer. Opinions?

-- 

Thanks,

David / dhildenb



reply via email to

[Prev in Thread] Current Thread [Next in Thread]