This series allows to call RTAS commands from the qtest framework, and defines a first test to call RTAS command "get-time-of-day" to validate the protocol and test RTAS.
RTAS command parameters are passed to the guest via the guest memory, so we also need to implement the guest memory management functions for SPAPR target. RTAS commands will be needed later to test PCI from the qtest framework with SPAPR virtual machines: PCI configuration is read/written with RTAS commands "ibm,read-pci-config", "ibm,write-pci-config". v7: - don't allocate twice the memory for the RTAS call - add "-machine pseries" in rtas-test to be sure to use the good machine type (with RTAS support). v6: - rebase - remove useless include v5: - replace "ppc64" by "spapr" - define and use qtest_spapr_vboot()/qtest_spapr_boot()/qtest_spapr_shutdown() v4: - use qemu_strtoXXX() instead strtoXX(), add a patch in the series to change all strtoXX() in qtest.c v3: - use mktimegm() instead of timegm() v2: - remove useless parenthesis, inline - add a missing space in qrtas_call() prototype Laurent Vivier (3): qtest: replace strtoXX() by qemu_strtoXX() libqos: define SPAPR libqos functions tests: add RTAS command in the protocol hw/ppc/spapr_rtas.c | 19 ++++++++++++ include/hw/ppc/spapr_rtas.h | 10 +++++++ qtest.c | 66 ++++++++++++++++++++++++++--------------- tests/Makefile.include | 5 ++++ tests/libqos/libqos-pc.c | 2 ++ tests/libqos/libqos-spapr.c | 30 +++++++++++++++++++ tests/libqos/libqos-spapr.h | 10 +++++++ tests/libqos/libqos.c | 1 - tests/libqos/malloc-spapr.c | 38 ++++++++++++++++++++++++ tests/libqos/malloc-spapr.h | 17 +++++++++++ tests/libqos/rtas.c | 71 +++++++++++++++++++++++++++++++++++++++++++++ tests/libqos/rtas.h | 11 +++++++ tests/libqtest.c | 10 +++++++ tests/libqtest.h | 15 ++++++++++ tests/rtas-test.c | 41 ++++++++++++++++++++++++++ 15 files changed, 322 insertions(+), 24 deletions(-) create mode 100644 include/hw/ppc/spapr_rtas.h create mode 100644 tests/libqos/libqos-spapr.c create mode 100644 tests/libqos/libqos-spapr.h create mode 100644 tests/libqos/malloc-spapr.c create mode 100644 tests/libqos/malloc-spapr.h create mode 100644 tests/libqos/rtas.c create mode 100644 tests/libqos/rtas.h create mode 100644 tests/rtas-test.c -- 2.5.5