diff --git a/hello_world/hello_world.bin b/hello_world/hello_world.bin index abd7cd0..1e7dfcb 100755 Binary files a/hello_world/hello_world.bin and b/hello_world/hello_world.bin differ diff --git a/hello_world/hello_world.c b/hello_world/hello_world.c index 0f08631..65e4954 100644 --- a/hello_world/hello_world.c +++ b/hello_world/hello_world.c @@ -2,6 +2,8 @@ #include #include "console.h" +#include "io.h" +#include "microwatt_soc.h" static char mw_logo[] = @@ -17,10 +19,20 @@ static char mw_logo[] = int main(void) { + uint64_t gitinfo; + uint8_t c; + console_init(); puts(mw_logo); + gitinfo = readq(SYSCON_BASE + SYS_REG_GIT_INFO); + for (int i = 0; i < 16; i++) { + c = gitinfo % 16; + if (c >= 10) putchar(0x61 + c - 10); else putchar(0x30 + c); + gitinfo >>= 4; + } + while (1) { unsigned char c = getchar(); putchar(c); diff --git a/hello_world/hello_world.elf b/hello_world/hello_world.elf index 45f5a3d..ae38f10 100755 Binary files a/hello_world/hello_world.elf and b/hello_world/hello_world.elf differ diff --git a/hello_world/hello_world.hex b/hello_world/hello_world.hex index 5d0d1a0..5af5d5b 100644 --- a/hello_world/hello_world.hex +++ b/hello_world/hello_world.hex @@ -514,22 +514,31 @@ e8010010ebc1fff0 7c0803a6ebe1fff8 3c4000014e800020 7c0802a63842a000 -f8010010fbe1fff8 -480001f5f821ffd1 +fbe1fff8fbc1fff0 +63ff00503fe0c000 +f80100107bff0020 +48000229f821ffd1 6000000060000000 -4800015d38628000 -4800004960000000 -7c7f1b7860000000 -57ff063e5463063e -60000000480000bd -4082ffe02c1f000d -480000a93860000a -4bffffd060000000 -0100000000000000 -3c40000100000180 -600000003842a000 -6000000039228088 -8929000039428090 +4800019138628000 +7c0004ac60000000 +3bc000107fe0feea +280300097be30720 +3863005740810054 +480000e93bdeffff +7bde002160000000 +4082ffdc7bffe102 +6000000048000051 +5463063e7c7f1b78 +480000c157ff063e +2c1f000d60000000 +3860000a4082ffe0 +60000000480000ad +386300304bffffd0 +000000004bffffb0 +0000028001000000 +3842a0003c400001 +8922809060000000 +3942808860000000 418200302c090000 39290014e92a0000 7d204eaa7c0004ac @@ -545,80 +554,79 @@ e86a00004082ffec 0000000000000000 3c40000100000000 600000003842a000 -6000000039228088 -8929000039428090 -4182002c2c090000 -39290014e92a0000 -7d204eaa7c0004ac -4182ffec71290020 -7c0004ace92a0000 -4e8000207c604faa -39290010e92a0000 -7d204eea7c0004ac -4082ffec71290008 -e94a00005469063e -7d2057ea7c0004ac -000000004e800020 +6000000089228090 +2c09000039428088 +e92a00004182002c +7c0004ac39290014 +712900207d204eaa +e92a00004182ffec +7c604faa7c0004ac +e92a00004e800020 +7c0004ac39290010 +712900087d204eea +5469063e4082ffec +7c0004ace94a0000 +4e8000207d2057ea 0000000000000000 -3842a0003c400001 -fbe1fff87c0802a6 -3be3fffffbc1fff0 -f821ffd1f8010010 -2c3e00008fdf0001 -3821003040820010 -4bfffe3c38600000 -4082000c281e000a -4bffff413860000d -4bffff397fc3f378 -000000004bffffd0 -0000028001000000 -386000007c6a1b78 -2c0900007d2a18ae -386300014d820020 -000000004bfffff0 +3c40000100000000 +7c0802a63842a000 +fbc1fff0fbe1fff8 +f80100103be3ffff +8fdf0001f821ffd1 +408200102c3e0000 +3860000038210030 +281e000a4bfffdf8 +3860000d4082000c +7fc3f3784bffff45 +4bffffd04bffff3d +0100000000000000 +7c691b7800000280 +7d4918ae38600000 +4d8200202c0a0000 +4bfffff038630001 0000000000000000 -3842a0003c400001 -610800203d00c000 -7c0004ac79080020 -3d20c0007d0046ea -6129000879080600 -7c0004ac79290020 -712900207d204eea -3d20c00041820018 -7929002061290040 +3c40000100000000 +3d40c0003842a000 +794a0020614a0020 +7d4056ea7c0004ac +794a06003d20c000 +7929002061290008 7d204eea7c0004ac -600000003d40c000 -38e2808860000000 -794a0020614a2000 -3d40001cf9428090 -7d085392614a2000 -794a0fc3792af804 -3920000141820080 -614a200c3d40c000 -794a002099270000 -7c0004ac3920ff80 -e92280907d2057aa -7d004faa7c0004ac -7908c202e9228090 +4182001871290020 +612900403d20c000 +7c0004ac79290020 +7929f8047d204eea +79290fc33d00c000 +7908002061082000 +f902808860000000 +610820003d00001c +418200847d4a4392 +3920000160000000 +3d00c00099228090 +3920ff806108200c +7c0004ac79080020 +e92280887d2047aa +7d404faa7c0004ac +794ac202e9228088 7c0004ac39290004 -e92280907d004faa +e92280887d404faa 3929000c39400003 7d404faa7c0004ac -39290010e9228090 +39290010e9228088 7d404faa7c0004ac -39400007e9228090 +39400007e9228088 7c0004ac39290008 4e8000207d404faa -994700003d20c000 -612920183908ffff -7c0004ac79290020 -4e8000207d004fea +394affff60000000 +3d20c00099228090 +7929002061292018 +7d404fea7c0004ac +000000004e800020 0000000000000000 -3c40000100000000 -600000003842a000 -2c24000039228088 -2f89000089290000 -e922809060000000 +3842a0003c400001 +8922809060000000 +2f8900002c240000 +e922808860000000 41820024419e0030 2c23000039400002 614a000141820008 @@ -632,38 +640,30 @@ e922809060000000 0000001000000000 00527a0100000000 00010c1b01417804 -0000001800000018 -00000070fffffc3c -9f7e4111300e4600 -0000001000000001 -00527a0100000000 -00010c1b01417804 -0000001800000010 -00000088fffffc7c -0000001000000000 -fffffcf00000002c +000000180000001c +000000bcfffffbfc +9f029e0041094500 +007e4111300e4501 +0000000000000010 +0141780400527a01 +0000001000010c1b +fffffc8400000018 0000000000000084 -0000004000000028 -00000060fffffd60 -9e019f0041094500 -447e4111300e4302 -4106dedf42000e0a -000000100000000b -fffffd940000006c -0000000000000028 -0000008000000010 -0000012cfffffda8 +0000002c00000010 +00000080fffffcf4 +0000002800000000 +fffffd6000000040 +4109450000000060 +300e43029e019f00 +42000e0a447e4111 +0000000b4106dedf +0000006c00000010 +00000028fffffd94 0000001000000000 -fffffec000000094 -0000000000000078 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 -0000000000000000 +fffffda800000080 +000000000000012c +0000009400000010 +00000074fffffec0 0000000000000000 0000000000000000 0000000000000000