On 2020-06-08 16:52, Thomas Huth wrote:
On 08/06/2020 16.33, Pierre Morel wrote:
On 2020-06-08 10:43, Thomas Huth wrote:
On 08/06/2020 10.12, Pierre Morel wrote:
This patch defines the PSW bits EA/BA used to initialize the PSW masks
for exceptions.
Since some PSW mask definitions exist already in arch_def.h we add these
definitions there.
We move all PSW definitions together and protect assembler code against
C syntax.
Signed-off-by: Pierre Morel <pmorel@xxxxxxxxxxxxx>
Reviewed-by: Janosch Frank <frankja@xxxxxxxxxxxxx>
---
lib/s390x/asm/arch_def.h | 15 +++++++++++----
s390x/cstart64.S | 15 ++++++++-------
2 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/lib/s390x/asm/arch_def.h b/lib/s390x/asm/arch_def.h
index 1b3bb0c..5388114 100644
--- a/lib/s390x/asm/arch_def.h
+++ b/lib/s390x/asm/arch_def.h
@@ -10,15 +10,21 @@
#ifndef _ASM_S390X_ARCH_DEF_H_
#define _ASM_S390X_ARCH_DEF_H_
+#define PSW_MASK_EXT 0x0100000000000000UL
+#define PSW_MASK_DAT 0x0400000000000000UL
+#define PSW_MASK_SHORT_PSW 0x0008000000000000UL
+#define PSW_MASK_PSTATE 0x0001000000000000UL
+#define PSW_MASK_BA 0x0000000080000000UL
+#define PSW_MASK_EA 0x0000000100000000UL
+
+#define PSW_EXCEPTION_MASK (PSW_MASK_EA | PSW_MASK_BA)
PSW_EXCEPTION_MASK sounds a little bit unfortunate - that term rather
reminds me of something that disables some interrupts
... in case you
respin, maybe rather use something like "PSW_EXC_ADDR_MODE" ?
EXCEPTIONS_PSW_MASK ?
I think it is the _MASK suffix that mainly bugs me here, since this is
not a define that you normally use for extracting the bits from a PSW...
so EXCEPTIONS_PSW without _MASK would be fine for me... but as long as
I'm the only one who has a strange feeling about this, it's also ok if
you keep the current name.
Thomas
The _MASK is because it is applied to the psw.mask and not to the
psw.addr part.
But I agree that the name is not good, to keep the naming convention,
may be it should be:
PSW_MASK_ON_EXCEPTION
beginning with PSW_MASK_ like all other psw.mask definitions and
ON_EXCEPTION clearly define when it is used.
Pierre
--
Pierre Morel
IBM Lab Boeblingen