qemu/include/hw/intc/allwinner-a10-pic.h
Eduardo Habkost db1015e92e Move QOM typedefs and add missing includes
Some typedefs and macros are defined after the type check macros.
This makes it difficult to automatically replace their
definitions with OBJECT_DECLARE_TYPE.

Patch generated using:

 $ ./scripts/codeconverter/converter.py -i \
   --pattern=QOMStructTypedefSplit $(git grep -l '' -- '*.[ch]')

which will split "typdef struct { ... } TypedefName"
declarations.

Followed by:

 $ ./scripts/codeconverter/converter.py -i --pattern=MoveSymbols \
    $(git grep -l '' -- '*.[ch]')

which will:
- move the typedefs and #defines above the type check macros
- add missing #include "qom/object.h" lines if necessary

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Message-Id: <20200831210740.126168-9-ehabkost@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Message-Id: <20200831210740.126168-10-ehabkost@redhat.com>
Message-Id: <20200831210740.126168-11-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2020-09-09 09:26:43 -04:00

45 lines
1.2 KiB
C

#ifndef ALLWINNER_A10_PIC_H
#define ALLWINNER_A10_PIC_H
#include "hw/sysbus.h"
#include "qom/object.h"
#define TYPE_AW_A10_PIC "allwinner-a10-pic"
typedef struct AwA10PICState AwA10PICState;
#define AW_A10_PIC(obj) OBJECT_CHECK(AwA10PICState, (obj), TYPE_AW_A10_PIC)
#define AW_A10_PIC_VECTOR 0
#define AW_A10_PIC_BASE_ADDR 4
#define AW_A10_PIC_PROTECT 8
#define AW_A10_PIC_NMI 0xc
#define AW_A10_PIC_IRQ_PENDING 0x10
#define AW_A10_PIC_FIQ_PENDING 0x20
#define AW_A10_PIC_SELECT 0x30
#define AW_A10_PIC_ENABLE 0x40
#define AW_A10_PIC_MASK 0x50
#define AW_A10_PIC_INT_NR 95
#define AW_A10_PIC_REG_NUM DIV_ROUND_UP(AW_A10_PIC_INT_NR, 32)
struct AwA10PICState {
/*< private >*/
SysBusDevice parent_obj;
/*< public >*/
MemoryRegion iomem;
qemu_irq parent_fiq;
qemu_irq parent_irq;
uint32_t vector;
uint32_t base_addr;
uint32_t protect;
uint32_t nmi;
uint32_t irq_pending[AW_A10_PIC_REG_NUM];
uint32_t fiq_pending[AW_A10_PIC_REG_NUM];
uint32_t select[AW_A10_PIC_REG_NUM];
uint32_t enable[AW_A10_PIC_REG_NUM];
uint32_t mask[AW_A10_PIC_REG_NUM];
/*priority setting here*/
};
#endif