]> git.proxmox.com Git - mirror_qemu.git/blame - include/hw/ppc/pnv_homer.h
include/hw/ppc include/hw/pci-host: Drop extra typedefs
[mirror_qemu.git] / include / hw / ppc / pnv_homer.h
CommitLineData
3887d241
B
1/*
2 * QEMU PowerPC PowerNV Emulation of a few HOMER related registers
3 *
4 * Copyright (c) 2019, IBM Corporation.
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
f70c5966 9 * version 2.1 of the License, or (at your option) any later version.
3887d241
B
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef PPC_PNV_HOMER_H
21#define PPC_PNV_HOMER_H
22
23#include "hw/ppc/pnv.h"
db1015e9 24#include "qom/object.h"
3887d241
B
25
26#define TYPE_PNV_HOMER "pnv-homer"
c821774a 27OBJECT_DECLARE_TYPE(PnvHomer, PnvHomerClass,
30b5707c 28 PNV_HOMER)
3887d241 29#define TYPE_PNV8_HOMER TYPE_PNV_HOMER "-POWER8"
8110fa1d
EH
30DECLARE_INSTANCE_CHECKER(PnvHomer, PNV8_HOMER,
31 TYPE_PNV8_HOMER)
3887d241 32#define TYPE_PNV9_HOMER TYPE_PNV_HOMER "-POWER9"
8110fa1d
EH
33DECLARE_INSTANCE_CHECKER(PnvHomer, PNV9_HOMER,
34 TYPE_PNV9_HOMER)
92499676
CLG
35#define TYPE_PNV10_HOMER TYPE_PNV_HOMER "-POWER10"
36DECLARE_INSTANCE_CHECKER(PnvHomer, PNV10_HOMER,
37 TYPE_PNV10_HOMER)
3887d241 38
db1015e9 39struct PnvHomer {
3887d241
B
40 DeviceState parent;
41
b6c80037 42 PnvChip *chip;
8f092316 43 MemoryRegion pba_regs;
3887d241 44 MemoryRegion regs;
db1015e9 45};
3887d241 46
3887d241 47
db1015e9 48struct PnvHomerClass {
3887d241
B
49 DeviceClass parent_class;
50
8f092316
CLG
51 int pba_size;
52 const MemoryRegionOps *pba_ops;
3887d241
B
53 int homer_size;
54 const MemoryRegionOps *homer_ops;
55
56 hwaddr core_max_base;
db1015e9 57};
3887d241
B
58
59#endif /* PPC_PNV_HOMER_H */