summaryrefslogtreecommitdiff
path: root/src/pal/inc
diff options
context:
space:
mode:
authorAditya Mandaleeka <adityam@microsoft.com>2016-07-18 19:39:05 -0700
committerAditya Mandaleeka <adityam@microsoft.com>2016-07-21 14:25:50 -0700
commit9585fc244705b3a06c1f99dc6d60b9c9583ec3ed (patch)
tree00aa88e30574d3609a42b0da2f38f1827445c66d /src/pal/inc
parentece6cb3aba99ce30cbadb1fe4092959371401f29 (diff)
downloadcoreclr-9585fc244705b3a06c1f99dc6d60b9c9583ec3ed.tar.gz
coreclr-9585fc244705b3a06c1f99dc6d60b9c9583ec3ed.tar.bz2
coreclr-9585fc244705b3a06c1f99dc6d60b9c9583ec3ed.zip
Save and restore ymm registers in signal handlers.
- Modified the CONTEXT structure for storing the upper 16 bytes of ymm registers - Upon start of signal handler, ymmh data is copied from the native context to the CONTEXT structure, and a new flag is set to indicate that it has ymmh data - Upon calling RtlRestoreContext, the new flag is checked, and ymmh data is restored into registers from the CONTEXT structure - This change fixes only the Linux side for now.
Diffstat (limited to 'src/pal/inc')
-rw-r--r--src/pal/inc/pal.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/pal/inc/pal.h b/src/pal/inc/pal.h
index fe29112b07..e086717510 100644
--- a/src/pal/inc/pal.h
+++ b/src/pal/inc/pal.h
@@ -2570,6 +2570,8 @@ typedef struct _CONTEXT {
#define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS)
+#define CONTEXT_XSTATE (CONTEXT_AMD64 | 0x40L)
+
#define CONTEXT_EXCEPTION_ACTIVE 0x8000000
#define CONTEXT_SERVICE_ACTIVE 0x10000000
#define CONTEXT_EXCEPTION_REQUEST 0x40000000