On Tue 01-Nov-2016 7:37 AM, Vasily A. Sartakov wrote:

as you might see, this is little bit modified version of trivial.c tests. 
Usual, when I am testing all tests, there is no problem with this test. But 
when I am running this file alone, I have a problem. Also, you might see, that 
there are several free lines with numbers from 16 to 22. I made this not 
accidental, it is a source of error. If the  test_allocator(env_t env) is 
lockated in the 23rd line, this tests has no problem. But if I add one more 
free line, I have an error like this:

If adding whitespace gives you a different compilation result then that is one 
bizarre compiler you have. I would check and make sure that this is really what 
is going on, because it seems fairly improbable to me. Maybe do some multiple 
runs/builds, 'make clean' between each build etc.

Also, I see, that there is a correlation between size of the image and faults:

1349892    ./sel4test-tests.bin_23
1349900    ./sel4test-tests.bin_24

The border line is 1349900 if I have a size of the image below the value -- 
there is no problem. Unfortunately, 1349900 is not a 'round' value, somehow 
related to TLB sizes of something else what I know.

If virtual address layout changes seem to coincide with faults then I would be 
checking things like
* Context switching code / address space management
* TLB/cache/ASID maintenance
* Branch predictor / any other hardware state that tracks virtual addresses

Note that I'm saying this as someone who knows basically nothing about MIPS, 
hence the broad suggestions.

Adrian
_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel

Reply via email to