On Thu, 28 Sep 2017 22:37:02 +0200 David Hildenbrand <da...@redhat.com> wrote:
> Implement them like KVM implements/handles them. Both can only be > triggered via SIGP instructions. RESET has (almos)the lowest priority if s/(almos)/(almost) / > the CPU is running, and the highest if the CPU is STOPPED. This is handled > in SIGP code already. On delivery, we only have to care about the > "CPU running" scenario. > > STOP is defined to be delivered after all other interrupts have been > delivered. Therefore it has the actual lowest priority. How good are we with interrupt priorities in tcg generally? We might want to care about machine check priority, but that's currently only partially implemented anyway. Just making sure we do not run out of things to do in the tcg interrupt code :) > > As both can wake up a CPU if sleeping, indicate them correctly to > external code (e.g. cpu_has_work()). > > Signed-off-by: David Hildenbrand <da...@redhat.com> > --- > target/s390x/cpu.h | 4 ++++ > target/s390x/excp_helper.c | 16 +++++++++++++++- > target/s390x/helper.c | 1 + > target/s390x/internal.h | 2 ++ > target/s390x/interrupt.c | 32 +++++++++++++++++++++++++++----- > target/s390x/sigp.c | 2 ++ > 6 files changed, 51 insertions(+), 6 deletions(-)