All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/4] s390-ccw.img: s390-ccw.img fixes
@ 2014-06-18 12:16 Jens Freimann
  2014-06-18 12:16 ` [Qemu-devel] [PATCH 1/4] pc-bios/s390-ccw: virtio_load_direct() can't load max number of sectors Jens Freimann
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Jens Freimann @ 2014-06-18 12:16 UTC (permalink / raw)
  To: Christian Borntraeger, Alexander Graf, Cornelia Huck
  Cc: Jens Freimann, qemu-devel

Conny, Christian, Alex,

here's three bios bugfixes and an update for the binary.
Patch 1 lets us boot with big inital ramdisks, Patch 2 introduces
a subsystem reset to make sure start with a clean state. Patch 3
fixes parsing of the SCSI bootmap.

regards
Jens


Christian Borntraeger (1):
  pc-bios/s390-ccw: do a subsystem reset before running the guest

David Hildenbrand (1):
  pc-bios/s390-ccw: virtio_load_direct() can't load max number of
    sectors

Eugene (jno) Dvurechenski (1):
  pc-bios/s390-ccw: fix for fragmented SCSI bootmap

Jens Freimann (1):
  pc-bios/s390-ccw: update s390-ccw.img binary

 pc-bios/s390-ccw.img       | Bin 9336 -> 9432 bytes
 pc-bios/s390-ccw/bootmap.c |  82 ++++++++++++++++++++++++++++++++++++++++-----
 pc-bios/s390-ccw/virtio.c  |   2 +-
 3 files changed, 75 insertions(+), 9 deletions(-)

-- 
1.8.5.5

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Qemu-devel] [PATCH 1/4] pc-bios/s390-ccw: virtio_load_direct() can't load max number of sectors
  2014-06-18 12:16 [Qemu-devel] [PATCH 0/4] s390-ccw.img: s390-ccw.img fixes Jens Freimann
@ 2014-06-18 12:16 ` Jens Freimann
  2014-06-18 12:16 ` [Qemu-devel] [PATCH 2/4] pc-bios/s390-ccw: do a subsystem reset before running the guest Jens Freimann
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Jens Freimann @ 2014-06-18 12:16 UTC (permalink / raw)
  To: Christian Borntraeger, Alexander Graf, Cornelia Huck
  Cc: David Hildenbrand, Jens Freimann, qemu-devel

From: David Hildenbrand <dahi@linux.vnet.ibm.com>

The number of sectors to read is given by the last 16 bit of rec_list2.
1 is added in order to get to the real number of sectors to read (0x0000
-> read 1 block). For now, the maximum number (0xffff) led to 0 sectors
being read.

This fixes a bug where a large initrd (62MB) could not be ipled anymore.

Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
---
 pc-bios/s390-ccw/virtio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pc-bios/s390-ccw/virtio.c b/pc-bios/s390-ccw/virtio.c
index a46914d..bbb3c4f 100644
--- a/pc-bios/s390-ccw/virtio.c
+++ b/pc-bios/s390-ccw/virtio.c
@@ -240,7 +240,7 @@ unsigned long virtio_load_direct(ulong rec_list1, ulong rec_list2,
 {
     u8 status;
     int sec = rec_list1;
-    int sec_num = (((rec_list2 >> 32)+ 1) & 0xffff);
+    int sec_num = ((rec_list2 >> 32) & 0xffff) + 1;
     int sec_len = rec_list2 >> 48;
     ulong addr = (ulong)load_addr;
 
-- 
1.8.5.5

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Qemu-devel] [PATCH 2/4] pc-bios/s390-ccw: do a subsystem reset before running the guest
  2014-06-18 12:16 [Qemu-devel] [PATCH 0/4] s390-ccw.img: s390-ccw.img fixes Jens Freimann
  2014-06-18 12:16 ` [Qemu-devel] [PATCH 1/4] pc-bios/s390-ccw: virtio_load_direct() can't load max number of sectors Jens Freimann
@ 2014-06-18 12:16 ` Jens Freimann
  2014-06-18 12:16 ` [Qemu-devel] [PATCH 3/4] pc-bios/s390-ccw: fix for fragmented SCSI bootmap Jens Freimann
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Jens Freimann @ 2014-06-18 12:16 UTC (permalink / raw)
  To: Christian Borntraeger, Alexander Graf, Cornelia Huck
  Cc: Jens Freimann, qemu-devel

