134602f99SAndreas Konopik /* 234602f99SAndreas Konopik * Infineon TriBoard System emulation. 334602f99SAndreas Konopik * 434602f99SAndreas Konopik * Copyright (c) 2020 Andreas Konopik <andreas.konopik@efs-auto.de> 534602f99SAndreas Konopik * Copyright (c) 2020 David Brenken <david.brenken@efs-auto.de> 634602f99SAndreas Konopik * 734602f99SAndreas Konopik * This library is free software; you can redistribute it and/or 834602f99SAndreas Konopik * modify it under the terms of the GNU Lesser General Public 934602f99SAndreas Konopik * License as published by the Free Software Foundation; either 1034602f99SAndreas Konopik * version 2 of the License, or (at your option) any later version. 1134602f99SAndreas Konopik * 1234602f99SAndreas Konopik * This library is distributed in the hope that it will be useful, 1334602f99SAndreas Konopik * but WITHOUT ANY WARRANTY; without even the implied warranty of 1434602f99SAndreas Konopik * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1534602f99SAndreas Konopik * Lesser General Public License for more details. 1634602f99SAndreas Konopik * 1734602f99SAndreas Konopik * You should have received a copy of the GNU Lesser General Public 1834602f99SAndreas Konopik * License along with this library; if not, see <http://www.gnu.org/licenses/>. 1934602f99SAndreas Konopik */ 2034602f99SAndreas Konopik 2134602f99SAndreas Konopik #include "qapi/error.h" 2234602f99SAndreas Konopik #include "hw/boards.h" 2332cad1ffSPhilippe Mathieu-Daudé #include "system/system.h" 24*dfc56946SRichard Henderson #include "system/address-spaces.h" 2534602f99SAndreas Konopik #include "qom/object.h" 2634602f99SAndreas Konopik 2734602f99SAndreas Konopik #include "hw/tricore/tc27x_soc.h" 2834602f99SAndreas Konopik 2934602f99SAndreas Konopik #define TYPE_TRIBOARD_MACHINE MACHINE_TYPE_NAME("triboard") 3034602f99SAndreas Konopik typedef struct TriBoardMachineState TriBoardMachineState; 3134602f99SAndreas Konopik typedef struct TriBoardMachineClass TriBoardMachineClass; 3234602f99SAndreas Konopik DECLARE_OBJ_CHECKERS(TriBoardMachineState, TriBoardMachineClass, 3334602f99SAndreas Konopik TRIBOARD_MACHINE, TYPE_TRIBOARD_MACHINE) 3434602f99SAndreas Konopik 3534602f99SAndreas Konopik 3634602f99SAndreas Konopik struct TriBoardMachineState { 3734602f99SAndreas Konopik MachineState parent; 3834602f99SAndreas Konopik 3934602f99SAndreas Konopik TC27XSoCState tc27x_soc; 4034602f99SAndreas Konopik }; 4134602f99SAndreas Konopik 4234602f99SAndreas Konopik struct TriBoardMachineClass { 4334602f99SAndreas Konopik MachineClass parent_obj; 4434602f99SAndreas Konopik 4534602f99SAndreas Konopik const char *name; 4634602f99SAndreas Konopik const char *desc; 4734602f99SAndreas Konopik const char *soc_name; 4834602f99SAndreas Konopik }; 49