2024-01-26 13:49:46 +03:00
|
|
|
/*
|
|
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
* Copyright (C) 2024 IBM Corp.
|
|
|
|
*
|
|
|
|
* IBM Local bus and connected device structures.
|
|
|
|
*/
|
|
|
|
#ifndef FSI_LBUS_H
|
|
|
|
#define FSI_LBUS_H
|
|
|
|
|
|
|
|
#include "hw/qdev-core.h"
|
|
|
|
#include "qemu/units.h"
|
|
|
|
#include "exec/memory.h"
|
|
|
|
|
|
|
|
#define TYPE_FSI_LBUS_DEVICE "fsi.lbus.device"
|
|
|
|
OBJECT_DECLARE_SIMPLE_TYPE(FSILBusDevice, FSI_LBUS_DEVICE)
|
|
|
|
|
|
|
|
typedef struct FSILBusDevice {
|
|
|
|
DeviceState parent;
|
|
|
|
|
|
|
|
MemoryRegion iomem;
|
|
|
|
} FSILBusDevice;
|
|
|
|
|
|
|
|
#define TYPE_FSI_LBUS "fsi.lbus"
|
|
|
|
OBJECT_DECLARE_SIMPLE_TYPE(FSILBus, FSI_LBUS)
|
|
|
|
|
|
|
|
typedef struct FSILBus {
|
|
|
|
BusState bus;
|
|
|
|
|
|
|
|
MemoryRegion mr;
|
|
|
|
} FSILBus;
|
|
|
|
|
2024-01-26 13:49:47 +03:00
|
|
|
#define TYPE_FSI_SCRATCHPAD "fsi.scratchpad"
|
|
|
|
#define SCRATCHPAD(obj) OBJECT_CHECK(FSIScratchPad, (obj), TYPE_FSI_SCRATCHPAD)
|
|
|
|
|
|
|
|
#define FSI_SCRATCHPAD_NR_REGS 4
|
|
|
|
|
|
|
|
typedef struct FSIScratchPad {
|
|
|
|
FSILBusDevice parent;
|
|
|
|
|
|
|
|
uint32_t regs[FSI_SCRATCHPAD_NR_REGS];
|
|
|
|
} FSIScratchPad;
|
|
|
|
|
2024-01-26 13:49:46 +03:00
|
|
|
#endif /* FSI_LBUS_H */
|