From: Christian Borntraeger <borntraeger@de.ibm.com>

The loader BIOS has already activated several devices. Let's do a
subsystem reset before jumping into the guest. As there is no direct
way of doing so, we use diagnose 308 to bring the system in a
defined state. This is similar to what kdump on s390 uses. We have
to define a small trampoline function that restores the low bytes
to whatever the bootmap has written there.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
---
 pc-bios/s390-ccw/bootmap.c | 55 +++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 47 insertions(+), 8 deletions(-)

diff --git a/pc-bios/s390-ccw/bootmap.c b/pc-bios/s390-ccw/bootmap.c
index 53a460d..c07553b 100644
--- a/pc-bios/s390-ccw/bootmap.c
+++ b/pc-bios/s390-ccw/bootmap.c
@@ -58,6 +58,52 @@ struct mbr {
 /* Scratch space */
 static uint8_t sec[SECTOR_SIZE] __attribute__((__aligned__(SECTOR_SIZE)));
 
+typedef struct ResetInfo {
+    uint32_t ipl_mask;
+    uint32_t ipl_addr;
+    uint32_t ipl_continue;
+} ResetInfo;
+
+ResetInfo save;
+
+static void jump_to_IPL_2(void)
+{
+    ResetInfo *current = 0;
+
+    void (*ipl)(void) = (void *) (uint64_t) current->ipl_continue;
+    debug_print_addr("set IPL addr to", ipl);
+
+    /* Ensure the guest output starts fresh */
+    sclp_print("\n");
+
+    *current = save;
+    ipl(); /* should not return */
+}
+
+static void jump_to_IPL_code(uint64_t address)
+{
+    /*
+     * The IPL PSW is at address 0. We also must not overwrite the
+     * content of non-BIOS memory after we loaded the guest, so we
+     * save the original content and restore it in jump_to_IPL_2.
+     */
+    ResetInfo *current = 0;
+
+    save = *current;
+    current->ipl_addr = (uint32_t) (uint64_t) &jump_to_IPL_2;
+    current->ipl_continue = address & 0x7fffffff;
+
+    /*
+     * HACK ALERT.
+     * We use the load normal reset to keep r15 unchanged. jump_to_IPL_2
+     * can then use r15 as its stack pointer.
+     */
+    asm volatile("lghi 1,1\n\t"
+                 "diag 1,1,0x308\n\t"
+                 : : : "1", "memory");
+    virtio_panic("\n! IPL returns !\n");
+}
+
 /* Check for ZIPL magic. Returns 0 if not matched. */
 static int zipl_magic(uint8_t *ptr)
 {
@@ -123,7 +169,6 @@ static int zipl_run(struct scsi_blockptr *pte)
 {
     struct component_header *header;
     struct component_entry *entry;
-    void (*ipl)(void);
     uint8_t tmp_sec[SECTOR_SIZE];
 
     virtio_read(pte->blockno, tmp_sec);
@@ -157,14 +202,8 @@ static int zipl_run(struct scsi_blockptr *pte)
         goto fail;
     }
 
-    /* Ensure the guest output starts fresh */
-    sclp_print("\n");
-
-    /* And run the OS! */
-    ipl = (void*)(entry->load_address & 0x7fffffff);
-    debug_print_addr("set IPL addr to", ipl);
     /* should not return */
-    ipl();
+    jump_to_IPL_code(entry->load_address);
 
     return 0;
 
-- 
1.8.5.5

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Qemu-devel] [PATCH 3/4] pc-bios/s390-ccw: fix for fragmented SCSI bootmap
  2014-06-18 12:16 [Qemu-devel] [PATCH 0/4] s390-ccw.img: s390-ccw.img fixes Jens Freimann
  2014-06-18 12:16 ` [Qemu-devel] [PATCH 1/4] pc-bios/s390-ccw: virtio_load_direct() can't load max number of sectors Jens Freimann
  2014-06-18 12:16 ` [Qemu-devel] [PATCH 2/4] pc-bios/s390-ccw: do a subsystem reset before running the guest Jens Freimann
@ 2014-06-18 12:16 ` Jens Freimann
  2014-06-18 12:53   ` Eugene "jno" Dvurechenski
  2014-06-18 12:16 ` [Qemu-devel] [PATCH 4/4] pc-bios/s390-ccw: update s390-ccw.img binary Jens Freimann
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 9+ messages in thread
From: Jens Freimann @ 2014-06-18 12:16 UTC (permalink / raw)
  To: Christian Borntraeger, Alexander Graf, Cornelia Huck
  Cc: Eugene (jno) Dvurechenski, Jens Freimann, qemu-devel

From: "Eugene (jno) Dvurechenski" <jno@linux.vnet.ibm.com>

We need to interpret the last entry of the bootmap with zero
block count as "continuation pointer".
The "last entry" is being detected by pre-filling of the scratch
space with known values and respective look-ahead.

Signed-off-by: Eugene (jno) Dvurechenski <jno@linux.vnet.ibm.com>
Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
---
 pc-bios/s390-ccw/bootmap.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/pc-bios/s390-ccw/bootmap.c b/pc-bios/s390-ccw/bootmap.c
index c07553b..5ee3fcb 100644
--- a/pc-bios/s390-ccw/bootmap.c
+++ b/pc-bios/s390-ccw/bootmap.c
@@ -118,10 +118,26 @@ static int zipl_magic(uint8_t *ptr)
     return 1;
 }
 
+#define FREE_SPACE_FILLER '\xAA'
+
+static inline bool unused_space(const void *p, unsigned int size)
+{
+    int i;
+    const unsigned char *m = p;
+
+    for (i = 0; i < size; i++) {
+        if (m[i] != FREE_SPACE_FILLER) {
+            return false;
+        }
+    }
+    return true;
+}
+
 static int zipl_load_segment(struct component_entry *entry)
 {
     const int max_entries = (SECTOR_SIZE / sizeof(struct scsi_blockptr));
     struct scsi_blockptr *bprs = (void*)sec;
+    const int bprs_size = sizeof(sec);
     uint64_t blockno;
     long address;
     int i;
@@ -133,6 +149,7 @@ static int zipl_load_segment(struct component_entry *entry)
     debug_print_int("addr", address);
 
     do {
+        memset(bprs, FREE_SPACE_FILLER, bprs_size);
         if (virtio_read(blockno, (uint8_t *)bprs)) {
             debug_print_int("failed reading bprs at", blockno);
             goto fail;
@@ -150,6 +167,16 @@ static int zipl_load_segment(struct component_entry *entry)
             if (i == (max_entries - 1))
                 break;
 
+            if (bprs[i].blockct == 0 && unused_space(&bprs[i + 1],
+                sizeof(struct scsi_blockptr))) {
+                /* This is a "continue" pointer.
+                 * This ptr is the last one in the current script section.
+                 * I.e. the next ptr must point to the unused memory area.
+                 * The blockno is not zero, so the upper loop must continue
+                 * reading next section of BPRS.
+                 */
+                break;
+            }
             address = virtio_load_direct(cur_desc[0], cur_desc[1], 0,
                                          (void*)address);
             if (address == -1)
-- 
1.8.5.5

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Qemu-devel] [PATCH 4/4] pc-bios/s390-ccw: update s390-ccw.img binary
  2014-06-18 12:16 [Qemu-devel] [PATCH 0/4] s390-ccw.img: s390-ccw.img fixes Jens Freimann
                   ` (2 preceding siblings ...)
  2014-06-18 12:16 ` [Qemu-devel] [PATCH 3/4] pc-bios/s390-ccw: fix for fragmented SCSI bootmap Jens Freimann
@ 2014-06-18 12:16 ` Jens Freimann
  2014-06-18 13:06 ` [Qemu-devel] [PATCH 0/4] s390-ccw.img: s390-ccw.img fixes Alexander Graf
  2014-06-23 10:48 ` Cornelia Huck
  5 siblings, 0 replies; 9+ messages in thread
From: Jens Freimann @ 2014-06-18 12:16 UTC (permalink / raw)
  To: Christian Borntraeger, Alexander Graf, Cornelia Huck
  Cc: Jens Freimann, Jens Freimann, qemu-devel

Update s390-ccw.img to match with latest fixes

Signed-off-by: Jens Freimann <jfrei@linux.vnet.img.com>
---
 pc-bios/s390-ccw.img | Bin 9336 -> 9432 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/pc-bios/s390-ccw.img b/pc-bios/s390-ccw.img
index f6223e77c2aacfa86652d63b773dc05eca55570d..1c7f7640fc0c5f2505c4f1114a21b3b712852dbc 100644
GIT binary patch
literal 9432
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

literal 9336
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
Sl)Xx<=2T(0<SO>?dh~BQEuzi<

-- 
1.8.5.5

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH 3/4] pc-bios/s390-ccw: fix for fragmented SCSI bootmap
  2014-06-18 12:16 ` [Qemu-devel] [PATCH 3/4] pc-bios/s390-ccw: fix for fragmented SCSI bootmap Jens Freimann
@ 2014-06-18 12:53   ` Eugene "jno" Dvurechenski
  2014-06-23 10:47     ` Cornelia Huck
  0 siblings, 1 reply; 9+ messages in thread
From: Eugene "jno" Dvurechenski @ 2014-06-18 12:53 UTC (permalink / raw)
  To: Jens Freimann, Christian Borntraeger, Alexander Graf, Cornelia Huck
  Cc: qemu-devel


[-- Attachment #1.1: Type: text/plain, Size: 507 bytes --]



On 06/18/2014 04:16 PM, Jens Freimann wrote:
> +static inline bool unused_space(const void *p, unsigned int size)
> +{
> +    int i;

s390-ccw.h has a def for size_t (well, it's just "long").
So, we can use a bit more "gentile" version:

+static inline bool unused_space(const void *p, size_t size)
+{
+    size_t i;


-- 
Best Regards,
Eugene "jno" Dvurechenski
zLinux (KVM) Development - Software Engineer
IBM Russia - Science & Technology Center
phone: +7 (495) 660 8940 ext. 1021

[-- Attachment #1.2: jno.vcf --]
[-- Type: text/x-vcard, Size: 385 bytes --]

begin:vcard
fn:Eugene Dvurechenski
n:Dvurechenski;Eugene
org:IBM Systems & Technology Group;IBM S&T Center, Russia
adr:;;Obrucheva st., bld.30/1, E2V, floor 4;Moscow;;117485;Russia
email;internet:jno@linux.vnet.ibm.com
title:Software Engineer
tel;work:+7 (495) 660 8940 ext. 1021
tel;cell:+7 (903) 790-07-49
x-mozilla-html:FALSE
url:http://fsw.su/
version:2.1
end:vcard


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] s390-ccw.img: s390-ccw.img fixes
  2014-06-18 12:16 [Qemu-devel] [PATCH 0/4] s390-ccw.img: s390-ccw.img fixes Jens Freimann
                   ` (3 preceding siblings ...)
  2014-06-18 12:16 ` [Qemu-devel] [PATCH 4/4] pc-bios/s390-ccw: update s390-ccw.img binary Jens Freimann
@ 2014-06-18 13:06 ` Alexander Graf
  2014-06-23 10:48 ` Cornelia Huck
  5 siblings, 0 replies; 9+ messages in thread
From: Alexander Graf @ 2014-06-18 13:06 UTC (permalink / raw)
  To: Jens Freimann, Christian Borntraeger, Cornelia Huck; +Cc: qemu-devel


On 18.06.14 14:16, Jens Freimann wrote:
> Conny, Christian, Alex,
>
> here's three bios bugfixes and an update for the binary.
> Patch 1 lets us boot with big inital ramdisks, Patch 2 introduces
> a subsystem reset to make sure start with a clean state. Patch 3
> fixes parsing of the SCSI bootmap.

Nasty :).

Reviewed-by: Alexander Graf <agraf@suse.de>


Alex

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH 3/4] pc-bios/s390-ccw: fix for fragmented SCSI bootmap
  2014-06-18 12:53   ` Eugene "jno" Dvurechenski
