[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 16/22] s390-ccw.img: Fix sporadic errors with ccw boo
From: |
Christian Borntraeger |
Subject: |
[Qemu-devel] [PULL 16/22] s390-ccw.img: Fix sporadic errors with ccw boot image - initialize css |
Date: |
Fri, 28 Feb 2014 10:31:00 +0100 |
We have to set the cssid to 0, otherwise the stsch code will
return an operand exception without the m bit. In the same way
we should set m=0.
This case was triggered in some cases during reboot, if for some
reason the location of blk_schid.cssid contains 1 and m was 0.
Turns out that the qemu elf loader does not zero out the bss section
on reboot.
The symptom was an dump of the old kernel with several areas
overwritten. The bootloader does not register a program check
handler, so bios exception jumped back into the old kernel.
Lets just use a local struct with a designed initializer. That
will guarantee that all other subelements are initialized to 0.
Signed-off-by: Christian Borntraeger <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
---
pc-bios/s390-ccw/main.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c
index c5d5332..5c33766 100644
--- a/pc-bios/s390-ccw/main.c
+++ b/pc-bios/s390-ccw/main.c
@@ -10,7 +10,6 @@
#include "s390-ccw.h"
-struct subchannel_id blk_schid;
char stack[PAGE_SIZE * 8] __attribute__((__aligned__(PAGE_SIZE)));
uint64_t boot_value;
@@ -23,13 +22,13 @@ void virtio_panic(const char *string)
static void virtio_setup(uint64_t dev_info)
{
+ struct subchannel_id blk_schid = { .one = 1 };
struct schib schib;
int i;
int r;
bool found = false;
bool check_devno = false;
uint16_t dev_no = -1;
- blk_schid.one = 1;
if (dev_info != -1) {
check_devno = true;
--
1.8.4.2
- [Qemu-devel] [PULL 06/22] s390x/virtio-hcall: Specification exception for illegal subcodes, (continued)
- [Qemu-devel] [PULL 06/22] s390x/virtio-hcall: Specification exception for illegal subcodes, Christian Borntraeger, 2014/02/28
- [Qemu-devel] [PULL 05/22] s390x/virtio-hcall: Add range check for hypervisor call, Christian Borntraeger, 2014/02/28
- [Qemu-devel] [PULL 09/22] s390x/sclp: Add missing checks to SCLP handler, Christian Borntraeger, 2014/02/28
- [Qemu-devel] [PULL 15/22] s390-ccw.img: Fix sporadic reboot hangs: Initialize next_idx, Christian Borntraeger, 2014/02/28
- [Qemu-devel] [PULL 10/22] s390x/sclp: Fixed setting of condition code register, Christian Borntraeger, 2014/02/28
- [Qemu-devel] [PULL 01/22] update linux headers to kvm/next, Christian Borntraeger, 2014/02/28
- [Qemu-devel] [PULL 08/22] s390x/sclp: Fixed the size of sccb and code parameter, Christian Borntraeger, 2014/02/28
- [Qemu-devel] [PULL 11/22] s390x/event-facility: some renaming, Christian Borntraeger, 2014/02/28
- [Qemu-devel] [PULL 17/22] s390-ccw.img: new binary rom to match latest fixes, Christian Borntraeger, 2014/02/28
- [Qemu-devel] [PULL 12/22] s390x/event-facility: code restructure, Christian Borntraeger, 2014/02/28
- [Qemu-devel] [PULL 16/22] s390-ccw.img: Fix sporadic errors with ccw boot image - initialize css,
Christian Borntraeger <=
- [Qemu-devel] [PULL 20/22] s390x/kvm: Add missing SIGP CPU RESET order, Christian Borntraeger, 2014/02/28
- [Qemu-devel] [PULL 02/22] s390x/kvm: implement floating-interrupt controller device, Christian Borntraeger, 2014/02/28
- [Qemu-devel] [PULL 07/22] s390x/eventfacility: mask out commands, Christian Borntraeger, 2014/02/28
- [Qemu-devel] [PULL 21/22] s390x/kvm: Rework priv instruction handlers, Christian Borntraeger, 2014/02/28
- [Qemu-devel] [PULL 14/22] s390x/event-facility: exploit realize/unrealize, Christian Borntraeger, 2014/02/28
- [Qemu-devel] [PULL 19/22] s390x/kvm: Rework SIGP INITIAL CPU RESET handler, Christian Borntraeger, 2014/02/28
- [Qemu-devel] [PULL 04/22] s390x/kvm: Fixed bad SIGP SET-ARCHITECTURE handler, Christian Borntraeger, 2014/02/28
- [Qemu-devel] [PULL 13/22] s390x/event-facility: add support for live migration, Christian Borntraeger, 2014/02/28
- [Qemu-devel] [PULL 18/22] s390x/cpu: Use ioctl to reset state in the kernel, Christian Borntraeger, 2014/02/28
- [Qemu-devel] [PULL 22/22] s390x/ipl: Fix crash of ELF images with arbitrary entry points, Christian Borntraeger, 2014/02/28