Revision 5d87e4b7 hw/intc/xics.c
b/hw/intc/xics.c | ||
---|---|---|
27 | 27 |
|
28 | 28 |
#include "hw/hw.h" |
29 | 29 |
#include "trace.h" |
30 |
#include "qemu/timer.h" |
|
30 | 31 |
#include "hw/ppc/spapr.h" |
31 | 32 |
#include "hw/ppc/xics.h" |
32 | 33 |
#include "qemu/error-report.h" |
... | ... | |
679 | 680 |
return H_SUCCESS; |
680 | 681 |
} |
681 | 682 |
|
683 |
static target_ulong h_xirr_x(PowerPCCPU *cpu, sPAPREnvironment *spapr, |
|
684 |
target_ulong opcode, target_ulong *args) |
|
685 |
{ |
|
686 |
CPUState *cs = CPU(cpu); |
|
687 |
ICPState *ss = &spapr->icp->ss[cs->cpu_index]; |
|
688 |
uint32_t xirr = icp_accept(ss); |
|
689 |
|
|
690 |
args[0] = xirr; |
|
691 |
args[1] = cpu_get_real_ticks(); |
|
692 |
return H_SUCCESS; |
|
693 |
} |
|
694 |
|
|
682 | 695 |
static target_ulong h_eoi(PowerPCCPU *cpu, sPAPREnvironment *spapr, |
683 | 696 |
target_ulong opcode, target_ulong *args) |
684 | 697 |
{ |
... | ... | |
853 | 866 |
spapr_register_hypercall(H_CPPR, h_cppr); |
854 | 867 |
spapr_register_hypercall(H_IPI, h_ipi); |
855 | 868 |
spapr_register_hypercall(H_XIRR, h_xirr); |
869 |
spapr_register_hypercall(H_XIRR_X, h_xirr_x); |
|
856 | 870 |
spapr_register_hypercall(H_EOI, h_eoi); |
857 | 871 |
spapr_register_hypercall(H_IPOLL, h_ipoll); |
858 | 872 |
|
Also available in: Unified diff