@ 2014-06-23 10:47     ` Cornelia Huck
  0 siblings, 0 replies; 9+ messages in thread
From: Cornelia Huck @ 2014-06-23 10:47 UTC (permalink / raw)
  To: Eugene "jno" Dvurechenski
  Cc: Christian Borntraeger, Jens Freimann, Alexander Graf, qemu-devel

On Wed, 18 Jun 2014 16:53:15 +0400
"Eugene \"jno\" Dvurechenski" <jno@linux.vnet.ibm.com> wrote:

> 
> 
> On 06/18/2014 04:16 PM, Jens Freimann wrote:
> > +static inline bool unused_space(const void *p, unsigned int size)
> > +{
> > +    int i;
> 
> s390-ccw.h has a def for size_t (well, it's just "long").
> So, we can use a bit more "gentile" version:
> 
> +static inline bool unused_space(const void *p, size_t size)
> +{
> +    size_t i;
> 
> 

Let's stick with the posted version for now. We can do further cleanup
of the bios code later on.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] s390-ccw.img: s390-ccw.img fixes
  2014-06-18 12:16 [Qemu-devel] [PATCH 0/4] s390-ccw.img: s390-ccw.img fixes Jens Freimann
                   ` (4 preceding siblings ...)
  2014-06-18 13:06 ` [Qemu-devel] [PATCH 0/4] s390-ccw.img: s390-ccw.img fixes Alexander Graf
@ 2014-06-23 10:48 ` Cornelia Huck
  5 siblings, 0 replies; 9+ messages in thread
