Hi,

I have written a very simple hello world program to run on ARM SE. However,
the simulator prints a warning, and the simulation never finishes (Gem5
keeps ticking, but no progress. So I have to manually stop it). Here is the
program:

#include <stdio.h>
#include "m5op.h"
int main() {
    printf("Hello World\n");
    m5_reset_stats(0,0);
    printf("Hello World\n");
    printf("Hello World\n");
    printf("Hello World\n"); * //if I comment this out, then it works fine*
}

And here is the output:
command line: build/ARM/gem5.opt configs/example/se.py -c hello
Global frequency set at 1000000000000 ticks per second
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
**** REAL SIMULATION ****
info: Entering event queue @ 0.  Starting simulation...
Hello World
warn:     instruction 'cdp' unimplemented
warn: Syscall: *open: cannot decode flags 0x40000*
^Chack: be nice to actually delete the event here
Exiting @ tick 85824528000 because user interrupt received

I took a look at arm/linux.linux.hh and it seems like flag
*0x40000*corresponds to TGT_O_DIRECT. FYI, hostflags are set to
0x23000 (defined in
syscall_emul.hh).

The weird thing is that if I comment out the last printf("Hello World\n");
then the whole simulation works just fine.

Any thoughts what the problem might be?

Thanks,
Amin
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to