All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cornelia Huck <cornelia.huck@de.ibm.com>
To: Alexander Graf <agraf@suse.de>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>,
	qemu-devel@nongnu.org, Dominik Dingel <dingel@linux.vnet.ibm.com>
Subject: Re: [Qemu-devel] [PATCH 05/12] S390: ccw firmware: Add main program
Date: Tue, 23 Apr 2013 13:51:26 +0200	[thread overview]
Message-ID: <20130423135126.1e12bf58@gondolin> (raw)
In-Reply-To: <51767213.4050005@suse.de>

On Tue, 23 Apr 2013 13:35:47 +0200
Alexander Graf <agraf@suse.de> wrote:

> On 04/23/2013 10:58 AM, Cornelia Huck wrote:
> > On Mon, 22 Apr 2013 21:18:11 +0200
> > Alexander Graf<agraf@suse.de>  wrote:
> >
> >> This C file is the main driving piece of the s390 ccw firmware. It
> >> provides a search for a workable block device, sets it as the default
> >> to boot off of and boots from it.
> >>
> >> Signed-off-by: Alexander Graf<agraf@suse.de>
> >> ---
> >>   pc-bios/s390-ccw/main.c |   56 +++++++++++++++++++++++++++++++++++++++++++++++
> >>   1 files changed, 56 insertions(+), 0 deletions(-)
> >>   create mode 100644 pc-bios/s390-ccw/main.c
> >>
> >> diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c
> >> new file mode 100644
> >> index 0000000..0913aac
> >> --- /dev/null
> >> +++ b/pc-bios/s390-ccw/main.c
> >> @@ -0,0 +1,56 @@
> >> +/*
> >> + * S390 virtio-ccw loading program
> >> + *
> >> + * Copyright (c) 2013 Alexander Graf<agraf@suse.de>
> >> + *
> >> + * This work is licensed under the terms of the GNU GPL, version 2 or (at
> >> + * your option) any later version. See the COPYING file in the top-level
> >> + * directory.
> >> + */
> >> +
> >> +#include "s390-ccw.h"
> >> +
> >> +struct subchannel_id blk_schid;
> >> +char stack[PAGE_SIZE * 8] __attribute__((__aligned__(PAGE_SIZE)));
> >> +
> >> +void virtio_panic(const char *string)
> >> +{
> >> +    sclp_print(string);
> >> +    while (1) { }
> >> +}
> >> +
> >> +static void virtio_setup(void)
> >> +{
> >> +    struct irb irb;
> >> +    int i;
> >> +    int r;
> >> +    bool found = false;
> >> +
> >> +    blk_schid.one = 1;
> >> +
> >> +    for (i = 0; i<  0x10000; i++) {
> >> +        blk_schid.sch_no = i;
> >> +        r = tsch(blk_schid,&irb);
> > You want to do a stsch() loop here, not a tsch() loop :)
> 
> What does stsch buy us over tsch?

A stsch() loop is the canonical way to find devices. tsch() is for
updating subchannel status.

And:
 
> > As a bonus, you can exit the loop on cc == 3.

:)

> >
> >             r = stsch(blk_schid,&schib);
> > 	   if (r == 3) {
> > 	      break;
> > 	   }
> >
> >> +        if (r != 3) {
> >             if (schib.pmcw.dnv) {
> >
> >> +            if (virtio_is_blk(blk_schid)) {
> >> +                found = true;
> >> +                break;
> >> +            }
> >> +        }
> >> +    }
> >> +
> >> +    if (!found) {
> >> +        virtio_panic("No virtio-blk device found!\n");
> >> +    }
> >> +
> >> +    virtio_setup_block(blk_schid);
> > The virtio_is_blk() and virtio_setup_block() functions should go into a
> > preceding patch, no?
> 
> The code doesn't get compiled before the end of the series anyway, so 
> ordering might be slightly off :)
> 
> 
> Alex
> 

  reply	other threads:[~2013-04-23 11:51 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-22 19:18 [Qemu-devel] [PATCH 00/12] S390: Add virtio-ccw firmware Alexander Graf
2013-04-22 19:18 ` [Qemu-devel] [PATCH 01/12] S390: Make IPL reset address dynamic Alexander Graf
2013-04-22 19:18 ` [Qemu-devel] [PATCH 02/12] S390: IPL: Support ELF firmware Alexander Graf
2013-04-22 19:18 ` [Qemu-devel] [PATCH 03/12] S390: IPL: Use different firmware for different machines Alexander Graf
2013-04-22 19:18 ` [Qemu-devel] [PATCH 04/12] S390: ccw firmware: Add start assembly Alexander Graf
2013-04-22 19:18 ` [Qemu-devel] [PATCH 05/12] S390: ccw firmware: Add main program Alexander Graf
2013-04-23  8:43   ` Christian Borntraeger
2013-04-23  8:58   ` Cornelia Huck
2013-04-23 11:35     ` Alexander Graf
2013-04-23 11:51       ` Cornelia Huck [this message]
2013-04-22 19:18 ` [Qemu-devel] [PATCH 06/12] S390: ccw firmware: Add sclp output Alexander Graf
2013-04-22 19:18 ` [Qemu-devel] [PATCH 07/12] S390: ccw firmware: Add virtio device drivers Alexander Graf
2013-04-23 11:24   ` Cornelia Huck
2013-04-22 19:18 ` [Qemu-devel] [PATCH 08/12] S390: ccw firmware: Add glue header Alexander Graf
2013-04-22 19:18 ` [Qemu-devel] [PATCH 09/12] S390: ccw firmware: Add bootmap interpreter Alexander Graf
2013-04-22 19:18 ` [Qemu-devel] [PATCH 10/12] S390: ccw firmware: Add Makefile Alexander Graf
2013-04-23 10:31   ` Christian Borntraeger
2013-04-22 19:18 ` [Qemu-devel] [PATCH 11/12] S390: ccw firmware: Add compiled blob Alexander Graf
2013-04-22 19:18 ` [Qemu-devel] [PATCH 12/12] S390: CCW: Use new, working firmware by default Alexander Graf
2013-04-23  9:20 ` [Qemu-devel] [PATCH 00/12] S390: Add virtio-ccw firmware Christian Borntraeger
2013-04-23 11:38   ` Alexander Graf
2013-04-23 11:23 ` [Qemu-devel] [PATCH 0/4] updates for s390-ccw.img Christian Borntraeger
2013-04-23 11:23   ` [Qemu-devel] [PATCH 1/4] s390-ccw.img: replace while loop with a disabled wait on s390 bios Christian Borntraeger
2013-04-23 11:23   ` [Qemu-devel] [PATCH 2/4] s390-ccw.img: build s390-ccw rom on s3900 system by default Christian Borntraeger
2013-04-23 11:23   ` [Qemu-devel] [PATCH 3/4] s390-ccw.img: Fix compile warning in s390 ccw virtio code Christian Borntraeger
2013-04-23 11:31     ` Alexander Graf
2013-04-23 11:45       ` Christian Borntraeger
2013-04-26  6:38         ` Alexander Graf
2013-04-23 11:23   ` [Qemu-devel] [PATCH 4/4] s390-ccw.img: Take care of the elf->img transition Christian Borntraeger
2013-04-23 11:33   ` [Qemu-devel] [PATCH 0/4] updates for s390-ccw.img 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=20130423135126.1e12bf58@gondolin \
    --to=cornelia.huck@de.ibm.com \
    --cc=agraf@suse.de \
    --cc=borntraeger@de.ibm.com \
    --cc=dingel@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.