Switched to g++

This commit is contained in:
fares 2019-11-16 12:23:59 -05:00
parent 19dba43849
commit 53c78b905a
23 changed files with 84432 additions and 201805 deletions

View file

@ -139,11 +139,11 @@ module VX_cache_data
.EMAB(3'b011),
.TENA(1'b1),
.TCENA(1'b0),
.TAA(8'b0),
.TAA(5'b0),
.TENB(1'b1),
.TCENB(1'b0),
.TWENB(128'b0),
.TAB(8'b0),
.TAB(5'b0),
.TDB(128'b0),
.RET1N(1'b1),
.SIA(2'b0),
@ -211,11 +211,11 @@ module VX_cache_data
.EMAB(3'b011),
.TENA(1'b1),
.TCENA(1'b0),
.TAA(8'b0),
.TAA(5'b0),
.TENB(1'b1),
.TCENB(1'b0),
// .TWENB(128'b0),
.TAB(8'b0),
.TAB(5'b0),
.TDB(19'b0),
.RET1N(1'b1),
.SIA(2'b0),

View file

@ -57,13 +57,13 @@ module VX_shared_memory_block
wire cena = 0;
wire cenb = !shm_write;
//wire[3:0][31:0] write_bit_mask;
wire[3:0][31:0] write_bit_mask;
//assign write_bit_mask[0] = (we == 2'b00) ? {32{1'b1}} : {32{1'b0}};
//assign write_bit_mask[1] = (we == 2'b01) ? {32{1'b1}} : {32{1'b0}};
//assign write_bit_mask[2] = (we == 2'b10) ? {32{1'b1}} : {32{1'b0}};
//assign write_bit_mask[3] = (we == 2'b11) ? {32{1'b1}} : {32{1'b0}};
integer curr_word;
genvar curr_word;
for (curr_word = 0; curr_word < SMB_WORDS_PER_READ; curr_word = curr_word + 1)
begin
assign write_bit_mask[curr_word] = (we == curr_word) ? 1 : {32{1'b0}};

View file

@ -3,6 +3,10 @@
#define VX_INTRINSICS
#ifdef __cplusplus
extern "C" {
#endif
// Spawns Warps
void vx_wspawn (unsigned numWarps, unsigned PC_spawn);
@ -38,6 +42,8 @@ void vx_resetStack(void);
#define __endif vx_join();
#ifdef __cplusplus
}
#endif
#endif

View file

@ -5,6 +5,17 @@
static char * hextoa[] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"};
void vx_print_hex(unsigned);
void vx_print_str(char *);
void vx_printf(char *, unsigned);
void vx_printc(unsigned, char c);
#ifdef __cplusplus
extern "C" {
#endif
void vx_print_str(char *);
void vx_printc(unsigned, char c);
#ifdef __cplusplus
}
#endif

View file

@ -1,10 +1,10 @@
COMP = /opt/riscv/bin/riscv32-unknown-elf-gcc
COMP = ~/dev/riscv-gnu-toolchain/drops/bin/riscv32-unknown-elf-gcc
# CC_FLAGS = -march=rv32im -mabi=ilp32 -O0 -Wl,-Bstatic,-T,linker.ld -ffreestanding -nostdlib
CC_FLAGS = -march=rv32im -mabi=ilp32 -O0 -Wl,-Bstatic,-T,linker.ld -ffreestanding -nostartfiles
DMP = /opt/riscv/bin/riscv32-unknown-elf-objdump
CPY = /opt/riscv/bin/riscv32-unknown-elf-objcopy
DMP = ~/dev/riscv-gnu-toolchain/drops/bin/riscv32-unknown-elf-objdump
CPY = ~/dev/riscv-gnu-toolchain/drops/bin/riscv32-unknown-elf-objcopy
VX_STR = ../../startup/vx_start.s

View file

@ -69,14 +69,13 @@ void vx_print_mat(unsigned * matPtr, int numRows, int numCols)
}
}
int main()
{
// Main is called with all threads active of warp 0
vx_tmc(1);
// void * hellp = malloc(4);
vx_print_str("Dev Main\n");
vx_print_str("Confirm Dev Main\n");
vx_print_str("vx_spawnWarps\n");

File diff suppressed because it is too large Load diff

Binary file not shown.

View file

@ -1,155 +1,238 @@
:0200000480007A
:100000009705000093850502130540006B10B500AD
:10001000EF000001EF001001130500006B00050068
:10002000130540006B000500F32610029396A6010D
:10003000732600029315A6001316260037F1FF6FF2
:100040003301B1403301D1403301C100F326100226
:1000500063860600130500006B0005006780000042
:100060006B10B500678000006B0005006780000022
:100070006B40B500678000006B20050067800000C2
:100080006B3000006780000073251002678000005D
:100090007325000267800000130540006B00050017
:1000A000F32610029396F600732600029315A6001D
:1000B0001316260037F1FF6F3301B1403301D140F1
:1000C0003301C100F3261002638606001305000009
:1000D0006B00050067800000130141FF2320110021
:1000E0002322B1008345050063880500EF00C001AD
:1000F000130515006FF01FFF8320010083254100C9
:100100001301C10067800000B702010023A0B20004
:1001100067800000130101FE232E1100232C8100B3
:10012000130401022326A4FEB70700810327C4FE9F
:100130001317270093874713B307F70083A7070018
:1001400013850700EFF05FF9130000008320C10161
:10015000032481011301010267800000130101FEE5
:10016000232E1100232C8100130401022326A4FE58
:100170002324B4FE0325C4FEEFF01FF6032584FEFE
:10018000EFF05FF9B707008113850704EFF0DFF4A4
:10019000130000008320C101032481011301010227
:1001A00067800000130101FE232E1100232C810023
:1001B00013040102B707008183A7C728138507002E
:1001C000EFF09FEAB707008103A78728B7070081F0
:1001D00083A7472813850700E7000700EFF0DFEA51
:1001E0002326A4FE8327C4FE6388070013050000AE
:1001F000EFF09FE76F00C00013051000EFF0DFE69F
:10020000130000008320C1010324810113010102B6
:1002100067800000130101FE232E1100232C8100B2
:10022000130401022326A4FE2324B4FE2322C4FEC9
:100230002320D4FEB7070081032744FE23A4E72828
:10024000B7070081032704FE23A2E728B707008130
:10025000032784FE23A6E728B70700809387471A61
:10026000938507000325C4FEEFF09FDFEFF09FF3B7
:10027000130000008320C101032481011301010246
:1002800067800000130101FE232E1100232C810042
:1002900013040102B707008113854708EFF0DFE37D
:1002A00013054000EFF05FDCEFF09FDE2326A4FE95
:1002B0000327C4FEB70700818326C4FE9396260059
:1002C0009387471BB387F60023A0E70013051000B0
:1002D000EFF09FD9B707008183A7471B138507005D
:1002E000EFF05FE3B707008113854709EFF0DFDE2A
:1002F000B70700819387471B83A747001385070033
:10030000EFF05FE1B707008113854709EFF0DFDC0D
:10031000B70700819387471B83A7870013850700D2
:10032000EFF05FDFB707008113854709EFF0DFDAF1
:10033000B70700819387471B83A7C7001385070072
:10034000EFF05FDDB707008113854709EFF0DFD8D5
:10035000130000008320C101032481011301010265
:1003600067800000130101FE232E1100232C810061
:1003700013040102EFF0DFD12326A4FE8327C4FE7D
:1003800093B72700A305F4FE8347B4FE1385070047
:10039000EFF09FCE8347B4FE638407068327C4FE35
:1003A00093B717002305F4FE8347A4FE13850700C7
:1003B000EFF09FCC8347A4FE63820702B70700815A
:1003C0000327C4FE131727009387072AB307F700F4
:1003D0001307A00023A0E7006F000002B707008109
:1003E0000327C4FE131727009387072AB307F700D4
:1003F0001307B00023A0E700EFF09FC86F0040068E
:100400008327C4FE93B73700A304F4FE834794FE0A
:1004100013850700EFF05FC6834794FE63820702EF
:10042000B70700810327C4FE131727009387072A05
:10043000B307F7001307C00023A0E7006F00000216
:10044000B70700810327C4FE131727009387072AE5
:10045000B307F7001307D00023A0E700EFF05FC257
:10046000EFF01FC2B707008183A7072A1385070093
:10047000EFF05FCAB707008113854709EFF0DFC5CA
:10048000B70700819387072A83A7470013850700D2
:10049000EFF05FC8B707008113854709EFF0DFC3AE
:1004A000B70700819387072A83A787001385070072
:1004B000EFF05FC6B707008113854709EFF0DFC192
:1004C000B70700819387072A83A7C7001385070012
:1004D000EFF05FC4B707008113854709EFF0DFBF76
:1004E000130000008320C1010324810113010102D4
:1004F00067800000130101FE232E1100232C8100D0
:1005000013040102EFF05FB82326A4FEB7070081B1
:100510000327C4FE1317270093870729B307F700A3
:100520000327C4FE23A0E7008327C4FE63860700D9
:1005300013050000EFF05FB3130000008320C1013A
:10054000032481011301010267800000130101FEF1
:10055000232E1100232C810013040102B707008011
:100560009387474F2326F4FE8325C4FE13054000DE
:10057000EFF01FAFEFF01FF8B707008183A707293F
:1005800013850700EFF01FB9B707008113854709EE
:10059000EFF09FB4B70700819387072983A747002F
:1005A00013850700EFF01FB7B707008113854709D0
:1005B000EFF09FB2B70700819387072983A78700D1
:1005C00013850700EFF01FB5B707008113854709B2
:1005D000EFF09FB0B70700819387072983A7C70073
:1005E00013850700EFF01FB3B70700811385470994
:1005F000EFF09FAE130000008320C10103248101AE
:100600001301010267800000130101FF232611007E
:100610002324810013040101EFF0DFC6B707008136
:1006200013858709EFF05FAB13054000EFF0DFA300
:10063000EFF05FD313051000EFF01FA3B7070081A1
:100640001385C70AEFF05FA9EFF05FF01300000019
:100650008320C10003248100130101016780000091
:10066000130101FC232E1102232C81021304010427
:100670002326A4FC8327C4FC2326F4FEEFF0DFA08E
:100680002324A4FEEFF0DFA02322A4FE8327C4FED0
:1006900083A70701032784FE637EF7008327C4FE38
:1006A00083A7C700032744FE6376F7009307100073
:1006B0006F00800093070000A301F4FE834734FE1F
:1006C00093F71700A301F4FE834734FE1385070058
:1006D000EFF09F9A834734FE638607068327C4FEA4
:1006E00003A7C700832784FEB307F702032744FE4E
:1006F000B307F700232EF4FC8327C4FE03A70700EB
:100700008327C4FD93972700B307F70083A607004C
:100710008327C4FE03A747008327C4FD93972700C0
:10072000B307F70003A707008327C4FE03A68700CB
:100730008327C4FD93972700B307F6003387E600AD
:1007400023A0E700EFF0DF93130000008320C10334
:10075000032481031301010467800000130101FDDC
:10076000232611022324810213040103232EA4FC57
:10077000232CB4FC232AC4FCB70700811385870F00
:10078000EFF09F95232604FE6F00C007232404FE8C
:100790006F0000050327C4FE832744FD3307F702DB
:1007A000832784FEB307F7002322F4FE832744FE49
:1007B000939727000327C4FDB307F70083A707001B
:1007C00013850700EFF01F95B70700811385071108
:1007D000EFF09F90832784FE938717002324F4FE75
:1007E000032784FE832744FDE346F7FAB707008119
:1007F00013854711EFF05F8E8327C4FE93871700A0
:100800002326F4FE0327C4FE832784FDE340F7F884
:10081000130000008320C10203248102130101039D
:1008200067800000130101FD2326110223248102A9
:100830001304010313051000EFF01F83B7070081B5
:1008400013858711EFF05F89B70700811385471281
:10085000EFF09F88B707008193874720232AF4FC95
:10086000B707008193874724232CF4FCB707008146
:100870009387072B232EF4FC930740002320F4FEDC
:10088000930740002322F4FE930740002326F4FE42
:10089000930740002324F4FE0327C4FE832584FE2F
:1008A000930744FD93860700B70700801386076609
:1008B00013050700EFF01F96832744FE13870700F8
:1008C000832704FE1386070093050700B7070081FE
:1008D0001385072BEFF09FE8B70700819387072B5D
:1008E000232AF4FCB707008193874724232CF4FCC8
:1008F000B70700819387072B232EF4FC9307400052
:100900002320F4FE930740002322F4FE0327C4FEB5
:10091000832584FE930744FD93860700B707008074
:100920001386076613050700EFF0DF8E832744FE6A
:1009300013870700832704FE13860700930507002B
:10094000B70700811385072BEFF05FE193070000E5
:10095000138507008320C1020324810213010103D0
:0409600067800000AC
:1000000097110000938141E91385010013860100D7
:100010003306A64093050000EF009030171500004E
:10002000130505D66308050017150000130585CFD5
:10003000EF00D054EF001025032501009305410087
:1000400013060000EF00500D6F009020B7070081ED
:1000500003C7076D63140704130101FF2324810004
:1000600013840700B70700002326110093870700B9
:10007000638A0700370500811305856B9700000030
:10008000E7000000930710008320C1002308F46CF0
:1000900003248100130101016780000067800000D4
:1000A000B707000093870700638E0700B70500813C
:1000B000370500819385456D1305856B1703000097
:1000C00067000000678000006B10B50067800000CB
:1000D0006B000500678000006B40B5006780000082
:1000E0006B200500678000006B3000006780000017
:1000F00073251002678000007325000267800000EE
:10010000130540006B000500F32610029396F600DD
:10011000732600029315A6001316260037F1FF6F11
:100120003301B1403301D1403301C100F326100245
:1001300063860600130500006B0005006780000061
:10014000130141FF232011002322B1008345050044
:1001500063880500EF00C001130515006FF01FFF55
:1001600083200100832541001301C1006780000046
:10017000B702010023A0B20067800000130101FD57
:10018000232611022324810213040103232EA4FC3D
:100190000327C4FD9307F00063E4E702B70700817B
:1001A000138707148327C4FD93972700B307F7002D
:1001B00083A7070013850700EFF09FF86F00400743
:1001C000930700022326F4FEA30504FE8327C4FE42
:1001D0009387C7FF0327C4FDB357F70093F7F700D2
:1001E0002322F4FE832744FE638607009307100052
:1001F000A305F4FE8347B4FE63820702B7070081BC
:1002000013870714832744FE93972700B307F7004B
:1002100083A7070013850700EFF09FF28327C4FE32
:100220009387C7FF2326F4FE8327C4FEE340F0FA3A
:100230008320C102032481021301010367800000AF
:10024000130101FE232E1100232C8100130401024F
:100250002326A4FE2324B4FE0325C4FEEFF05FEEA4
:10026000032584FEEFF09FF1B70700811385070493
:10027000EFF01FED130000008320C1010324810172
:100280001301010267800000130101FE232E1100FB
:10029000232C810013040102B707008183A7476F55
:1002A00013850700EFF0DFE2B707008103A7076FB0
:1002B000B707008183A7C76E13850700E700070013
:1002C000EFF01FE32326A4FE8327C4FE6388070004
:1002D00013050000EFF0DFDF6F00C0001305100012
:1002E000EFF01FDF130000008320C1010324810110
:1002F0001301010267800000130101FE232E11008B
:10030000232C8100130401022326A4FE2324B4FE1F
:100310002322C4FE2320D4FEB7070081032744FE16
:1003200023A8E76EB7070081032704FE23A6E76E24
:10033000B7070081032784FE23AAE76EB707008072
:1003400093878728938507000325C4FEEFF0DFD746
:10035000EFF09FF3130000008320C101032481010B
:100360001301010267800000130101FE232E11001A
:10037000232C810013040102B7070081138547086D
:10038000EFF01FDC13054000EFF09FD4EFF0DFD655
:100390002326A4FE0327C4FEB70700819386071C0B
:1003A0008327C4FE93972700B387F60023A0E700B6
:1003B00013051000EFF0DFD1B70700819387071C0A
:1003C00083A7070013850700EFF05FDBB707008105
:1003D00013854709EFF0DFD6B70700819387071C25
:1003E00083A7470013850700EFF05FD9B7070081A7
:1003F00013854709EFF0DFD4B70700819387071C07
:1004000083A7870013850700EFF05FD7B707008148
:1004100013854709EFF0DFD2B70700819387071CE8
:1004200083A7C70013850700EFF05FD5B7070081EA
:1004300013854709EFF0DFD0130000008320C101CE
:10044000032481011301010267800000130101FEF2
:10045000232E1100232C810013040102EFF0DFC9C9
:100460002326A4FE8327C4FE93B72700A305F4FE2A
:100470008347B4FE13850700EFF09FC68347B4FEA1
:10048000638407068327C4FE93B71700A304F4FE12
:10049000834794FE13850700EFF09FC4834794FEC3
:1004A00063820702B7070081138787708327C4FE22
:1004B00093972700B307F7001307A00023A0E700D6
:1004C0006F000002B7070081138787708327C4FE7F
:1004D00093972700B307F7001307B00023A0E700A6
:1004E000EFF09FC06F0040068327C4FE93B737002C
:1004F0002305F4FE8347A4FE13850700EFF05FBEDB
:100500008347A4FE63820702B707008113878770C1
:100510008327C4FE93972700B307F7001307C00093
:1005200023A0E7006F000002B707008113878770E0
:100530008327C4FE93972700B307F7001307D00063
:1005400023A0E700EFF05FBAEFF01FBAB707008112
:100550009387877083A7070013850700EFF01FC2FA
:10056000B707008113854709EFF09FBDB7070081EA
:100570009387877083A7470013850700EFF01FC09C
:10058000B707008113854709EFF09FBBB7070081CC
:100590009387877083A7870013850700EFF01FBE3E
:1005A000B707008113854709EFF09FB9B7070081AE
:1005B0009387877083A7C70013850700EFF01FBCE0
:1005C000B707008113854709EFF09FB713000000BC
:1005D0008320C1010324810113010102678000000F
:1005E000130101FE232E1100232C810013040102AC
:1005F000EFF01FB02326A4FEB70700811387876F93
:100600008327C4FE93972700B307F7000327C4FE90
:1006100023A0E7008327C4FE6386070013050000BC
:10062000EFF01FAB130000008320C1010324810100
:100630001301010267800000130101FE232E110047
:10064000232C810013040102B70700809387075E03
:100650002326F4FE8325C4FE13054000EFF0DFA639
:10066000EFF01FF8B70700819387876F83A7070014
:1006700013850700EFF09FB0B70700811385470986
:10068000EFF01FACB70700819387876F83A7470000
:1006900013850700EFF09FAEB70700811385470968
:1006A000EFF01FAAB70700819387876F83A78700A2
:1006B00013850700EFF09FACB7070081138547094A
:1006C000EFF01FA8B70700819387876F83A7C70044
:1006D00013850700EFF09FAAB7070081138547092C
:1006E000EFF01FA6130000008320C1010324810145
:1006F0001301010267800000130101FF232611008E
:100700002324810013040101EFF01FC6B707008105
:1007100013858709EFF0DFA213054000EFF05F9B20
:10072000EFF0DFD213051000EFF09F9AB7070081BA
:100730001385C70AEFF0DFA0EFF01FF013000000F1
:100740008320C100032481001301010167800000A0
:10075000130101FC232E1102232C81021304010436
:100760002326A4FC8327C4FC2326F4FEEFF05F9825
:100770002324A4FEEFF05F982322A4FE8327C4FE67
:1007800083A70701032784FE637EF7008327C4FE47
:1007900083A7C700032744FE6376F7009307100082
:1007A0006F00800093070000A301F4FE834734FE2E
:1007B00093F71700A301F4FE834734FE1385070067
:1007C000EFF01F92834734FE638607068327C4FE3B
:1007D00003A7C700832784FEB307F702032744FE5D
:1007E000B307F700232EF4FC8327C4FE03A70700FA
:1007F0008327C4FD93972700B307F70083A607005C
:100800008327C4FE03A747008327C4FD93972700CF
:10081000B307F70003A707008327C4FE03A68700DA
:100820008327C4FD93972700B307F6003387E600BC
:1008300023A0E700EFF05F8B130000008320C103CB
:10084000032481031301010467800000130101FDEB
:10085000232611022324810213040103232EA4FC66
:10086000232CB4FC232AC4FCB70700811385870F0F
:10087000EFF01F8D232604FE6F00C007232404FE23
:100880006F0000050327C4FE832744FD3307F702EA
:10089000832784FEB307F7002322F4FE832744FE58
:1008A000939727000327C4FDB307F70083A707002A
:1008B00013850700EFF09F8CB707008113850711A0
:1008C000EFF01F88832784FE938717002324F4FE0C
:1008D000032784FE832744FDE346F7FAB707008128
:1008E00013854711EFF0DF858327C4FE9387170038
:1008F0002326F4FE0327C4FE832784FDE340F7F894
:1009000013000000130000008320C10203248102B1
:100910001301010367800000130101FD232611026A
:10092000232481021304010313051000EFF04FFA92
:10093000B707008113858711EFF09F80B70700810B
:100940001385C712EFF0CFFFB70700819387072108
:10095000232AF4FCB707008193870725232CF4FC96
:10096000B707008193878771232EF4FC930740001B
:100970002320F4FE930740002322F4FE9307400057
:100980002326F4FE930740002324F4FE0327C4FE2D
:10099000832584FE930744FD938607001386C18B4D
:1009A00013050700EFF05F95832744FE13870700C8
:1009B000832704FE1386070093050700B70700810D
:1009C00013858771EFF09FE8B707008193878771E0
:1009D000232AF4FCB707008193870725232CF4FC16
:1009E000B707008193878771232EF4FC930740009B
:1009F0002320F4FE930740002322F4FE0327C4FEC5
:100A0000832584FE930744FD938607001386C18BDC
:100A100013050700EFF05F8E832744FE138707005E
:100A2000832704FE1386070093050700B70700819C
:100A300013858771EFF09FE193070000138507008E
:100A40008320C10203248102130101036780000097
:100A5000130101FF930500002324810023261100C8
:100A600013040500EF008019B707008103A5C71321
:100A70008327C50363840700E7800700130504008C
:100A8000EF00C03A130101FF23248100232021013C
:100A90003704000037090000930704001309090018
:100AA0003309F940232611002322910013592940CC
:100AB0006300090213040400930400008327040068
:100AC0009384140013044400E7800700E31899FEA0
:100AD00037040000370900009307040013090900D8
:100AE0003309F94013592940630009021304040033
:100AF000930400008327040093841400130444002B
:100B0000E7800700E31899FE8320C10003248100D9
:100B100083244100032901001301010167800000C3
:100B20001303F00013070500637EC3029377F700F9
:100B30006390070A63920508937606FF1376F60022
:100B4000B386E6002320B7002322B7002324B70092
:100B50002326B70013070701E366D7FE63140600D8
:100B600067800000B306C3409396260097020000FA
:100B7000B38656006780C6002307B700A306B700F8
:100B80002306B700A305B7002305B700A304B700E9
:100B90002304B700A303B7002303B700A302B700E1
:100BA0002302B700A301B7002301B700A300B700D9
:100BB0002300B7006780000093F5F50F939685003A
:100BC000B3E5D50093960501B3E5D5006FF0DFF6E8
:100BD0009396270097020000B38656009382000088
:100BE000E78006FA93800200938707FF3307F740F8
:100BF0003306F600E378C3F66FF0DFF3130101FD6F
:100C0000B7070081232C410103AAC7132320210326
:100C10002326110203298A1423248102232291020C
:100C2000232E3101232A510123286101232671013A
:100C30002324810163000904130B0500938B050035
:100C4000930A10009309F0FF832449001384F4FFF2
:100C50006342040293942400B304990063840B0458
:100C600083A74410638077051304F4FF9384C4FFC3
:100C7000E31634FF8320C10203248102832441024E
:100C8000032901028329C101032A8101832A410129
:100C9000032B0101832BC100032C810013010103ED
:100CA000678000008327490083A644009387F7FFED
:100CB000638E870423A20400E38806FA8327891839
:100CC00033978A00032C4900B377F7006392070239
:100CD000E78006000327490083278A1463148701ED
:100CE000E304F9F8E38807F8138907006FF0DFF5EC
:100CF0008327C91883A544083377F700631C0700CE
:100D000013050B00E78006006FF0DFFC232289004B
:100D10006FF09FFA13850500E78006006FF09FFBD8
:100D2000130101FF23248100B707000037040000EE
:100D30001304040093870700B387874023229100A0
:100D40002326110093D42740638004029387C7FFB2
:100D500033848700832704009384F4FF1304C4FFC3
:100D6000E7800700E39804FE8320C100032481008C
:100D700083244100130101016780000093050500F1
:100D80009306000013060000130500006F004000EA
:100D9000B707008103A7C71383278714638C070451
:100DA00003A747001308F001634EE8061318270055
:100DB00063060502338307012324C30883A8871829
:100DC000130610003316E600B3E8C80023A4171971
:100DD0002324D310930620006304D50213071700C1
:100DE00023A2E700B387070123A4B700130500007F
:100DF000678000009307C7142324F7146FF05FFA8D
:100E000083A6C7181307170023A2E70033E6C6001E
:100E100023A6C718B387070123A4B7001305000052
:100E2000678000001305F0FF678000009305000055
:100E3000130600009306000013070000930700004C
:100E40009308D00573000000634405006F000000A4
:100E5000130101FF23248100130405002326110040
:100E600033048040EF00C000232085006F000000A5
:100E7000B707008103A5076C67800000B707000073
:100E800093870700638607001385C1E86FF01FEFA3
:040E90006780000077
:02000004810079
:10000000300000003100000032000000330000002A
:10001000340000003500000036000000370000000A
@ -168,29 +251,102 @@
:1000E0006100000062000000630000006400000086
:1000F00065000000660000002D2D2D2D2D2D2D2DCD
:100100002D2D2D2D2D2D2D2D2D2D2D2D2D0A00009C
:10011000200000000A000000446576204D61696EF1
:100120000A00000076785F737061776E57617270B5
:03013000730A004F
:100134000000008104000081080000810C0000819F
:100144001000008114000081180000811C0000814F
:100154002000008124000081280000812C000081FF
:100164003000008134000081380000813C000081AF
:1001740044000081480000814C000081500000814F
:1001840054000081580000815C00008160000081FF
:1001940064000081680000816C00008170000081AF
:1001A40074000081780000817C000081800000815F
:1001B4000500000005000000050000000500000027
:1001C400B8000081BC000081C0000081C40000812F
:1001D400C8000081CC000081D0000081D4000081DF
:1001E400D8000081DC000081E0000081E40000818F
:1001F400E8000081EC000081F0000081F40000813F
:1002040005000000050000000500000005000000D6
:1002140006000000060000000600000006000000C2
:1002240007000000070000000700000007000000AE
:10023400080000000800000008000000080000009A
:1002440001000000010000000100000001000000A6
:100254000100000001000000010000000100000096
:100264000100000001000000010000000100000086
:100274000100000001000000010000000100000076
:10011000200000000A000000436F6E6669726D20C7
:10012000446576204D61696E0A00000076785F7341
:0B0130007061776E57617270730A00F7
:04013C0090020081AC
:100140000000008104000081080000810C00008193
:100150001000008114000081180000811C00008143
:100160002000008124000081280000812C000081F3
:100170003000008134000081380000813C000081A3
:1001800044000081480000814C0000815000008143
:1001900054000081580000815C00008160000081F3
:1001A00064000081680000816C00008170000081A3
:1001B00074000081780000817C0000818000008153
:1001C000050000000500000005000000050000001B
:1001D000B8000081BC000081C0000081C400008123
:1001E000C8000081CC000081D0000081D4000081D3
:1001F000D8000081DC000081E0000081E400008183
:10020000E8000081EC000081F0000081F400008132
:1002100005000000050000000500000005000000CA
:1002200006000000060000000600000006000000B6
:1002300007000000070000000700000007000000A2
:10024000080000000800000008000000080000008E
:10025000010000000100000001000000010000009A
:10026000010000000100000001000000010000008A
:10027000010000000100000001000000010000007A
:10028000010000000100000001000000010000006A
:10029000000000007C050081E40500814C0600811F
:1002A000000000000000000000000000000000004E
:1002B000000000000000000000000000000000003E
:1002C000000000000000000000000000000000002E
:1002D000000000000000000000000000000000001E
:1002E000000000000000000000000000000000000E
:1002F00000000000000000000000000000000000FE
:1003000000000000000000000000000000000000ED
:1003100000000000000000000000000000000000DD
:1003200000000000000000000000000000000000CD
:1003300000000000000000000100000000000000BC
:100340000E33CDAB34126DE6ECDE05000B00000081
:10035000000000000000000000000000000000009D
:10036000000000000000000000000000000000008D
:10037000000000000000000000000000000000007D
:10038000000000000000000000000000000000006D
:10039000000000000000000000000000000000005D
:1003A000000000000000000000000000000000004D
:1003B000000000000000000000000000000000003D
:1003C000000000000000000000000000000000002D
:1003D000000000000000000000000000000000001D
:1003E000000000000000000000000000000000000D
:1003F00000000000000000000000000000000000FD
:1004000000000000000000000000000000000000EC
:1004100000000000000000000000000000000000DC
:1004200000000000000000000000000000000000CC
:1004300000000000000000000000000000000000BC
:1004400000000000000000000000000000000000AC
:10045000000000000000000000000000000000009C
:10046000000000000000000000000000000000008C
:10047000000000000000000000000000000000007C
:10048000000000000000000000000000000000006C
:10049000000000000000000000000000000000005C
:1004A000000000000000000000000000000000004C
:1004B000000000000000000000000000000000003C
:1004C000000000000000000000000000000000002C
:1004D000000000000000000000000000000000001C
:1004E000000000000000000000000000000000000C
:1004F00000000000000000000000000000000000FC
:1005000000000000000000000000000000000000EB
:1005100000000000000000000000000000000000DB
:1005200000000000000000000000000000000000CB
:1005300000000000000000000000000000000000BB
:1005400000000000000000000000000000000000AB
:10055000000000000000000000000000000000009B
:10056000000000000000000000000000000000008B
:10057000000000000000000000000000000000007B
:10058000000000000000000000000000000000006B
:10059000000000000000000000000000000000005B
:1005A000000000000000000000000000000000004B
:1005B000000000000000000000000000000000003B
:1005C000000000000000000000000000000000002B
:1005D000000000000000000000000000000000001B
:1005E000000000000000000000000000000000000B
:1005F00000000000000000000000000000000000FB
:1006000000000000000000000000000000000000EA
:1006100000000000000000000000000000000000DA
:1006200000000000000000000000000000000000CA
:1006300000000000000000000000000000000000BA
:1006400000000000000000000000000000000000AA
:10065000000000000000000000000000000000009A
:10066000000000000000000000000000000000008A
:10067000000000000000000000000000000000007A
:10068000000000000000000000000000000000006A
:10069000000000000000000000000000000000005A
:1006A000000000000000000000000000000000004A
:0806B000000000000000000042
:0406B800000000003E
:0806BC00000000009002008123
:0406C4004C00008066
:0406C800A00000800E
:0406CC007C0E008020
:040000058000000077
:00000001FF

View file

@ -0,0 +1,30 @@
COMP = ~/dev/riscv-gnu-toolchain/drops/bin/riscv32-unknown-elf-gcc
# CC_FLAGS = -march=rv32im -mabi=ilp32 -O0 -Wl,-Bstatic,-T,linker.ld -ffreestanding -nostdlib
CC_FLAGS = -march=rv32im -mabi=ilp32 -O0 -Wl,-Bstatic,-T,linker.ld
DMP = ~/dev/riscv-gnu-toolchain/drops/bin/riscv32-unknown-elf-objdump
CPY = ~/dev/riscv-gnu-toolchain/drops/bin/riscv32-unknown-elf-objcopy
NEWLIB = ../../newlib/newlib.c ../../newlib/newlib_notimp.c ../../newlib/newlib.s
VX_STR =
VX_INT = ../../intrinsics/vx_intrinsics.s
VX_IO =
VX_API =
VX_TEST =
VX_FIO =
LIBS = ~/dev/riscv-gnu-toolchain/drops/riscv32-unknown-elf/lib/libc.a ~/dev/riscv-gnu-toolchain/drops/riscv32-unknown-elf/lib/libstdc++.a -static-libgcc -lgcc
VX_MAIN = hello
all: HEX DUMP ELF
DUMP: ELF
$(DMP) -D $(VX_MAIN).elf > $(VX_MAIN).dump
HEX: ELF
$(CPY) -O ihex $(VX_MAIN).elf $(VX_MAIN).hex
ELF:
$(COMP) $(CC_FLAGS) $(VX_STR) $(VX_FIO) $(NEWLIB) $(VX_INT) $(VX_IO) $(VX_API) $(VX_TEST) $(VX_MAIN).cpp $(LIBS) -Iinclude -o $(VX_MAIN).elf

View file

@ -0,0 +1,18 @@
struct hello {
int a;
hello()
{
a = 55;
}
};
hello nameing;
int main()
{
nameing.a = 20;
int b;
}

File diff suppressed because it is too large Load diff

Binary file not shown.

View file

@ -0,0 +1,262 @@
:0200000480007A
:1000000097110000938101A613850100138601005A
:100010003306A64093050000EF00806F171500001F
:100020001305059563080500171500001305858E57
:10003000EF00D013EF000064032501009305410099
:1000400013060000EF00C0546F00805FB707008107
:1000500003C7475863140704130101FF23248100D9
:1000600013840700B70700002326110093870700B9
:10007000638A0700370500811305054B97000000D0
:10008000E7000000930710008320C1002302F4580A
:1000900003248100130101016780000067800000D4
:1000A000B707000093870700638E0700B70500813C
:1000B00037050081938585581305054B170300000C
:1000C0006700000067800000130101FD2326810204
:1000D00013040103232EA4FC232CB4FC232AC4FC08
:1000E0008327C4FD83A707002326F4FE832744FD4E
:1000F0002322F4FE832744FE03C707008327C4FEA0
:100100002380E7008327C4FE93871700032744FE5C
:10011000034717002380E7008327C4FE9387270047
:10012000032744FE034727002380E7008327C4FEFC
:1001300093873700032744FE034737002380E700F7
:100140008327C4FE938747002326F4FE232404FE5E
:100150006F004003832784FE032784FDB307F70065
:1001600003C707008327C4FE2380E7008327C4FE5C
:10017000938717002326F4FE832784FE93871700B6
:100180002324F4FE032784FE832744FDE344F7FC85
:100190008327C4FD0327C4FE23A0E700130000004B
:1001A0000324C1021301010367800000130101FD54
:1001B0002326810213040103232EA4FC232CB4FC68
:1001C0008327C4FD83A707002326F4FE832744FE6C
:1001D0002320F4FE8327C4FE03C70700832704FE01
:1001E0002380E700832704FE938717000327C4FEBC
:1001F000034717002380E700832704FE9387270027
:100200000327C4FE034727002380E700832704FE5B
:10021000938737000327C4FE034737002380E70096
:100220008327C4FE938747002326F4FE232404FE7D
:100230006F004003832784FE032784FDB307F70084
:100240000327C4FE034707002380E7008327C4FE7B
:10025000938717002326F4FE832784FE93871700D5
:100260002324F4FE032784FE832744FEE344F7FCA3
:100270008327C4FD0327C4FE23A0E700130000006A
:100280000324C1021301010367800000130101FF71
:100290002326810013040101130000000324C10080
:1002A0001301010167800000130101FE232E81006C
:1002B000130401022326A4FE2324B4FE832784FE14
:1002C0003727000023A2E7009307000013850700EB
:1002D0000324C1011301010267800000130101FE24
:1002E000232E8100130401022326A4FE930710008D
:1002F000138507000324C101130101026780000078
:10030000130101FF232681001304010113000000E3
:100310000324C1001301010167800000130101FFE4
:100320002326810013040101130000000324C100EF
:100330001301010167800000130101FD23268102E2
:1003400013040103232EA4FC232CB4FC232AC4FC95
:10035000B70701002324F4FE232604FE6F00C00229
:100360008327C4FE032784FDB307F70083C7070074
:1003700013870700832784FE23A0E7008327C4FE9A
:10038000938717002326F4FE0327C4FE832744FD2A
:10039000E348F7FC832744FD138507000324C102CB
:1003A0001301010367800000130101FD2326810270
:1003B00013040103232EA4FC8327C4FD63D8070084
:1003C0008327C4FDB307F040232EF4FC0327C4FDAC
:1003D000B73700009387078063D8E700B73700007E
:1003E00093870780232EF4FCB707008183A78756E5
:1003F0002326F4FEB707008103A787568327C4FD91
:100400003307F700B707008123A4E7568327C4FE0C
:10041000138507000324C102130101036780000054
:10042000130101FF2326110023248100130401017D
:1004300013050000EF00C00E130000008320C10070
:10044000032481001301010167800000130101FFF3
:100450002326810013040101130000000324C100BE
:100460001301010167800000130101FF23268100B1
:1004700013040101130000000324C1001301010152
:1004800067800000130101FF23261100232481004F
:1004900013040101EF00400B9307050013850700CB
:1004A0008320C10003248100130101016780000043
:1004B000130101FF23268100130401011300000032
:1004C0000324C1001301010167800000130101FF33
:1004D0002326810013040101B707008183A7075A6F
:1004E00093861700370700812320D75A138507000A
:1004F0000324C1001301010167800000130101FF03
:100500002326810013040101130000000324C1000D
:1005100013010101678000006B10B50067800000C7
:100520006B000500678000006B40B500678000002D
:100530006B200500678000006B30000067800000C2
:100540007325100267800000732500026780000099
:10055000130540006B000500F32610029396F60089
:10056000732600029315A6001316260037F1FF6FBD
:100570003301B1403301D1403301C100F3261002F1
:1005800063860600130500006B000500678000000D
:10059000130101FF2326810013040101B707008125
:1005A0001307400123A2E75A9307000013850700B1
:1005B0000324C1001301010167800000130101FE43
:1005C000232E1100232C8100130401022326A4FEF4
:1005D0002324B4FE0327C4FE930710006310F70220
:1005E000032784FEB70701009387F7FF6318F7001E
:1005F000B70700811385475AEF00C043130000007E
:100600008320C101032481011301010267800000DE
:10061000130101FF2326110023248100130401018B
:10062000B70701009385F7FF13051000EFF01FF9DE
:100630008320C100032481001301010167800000B1
:10064000130101FF930500002324810023261100DC
:1006500013040500EF008019B707008103A5070404
:100660008327C50363840700E780070013050400A0
:10067000EFF01FDB130101FF232481002320210160
:10068000370400003709000093070400130909002C
:100690003309F940232611002322910013592940E0
:1006A000630009021304040093040000832704007C
:1006B0009384140013044400E7800700E31899FEB4
:1006C00037040000370900009307040013090900EC
:1006D0003309F94013592940630009021304040047
:1006E000930400008327040093841400130444003F
:1006F000E7800700E31899FE8320C10003248100EE
:1007000083244100032901001301010167800000D7
:100710001303F00013070500637EC3029377F7000D
:100720006390070A63920508937606FF1376F60036
:10073000B386E6002320B7002322B7002324B700A6
:100740002326B70013070701E366D7FE63140600EC
:1007500067800000B306C34093962600970200000E
:10076000B38656006780C6002307B700A306B7000C
:100770002306B700A305B7002305B700A304B700FD
:100780002304B700A303B7002303B700A302B700F5
:100790002302B700A301B7002301B700A300B700ED
:1007A0002300B7006780000093F5F50F939685004E
:1007B000B3E5D50093960501B3E5D5006FF0DFF6FC
:1007C0009396270097020000B3865600938200009C
:1007D000E78006FA93800200938707FF3307F7400C
:1007E0003306F600E378C3F66FF0DFF3130101FD83
:1007F000B7070081232C410103AA0704232021030A
:100800002326110203298A14232481022322910220
:10081000232E3101232A510123286101232671014E
:100820002324810163000904130B0500938B050049
:10083000930A10009309F0FF832449001384F4FF06
:100840006342040293942400B304990063840B046C
:1008500083A74410638077051304F4FF9384C4FFD7
:10086000E31634FF8320C102032481028324410262
:10087000032901028329C101032A8101832A41013D
:10088000032B0101832BC100032C81001301010301
:10089000678000008327490083A644009387F7FF01
:1008A000638E870423A20400E38806FA832789184D
:1008B00033978A00032C4900B377F700639207024D
:1008C000E78006000327490083278A146314870101
:1008D000E304F9F8E38807F8138907006FF0DFF500
:1008E0008327C91883A544083377F700631C0700E2
:1008F00013050B00E78006006FF0DFFC2322890060
:100900006FF09FFA13850500E78006006FF09FFBEC
:10091000130101FF23248100B70700003704000002
:100920001304040093870700B387874023229100B4
:100930002326110093D42740638004029387C7FFC6
:1009400033848700832704009384F4FF1304C4FFD7
:10095000E7800700E39804FE8320C10003248100A0
:100960008324410013010101678000009305050005
:100970009306000013060000130500006F004000FE
:10098000B707008103A7070483278714638C070434
:1009900003A747001308F001634EE8061318270069
:1009A00063060502338307012324C30883A887183D
:1009B000130610003316E600B3E8C80023A4171985
:1009C0002324D310930620006304D50213071700D5
:1009D00023A2E700B387070123A4B7001305000093
:1009E000678000009307C7142324F7146FF05FFAA1
:1009F00083A6C7181307170023A2E70033E6C60033
:100A000023A6C718B387070123A4B7001305000066
:100A1000678000001305F0FF67800000B707000043
:100A20009387070063860700138501EB6FF01FF4BF
:100A300067800000130101FE232E810013040102D0
:100A40002326A4FE8327C4FE1307700323A0E70018
:100A5000130000000324C10113010102678000009C
:02000004810079
:10000000300000003100000032000000330000002A
:10001000340000003500000036000000370000000A
:10002000380000003900000061000000620000009C
:0E003000630000006400000065000000660030
:0400400088000081B3
:100048000000008104000081080000810C0000818C
:100058001000008114000081180000811C0000813C
:100068002000008124000081280000812C000081EC
:100078003000008134000081380000813C0000819C
:100088000000000074030081DC0300814404008147
:100098000000000000000000000000000000000058
:1000A8000000000000000000000000000000000048
:1000B8000000000000000000000000000000000038
:1000C8000000000000000000000000000000000028
:1000D8000000000000000000000000000000000018
:1000E8000000000000000000000000000000000008
:1000F80000000000000000000000000000000000F8
:1001080000000000000000000000000000000000E7
:1001180000000000000000000000000000000000D7
:1001280000000000000000000100000000000000C6
:100138000E33CDAB34126DE6ECDE05000B0000008B
:1001480000000000000000000000000000000000A7
:100158000000000000000000000000000000000097
:100168000000000000000000000000000000000087
:100178000000000000000000000000000000000077
:100188000000000000000000000000000000000067
:100198000000000000000000000000000000000057
:1001A8000000000000000000000000000000000047
:1001B8000000000000000000000000000000000037
:1001C8000000000000000000000000000000000027
:1001D8000000000000000000000000000000000017
:1001E8000000000000000000000000000000000007
:1001F80000000000000000000000000000000000F7
:1002080000000000000000000000000000000000E6
:1002180000000000000000000000000000000000D6
:1002280000000000000000000000000000000000C6
:1002380000000000000000000000000000000000B6
:1002480000000000000000000000000000000000A6
:100258000000000000000000000000000000000096
:100268000000000000000000000000000000000086
:100278000000000000000000000000000000000076
:100288000000000000000000000000000000000066
:100298000000000000000000000000000000000056
:1002A8000000000000000000000000000000000046
:1002B8000000000000000000000000000000000036
:1002C8000000000000000000000000000000000026
:1002D8000000000000000000000000000000000016
:1002E8000000000000000000000000000000000006
:1002F80000000000000000000000000000000000F6
:1003080000000000000000000000000000000000E5
:1003180000000000000000000000000000000000D5
:1003280000000000000000000000000000000000C5
:1003380000000000000000000000000000000000B5
:1003480000000000000000000000000000000000A5
:100358000000000000000000000000000000000095
:100368000000000000000000000000000000000085
:100378000000000000000000000000000000000075
:100388000000000000000000000000000000000065
:100398000000000000000000000000000000000055
:1003A8000000000000000000000000000000000045
:1003B8000000000000000000000000000000000035
:1003C8000000000000000000000000000000000025
:1003D8000000000000000000000000000000000015
:1003E8000000000000000000000000000000000005
:1003F80000000000000000000000000000000000F5
:1004080000000000000000000000000000000000E4
:1004180000000000000000000000000000000000D4
:1004280000000000000000000000000000000000C4
:1004380000000000000000000000000000000000B4
:1004480000000000000000000000000000000000A4
:100458000000000000000000000000000000000094
:100468000000000000000000000000000000000084
:100478000000000000000000000000000000000074
:100488000000000000000000000000000000000064
:100498000000000000000000000000000000000054
:0804A80000000000000000004C
:1004B0001000000000000000017A5200017C0101E0
:1004C0001B0D02002000000018000000680500FF5E
:1004D0002C00000000440E20448801440C08005801
:1004E000C80C0220440E0000200000003C00000068
:1004F000A00000FF2C00000000440E1044880144BE
:100500000C080058C80C0210440E00002400000023
:1005100060000000A80000FF5400000000440E200E
:100520004881018802440C080078C144C80C0220AC
:10053000440E00002400000088000000D40000FFEA
:100540003000000000440E104881018802440C086D
:100550000054C144C80C0210440E0000000000000A
:1005600000000000000000700000001000000020EB
:04057000880000817E
:040574004C000080B7
:08057800A000008010060080C5
:040580001C0A0080D1
:040000058000000077
:00000001FF

View file

@ -0,0 +1,52 @@
/* ---- Original Script: /opt/riscv32i/riscv32-unknown-elf/lib/ldscripts/elf32lriscv.x ---- */
/* Default linker script, for normal executables */
/* Copyright (C) 2014-2017 Free Software Foundation, Inc.
Copying and distribution of this script, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. */
OUTPUT_FORMAT("elf32-littleriscv", "elf32-littleriscv",
"elf32-littleriscv")
OUTPUT_ARCH(riscv)
SECTIONS
{
. = 0x70000000;
.FileIO :
{
*(.FileIO)
}
. = 0x80000000;
.text :
{
*(.text)
*(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
*(.stub .text.* .gnu.linkonce.t.*)
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
}
.init :
{
KEEP (*(SORT_NONE(.init)))
}
.plt : { *(.plt) }
.iplt : { *(.iplt) }
.fini :
{
KEEP (*(SORT_NONE(.fini)))
}
PROVIDE (__etext = .);
PROVIDE (_etext = .);
PROVIDE (etext = .);
PROVIDE (_edata = .);
PROVIDE (_end = .);
PROVIDE (__global_pointer$ = .);
. = 0x81000000;
.rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
.rodata1 : { *(.rodata1) }
. = 0x82000000;
.comment : { *(.comment) }
}

View file

@ -1,20 +1,22 @@
COMP = ~/dev/riscv-gnu-toolchain/drops/bin/riscv32-unknown-elf-gcc
COMP = ~/dev/riscv-gnu-toolchain/drops/bin/riscv32-unknown-elf-g++
# CC_FLAGS = -march=rv32im -mabi=ilp32 -O0 -Wl,-Bstatic,-T,linker.ld -ffreestanding -nostdlib
CC_FLAGS = -march=rv32im -mabi=ilp32 -O0 -Wl,-Bstatic,-T,linker.ld -ffreestanding -nostartfiles -nostdlib
CC_FLAGS = -march=rv32im -mabi=ilp32 -O0 -Wl,-Bstatic,-T,linker.ld -ffreestanding
DMP = ~/dev/riscv-gnu-toolchain/drops/bin/riscv32-unknown-elf-objdump
CPY = ~/dev/riscv-gnu-toolchain/drops/bin/riscv32-unknown-elf-objcopy
# VX_STR = ../../startup/vx_start.s
NEWLIB = ../../newlib/newlib.c ../../newlib/newlib_notimp.c ../../newlib/newlib.s
VX_STR = ../../startup/vx_start.s
VX_STR =
VX_INT = ../../intrinsics/vx_intrinsics.s
VX_IO = ../../io/vx_io.s ../../io/vx_io.c
VX_API = ../../vx_api/vx_api.c
VX_TEST = ../../tests/tests.c
VX_FIO = ../../fileio/fileio.s
LIBS = ./libs/libvecadd.a /home/fares/dev/pocl/drops_riscv_rt/lib/static/libOpenCL.a ~/dev/riscv-gnu-toolchain/drops/riscv32-unknown-elf/lib/libc.a ~/dev/riscv-gnu-toolchain/drops/riscv32-unknown-elf/lib/libstdc++.a -static-libgcc -lgcc
LIBS = -Wl,--whole-archive ./libs/libvecadd.a -Wl,--no-whole-archive ./libs/libOpenCL.a ~/dev/riscv-gnu-toolchain/drops/riscv32-unknown-elf/lib/libc.a ~/dev/riscv-gnu-toolchain/drops/riscv32-unknown-elf/lib/libstdc++.a -static-libgcc -lgcc
VX_MAIN = vx_pocl_main
@ -27,4 +29,4 @@ HEX: ELF
$(CPY) -O ihex $(VX_MAIN).elf $(VX_MAIN).hex
ELF:
$(COMP) $(CC_FLAGS) $(VX_STR) $(VX_FIO) $(NEWLIB) $(VX_INT) $(VX_IO) $(VX_API) $(VX_TEST) $(VX_MAIN).c $(LIBS) -Iinclude -o $(VX_MAIN).elf
$(COMP) $(CC_FLAGS) $(VX_STR) $(VX_FIO) $(NEWLIB) $(VX_INT) $(VX_IO) $(VX_API) $(VX_TEST) $(VX_MAIN).c $(LIBS) -Iinclude -o $(VX_MAIN).elf

View file

@ -10,6 +10,7 @@ OUTPUT_ARCH(riscv)
ENTRY(_start)
SECTIONS
{
PROVIDE(__stack_top = 0x6ffff000);
. = 0x70000000;
.FileIO :
{

View file

@ -54,6 +54,10 @@ typedef struct {
static int g_num_kernels = 0;
static kernel_info_t g_kernels [MAX_KERNELS];
#ifdef __cplusplus
extern "C" {
#endif
int _pocl_register_kernel(const char* name, const void* pfn, uint32_t num_args, uint32_t num_locals, const uint8_t* arg_types, const uint32_t* local_sizes) {
printf("******** _pocl_register_kernel\n");
printf("Name to register: %s\n", name);
@ -100,6 +104,10 @@ int _pocl_query_kernel(const char* name, const void** p_pfn, uint32_t* p_num_arg
return -1;
}
#ifdef __cplusplus
}
#endif
int exitcode = 0;
cl_context context = NULL;
cl_command_queue commandQueue = NULL;
@ -130,7 +138,8 @@ void cleanup() {
int main (int argc, char **argv) {
vx_tmc(1);
printf("vecadd running\n");
vx_print_str("Hello from vecadd\n");
printf("New cleared vecadd running\n");
cl_platform_id platform_id;
cl_device_id device_id;

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -214,7 +214,7 @@ void * _sbrk (int nbytes)
} /* _sbrk () */
void _exit()
void _exit(int val)
{
//vx_print_str("Hello from exit\n");
vx_tmc(0);

View file

@ -1,15 +1,42 @@
.type _start, @function
.global _start
.text
.global _start
.type _start, @function
_start:
# Initialize GP
la a1, vx_set_sp
li a0, 4
.word 0x00b5106b # wspawn a0(numWarps), a1(PC SPAWN)
jal vx_set_sp
jal main
li a0, 0
.word 0x0005006b # tmc a0
li a0, 1
.word 0x0005006b # tmc 4
# Initialize global pointer
.option push
.option norelax
1:auipc gp, %pcrel_hi(__global_pointer$)
addi gp, gp, %pcrel_lo(1b)
.option pop
# call __cxx_global_var_init
# Clear the bss segment
la a0, _edata
la a2, _end
sub a2, a2, a0
li a1, 0
call memset
la a0, __libc_fini_array # Register global termination functions
call atexit # to be called upon exit
call __libc_init_array # Run global initialization functions
# lw a0, 0(sp) # a0 = argc
# addi a1, sp, __SIZEOF_POINTER__ # a1 = argv
# li a2, 0 # a2 = envp = NULL
li a0, 4
.word 0x0005006b # tmc 4
call main
tail exit
.size _start, .-_start
.type vx_set_sp, @function