Page MenuHomeFreeBSD

D13148.1794795585.diff
No OneTemporary

Authored By
Unknown
Size
1 KB
Referenced Files
None
Subscribers
None

D13148.1794795585.diff

Index: sys/arm64/arm64/machdep.c
===================================================================
--- sys/arm64/arm64/machdep.c
+++ sys/arm64/arm64/machdep.c
@@ -539,7 +539,7 @@
spsr = uc.uc_mcontext.mc_gpregs.gp_spsr;
if ((spsr & PSR_M_MASK) != PSR_M_EL0t ||
- (spsr & (PSR_F | PSR_I | PSR_A | PSR_D)) != 0)
+ (spsr & (PSR_AARCH32 | PSR_F | PSR_I | PSR_A | PSR_D)) != 0)
return (EINVAL);
set_mcontext(td, &uc.uc_mcontext);
Index: sys/arm64/include/armreg.h
===================================================================
--- sys/arm64/include/armreg.h
+++ sys/arm64/include/armreg.h
@@ -548,7 +548,6 @@
/* SPSR_EL1 */
/*
* When the exception is taken in AArch64:
- * M[4] is 0 for AArch64 mode
* M[3:2] is the exception level
* M[1] is unused
* M[0] is the SP select:
@@ -560,8 +559,9 @@
#define PSR_M_EL1h 0x00000005
#define PSR_M_EL2t 0x00000008
#define PSR_M_EL2h 0x00000009
-#define PSR_M_MASK 0x0000001f
+#define PSR_M_MASK 0x0000000f
+#define PSR_AARCH32 0x00000010
#define PSR_F 0x00000040
#define PSR_I 0x00000080
#define PSR_A 0x00000100

File Metadata

Mime Type
text/plain
Expires
Mon, Nov 16, 2:19 AM (3 h, 22 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
41755622
Default Alt Text
D13148.1794795585.diff (1 KB)

Event Timeline