tools: config-create: Make sanity checks the first code we run

Move the sanity check functions to the top of the script.

Signed-off-by: Henning Schild <henning.schild@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
x86: mmio: Add opcode to error message when failing to parse

In case the MMIO parser fails to decode the instruction print the
failing instruction with the error message.

Signed-off-by: Henning Schild <henning.schild@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
x86: print CR2 in case the hypervisor causes a pagefault

When causing a pagefault the page fault address is important for
debugging.

Signed-off-by: Henning Schild <henning.schild@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
tools: add bash-completion for the jailhouse-tool

Because `jailhouse` is the main user-interface to the VM and some
command-chains are quite verbose (create, enable, cell create, cell
load, ...) it is very convenient to have a working bash-completion for
it.

This completes all current uses, although it is very static in some
places (as is the jh-tool) - some argument are only expected at certain
positions, etc.

For it to work, you need to have the `jailhouse`-tool in your
PATH-variable (obviously for the tool itself to work, you will likely
also need all other tools in PATH). Then just run

> . tools/jailhouse_bashcompletion

and it should work. You also need the bash-completion package installed
on your distribution and activated in your bash, otherwise the
source-operation will do nothing. For more details please read the
header of the file.

Known Bug: cell-namens as argument for the cell-subcommands can't contain
           spaces

Signed-off-by: Benjamin Block <bebl@mageta.org>
[Jan: removed restriction to .bin files]
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>