guest-tools: out-of-tree build

Signed-off-by: Vitaly Chipounov <vitaly.chipounov@epfl.ch>
Makefile: bunch of fixes

- dependency fixes for parallel builds
- clang only built for llvm-native
- guest tools built for multiple archs
- stp built with -j1

Signed-off-by: Vitaly Chipounov <vitaly.chipounov@epfl.ch>
Makefile: option to use an external LLVM build

Signed-off-by: Vitaly Chipounov <vitaly.chipounov@epfl.ch>
hw/pci.c: per-state enable/disable PCI devices

When a device is disabled, its config space does not respond.

Signed-off-by: Vitaly Chipounov <vitaly.chipounov@epfl.ch>
hw/pci.c: save bitmaps in the snapshot

This prepares for per-state configuration data.
Vanilla QEMU sets the config on boot. This change will
allow to modify it at run-time while making changes
state-local.

Signed-off-by: Vitaly Chipounov <vitaly.chipounov@epfl.ch>
hw/pci.c: fixed notification when MMIO mappings change

Signed-off-by: Vitaly Chipounov <vitaly.chipounov@epfl.ch>
hw/pci.c: allow per-state dynamic BAR reconfiguration

Signed-off-by: Vitaly Chipounov <vitaly.chipounov@epfl.ch>