From d8ba6a78d249b1af63a9c4358d32aedb8f44b582 Mon Sep 17 00:00:00 2001 From: Anton Blanchard Date: Tue, 26 Oct 2021 12:21:26 +1100 Subject: [PATCH] Cut down hello_world to fit in 4kB Signed-off-by: Anton Blanchard --- hello_world/head.S | 39 --- hello_world/hello_world.bin | Bin 6280 -> 2696 bytes hello_world/hello_world.elf | Bin 83688 -> 80432 bytes hello_world/hello_world.hex | 474 +----------------------------------- hello_world/powerpc.lds | 4 +- 5 files changed, 15 insertions(+), 502 deletions(-) diff --git a/hello_world/head.S b/hello_world/head.S index 15f3494..79b8b9e 100644 --- a/hello_world/head.S +++ b/hello_world/head.S @@ -80,42 +80,3 @@ boot_entry: bctrl attn // terminate on exit b . - -#define EXCEPTION(nr) \ - .= nr ;\ - b . - - /* More exception stubs */ - EXCEPTION(0x300) - EXCEPTION(0x380) - EXCEPTION(0x400) - EXCEPTION(0x480) - EXCEPTION(0x500) - EXCEPTION(0x600) - EXCEPTION(0x700) - EXCEPTION(0x800) - EXCEPTION(0x900) - EXCEPTION(0x980) - EXCEPTION(0xa00) - EXCEPTION(0xb00) - EXCEPTION(0xc00) - EXCEPTION(0xd00) - EXCEPTION(0xe00) - EXCEPTION(0xe20) - EXCEPTION(0xe40) - EXCEPTION(0xe60) - EXCEPTION(0xe80) - EXCEPTION(0xf00) - EXCEPTION(0xf20) - EXCEPTION(0xf40) - EXCEPTION(0xf60) - EXCEPTION(0xf80) -#if 0 - EXCEPTION(0x1000) - EXCEPTION(0x1100) - EXCEPTION(0x1200) - EXCEPTION(0x1300) - EXCEPTION(0x1400) - EXCEPTION(0x1500) - EXCEPTION(0x1600) -#endif diff --git a/hello_world/hello_world.bin b/hello_world/hello_world.bin index a4eb88c26f7c7742bc5d42c1d9c571302a03b69f..f590beaa670693987d74ba967e8cb9b024397155 100755 GIT binary patch delta 117 zcmeA$>=4~x%P7k2mB_%5V9UUeop_8ryAnvJHgHc4VlStZ!c*tMBSNShHz M=?PzAnk3Ny0EWpTasU7T delta 216 zcmeAW?J(S6%P1=8mB_%5V9UUeop_8ryAnvJHb_nmVl-B?R7_xCV6b@jpYg{sXQ3Jf zh6bRj9-yiopsJo!27%3s7-JbHZ)R*j#)~&IG9qJ`9I_aQ4HQ>E!yt3e#cC(9urkh= q%*K)rB+FQuf#ffidLUWF+Riv*GZULOBaqT#zr?io0wdETt_}c|L`W_G diff --git a/hello_world/hello_world.elf b/hello_world/hello_world.elf index 3dc0cc1c1cb753a5fe02cfa05c9860ff01c29675..98fb4d7ac14aa69973310ee8eb83833248130401 100755 GIT binary patch delta 4915 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 DOB!qI diff --git a/hello_world/hello_world.hex b/hello_world/hello_world.hex index c0161ad..7ae4655 100644 --- a/hello_world/hello_world.hex +++ b/hello_world/hello_world.hex @@ -37,223 +37,21 @@ a64b5a7d14004a39 2402004ca64b7b7d 3d40000048000004 794a07c6614a0000 -614a1900654a0000 +614a0b00654a0000 616b00003d600000 656b0000796b07c6 -7d6a5850616b1980 +7d6a5850616b0b80 796bd183396b003f 7d6903a641820014 394a00407c0057ec 3c2000004200fff8 782107c660210000 -6021398064210000 +60212b8064210000 f801ffe138000000 -3d8000007c1243a6 -798c07c6618c0000 -618c1000658c0000 -4e8004217d8903a6 -4800000000000200 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 +618c00003d800000 +658c0000798c07c6 +7d8903a6618c0400 +000002004e800421 0000000048000000 0000000000000000 0000000000000000 @@ -286,24 +84,6 @@ f801ffe138000000 0000000000000000 0000000000000000 0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 0000000000000000 0000000000000000 0000000000000000 @@ -318,8 +98,6 @@ f801ffe138000000 0000000000000000 0000000000000000 0000000000000000 -0000000048000000 -0000000000000000 0000000000000000 0000000000000000 0000000000000000 @@ -348,169 +126,7 @@ f801ffe138000000 0000000000000000 0000000000000000 0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000048000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -384298003c400001 +38428a003c400001 fbe1fff87c0802a6 f821ffd1f8010010 60000000480001ed @@ -524,7 +140,7 @@ f821ffd1f8010010 60000000480000a5 000000004bffffd0 0000018001000000 -384298003c400001 +38428a003c400001 8922810860000000 3942810060000000 418200302c090000 @@ -541,7 +157,7 @@ e86a00004082ffec 4bffffd07c601eea 0000000000000000 3c40000100000000 -6000000038429800 +6000000038428a00 6000000089228108 2c09000039428100 e92a00004182002c @@ -557,7 +173,7 @@ e92a00004e800020 4e8000207d2057ea 0000000000000000 3c40000100000000 -7c0802a638429800 +7c0802a638428a00 fbc1fff0fbe1fff8 f80100103be3ffff 8fdf0001f821ffd1 @@ -574,7 +190,7 @@ f80100103be3ffff 4bfffff038630001 0000000000000000 3c40000100000000 -3d40c00038429800 +3d40c00038428a00 794a0020614a0020 7d4056ea7c0004ac 794a06003d20c000 @@ -611,7 +227,7 @@ e92281007d404faa 7d404fea7c0004ac 000000004e800020 0000000000000000 -384298003c400001 +38428a003c400001 8922810860000000 600000002c090000 41820024e9228100 @@ -702,70 +318,6 @@ fffffebc00000094 0000000000000000 0000000000000000 0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 4f4f6f2e2020200a 0a20202020202e6f 2020202020222e20 diff --git a/hello_world/powerpc.lds b/hello_world/powerpc.lds index 1e218c7..ce89349 100644 --- a/hello_world/powerpc.lds +++ b/hello_world/powerpc.lds @@ -5,9 +5,9 @@ SECTIONS .head : { KEEP(*(.head)) } - . = 0x1000; + . = 0x400; .text : { *(.text) *(.text.*) *(.rodata) *(.rodata.*) } - . = 0x1800; + . = 0xA00; .data : { *(.data) *(.data.*) *(.got) *(.toc) } . = ALIGN(0x80); __bss_start = .;