All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Alexander Graf <agraf@suse.de>
Cc: "Jens Freimann" <jfrei@de.ibm.com>,
	"Heinz Graalfs" <graalfs@linux.vnet.ibm.com>,
	qemu-devel <qemu-devel@nongnu.org>,
	"Christian Borntraeger" <borntraeger@de.ibm.com>,
	"Jens Freimann" <jfrei@linux.vnet.ibm.com>,
	"Cornelia Huck" <cornelia.huck@de.ibm.com>,
	"Andreas Färber" <afaerber@suse.de>
Subject: Re: [Qemu-devel] [PATCH 5/8] s390: Cleanup sclp functions
Date: Tue, 12 Jun 2012 17:41:10 -0500	[thread overview]
Message-ID: <4FD7C586.8090607@codemonkey.ws> (raw)
In-Reply-To: <4FD736DF.60301@suse.de>

On 06/12/2012 07:32 AM, Alexander Graf wrote:
> On 06/12/2012 02:24 PM, Christian Borntraeger wrote:
>> Yes we will re-split the sclp patches.
>>
>> besides that, some comments:
>>
>> On 12/06/12 11:58, Alexander Graf wrote:
>>>> +#include "hw/s390-sclp.h"
>>>>
>>> No need for hw/.
>> will fix.
>>
>>
>>>> +void sclp_service_interrupt(CPUS390XState *env, uint32_t sccb)
>>>> +{
>>>> + if (!sccb) {
>>>> + return;
>>>> + }
>>>> +
>>>> + if (kvm_enabled()) {
>>>> +#ifdef CONFIG_KVM
>>>>
>>> You shouldn't know about CONFIG_KVM in hw/. So we have to generalize
>>> this code.
>> Ok, Maybe an exported interface for sending interrupts to the guest
>> under target-s390/ that hides the kvm/tcg thing.
>
> Yeah, or have KVM hook into the tcg interrupt dispatch loop at
> cpu_exec.c:cpu_exec(). Not sure which way is easier.
>
>>
>>
>> ice_call(CPUS390XState *env, struct kvm_run *run,
>>>> r = sclp_service_call(env, sccb, code);
>>>> if (r) {
>>>> setcc(env, 3);
>>>> + } else {
>>>> + setcc(env, 0);
>>>>
>>> This one looks like an actual fix that is not part of the cleanup?
>> Yes it is. Separate patch?
>
> Yes, please :).
>
>>
>>>> }
>>>>
>>>> return 0;
>>>> diff --git a/target-s390x/op_helper.c b/target-s390x/op_helper.c
>>>> index 7b72473..74bd9ad 100644
>>>> --- a/target-s390x/op_helper.c
>>>> +++ b/target-s390x/op_helper.c
>>>> @@ -31,6 +31,7 @@
>>>>
>>>> #if !defined (CONFIG_USER_ONLY)
>>>> #include "sysemu.h"
>>>> +#include "hw/s390-sclp.h"
>>>>
>>> #include in hw/ from target-XXX is a no-go. It means our abstraction
>>> layer is broken.
>> Disagree here. The sclp is a processor that helps the CPU and there is a
>> tight link. This is similar to a PIC/APIC etc which are also under hw AND
>> included from target-386/ - among others:
>
> Which is exactly why Anthony is suggesting for years now to pull the APIC code
> into target-i386.

Indeed :-)

>
> To me, the SCLP interface is similar to PIO, MMIO, SPAPR hypercalls, you name
> it.

Yeah, the SPAPR hypercalls is a good one I think but I don't know enough about 
SCLP yet.  From what's here, it would be pretty easy to model with qemu_irq I think.

We do that for target-i386 for things like the a20 line which is another case 
where random hardware interacts with the cpu in a far too personal fashion.

Regards,

Anthony Liguori

  We can certainly have sclp awareness in target-s390x, but please don't just
> blindly include headers from hw/. Split the few bits of information that we need
> in target-s390x into a separate header (clean) or target-s390x/cpu.h (hacky, but
> ok for now) and rather include that from hw/.
>
>
> Alex
>
>
>

  reply	other threads:[~2012-06-12 22:41 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-06 12:05 [Qemu-devel] [PATCH 0/8] s390: SCLP console and misc Jens Freimann
2012-06-06 12:05 ` [Qemu-devel] [PATCH 1/8] s390: add new define for KVM_CAP_S390_COW Jens Freimann
2012-06-06 12:05 ` [Qemu-devel] [PATCH 2/8] s390: autodetect map private Jens Freimann
2012-06-12  9:32   ` Alexander Graf
2012-06-12 11:20     ` Christian Borntraeger
2012-06-12 11:57       ` Alexander Graf
2012-06-12 12:02         ` Christian Borntraeger
2012-06-12 12:12           ` Alexander Graf
2012-06-13 10:30             ` Jan Kiszka
2012-06-13 10:54               ` Alexander Graf
2012-06-13 10:58                 ` Jan Kiszka
2012-06-13 11:27                   ` Christian Borntraeger
2012-06-13 11:41                     ` Jan Kiszka
2012-06-13 12:33                       ` Alexander Graf
2012-06-13 12:35                         ` Jan Kiszka
2012-06-15 14:01                           ` [Qemu-devel] Next version of memory allocation fixup Christian Borntraeger
2012-06-15 14:01                             ` [Qemu-devel] [PatchV2] s390: autodetect map private Christian Borntraeger
2012-06-15 15:10                             ` [Qemu-devel] One more fix Christian Borntraeger
2012-06-15 15:10                               ` [Qemu-devel] [PATCH v3] s390: autodetect map private Christian Borntraeger
2012-06-15 17:01                                 ` Jan Kiszka
2012-06-18 13:44                                 ` Alexander Graf
2012-06-06 12:05 ` [Qemu-devel] [PATCH 3/8] s390: make kvm_stat work on s390 Jens Freimann
2012-06-06 12:05 ` [Qemu-devel] [PATCH 4/8] s390: stop target cpu on sigp initial reset Jens Freimann
2012-06-12  9:42   ` Alexander Graf
2012-06-12 10:15     ` Christian Borntraeger
2012-06-06 12:05 ` [Qemu-devel] [PATCH 5/8] s390: Cleanup sclp functions Jens Freimann
2012-06-12  9:58   ` Alexander Graf
2012-06-12 10:07     ` Christian Borntraeger
2012-06-12 10:09       ` Alexander Graf
2012-06-12 10:10       ` Alexander Graf
2012-06-12 12:24     ` Christian Borntraeger
2012-06-12 12:32       ` Alexander Graf
2012-06-12 22:41         ` Anthony Liguori [this message]
2012-06-12 22:38   ` Anthony Liguori
2012-06-06 12:05 ` [Qemu-devel] [PATCH 6/8] s390: sclp event facility and signal quiesce support via system_powerdown Jens Freimann
2012-06-12 11:38   ` Alexander Graf
2012-06-13  7:00     ` Heinz Graalfs
2012-06-13 13:12       ` Andreas Färber
2012-06-06 12:05 ` [Qemu-devel] [PATCH 7/8] s390: Add SCLP vt220 console support Jens Freimann
2012-06-12 11:52   ` Alexander Graf
2012-06-13  7:27     ` Heinz Graalfs
2012-06-13  7:53       ` Alexander Graf
2012-06-06 12:05 ` [Qemu-devel] [PATCH 8/8] s390: Fix the storage increment size calculation Jens Freimann
2012-06-12 11:53   ` Alexander Graf
2012-06-12 14:57     ` Jeng-fang Wang
2012-06-18 13:46       ` Alexander Graf
2012-06-18 19:30         ` Christian Borntraeger
2012-06-18 12:35 ` [Qemu-devel] [PATCH 0/8] s390: SCLP console and misc Christian Borntraeger
2012-06-18 13:33   ` Alexander Graf
2012-06-18 13:41     ` Christian Borntraeger
2012-06-18 13:51       ` Alexander Graf

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=4FD7C586.8090607@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=afaerber@suse.de \
    --cc=agraf@suse.de \
    --cc=borntraeger@de.ibm.com \
    --cc=cornelia.huck@de.ibm.com \
    --cc=graalfs@linux.vnet.ibm.com \
    --cc=jfrei@de.ibm.com \
    --cc=jfrei@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    /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.