aboutsummaryrefslogtreecommitdiff
path: root/tests/libqos/arm-xilinx-zynq-a9-machine.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/libqos/arm-xilinx-zynq-a9-machine.c')
-rw-r--r--tests/libqos/arm-xilinx-zynq-a9-machine.c95
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);