diff options
author | Thomas Huth | 2019-09-10 16:41:20 +0200 |
---|---|---|
committer | Thomas Huth | 2020-01-12 11:42:41 +0100 |
commit | 1cf4323ecd03235984e43a416a42f10c975cf785 (patch) | |
tree | 57ad5475a4cbbbe0088aecf86b682d8e11150b9f /tests/libqos/arm-xilinx-zynq-a9-machine.c | |
parent | tests/Makefile: Move qtest-related settings to a separate Makefile.include (diff) | |
download | qemu-1cf4323ecd03235984e43a416a42f10c975cf785.tar.gz qemu-1cf4323ecd03235984e43a416a42f10c975cf785.tar.xz qemu-1cf4323ecd03235984e43a416a42f10c975cf785.zip |
tests/libqos: Move the libqos files under tests/qtest/
The qos stuff belongs to qtest, so move it into that directory, too.
Message-Id: <20191218103059.11729-8-thuth@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Diffstat (limited to 'tests/libqos/arm-xilinx-zynq-a9-machine.c')
-rw-r--r-- | tests/libqos/arm-xilinx-zynq-a9-machine.c | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/tests/libqos/arm-xilinx-zynq-a9-machine.c b/tests/libqos/arm-xilinx-zynq-a9-machine.c deleted file mode 100644 index 5bc95f2e73..0000000000 --- a/tests/libqos/arm-xilinx-zynq-a9-machine.c +++ /dev/null @@ -1,95 +0,0 @@ -/* - * libqos driver framework - * - * Copyright (c) 2018 Emanuele Giuseppe Esposito <e.emanuelegiuseppe@gmail.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2 as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, see <http://www.gnu.org/licenses/> - */ - -#include "qemu/osdep.h" -#include "libqtest.h" -#include "qemu/module.h" -#include "libqos/malloc.h" -#include "libqos/qgraph.h" -#include "sdhci.h" - -typedef struct QXilinxZynqA9Machine QXilinxZynqA9Machine; - -struct QXilinxZynqA9Machine { - QOSGraphObject obj; - QGuestAllocator alloc; - QSDHCI_MemoryMapped sdhci; -}; - -#define ARM_PAGE_SIZE 4096 -#define XILINX_ZYNQ_A9_RAM_ADDR 0 -#define XILINX_ZYNQ_A9_RAM_SIZE 0x20000000 - -static void *xilinx_zynq_a9_get_driver(void *object, const char *interface) -{ - QXilinxZynqA9Machine *machine = object; - if (!g_strcmp0(interface, "memory")) { - return &machine->alloc; - } - - fprintf(stderr, "%s not present in arm/xilinx-zynq-a9\n", interface); - g_assert_not_reached(); -} - -static QOSGraphObject *xilinx_zynq_a9_get_device(void *obj, const char *device) -{ - QXilinxZynqA9Machine *machine = obj; - if (!g_strcmp0(device, "generic-sdhci")) { - return &machine->sdhci.obj; - } - - fprintf(stderr, "%s not present in arm/xilinx-zynq-a9\n", device); - g_assert_not_reached(); -} - -static void xilinx_zynq_a9_destructor(QOSGraphObject *obj) -{ - QXilinxZynqA9Machine *machine = (QXilinxZynqA9Machine *) obj; - alloc_destroy(&machine->alloc); -} - -static void *qos_create_machine_arm_xilinx_zynq_a9(QTestState *qts) -{ - QXilinxZynqA9Machine *machine = g_new0(QXilinxZynqA9Machine, 1); - - alloc_init(&machine->alloc, 0, - XILINX_ZYNQ_A9_RAM_ADDR + (1 << 20), - XILINX_ZYNQ_A9_RAM_ADDR + XILINX_ZYNQ_A9_RAM_SIZE, - ARM_PAGE_SIZE); - - machine->obj.get_device = xilinx_zynq_a9_get_device; - machine->obj.get_driver = xilinx_zynq_a9_get_driver; - machine->obj.destructor = xilinx_zynq_a9_destructor; - /* Datasheet: UG585 (v1.12.1) */ - qos_init_sdhci_mm(&machine->sdhci, qts, 0xe0100000, &(QSDHCIProperties) { - .version = 2, - .baseclock = 0, - .capab.sdma = true, - .capab.reg = 0x69ec0080, - }); - return &machine->obj; -} - -static void xilinx_zynq_a9_register_nodes(void) -{ - qos_node_create_machine("arm/xilinx-zynq-a9", - qos_create_machine_arm_xilinx_zynq_a9); - qos_node_contains("arm/xilinx-zynq-a9", "generic-sdhci", NULL); -} - -libqos_init(xilinx_zynq_a9_register_nodes); |