Stefan Reinauer ([email protected]) just uploaded a new patch set to 
gerrit, which you can find at http://review.coreboot.org/767

-gerrit

commit 990fa2ac2da79f8dbbdd3d1ad3abd7c2a749a5df
Author: Stefan Reinauer <[email protected]>
Date:   Wed Jan 11 12:40:14 2012 -0800

    correctly mark code segments as code in SELF
    
    In bios_log, find that the first segment of the payload is shown
    as code rather than data.
    
    Change-Id: I82eaad23f08c02f4ed75744affa8835255cf5c17
    Sample:
           Got a payload
           Loading segment from rom address 0xfff29378
             code (compression=1)
           ...
    Signed-off-by: Stefan Reinauer <[email protected]>
---
 util/cbfstool/cbfs-mkpayload.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/util/cbfstool/cbfs-mkpayload.c b/util/cbfstool/cbfs-mkpayload.c
index ff6479d..e4ef5c8 100644
--- a/util/cbfstool/cbfs-mkpayload.c
+++ b/util/cbfstool/cbfs-mkpayload.c
@@ -161,7 +161,10 @@ int parse_elf_to_payload(unsigned char *input, unsigned 
char **output,
                        continue;
                }
 
-               segs[segments].type = PAYLOAD_SEGMENT_DATA;
+               if (phdr[i].p_flags & PF_X)
+                       segs[segments].type = PAYLOAD_SEGMENT_CODE;
+               else
+                       segs[segments].type = PAYLOAD_SEGMENT_DATA;
                segs[segments].load_addr = (uint64_t)htonll(phdr[i].p_paddr);
                segs[segments].mem_len = (uint32_t)htonl(phdr[i].p_memsz);
                segs[segments].compression = htonl(algo);

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to