From: Pierre Morel <pmorel@linux.ibm.com>
To: David Hildenbrand <david@redhat.com>, kvm@vger.kernel.org
Cc: linux-s390@vger.kernel.org, frankja@linux.ibm.com,
thuth@redhat.com, cohuck@redhat.com
Subject: Re: [kvm-unit-tests PATCH v6 01/10] s390x: saving regs for interrupts
Date: Mon, 27 Apr 2020 12:50:51 +0200 [thread overview]
Message-ID: <1945d109-e854-bdc4-4d95-147245a47abd@linux.ibm.com> (raw)
In-Reply-To: <6b8e4ce5-0c9c-6111-98e8-1c9e392d0a73@redhat.com>
On 2020-04-27 10:59, David Hildenbrand wrote:
> On 24.04.20 12:45, Pierre Morel wrote:
>> If we use multiple source of interrupts, for example, using SCLP
>> console to print information while using I/O interrupts, we need
>> to have a re-entrant register saving interruption handling.
>
> So the primary reason is to print during I/O interrupts (which we
> already do, but usually never trigger - handle_io_int())
>
>>
>> Instead of saving at a static memory address, let's save the base
>> registers and the floating point registers on the stack.
>
> ".. in case of I/O interrupts".
OK
>
>>
>> Note that we keep the static register saving to recover from the
>> RESET tests.
>
> and for all other types of interrupts.
OK
>
>>
>> Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
>> ---
>> s390x/cstart64.S | 34 ++++++++++++++++++++++++++++++++--
>> 1 file changed, 32 insertions(+), 2 deletions(-)
>>
>> diff --git a/s390x/cstart64.S b/s390x/cstart64.S
>> index 9af6bb3..ba2e67c 100644
>> --- a/s390x/cstart64.S
>> +++ b/s390x/cstart64.S
>> @@ -118,6 +118,36 @@ memsetxc:
>> lmg %r0, %r15, GEN_LC_SW_INT_GRS
>> .endm
>>
>> +/* Save registers on the stack (r15), so we can have stacked interrupts. */
>> + .macro SAVE_IRQ_REGS
>
> s/SAVE_IRQ_REGS/SAVE_REGS_STACK/ ?
>
> Same for the other macro.
OK
>
>> + /* Allocate a stack frame for 15 integer registers */
>
> not integers. sizeof(int) == 4.
hum, yes, I just do not know from where I took the word "integer" here!.
>
> "doublewords" should be the right s390x speak.
in fact they are named general registers in the POP.
(which indeed are doublewords :) )
>
>> + slgfi %r15, 15 * 8
>> + /* Store all registers from r0 to r14 on the stack */
>> + stmg %r0, %r14, 0(%r15)
>> + /* Allocate a stack frame for 16 floating point registers */
>> + /* The size of a FP register is the size of an integer */
>> + slgfi %r15, 16 * 8
>> + /* Save fp register on stack: offset to SP is multiple of reg number */
>> + .irp i, 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
>> + std \i, \i * 8(%r15)
>> + .endr
>> + .endm
>
> What about the FPC?
Seems I forgot it.
I will update.
Thanks.
Regards,
Pierre
--
Pierre Morel
IBM Lab Boeblingen
next prev parent reply other threads:[~2020-04-27 10:50 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-24 10:45 [kvm-unit-tests PATCH v6 00/10] s390x: Testing the Channel Subsystem I/O Pierre Morel
2020-04-24 10:45 ` [kvm-unit-tests PATCH v6 01/10] s390x: saving regs for interrupts Pierre Morel
2020-04-27 8:59 ` David Hildenbrand
2020-04-27 10:50 ` Pierre Morel [this message]
2020-04-24 10:45 ` [kvm-unit-tests PATCH v6 02/10] s390x: Use PSW bits definitions in cstart Pierre Morel
2020-04-27 9:01 ` David Hildenbrand
2020-04-28 8:10 ` Pierre Morel
2020-04-24 10:45 ` [kvm-unit-tests PATCH v6 03/10] s390x: Move control register bit definitions and add AFP to them Pierre Morel
2020-04-24 10:45 ` [kvm-unit-tests PATCH v6 04/10] s390x: interrupt registration Pierre Morel
2020-05-14 11:58 ` Cornelia Huck
2020-05-15 6:57 ` Pierre Morel
2020-05-15 7:57 ` David Hildenbrand
2020-04-24 10:45 ` [kvm-unit-tests PATCH v6 05/10] s390x: Library resources for CSS tests Pierre Morel
2020-05-14 12:03 ` Cornelia Huck
2020-05-15 7:02 ` Pierre Morel
2020-05-15 7:11 ` Cornelia Huck
2020-05-15 7:14 ` Pierre Morel
2020-04-24 10:45 ` [kvm-unit-tests PATCH v6 06/10] s390x: css: stsch, enumeration test Pierre Morel
2020-04-27 13:06 ` Janosch Frank
2020-04-28 8:17 ` Pierre Morel
2020-05-14 12:05 ` Cornelia Huck
2020-05-15 7:05 ` Pierre Morel
2020-04-24 10:45 ` [kvm-unit-tests PATCH v6 07/10] s390x: css: msch, enable test Pierre Morel
2020-04-27 13:11 ` Janosch Frank
2020-04-28 8:27 ` Pierre Morel
2020-05-14 12:08 ` Cornelia Huck
2020-05-15 7:11 ` Pierre Morel
2020-05-15 8:25 ` Cornelia Huck
2020-05-15 8:53 ` Janosch Frank
2020-05-15 11:34 ` Pierre Morel
2020-04-24 10:45 ` [kvm-unit-tests PATCH v6 08/10] s390x: define wfi: wait for interrupt Pierre Morel
2020-04-27 12:59 ` Janosch Frank
2020-04-28 8:44 ` Pierre Morel
2020-04-28 9:20 ` Janosch Frank
2020-04-28 9:27 ` Pierre Morel
2020-04-24 10:45 ` [kvm-unit-tests PATCH v6 09/10] s390x: css: ssch/tsch with sense and interrupt Pierre Morel
2020-05-14 12:24 ` Cornelia Huck
2020-05-15 7:37 ` Pierre Morel
2020-04-24 10:45 ` [kvm-unit-tests PATCH v6 10/10] s390x: css: ping pong Pierre Morel
2020-04-27 13:14 ` Janosch Frank
2020-04-28 8:50 ` Pierre Morel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1945d109-e854-bdc4-4d95-147245a47abd@linux.ibm.com \
--to=pmorel@linux.ibm.com \
--cc=cohuck@redhat.com \
--cc=david@redhat.com \
--cc=frankja@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox