From: Avi Kivity <avi@xxxxxxxxxx> Call a function setting a global variable. Signed-off-by: Avi Kivity <avi@xxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> diff --git a/api/api-sample.cc b/api/api-sample.cc new file mode 100644 index 0000000..8d57c09 --- /dev/null +++ b/api/api-sample.cc @@ -0,0 +1,29 @@ + +#include "api/kvmxx.hh" +#include "api/identity.hh" +#include "api/exception.hh" +#include "stdio.h" + +static int global = 0; + +static void set_global() +{ + global = 1; +} + +int test_main(int ac, char** av) +{ + kvm::system system; + kvm::vm vm(system); + identity::setup_vm(vm); + kvm::vcpu vcpu(vm, 0); + identity::vcpu thread(vcpu, set_global); + vcpu.run(); + printf("global %d\n", global); + return global == 1 ? 0 : 1; +} + +int main(int ac, char** av) +{ + return try_main(test_main, ac, av); +} diff --git a/config-x86-common.mak b/config-x86-common.mak index dde4f67..3e8e641 100644 --- a/config-x86-common.mak +++ b/config-x86-common.mak @@ -32,6 +32,8 @@ tests-common = $(TEST_DIR)/vmexit.flat $(TEST_DIR)/tsc.flat \ $(TEST_DIR)/hypercall.flat $(TEST_DIR)/sieve.flat \ $(TEST_DIR)/kvmclock_test.flat +tests-common += api/api-sample + tests_and_config = $(TEST_DIR)/*.flat $(TEST_DIR)/unittests.cfg test_cases: $(tests-common) $(tests) @@ -82,3 +84,8 @@ arch_clean: $(TEST_DIR)/.*.d $(TEST_DIR)/lib/.*.d $(TEST_DIR)/lib/*.o api/%.o: CFLAGS += -m32 + +api/api-sample: LDLIBS += -lstdc++ +api/api-sample: LDFLAGS += -m32 + +api/api-sample: api/api-sample.o api/kvmxx.o api/identity.o api/exception.o -- To unsubscribe from this list: send the line "unsubscribe kvm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html