xics.h (bbe165740a96f67f48ecd3029dc26bdd7fd5192c) xics.h (9ae1329ee2fee95f201ca219090d7c742eaf6a90)
1/*
2 * QEMU PowerPC pSeries Logical Partition (aka sPAPR) hardware System Emulator
3 *
4 * PAPR Virtualized Interrupt System, aka ICS/ICP aka xics
5 *
6 * Copyright (c) 2010,2011 David Gibson, IBM Corporation.
7 *
8 * Permission is hereby granted, free of charge, to any person obtaining a copy

--- 87 unchanged lines hidden (view full) ---

96 OBJECT_CLASS_CHECK(ICSStateClass, (klass), TYPE_ICS)
97#define ICS_GET_CLASS(obj) \
98 OBJECT_GET_CLASS(ICSStateClass, (obj), TYPE_ICS)
99
100struct ICSStateClass {
101 DeviceClass parent_class;
102
103 DeviceRealize parent_realize;
1/*
2 * QEMU PowerPC pSeries Logical Partition (aka sPAPR) hardware System Emulator
3 *
4 * PAPR Virtualized Interrupt System, aka ICS/ICP aka xics
5 *
6 * Copyright (c) 2010,2011 David Gibson, IBM Corporation.
7 *
8 * Permission is hereby granted, free of charge, to any person obtaining a copy

--- 87 unchanged lines hidden (view full) ---

96 OBJECT_CLASS_CHECK(ICSStateClass, (klass), TYPE_ICS)
97#define ICS_GET_CLASS(obj) \
98 OBJECT_GET_CLASS(ICSStateClass, (obj), TYPE_ICS)
99
100struct ICSStateClass {
101 DeviceClass parent_class;
102
103 DeviceRealize parent_realize;
104 DeviceReset parent_reset;
105
106 void (*reject)(ICSState *s, uint32_t irq);
107 void (*resend)(ICSState *s);
104};
105
106struct ICSState {
107 /*< private >*/
108 DeviceState parent_obj;
109 /*< public >*/
110 uint32_t nr_irqs;
111 uint32_t offset;

--- 44 unchanged lines hidden (view full) ---

156ICPState *xics_icp_get(XICSFabric *xi, int server);
157
158/* Internal XICS interfaces */
159void icp_set_cppr(ICPState *icp, uint8_t cppr);
160void icp_set_mfrr(ICPState *icp, uint8_t mfrr);
161uint32_t icp_accept(ICPState *ss);
162uint32_t icp_ipoll(ICPState *ss, uint32_t *mfrr);
163void icp_eoi(ICPState *icp, uint32_t xirr);
108};
109
110struct ICSState {
111 /*< private >*/
112 DeviceState parent_obj;
113 /*< public >*/
114 uint32_t nr_irqs;
115 uint32_t offset;

--- 44 unchanged lines hidden (view full) ---

160ICPState *xics_icp_get(XICSFabric *xi, int server);
161
162/* Internal XICS interfaces */
163void icp_set_cppr(ICPState *icp, uint8_t cppr);
164void icp_set_mfrr(ICPState *icp, uint8_t mfrr);
165uint32_t icp_accept(ICPState *ss);
166uint32_t icp_ipoll(ICPState *ss, uint32_t *mfrr);
167void icp_eoi(ICPState *icp, uint32_t xirr);
168void icp_irq(ICSState *ics, int server, int nr, uint8_t priority);
164void icp_reset(ICPState *icp);
165
166void ics_write_xive(ICSState *ics, int nr, int server,
167 uint8_t priority, uint8_t saved_priority);
168void ics_set_irq(void *opaque, int srcno, int val);
169
170static inline bool ics_irq_free(ICSState *ics, uint32_t srcno)
171{

--- 27 unchanged lines hidden ---
169void icp_reset(ICPState *icp);
170
171void ics_write_xive(ICSState *ics, int nr, int server,
172 uint8_t priority, uint8_t saved_priority);
173void ics_set_irq(void *opaque, int srcno, int val);
174
175static inline bool ics_irq_free(ICSState *ics, uint32_t srcno)
176{

--- 27 unchanged lines hidden ---