[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 07/10] s390x/sclp: properly guard pci-specifi
From: |
Halil Pasic |
Subject: |
Re: [Qemu-devel] [PATCH v4 07/10] s390x/sclp: properly guard pci-specific functions |
Date: |
Mon, 21 Aug 2017 13:41:53 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 |
On 08/21/2017 11:16 AM, Cornelia Huck wrote:
> If we do not provide zpci, pci reconfiguration via sclp is not available
> either. Don't indicate it in the sclp facilities and return an invalid
> command if the guest tries to issue pci configure/deconfigure.
>
> Reviewed-by: Thomas Huth <address@hidden>
> Signed-off-by: Cornelia Huck <address@hidden>
> ---
> hw/s390x/sclp.c | 19 +++++++++++++++----
> 1 file changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c
> index 9253dbbc64..d0104cd784 100644
> --- a/hw/s390x/sclp.c
> +++ b/hw/s390x/sclp.c
> @@ -59,6 +59,7 @@ static void read_SCP_info(SCLPDevice *sclp, SCCB *sccb)
> int rnsize, rnmax;
> int slots = MIN(machine->ram_slots, s390_get_memslot_count(kvm_state));
> IplParameterBlock *ipib = s390_ipl_get_iplb();
> + uint64_t sclp_facilities = SCLP_HAS_CPU_INFO;
>
> CPU_FOREACH(cpu) {
> cpu_count++;
> @@ -79,8 +80,10 @@ static void read_SCP_info(SCLPDevice *sclp, SCCB *sccb)
>
> prepare_cpu_entries(sclp, read_info->entries, cpu_count);
>
> - read_info->facilities = cpu_to_be64(SCLP_HAS_CPU_INFO |
> - SCLP_HAS_PCI_RECONFIG);
> + if (s390_has_feat(S390_FEAT_ZPCI)) {
> + sclp_facilities |= SCLP_HAS_PCI_RECONFIG;
> + }
> + read_info->facilities = cpu_to_be64(sclp_facilities);
>
> /* Memory Hotplug is only supported for the ccw machine type */
> if (mhd) {
> @@ -385,10 +388,18 @@ static void sclp_execute(SCLPDevice *sclp, SCCB *sccb,
> uint32_t code)
> sclp_c->unassign_storage(sclp, sccb);
> break;
> case SCLP_CMDW_CONFIGURE_PCI:
> - s390_pci_sclp_configure(sccb);
> + if (s390_has_feat(S390_FEAT_ZPCI)) {
> + s390_pci_sclp_configure(sccb);
> + } else {
> + sccb->h.response_code =
> cpu_to_be16(SCLP_RC_INVALID_SCLP_COMMAND);
> + }
> break;
> case SCLP_CMDW_DECONFIGURE_PCI:
> - s390_pci_sclp_deconfigure(sccb);
> + if (s390_has_feat(S390_FEAT_ZPCI)) {
> + s390_pci_sclp_deconfigure(sccb);
> + } else {
> + sccb->h.response_code =
> cpu_to_be16(SCLP_RC_INVALID_SCLP_COMMAND);
> + }
> break;
> default:
> efc->command_handler(ef, sccb, code);
>
LGTM
- [Qemu-devel] [PATCH v4 00/10] zpci detangling, Cornelia Huck, 2017/08/21
- [Qemu-devel] [PATCH v4 04/10] s390x: chsc nt2 events are pci-only, Cornelia Huck, 2017/08/21
- [Qemu-devel] [PATCH v4 03/10] s390x/pci: add stubs, Cornelia Huck, 2017/08/21
- [Qemu-devel] [PATCH v4 05/10] s390x/pci: do not advertise pci on non-pci builds, Cornelia Huck, 2017/08/21
- [Qemu-devel] [PATCH v4 06/10] s390x/ccw: create s390 phb conditionally, Cornelia Huck, 2017/08/21
- [Qemu-devel] [PATCH v4 08/10] s390x/pci: fence off instructions for non-pci, Cornelia Huck, 2017/08/21
- [Qemu-devel] [PATCH v4 07/10] s390x/sclp: properly guard pci-specific functions, Cornelia Huck, 2017/08/21
- Re: [Qemu-devel] [PATCH v4 07/10] s390x/sclp: properly guard pci-specific functions,
Halil Pasic <=
- Re: [Qemu-devel] [PATCH v4 07/10] s390x/sclp: properly guard pci-specific functions, Pierre Morel, 2017/08/21
- Re: [Qemu-devel] [PATCH v4 07/10] s390x/sclp: properly guard pci-specific functions, Halil Pasic, 2017/08/21
- Re: [Qemu-devel] [PATCH v4 07/10] s390x/sclp: properly guard pci-specific functions, Cornelia Huck, 2017/08/22
- Re: [Qemu-devel] [PATCH v4 07/10] s390x/sclp: properly guard pci-specific functions, Halil Pasic, 2017/08/22
- Re: [Qemu-devel] [PATCH v4 07/10] s390x/sclp: properly guard pci-specific functions, Cornelia Huck, 2017/08/22
- Re: [Qemu-devel] [PATCH v4 07/10] s390x/sclp: properly guard pci-specific functions, Cornelia Huck, 2017/08/22
- Re: [Qemu-devel] [PATCH v4 07/10] s390x/sclp: properly guard pci-specific functions, Halil Pasic, 2017/08/22