Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12:GA
kexec-tools
kexec-tools-fs2dt-fix-endianess-issue-with-init...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File kexec-tools-fs2dt-fix-endianess-issue-with-initrd-base-and-size.patch of Package kexec-tools
From: Laurent Dufour <ldufour@linux.vnet.ibm.com> Subject: [PATCH] kexec/fs2dt : Fix endianess issue with initrd base and size Date: Fri, 11 Apr 2014 12:10:30 +0200 Git-commit: db3c32babc5279816344be8210ca91a64331f0fe References: bnc#873169 Signed-off-by: Tony Jones <tonyj@suse.de> The initrd values exposed in the device tree of the kexeced kernel must be encoded in Big Endian format. Without this patch, kexeced LE kernel are expected to panic when dealing with the initrd image. Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com> --- kexec/fs2dt.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/kexec/fs2dt.c b/kexec/fs2dt.c index 5e6b98d..2a90979 100644 --- a/kexec/fs2dt.c +++ b/kexec/fs2dt.c @@ -531,7 +531,7 @@ static void putnode(void) /* Add initrd entries to the second kernel */ if (initrd_base && initrd_size && !strcmp(basename,"chosen/")) { int len = 8; - unsigned long long initrd_end; + uint64_t bevalue; dt_reserve(&dt, 12); /* both props, of 6 words ea. */ *dt++ = cpu_to_be32(3); @@ -539,7 +539,8 @@ static void putnode(void) *dt++ = cpu_to_be32(propnum("linux,initrd-start")); pad_structure_block(len); - memcpy(dt,&initrd_base,len); + bevalue = cpu_to_be64(initrd_base); + memcpy(dt, &bevalue, len); dt += (len + 3)/4; len = 8; @@ -547,10 +548,10 @@ static void putnode(void) *dt++ = cpu_to_be32(len); *dt++ = cpu_to_be32(propnum("linux,initrd-end")); - initrd_end = initrd_base + initrd_size; + bevalue = cpu_to_be64(initrd_base + initrd_size); pad_structure_block(len); - memcpy(dt,&initrd_end,len); + memcpy(dt, &bevalue, len); dt += (len + 3)/4; reserve(initrd_base, initrd_size);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor