diff options
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); |