blob: e00f6ef078c80416c6cfb8c982cdc55159f98c9e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
/*
* SPDX-License-Identifier: GPL-2.0-or-later
* Copyright (C) 2024 IBM Corp.
*
* IBM Flexible Service Interface
*/
#ifndef FSI_FSI_H
#define FSI_FSI_H
#include "exec/memory.h"
#include "hw/qdev-core.h"
#include "hw/fsi/lbus.h"
#include "qemu/bitops.h"
/* Bitwise operations at the word level. */
#define BE_GENMASK(hb, lb) MAKE_64BIT_MASK((lb), ((hb) - (lb) + 1))
#define TYPE_FSI_BUS "fsi.bus"
OBJECT_DECLARE_SIMPLE_TYPE(FSIBus, FSI_BUS)
typedef struct FSIBus {
BusState bus;
} FSIBus;
#define TYPE_FSI_SLAVE "fsi.slave"
OBJECT_DECLARE_SIMPLE_TYPE(FSISlaveState, FSI_SLAVE)
#define FSI_SLAVE_CONTROL_NR_REGS ((0x40 >> 2) + 1)
typedef struct FSISlaveState {
DeviceState parent;
MemoryRegion iomem;
uint32_t regs[FSI_SLAVE_CONTROL_NR_REGS];
} FSISlaveState;
#endif /* FSI_FSI_H */
|