bsd: move arch-dependent machine x64 files into a subdir

also updates the isa defs with some AArch64 values.

Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
Signed-off-by: Avi Kivity <avi@cloudius-systems.com>
java: make RunJava handle empty arguments

Currently it would throw ArrayIndexOutOfBounds when 'java' is called without arguments.

Signed-off-by: Tomasz Grabiec <tgrabiec@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
string.cc: make sure the fixup values are sane

the rcx register holds the amount of bytes we need to copy during the copy
operations. We will advance it by the fixup, which means that it should never,
ever, go bellow 0. I saw that happening due to a bug, and took me some time to
figure that out - the result is memory corruption, which can manifest in weird
ways. Should that assert be in place, I would have noticed sooner

Signed-off-by: Glauber Costa <glommer@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
java-tests: simplify by removing image configuration

Module definition is enough.

Signed-off-by: Tomasz Grabiec <tgrabiec@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
Remove redundant tests image

Signed-off-by: Tomasz Grabiec <tgrabiec@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
bsd: add simple machine files implementation for AArch64

they are not enabled yet in the build system.

Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
Signed-off-by: Avi Kivity <avi@cloudius-systems.com>
tests: more load-balancer tests

This patch adds two more load-balancing tests to tests/misc-loadbalance.cc:

1. Three threads on two cpus. If load-balancing is working correctly, this
   should slow down all threads x1.5 equally, and not get two x2 threads
   and one x1.

   Our performance on this test are fairly close to the expected.

2. Three threads on two cpus, but one thread has priority 0.5, meaning it
   should get twice the CPU time of the two other threads, so fair load
   balancing is to keep the priority-0.5 thread on its own CPU, and the
   two normal-priority threads together on the second CPU - so at the end
   the priority-0.5 thread will get twice the CPU time of the other threads.

   Unfortunately, this test now gets bad results (x0.93,x0.94,x1.14
   instead of x1,x1,x1), because our load balancer currently doesn't take
   into account thread priorities: It thinks the CPU running the
   priority-0.5 thread has load 1, while it should be considered to have
   the load 2.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
core/elf: explicit return type on lambda function

This isn't mandatory but increase code readability.  Nadav writes:

  I can verify that this indeed clears the last false error message that
  eclipse sees in all OSv files. Amazing.  I think we should commit this
  patch.

Signed-off-by: Eduardo Piva <efpiva@gmail.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
run.py: add --trace option

This option enables given tracepoint from the very beginning.
Introduce sampling profiler
run.py: add --trace-wait switch
trace: make 'prof' show all trace samples by default
amend to sampler
trace: auto-paginate output using less
trace: use .tracefile by default
run.py: add --trace-backtrace option
to paginatipon
stash