fwrite working
This commit is contained in:
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -49,6 +49,9 @@ void download(char ** ptr, char * drain)
|
|||||||
size = *((int *) src);
|
size = *((int *) src);
|
||||||
src += 4;
|
src += 4;
|
||||||
|
|
||||||
|
vx_printf("newlib.c: Size of download: ", size);
|
||||||
|
vx_printf("newlib.c: Real size: ", sizeof(struct stat));
|
||||||
|
|
||||||
for (int i = 0; i < size; i++)
|
for (int i = 0; i < size; i++)
|
||||||
{
|
{
|
||||||
drain[i] = (*src);
|
drain[i] = (*src);
|
||||||
@@ -78,9 +81,10 @@ int _fstat(int file, struct stat * st)
|
|||||||
|
|
||||||
struct stat newSt;
|
struct stat newSt;
|
||||||
|
|
||||||
download((char **) &read_buffer, (char *) &st);
|
download((char **) &read_buffer, (char *) &newSt);
|
||||||
|
|
||||||
|
st->st_mode = S_IFCHR;
|
||||||
|
|
||||||
// st->st_mode = S_IFCHR;
|
|
||||||
|
|
||||||
vx_printf("st_mode: ", st->st_mode);
|
vx_printf("st_mode: ", st->st_mode);
|
||||||
vx_printf("st_dev: ", st->st_dev);
|
vx_printf("st_dev: ", st->st_dev);
|
||||||
@@ -93,7 +97,6 @@ int _fstat(int file, struct stat * st)
|
|||||||
vx_printf("st_blocks: ", st->st_blocks);
|
vx_printf("st_blocks: ", st->st_blocks);
|
||||||
|
|
||||||
|
|
||||||
// st->st_mode = newSt.st_mode;
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -218,6 +218,7 @@ void trap_to_simulator(Warp & c)
|
|||||||
fstat(file, &st);
|
fstat(file, &st);
|
||||||
|
|
||||||
fprintf(stderr, "------------------------\n");
|
fprintf(stderr, "------------------------\n");
|
||||||
|
fprintf(stderr, "Size of struct: %x\n", sizeof(struct stat));
|
||||||
fprintf(stderr, "st_mode: %d\n", st.st_mode);
|
fprintf(stderr, "st_mode: %d\n", st.st_mode);
|
||||||
fprintf(stderr, "st_dev: %d\n", st.st_dev);
|
fprintf(stderr, "st_dev: %d\n", st.st_dev);
|
||||||
fprintf(stderr, "st_ino: %d\n", st.st_ino);
|
fprintf(stderr, "st_ino: %d\n", st.st_ino);
|
||||||
@@ -230,6 +231,15 @@ void trap_to_simulator(Warp & c)
|
|||||||
fprintf(stderr, "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
|
fprintf(stderr, "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
|
||||||
|
|
||||||
upload(&write_buffer, (char *) &st, sizeof(struct stat), c);
|
upload(&write_buffer, (char *) &st, sizeof(struct stat), c);
|
||||||
|
|
||||||
|
cerr << "RAW Write BUFFER:\n";
|
||||||
|
unsigned original_write_buffer = 0x72000000;
|
||||||
|
for (int i = 0; i < 10; i++)
|
||||||
|
{
|
||||||
|
unsigned new_addr = original_write_buffer + (4*i);
|
||||||
|
unsigned data_read = c.core->mem.read(new_addr, c.supervisorMode);
|
||||||
|
cerr << hex << new_addr << ": " << data_read << "\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
Reference in New Issue
Block a user