Hi Farhan,
On 08/25/2017 04:20 AM, Cornelia Huck wrote:
On Thu, 24 Aug 2017 20:14:06 +0200
Christian Borntraeger <borntrae...@de.ibm.com> wrote:
On 08/24/2017 07:38 PM, Farhan Ali wrote:
On 08/24/2017 12:07 PM, Peter Maydell wrote:
On 24 August 2017 at 16:53, Farhan Ali <al...@linux.vnet.ibm.com> wrote:
On 08/24/2017 11:50 AM, Thomas Huth wrote:
True, so that could still be an issue. Looking at the cio.h in the
kernel, they define the struct like this:
struct ccw1 {
__u8 cmd_code;
__u8 flags;
__u16 count;
__u32 cda;
} __attribute__ ((packed,aligned(8)));
So I guess adding the aligned(8) is the right way to go?
This was my initial fix and it works on my system. But for some reason this
fix does not work on my colleague's system. So I am hesitant about
submitting this fix
It seems like it ought to be the obvious fix, so I would double
check that on your colleague's system the change really did
get recompiled and it's actually using the new version (that
sort of mistake can be easy to make and very confusing...)
thanks
-- PMM
So after trying again with the fix, it seems to work on my colleague's system
for most cases. It fails for LDL DASD boot case.... we are still investigating
it.
no-packed-stack is GCC default but you can test forcing it with:
make QEMU_CFLAGS=-mno-packed-stack
Also, can you add LDFLAGS+=-Wl,-verbose in pc-bios/s390-ccw/Makefile and
send your and your colleague bios build output?
I'm interested in comparing the internal linker scripts.
So chances are that this is an independent problem, I guess?
OK, to recap:
- the current pre-built bios seems fine
- rebuilding the bios may yield a version that fails on some systems
(different compiler?)
- adding aligned(8) looks like the right thing to do
- it seems to fix the problem, but on at least one system something
still seems off (under investigation)