All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Huth <thuth@redhat.com>
To: David Hildenbrand <david@redhat.com>,
	Cornelia Huck <cohuck@redhat.com>,
	qemu-devel@nongnu.org
Cc: borntraeger@de.ibm.com, zyimin@linux.vnet.ibm.com,
	pmorel@linux.vnet.ibm.com, agraf@suse.de
Subject: Re: [Qemu-devel] [PATCH v3 4/9] s390x/pci: do not advertise pci on non-pci builds
Date: Wed, 26 Jul 2017 13:18:29 +0200	[thread overview]
Message-ID: <14e8f1ea-ddd6-ad66-94c0-7396098d8688@redhat.com> (raw)
In-Reply-To: <94e8efb0-0cde-0a3f-339f-28647eec5f82@redhat.com>

On 26.07.2017 11:28, David Hildenbrand wrote:
> On 25.07.2017 17:33, Cornelia Huck wrote:
>> Only set the zpci feature bit on builds that actually support pci.
>>
>> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
>> ---
>>  hw/s390x/s390-pci-bus.c  | 5 +++++
>>  hw/s390x/s390-pci-bus.h  | 1 +
>>  hw/s390x/s390-pci-stub.c | 4 ++++
>>  target/s390x/kvm.c       | 2 +-
>>  4 files changed, 11 insertions(+), 1 deletion(-)
>>
>> diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
>> index c57f6ebae0..7b30d4c7bd 100644
>> --- a/hw/s390x/s390-pci-bus.c
>> +++ b/hw/s390x/s390-pci-bus.c
>> @@ -34,6 +34,11 @@
>>          }                                                         \
>>      } while (0)
>>  
>> +void pci_enable_zpci_feature(S390CPUModel *model)
>> +{
>> +    set_bit(S390_FEAT_ZPCI, model->features);
>> +}
>> +
>>  S390pciState *s390_get_phb(void)
>>  {
>>      static S390pciState *phb;
>> diff --git a/hw/s390x/s390-pci-bus.h b/hw/s390x/s390-pci-bus.h
>> index 5df6292509..d8796536b0 100644
>> --- a/hw/s390x/s390-pci-bus.h
>> +++ b/hw/s390x/s390-pci-bus.h
>> @@ -333,4 +333,5 @@ S390PCIBusDevice *s390_pci_find_dev_by_fid(S390pciState *s, uint32_t fid);
>>  S390PCIBusDevice *s390_pci_find_next_avail_dev(S390pciState *s,
>>                                                 S390PCIBusDevice *pbdev);
>>  
>> +void pci_enable_zpci_feature(S390CPUModel *model);
>>  #endif
>> diff --git a/hw/s390x/s390-pci-stub.c b/hw/s390x/s390-pci-stub.c
>> index cc7278a865..8ceaf482e7 100644
>> --- a/hw/s390x/s390-pci-stub.c
>> +++ b/hw/s390x/s390-pci-stub.c
>> @@ -72,3 +72,7 @@ S390PCIBusDevice *s390_pci_find_dev_by_idx(S390pciState *s, uint32_t idx)
>>  {
>>      return NULL;
>>  }
>> +
>> +void pci_enable_zpci_feature(S390CPUModel *model)
>> +{
>> +}
>> diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
>> index c4c5791d27..866ac3d414 100644
>> --- a/target/s390x/kvm.c
>> +++ b/target/s390x/kvm.c
>> @@ -2662,7 +2662,7 @@ void kvm_s390_get_host_cpu_model(S390CPUModel *model, Error **errp)
>>      }
>>  
>>      /* We emulate a zPCI bus and AEN, therefore we don't need HW support */
>> -    set_bit(S390_FEAT_ZPCI, model->features);
>> +    pci_enable_zpci_feature(model);
> 
> While I see how this solves the problem, I don't really like it. If
> there is a function "save_the_world()" I expect it to save the world in
> all scenarios ;)
> 
> What about the same approach but rather
> 
> if(pci_configured())
> 	set_bit(S390_FEAT_ZPCI, model->features);

Or maybe something like this (without introducing new functions):

    if (object_class_by_name(TYPE_S390_PCI_HOST_BRIDGE)) {
        set_bit(S390_FEAT_ZPCI, model->features);
    }

?

I haven't tested this, though, but I think it should work since the
S390_PCI classes are only compiled in if CONFIG_PCI=y.

 Thomas

  parent reply	other threads:[~2017-07-26 11:18 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-25 15:33 [Qemu-devel] [PATCH v3 0/9] s390x: zPCI detangling Cornelia Huck
2017-07-25 15:33 ` [Qemu-devel] [PATCH v3 1/9] kvm: remove hard dependency on pci Cornelia Huck
2017-07-26  6:52   ` Thomas Huth
2017-07-26  8:26     ` Cornelia Huck
2017-08-04  9:56       ` Cornelia Huck
2017-07-25 15:33 ` [Qemu-devel] [PATCH v3 2/9] s390x/pci: add stubs Cornelia Huck
2017-07-25 15:33 ` [Qemu-devel] [PATCH v3 3/9] s390x: chsc nt2 events are pci-only Cornelia Huck
2017-07-26  6:59   ` Thomas Huth
2017-07-26  8:17     ` Cornelia Huck
2017-07-25 15:33 ` [Qemu-devel] [PATCH v3 4/9] s390x/pci: do not advertise pci on non-pci builds Cornelia Huck
2017-07-25 18:49   ` Christian Borntraeger
2017-07-26  7:00   ` Thomas Huth
2017-07-26  8:45   ` Yi Min Zhao
2017-07-26  9:28   ` David Hildenbrand
2017-07-26 10:09     ` Cornelia Huck
2017-07-26 11:18     ` Thomas Huth [this message]
2017-07-25 15:33 ` [Qemu-devel] [PATCH v3 5/9] s390x/ccw: create s390 phb conditionally Cornelia Huck
2017-07-26 10:10   ` Christian Borntraeger
2017-07-25 15:33 ` [Qemu-devel] [PATCH v3 6/9] s390x/sclp: properly guard pci-specific functions Cornelia Huck
2017-07-25 15:33 ` [Qemu-devel] [PATCH v3 7/9] s390x/pci: fence off instructions for non-pci Cornelia Huck
2017-07-25 15:33 ` [Qemu-devel] [PATCH v3 8/9] s390x/kvm: msi route fixup " Cornelia Huck
2017-07-26  7:09   ` Thomas Huth
2017-07-26  8:20     ` Cornelia Huck
2017-07-26  8:25       ` Thomas Huth
2017-07-26  8:37         ` David Hildenbrand
2017-07-26  9:58           ` Cornelia Huck
2017-07-25 15:33 ` [Qemu-devel] [PATCH v3 9/9] s390x: refine pci dependencies Cornelia Huck
2017-07-26  9:05 ` [Qemu-devel] [PATCH v3 0/9] s390x: zPCI detangling Christian Borntraeger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=14e8f1ea-ddd6-ad66-94c0-7396098d8688@redhat.com \
    --to=thuth@redhat.com \
    --cc=agraf@suse.de \
    --cc=borntraeger@de.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=david@redhat.com \
    --cc=pmorel@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=zyimin@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.