From 7a388f22b7f3df4e19b8cf918f83c7bb2daf1c1f Mon Sep 17 00:00:00 2001 From: Bahadir Balban Date: Mon, 14 Jan 2008 12:23:40 +0000 Subject: [PATCH] Removed all ignorable files from git. Previously python hex() would put an extra 'L' after printing out the value and this would be trimmed in readelf.py. Now it doesn't seem to do that so the lsd of the number was trimmed. This patch fixes that. --- include/l4/config.h | 45 ------------------------ tasks/blkdev0/include/physical_base.lds | 17 --------- tasks/bootdesc/bootdesc.c.append | 23 ------------ tasks/bootdesc/fs0.txt | 3 -- tasks/bootdesc/inittask.txt | 3 -- tasks/bootdesc/mm0.txt | 3 -- tasks/bootdesc/romfs.txt | 3 -- tasks/bootdesc/roottask.txt | 3 -- tasks/bootdesc/start.txt | 3 -- tasks/bootdesc/test0.txt | 3 -- tasks/bootdesc/testtask.txt | 3 -- tasks/fs0/include/kdata.h | 1 - tasks/fs0/main.c | 5 --- tasks/fs0/src/kdata.c | 2 +- tasks/fs0/src/vfs.c | 3 -- tasks/libmem/kmalloc/kmalloc.c | 1 + tasks/libmem/mm/alloc_page.c | 1 + tasks/mm0/include/physical_base.lds | 17 --------- tasks/mm0/main.c | 4 +-- tasks/test0/include/physical_base.lds | 17 --------- tasks/test0/main.c | 2 +- tasks/test1/SConstruct | 2 +- tasks/test1/include/.gitignore | 1 + tasks/test1/include/physical_base.lds | 17 --------- tools/cml2-tools/cml.pyc | Bin 16035 -> 0 bytes tools/cml2-tools/cmlconfigure.pyc | Bin 114903 -> 0 bytes tools/cml2-tools/cmlsystem.pyc | Bin 37587 -> 0 bytes tools/cml2header.pyc | Bin 4208 -> 4190 bytes tools/pyelf/aistruct.pyc | Bin 15165 -> 0 bytes tools/pyelf/elf.pyc | Bin 21131 -> 0 bytes tools/pyelf/readelf.py | 16 ++++++--- 31 files changed, 20 insertions(+), 178 deletions(-) delete mode 100644 include/l4/config.h delete mode 100644 tasks/blkdev0/include/physical_base.lds delete mode 100644 tasks/bootdesc/bootdesc.c.append delete mode 100644 tasks/bootdesc/fs0.txt delete mode 100644 tasks/bootdesc/inittask.txt delete mode 100644 tasks/bootdesc/mm0.txt delete mode 100644 tasks/bootdesc/romfs.txt delete mode 100644 tasks/bootdesc/roottask.txt delete mode 100644 tasks/bootdesc/start.txt delete mode 100644 tasks/bootdesc/test0.txt delete mode 100644 tasks/bootdesc/testtask.txt delete mode 100644 tasks/mm0/include/physical_base.lds delete mode 100644 tasks/test0/include/physical_base.lds create mode 100644 tasks/test1/include/.gitignore delete mode 100644 tasks/test1/include/physical_base.lds delete mode 100644 tools/cml2-tools/cml.pyc delete mode 100644 tools/cml2-tools/cmlconfigure.pyc delete mode 100644 tools/cml2-tools/cmlsystem.pyc delete mode 100644 tools/pyelf/aistruct.pyc delete mode 100644 tools/pyelf/elf.pyc diff --git a/include/l4/config.h b/include/l4/config.h deleted file mode 100644 index 7d58430..0000000 --- a/include/l4/config.h +++ /dev/null @@ -1,45 +0,0 @@ -/* Automatically generated, don't edit */ -/* Generated on: bahadir-desktop */ -/* At: Sun, 13 Jan 2008 12:03:34 +0000 */ -/* Linux version 2.6.22-14-generic (buildd@terranova) (gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)) #1 SMP Tue Dec 18 08:02:57 UTC 2007 */ - -/* L4 Project Kernel Configurator */ - -/* Main architecture */ -#undef ARCH_TEST -#define ARCH_ARM 1 - - -/* ARM Architecture Configuration */ - -/* ARM Processor Type */ -#undef ARM_CPU_ARM920T -#define ARM_CPU_ARM926 1 -#undef ARM_CPU_ARM925 - - -/* ARM Architecture Family */ -#define ARM_SUBARCH_V5 1 -#undef ARM_SUBARCH_V6 - - -/* ARM Platform Type */ -#undef ARM_PLATFORM_EB -#undef ARM_PLATFORM_AB926 -#define ARM_PLATFORM_PB926 1 - - -/* Platform Drivers */ -#define DRIVER_UART_PL011 1 -#define DRIVER_TIMER_SP804 1 -#define DRIVER_IRQCTRL_PL190 1 - - -#undef DUMMY - -/* That's all, folks! */ -/* Symbols derived from this file by SConstruct\derive_symbols() */ -#define __ARCH__ arm -#define __PLATFORM__ pb926 -#define __SUBARCH__ v5 - diff --git a/tasks/blkdev0/include/physical_base.lds b/tasks/blkdev0/include/physical_base.lds deleted file mode 100644 index 1c0860b..0000000 --- a/tasks/blkdev0/include/physical_base.lds +++ /dev/null @@ -1,17 +0,0 @@ -/* - * The next free p_align'ed LMA base address - * - * p_align = 0x8000 - * - * Recap from ELF spec: p_align: Loadable process segments must have - * congruent values for p_vaddr and p_offset, modulo the page size. - * This member gives the value to which the segments are aligned in - * memory and in the file. Values 0 and 1 mean that no alignment is - * required. Otherwise, p_align should be a positive, integral power - * of 2, and p_addr should equal p_offset, modulo p_align. - * This essentially means next available address must be aligned at - * p_align, rather than the page_size, which one (well, I) would - * normally expect. - */ - -physical_base = 0x3000; diff --git a/tasks/bootdesc/bootdesc.c.append b/tasks/bootdesc/bootdesc.c.append deleted file mode 100644 index 94aba81..0000000 --- a/tasks/bootdesc/bootdesc.c.append +++ /dev/null @@ -1,23 +0,0 @@ - -struct bootdesc bootdesc = { - .desc_size = sizeof(struct bootdesc) + sizeof(struct svc_image) * 3, - .total_images = 3, - .images = { - [0] = { - .name = "mm0", - .phys_start = 0x208000, - .phys_end = 0x213140, - }, - [1] = { - .name = "test0", - .phys_start = 0x218000, - .phys_end = 0x21aedc, - }, - [2] = { - .name = "romfs", - .phys_start = 0x220000, - .phys_end = 0x268800, - }, - - }, -}; diff --git a/tasks/bootdesc/fs0.txt b/tasks/bootdesc/fs0.txt deleted file mode 100644 index 16a5c79..0000000 --- a/tasks/bootdesc/fs0.txt +++ /dev/null @@ -1,3 +0,0 @@ -fs0 -image_start 0x218000 -image_end 0x21B26C diff --git a/tasks/bootdesc/inittask.txt b/tasks/bootdesc/inittask.txt deleted file mode 100644 index 2c9fdda..0000000 --- a/tasks/bootdesc/inittask.txt +++ /dev/null @@ -1,3 +0,0 @@ -inittask -image_start 0x208000 -image_end 0x213260 diff --git a/tasks/bootdesc/mm0.txt b/tasks/bootdesc/mm0.txt deleted file mode 100644 index b507cdc..0000000 --- a/tasks/bootdesc/mm0.txt +++ /dev/null @@ -1,3 +0,0 @@ -mm0 -image_start 0x208000 -image_end 0x213140 diff --git a/tasks/bootdesc/romfs.txt b/tasks/bootdesc/romfs.txt deleted file mode 100644 index 8950392..0000000 --- a/tasks/bootdesc/romfs.txt +++ /dev/null @@ -1,3 +0,0 @@ -romfs -image_start 0x220000 -image_end 0x268800 diff --git a/tasks/bootdesc/roottask.txt b/tasks/bootdesc/roottask.txt deleted file mode 100644 index a155b3e..0000000 --- a/tasks/bootdesc/roottask.txt +++ /dev/null @@ -1,3 +0,0 @@ -roottask -image_start 0x218000 -image_end 0x21B344 diff --git a/tasks/bootdesc/start.txt b/tasks/bootdesc/start.txt deleted file mode 100644 index 0ce547c..0000000 --- a/tasks/bootdesc/start.txt +++ /dev/null @@ -1,3 +0,0 @@ -start -image_start 0x100000 -image_end 0x205800 diff --git a/tasks/bootdesc/test0.txt b/tasks/bootdesc/test0.txt deleted file mode 100644 index 7e921eb..0000000 --- a/tasks/bootdesc/test0.txt +++ /dev/null @@ -1,3 +0,0 @@ -test0 -image_start 0x218000 -image_end 0x21AEDC diff --git a/tasks/bootdesc/testtask.txt b/tasks/bootdesc/testtask.txt deleted file mode 100644 index d03f117..0000000 --- a/tasks/bootdesc/testtask.txt +++ /dev/null @@ -1,3 +0,0 @@ -testtask -image_start 0x220000 -image_end 0x223344 diff --git a/tasks/fs0/include/kdata.h b/tasks/fs0/include/kdata.h index d5eb4e7..31bb8d2 100644 --- a/tasks/fs0/include/kdata.h +++ b/tasks/fs0/include/kdata.h @@ -12,7 +12,6 @@ #include INC_GLUE(memory.h) #include INC_GLUE(memlayout.h) #include INC_ARCH(bootdesc.h) -#include struct initdata { struct bootdesc *bootdesc; diff --git a/tasks/fs0/main.c b/tasks/fs0/main.c index c2a82d0..1190d68 100644 --- a/tasks/fs0/main.c +++ b/tasks/fs0/main.c @@ -21,11 +21,6 @@ void wait_pager(l4id_t partner) printf("Pager synced with us.\n"); } -void fs_request_handler(struct fs_request *fsreq) -{ - -} - void handle_fs_requests(void) { u32 mr[MR_UNUSED_TOTAL]; diff --git a/tasks/fs0/src/kdata.c b/tasks/fs0/src/kdata.c index 43b990e..4c90c34 100644 --- a/tasks/fs0/src/kdata.c +++ b/tasks/fs0/src/kdata.c @@ -8,7 +8,7 @@ #include #include #include INC_API(kip.h) -#include +#include /* Kernel data acquired during initialisation */ struct initdata initdata; diff --git a/tasks/fs0/src/vfs.c b/tasks/fs0/src/vfs.c index d95002f..ccd2bd0 100644 --- a/tasks/fs0/src/vfs.c +++ b/tasks/fs0/src/vfs.c @@ -14,8 +14,6 @@ void wait_task(l4id_t partner) void mount_root(void) { - l4id_t blkdev_shmid; - /* * We know the primary block device from compile-time. * It is expected to have the root filesystem. @@ -23,6 +21,5 @@ void mount_root(void) wait_task(BLKDEV_TID); /* Set up a shared memory area with the block device */ - l4_receive_shm( } diff --git a/tasks/libmem/kmalloc/kmalloc.c b/tasks/libmem/kmalloc/kmalloc.c index 748be24..513a3d2 100644 --- a/tasks/libmem/kmalloc/kmalloc.c +++ b/tasks/libmem/kmalloc/kmalloc.c @@ -12,6 +12,7 @@ #include INC_GLUE(memlayout.h) #include INC_SUBARCH(mm.h) #include +#include #include #include #include diff --git a/tasks/libmem/mm/alloc_page.c b/tasks/libmem/mm/alloc_page.c index 8bd4545..b93b989 100644 --- a/tasks/libmem/mm/alloc_page.c +++ b/tasks/libmem/mm/alloc_page.c @@ -10,6 +10,7 @@ #include #include #include +#include #include "alloc_page.h" #include INC_GLUE(memory.h) #include INC_SUBARCH(mm.h) diff --git a/tasks/mm0/include/physical_base.lds b/tasks/mm0/include/physical_base.lds deleted file mode 100644 index 06201b0..0000000 --- a/tasks/mm0/include/physical_base.lds +++ /dev/null @@ -1,17 +0,0 @@ -/* - * The next free p_align'ed LMA base address - * - * p_align = 0x8000 - * - * Recap from ELF spec: p_align: Loadable process segments must have - * congruent values for p_vaddr and p_offset, modulo the page size. - * This member gives the value to which the segments are aligned in - * memory and in the file. Values 0 and 1 mean that no alignment is - * required. Otherwise, p_align should be a positive, integral power - * of 2, and p_addr should equal p_offset, modulo p_align. - * This essentially means next available address must be aligned at - * p_align, rather than the page_size, which one (well, I) would - * normally expect. - */ - -physical_base = 0x20800; diff --git a/tasks/mm0/main.c b/tasks/mm0/main.c index ce5b392..0225c32 100644 --- a/tasks/mm0/main.c +++ b/tasks/mm0/main.c @@ -87,12 +87,12 @@ void handle_requests(void) } case L4_IPC_TAG_MUNMAP: { /* TODO: Use arg struct instead */ - sys_munmap(sender, (void *)mr[0], (int)mr[1]); +// sys_munmap(sender, (void *)mr[0], (int)mr[1]); break; } case L4_IPC_TAG_MSYNC: { /* TODO: Use arg struct instead */ - sys_msync(sender, (void *)mr[0], (int)mr[1], (int)mr[2]); +// sys_msync(sender, (void *)mr[0], (int)mr[1], (int)mr[2]); break; } default: diff --git a/tasks/test0/include/physical_base.lds b/tasks/test0/include/physical_base.lds deleted file mode 100644 index 1c0860b..0000000 --- a/tasks/test0/include/physical_base.lds +++ /dev/null @@ -1,17 +0,0 @@ -/* - * The next free p_align'ed LMA base address - * - * p_align = 0x8000 - * - * Recap from ELF spec: p_align: Loadable process segments must have - * congruent values for p_vaddr and p_offset, modulo the page size. - * This member gives the value to which the segments are aligned in - * memory and in the file. Values 0 and 1 mean that no alignment is - * required. Otherwise, p_align should be a positive, integral power - * of 2, and p_addr should equal p_offset, modulo p_align. - * This essentially means next available address must be aligned at - * p_align, rather than the page_size, which one (well, I) would - * normally expect. - */ - -physical_base = 0x3000; diff --git a/tasks/test0/main.c b/tasks/test0/main.c index ac854c2..8da9f53 100644 --- a/tasks/test0/main.c +++ b/tasks/test0/main.c @@ -28,7 +28,7 @@ void main(void) wait_pager(0); /* Check mmap/munmap */ - mmaptest(); + // mmaptest(); /* Check shmget/shmat/shmdt */ shmtest(); diff --git a/tasks/test1/SConstruct b/tasks/test1/SConstruct index 7645731..5829ada 100644 --- a/tasks/test1/SConstruct +++ b/tasks/test1/SConstruct @@ -14,7 +14,7 @@ task_name = "test1" # The root directory of the repository where this file resides: project_root = "../.." tools_root = join(project_root, "tools") -prev_image = join(project_root, "tasks/mm0/mm0.axf") +prev_image = join(project_root, "tasks/test0/test0.axf") libs_path = join(project_root, "libs") ld_script = "include/linker.lds" physical_base_ld_script = "include/physical_base.lds" diff --git a/tasks/test1/include/.gitignore b/tasks/test1/include/.gitignore new file mode 100644 index 0000000..2c1b19d --- /dev/null +++ b/tasks/test1/include/.gitignore @@ -0,0 +1 @@ +physical_base.lds diff --git a/tasks/test1/include/physical_base.lds b/tasks/test1/include/physical_base.lds deleted file mode 100644 index 1c0860b..0000000 --- a/tasks/test1/include/physical_base.lds +++ /dev/null @@ -1,17 +0,0 @@ -/* - * The next free p_align'ed LMA base address - * - * p_align = 0x8000 - * - * Recap from ELF spec: p_align: Loadable process segments must have - * congruent values for p_vaddr and p_offset, modulo the page size. - * This member gives the value to which the segments are aligned in - * memory and in the file. Values 0 and 1 mean that no alignment is - * required. Otherwise, p_align should be a positive, integral power - * of 2, and p_addr should equal p_offset, modulo p_align. - * This essentially means next available address must be aligned at - * p_align, rather than the page_size, which one (well, I) would - * normally expect. - */ - -physical_base = 0x3000; diff --git a/tools/cml2-tools/cml.pyc b/tools/cml2-tools/cml.pyc deleted file mode 100644 index 9acc8545d7f8c1964d4df54c5745160ef3665c13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16035 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 M+(q?zOXt)6Z)-aIR{#J2 diff --git a/tools/cml2-tools/cmlsystem.pyc b/tools/cml2-tools/cmlsystem.pyc deleted file mode 100644 index 646de990db46734ad80863b20bdbfb889680482f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37587 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 g3Q7fK122-8|D62^*Lf_FtUx* zde1tML({Z%rY)tk45h=ZGeBu)nBfOAq$w~h?Xq$E;OkaS*s=ewQn^4`DqoR`1d+ui;37spB_`su*`x8n-G>=@(Y&oMWQS#->- zV-{0pHf0vmW;SgcmZi*%HZ$9%dPujM*>>ZnO^`Noj`7>fOUB$W=84%3O`6yD8sg{6l8YA2QFR zO=T6q=goCN zA~^hG#+29}uf4d&aD`vPT^*&4d8bWaF;m9D4IYLi#(pjs(*{aQVbRXc+01rjs-Ob} zTg=%uEMN-DcQ%F9i>qx-s`bRxde>IlmQ?Gr)tWo$PfE9=bO)ccGwy8{61$rodR$}P zqbB}d6h>plX55wZb2kc_hly`|!O zxg;!7S-rdzgmGDEu^5KR9-llvd`kEi-;SIXChB&%$VOZ60CeaV>&5UMq)*)+W=fT% z>SC}IEY}~(ESBr_#UK+b`{m+tc-J~Lu9xSd;ySSxojn`W!g6IfBtJNr$(C-_YUt~M zcz~6#c)c9b(GXKDv*F5Ra%@^nLVG=4|VfSzOJNBT5Ed{dP4_-{aTD z$1>URm7sL1Uc8QJ&w=ATQ14>5So6|Cc{$LmCYI~LV&=?=Gs7by=tiHzr=r^N8j#XY ztPHKF#$2VgRIJ-I_pl_j+fll@P??(xccJc(pUGaoT@S)cdAVMR2B1yyLRN|z%qe0sgO+bCMP=ctvT%WA+Cw}mtk;(Pl`I)oNKPgE zbGIX9^O98z?eMB>{u*WKdQI7?M{%iKK2M0^dFADD-Sf0?g^Ag5EG@?o2K8IjEE!;( z4Z>h?j;zuMg!dtJyi%@e4*?iw zr_XfMtVPfceng9H|>b~^0_;4iTnN}66C(pU0whWcF2jXWOG(-8vlN> z1pfi@0RKT!ynodA$BYj?2Oc1D_lJ#t+V~F}f5iBY82^l!-(k)@HEez$WnREvI_`DI z_=n9qQ)Zx^BC`kXy%Pd6W#*6tx#`@zVy{8+b^ag1ET z8kZM@@VUa(pMg9Z_vDSvxrLhA3C;HW^xsI89h(7cAn% zw&v@gn24x}JKF}Yi*k+GG`MVY|Enj%%?iN9BksRm|ErtCLZ;FGhEUVuQ6ewMqQ$>q z6ab4SrbLy`)yj1%g64xdBw!8v%a~$WHIemfaq(7=l>j)*4jh0vF%@blO0d z=YgU;?=kcl9s@8=kJAf|pMHbiEv6^+ppzx3M-qvHfkYzL^t`2te`}GqB*aS1SDo<* z?^5o<#F({(CcLr9T%q7Wba6vaXzxc($M@%QGdXXvFxql|3HM^!6W+`d)8k%#DnA}q zP=-4`*;0XeOG|}wPvl!Fj7_<%J>)N6s*~MgNa}HNYTBI|YstDep)3yMQf}RJEhP+EY<8}hbesRhDrH4rUkjml809FApM>>VoBWN2)nP@27Bd4W5 zNJVg|1xWTw#=Df`F3H!;5Rjiql3H%a&5=?Y%eq8vCJL|Rx=q5fsfcV~Jqc=Ui`6nv z_fe6Rc#%P2M-!{l!>1xS*&+|)(vj1V7-$lKYszFywD#I)mx#B)W zb>v!8p%pU?Bct`9Xly%P-!fQNL^bujMjkblY3UQ8Bf&w5BC2gz48V;cWQrQx!%X4Y zyrFOzjY2hz3u&f@ba`1P9}%ZvOcNH02d?b{#2kLb=!?opBXgAkz_B zcpiy}Ex^|WPaAw)@cY2m1&>--r`Pl=9mI~!BKHam70p-B5o=+ax$}7x+ULfKFR z!>c*{%UzQ)cvUbbcumAGv|>HeD1Ma|M4aKcPX~CDdB=g9nz)Q5@*o+Bn>xz zd2&)pB=oKeqZ2a)>$)S`D?D*&CO2w*cexoLSLIp$7d6tF4o{J#s z8qs02+d7PhaAe?PYv=6=$bWN&HLDYHO@f zhr&&XT#LHVHvSYEi`tDH4-uaGsqs*;#$s?S8!Lzega&fjc)n8ZpdV}y!VF$Ch!XgJ zF##-aJaiIFEK_;9WsTMu`hJCcn#a8OD67Jr=D}8I7k!zHIU*pPkg|qSEBg;4*Ii*b zkq+i3oH-WXaBETLjlGnjFCuh!dr3(BakgcL28u^^9n_*nfRm3`1e51&+PpoUFc;5` z{u!oTAi!?E732{oDK0KnN?f*2ptE?#h!`!X|K`T`gKu$s+&MZRIJ{4N_lNiNTO6Kr z*~XE>FRdCNDUdie#{3xoyT91k>K5Zb9=?|+wrNApGqxHk6r2&;z*nFswV5eo$7}?S z;-tt)ibxG)EP1Q2@qx0;ByB7oeGl^F8_0zrPJQ8c9k10YHTS*9chRdo60nq?#%=An zmCa*&7a9`VapS z2+$wY32wmK4)Or#h^Pa85ao0wIlGg-I-G(SnpLMFZ<)lDta1=F4!u1IO8Uj2m6L;v zRhH{T923>7@S@3WrP?8;#H<&Y66Gx+l`stPlG0)*Uc!Fg+!~hR5xj!lWxg56p?jSH zXVnI0IqW7gg>)un;6BaNK>~@G+enEm!%>diso!>oS@v!MqDF!T?)!NAA%JA;N^MjS zT|rZ>k4_pRe@UwAzOMGJR9~vAqbsf7?wDtfoL=7!BG(yZH*eq`Nuv(EK~t>zeE`-T z0bVc>*&|57a)6}+8wb$@2qi!q0fGn+L4fc9#10IYhW0h9oVNS;cTo zDHU{-3O&gxB#+in=U$_X`s12DxdYK?q(`o)Ko*G#u`^pjj1RCldYLI|fC(wNRLkAx zn1^dq`iJ`bO*GPhlRX<;Yv$WWjiB0FHt}hNeU8uLj5?ecwc!f2r(mm0eAXIeb@a3_@oRE(5b3;WDu45iTP%r!|j&7$N&C z@EtA$pnR`+36I!8`<`S4P76RvlcWHRAjPe*fi2Wibl%Q-PcxLL!c>*17ZDVupQqE- zP042T3CJ&S2z^>Q{6GsGHv0u4S3oLq1)w4x?aL>y02PrJOzITuN|^9lkmzKB_C7*e z+Az@+CWQn;S++63sFi*uq5zc?$XoV4`fM`o2O6180V+x6pf$`HwUT5u+4V_gWY^Q! zPcrXOb2%20%qC;sX5OKpP4zp270XM`$hIeDa9w5FlcCUQtH1eJKj1ncV2=s{P=vBB zZO%3s@=jFNrn2^yvQ$(CQyuN#PhmT(D>fb(QmVT+Alc{{SD3&dxlaNJPgLR(3%I`^ zOV*LJn?CPdixXGlgsa3eI4c%IaEq)>{!?GT(H2gFhcriu!a`h7n8kDrW^yWb&Q68nz$r`a(!`k1Uy44g+HrSUl%VSQshM$+gmmN! z`O98mCO7tY`5k{-_mwrByXKvr%v~sy-@UsnNKE%?Y?pH+2p>5yvXb}=s@}6Q<>N9K z^BhgpW0Z@H$*X#_S;FVVo!S23xXx0r6h0r-PrL(F&l>RD5Jsz5OH;dd5Lr#uxcDrq zY2gz-`&LcrZ=lQYFn~3w`?@<|h4wlytE1okbaOmL6W`%rvc&mBmC^jBXFPdSxHd?0 z>*Sa~I@&n91v8%AwnigtnzS8MEL@zN7>x_2FP?L?&FcA5oIN=;Rfy9UCy*u;=z%&v zi|*`cnoA?w{Rx7P0Z5Sq?qA9k9%p6A9wBoAHmW&&1pWO!uJ91R>zp*fOQGL}FL~tj z`htekB|)Q{7;Un_WCbDF*E^Tcw-{%mGVGVPNNNdQ5Lq`ULm^i{* z5ZmQ`kS%KjA0m*+!0}u0CiDF>y!|zTUnlqt0yR@*+-=^z*u!n$DYt3Jw^+_KRJk^k zj^PT20k9SqF0Sn7^v^vt5PN&X)U5L5-0U$|sncP7WD68TS$SE&mx?zSQC6;J=tGAa zOuW#N9;dAZK{PF*e6<#q1SpNA#smoEOUPh@6ret>%lAup`?x02NzJm8QRy3{li%w16`lqyipToU2QBu|O`~b1b!II}S%_faHWkj{& z-{v-r1|juLon;tjublwVi&(F1+KOVRwRSs@z?MNN=6Tv#F=SVI;Wv~AjQ!g)J{*y9tNBsKd7;g~3tjG2={CVW!G2cT zwTGT{w19hUyLo3j=j-66AoAqmYL*;_wZ z2{%oo3C?4Q&mQa5E7gg*;=?P;mK;T=q)C^kA%Ep^@SOKtxxV1Zhc6D1P_p8O=(G3c zYLz9g$~RiF9JQtW&olK|_QX+vU1*r)<*=?(0b3mOS`345mmL zg9uLRPIcn|u@9QsF8uFBDDpu-F$T_zmoSdJmfN=KD25Dbm2D)1-zed-ThChzmOU@W z;gQc8M@O@XShTK}&!NO6ZMeTf@FjqRwl?!n38Mi%jeMfR>DmfsUt8DiI(528ZnmhY z4L>WfL_b`XQCx52^CQ7B_C!ngF(g2%Si(E-8jBXe8!hS5MCQ2>&XiC9rn=PzS+88< zs-JsmT7lV!FF-XJ%(fb-0VD*7OzU_Cgir&7`~vJ01j!+dx6wMI*zHGb?Dkd;rI4jl z%yRE&-ckH^_*l18d`1GFL?rOhM{%7z8G|!O@H)*HVfP59N0gq@F|W*;E9F`}7aNMx z3%5hvaMN`HR(@U$E(J>kB-6}ZoEOIDc*dLUM2@(i!o9zYJNNepXnVMSK=6kIe?;)d z0Gfz4`dxggtc3BO-O zVqN^UFAz}r0Q;rc4FX^7nJLf|C>Xy}VDTTKhuj^`#1@k1k4Pfq0Rg%~opVnGdT#+f zr03~1WX53svgg2{}T6S7$p^cgk z&j8LW1hpVj#D$k(qEnmrHGzi^TaQ-^s0$VOq5(r6GW2&m*4-^Xns`UF4^8xT7X4;2 zPY#_5pCZ*ga_rA*Cm8h!7{1=X9G}%#wk*e@gIY00}*Qjah$A@D~Js$wGDy8g~DRIe$&? zb%5+HrW$mq2Y}~G19ty}Wunx(nR)?0nsop%NSPZnoo?JdSVf`30-Z5fGP6BeP~Vs9)`4p2muNAnjZY$@9fa;cae<0iYL7z zA!C>Eb|pTZKghR|=q@Az7)+2TYiubPOcbmo?hY}5|Hp8JLjaIA5J`|H(C4t_R`Uhr zK;Ht9!AL@X@sU2|ncXXG0w3;vf#8b(NgRwdkH{DzqVO!<w~tVSM6)8k!gmA=-ma8CW^b1w#{S4yU_Q1yh~7FxX!Cp z7}iO8-V`tAreBXI4uoryqFcDVbR938l~AZ3Ziw`fjbH;S6B9ad$)R=)2{LdoY9^vX zNqZPVWU%TwPy$(Ldw_syP)m6J5d~`FY^Uk`@=gaBIT1))(|tc4(G;R)1E}O~RtSsx zBP^$W5GlZO6{!OixZ!K=PUds8AnbK2*7>%ByAmzpY#AAe32hqSiM4&kiG4*Z$%Loqh_E~~AZ^+|I2eBc~NH9i# z#fOC?39$kWdkk0jy#P=x6GE^QVeP;Mfj|m_&>OdqeY%}%V|*m1mDihXPYyvC(Y1eO zB{TG}52@o@<3()yo2X}ZkG$J%;ol?m7VH8kN-LZ%7nmVPd)KF^x1b%pijHsa5kw78 zR8M>wD%DhkrQoa*N5CJh$0#nnyBw@ywW5)ia3I>oGs`rpt>w1VNh7b65+F3{^I*H6 zAZhgp+l5OiVY|YzL{7dj?{)tMk8-~Okg%JLinxPl^0%*1VTTenzV*Q{z%Tmq9?Ydy(dpTCCvjNZkt{e^%%v+k>g^gW8B>0 zOs1l6$q^3a5dtov8xs5@K=L@HHo6nvLeqEgK@oZ2Z1ieuZh0H@fvu#0DLc&}0% zXWM6>6cOxkX`d}cD0`z6$J}u#LRnJs^dg`otpvha?5hC?ZfREz&Ry)g062Zwq8xo* zgdY$AeeETEbz-Vkiwv*p|5A9p#DyUL>%ujLOPd5FrQibU#rO%#Lq9@56bKDjqd9Ub zjW|xV@Z=x1kz9~Gk?YF(+iW*55%~x!7!mP>HG*-0XW6v%X4&*MS{djUqK$?I9%6l{ zcRJ{T^tLlPbah`loBG<-l-}Lc*TCAo_B2(+0T!Ho_z24b@Wlr`xH-NRX6`$)=z=v1y^=v(kHM4jw2H^1L;a9u@51ret8o?FXj z3wGxi$dHk$2avYuV>5iE zFKOpuz3eMrQqXO{x>QR~Zg6n}tG#IAi2A+77T*GBay#%8K-y_CXRLyqHYGq7mjxT; zA_vjnqvRrL3KOND=K!ez=Ri6QbLGL5g#!?>htpk7H)P??b=2x!bkiUv?JCzfFClLy zTe(#$;XPxyHYqEu?e#^ZHa%!LX}^B8 zX((KP_!>hxqyY^x>gT4r%x@04FHa~$)T%B{M6I*X*P^FtX+!gbC_;e;sK6xwQ{dX-z@C7Q%(Q6}E4WGUzgmgadRI zv3t1u;5Z`pJP1aI;5CQ|Wr2O$8jf@GzW zjXQXyshL^+GbX05M_eu9BQSnOpW?|3)gH>sSL*n$6Ac%YtXUMSltVh4?3qLl8-s+F zmWowwgOmrPtE}-aD0GRAu2`lNsZQQLO7IGSm@N1I>XduV<5y9{XS-P@{z?0O^of~q z59JXPW|q~|{+rdv%w%s{?kwK@udIS=bJ#$cu9FkatpY523#M7{O(N?;%K`C-*EM}Id?6l`w~*h6Hfti5l;|8hqp>49`zMj1=r@#iYx>Js(*z`Or$aCzBIqquoG9e zvn@%dw7}#*ytKe_tct;7fd{d?k@rlV>F9h%AIGuGpY7~>4-)s0DPkk=@uJwXA~-u= z;*xbpiHtfhx;HnsCA=Q+51gCj@x7oIEg`-rff9W72xZ3YWdC;~rLrQJ2wyi4U$M#* zhi=`sU8rjLhR7r#i3Y96ciRX!aX-zb~jsa)q*l5_xPl{4vA&$G^}1m7aizH>}2 zkGZW6t(!wcVH4OO2??{#+7D=aFM6@x<=6+SwkI`^9~c~%9@swc@W8f#G=7f_^y02- UVCO*3z{RdTUG2R%7TucqUk@4>BLDyZ diff --git a/tools/pyelf/readelf.py b/tools/pyelf/readelf.py index 6044dff..510e976 100755 --- a/tools/pyelf/readelf.py +++ b/tools/pyelf/readelf.py @@ -80,8 +80,14 @@ def main(): if image_name[-4] == ".": image_name = image_name[:-4] print image_name - print "image_start " + hex(paddr_start)[:-1] - print "image_end " + hex(paddr_end)[:-1] + if hex(paddr_start)[-1] == "L": + print "image_start " + hex(paddr_start)[:-1] + else: + print "image_start " + hex(paddr_start) + if hex(paddr_end)[-1] == "L": + print "image_end " + hex(paddr_end)[:-1] + else: + print "image_end " + hex(paddr_end) if options.ffpage: paddr_max = 0 @@ -112,8 +118,10 @@ def main(): paddr_aligned = paddr_max & ~(p_align.value - 1) if paddr_max & (p_align.value - 1): paddr_aligned += p_align.value - - print "physical_base = " + hex(paddr_aligned)[:-1] + ";" + if hex(paddr_aligned)[-1] == "L": + print "physical_base = " + hex(paddr_aligned)[:-1] + ";" + else: + print "physical_base = " + hex(paddr_aligned) + ";" if __name__ == "__main__":