diff options
author | Aditya Mandaleeka <adityam@microsoft.com> | 2016-07-18 19:39:05 -0700 |
---|---|---|
committer | Aditya Mandaleeka <adityam@microsoft.com> | 2016-07-21 14:25:50 -0700 |
commit | 9585fc244705b3a06c1f99dc6d60b9c9583ec3ed (patch) | |
tree | 00aa88e30574d3609a42b0da2f38f1827445c66d /src/pal/inc | |
parent | ece6cb3aba99ce30cbadb1fe4092959371401f29 (diff) | |
download | coreclr-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.h | 2 |
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 |