| #ifndef HW_PLATFORM_BUS_H | |
| #define HW_PLATFORM_BUS_H | |
| /* | |
| * Platform Bus device to support dynamic Sysbus devices | |
| * | |
| * Copyright (C) 2014 Freescale Semiconductor, Inc. All rights reserved. | |
| * | |
| * Author: Alexander Graf, <agraf@suse.de> | |
| * | |
| * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | |
| * | |
| * 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 "hw/core/sysbus.h" | |
| #include "qom/object.h" | |
| #define TYPE_PLATFORM_BUS_DEVICE "platform-bus-device" | |
| OBJECT_DECLARE_SIMPLE_TYPE(PlatformBusDevice, PLATFORM_BUS_DEVICE) | |
| struct PlatformBusDevice { | |
| /*< private >*/ | |
| SysBusDevice parent_obj; | |
| /*< public >*/ | |
| uint32_t mmio_size; | |
| MemoryRegion mmio; | |
| uint32_t num_irqs; | |
| qemu_irq *irqs; | |
| unsigned long *used_irqs; | |
| }; | |
| int platform_bus_get_irqn(PlatformBusDevice *platform_bus, SysBusDevice *sbdev, | |
| int n); | |
| hwaddr platform_bus_get_mmio_addr(PlatformBusDevice *pbus, SysBusDevice *sbdev, | |
| int n); | |
| void platform_bus_link_device(PlatformBusDevice *pbus, SysBusDevice *sbdev); | |
| #endif /* HW_PLATFORM_BUS_H */ |