* Add possibility to supply additional vsim flags with run target
* Now the user can supply the bootmode=<spi|flash|fast_debug|jtag>
variable with the run target to choose the desired boot mode.
You might think these are too many checks, but in fact each is needed to
cover all possible edge cases.
For example you could remove all the VSIM_PATH checks when creating the
symlink and force the creation of symlink (-f flag), but this will fail
for /boot, since on many machines /boot does actually exist.
Removing VSIM_PATH from the run target can cause problems when calling
run with a pre-compiled build directory etc.
When running a questa simulation for pulp/pulpissimo, the testbench
tries to write some log files to stdout/ and fs/, which don't exist
resulting in an ENOENT.
This reverts commit d898ae3424, reversing
changes made to b8f77f397f.
The problem is that when you call `make run` twice, then the work target
tries to re-do it since its a broken symlink. Furthermore, it should be
anyway possible to get the bender flow working withouth symlinking the
work directory.