From: Cornelia Huck @ 2014-06-23 10:48 UTC (permalink / raw)
  To: Jens Freimann; +Cc: Christian Borntraeger, Alexander Graf, qemu-devel

On Wed, 18 Jun 2014 14:16:43 +0200
Jens Freimann <jfrei@linux.vnet.ibm.com> wrote:

> Conny, Christian, Alex,
> 
> here's three bios bugfixes and an update for the binary.
> Patch 1 lets us boot with big inital ramdisks, Patch 2 introduces
> a subsystem reset to make sure start with a clean state. Patch 3
> fixes parsing of the SCSI bootmap.
> 
> regards
> Jens
> 
> 
> Christian Borntraeger (1):
>   pc-bios/s390-ccw: do a subsystem reset before running the guest
> 
> David Hildenbrand (1):
>   pc-bios/s390-ccw: virtio_load_direct() can't load max number of
>     sectors
> 
> Eugene (jno) Dvurechenski (1):
>   pc-bios/s390-ccw: fix for fragmented SCSI bootmap
> 
> Jens Freimann (1):
>   pc-bios/s390-ccw: update s390-ccw.img binary
> 
>  pc-bios/s390-ccw.img       | Bin 9336 -> 9432 bytes
>  pc-bios/s390-ccw/bootmap.c |  82 ++++++++++++++++++++++++++++++++++++++++-----
>  pc-bios/s390-ccw/virtio.c  |   2 +-
>  3 files changed, 75 insertions(+), 9 deletions(-)
> 

Thanks, applied to my s390-next branch.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-06-23 10:48 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-18 12:16 [Qemu-devel] [PATCH 0/4] s390-ccw.img: s390-ccw.img fixes Jens Freimann
2014-06-18 12:16 ` [Qemu-devel] [PATCH 1/4] pc-bios/s390-ccw: virtio_load_direct() can't load max number of sectors Jens Freimann
2014-06-18 12:16 ` [Qemu-devel] [PATCH 2/4] pc-bios/s390-ccw: do a subsystem reset before running the guest Jens Freimann
2014-06-18 12:16 ` [Qemu-devel] [PATCH 3/4] pc-bios/s390-ccw: fix for fragmented SCSI bootmap Jens Freimann
2014-06-18 12:53   ` Eugene "jno" Dvurechenski
2014-06-23 10:47     ` Cornelia Huck
2014-06-18 12:16 ` [Qemu-devel] [PATCH 4/4] pc-bios/s390-ccw: update s390-ccw.img binary Jens Freimann
2014-06-18 13:06 ` [Qemu-devel] [PATCH 0/4] s390-ccw.img: s390-ccw.img fixes Alexander Graf
2014-06-23 10:48 ` Cornelia Huck

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.