summaryrefslogtreecommitdiff
path: root/sys/src/9/pc/devarch.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2014-05-11 05:59:10 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2014-05-11 05:59:10 +0200
commita9155014c064a6a58568d355194acf416ca8efe2 (patch)
tree64d9fb64d479963005e9fe3f76dea4edb6b7f128 /sys/src/9/pc/devarch.c
parentedca217bb99f7c32413c117239d12acdc223e811 (diff)
pc, pc64: handle sse simd exceptions
Diffstat (limited to 'sys/src/9/pc/devarch.c')
-rw-r--r--sys/src/9/pc/devarch.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/src/9/pc/devarch.c b/sys/src/9/pc/devarch.c
index 4c1ecb691..71c59ffff 100644
--- a/sys/src/9/pc/devarch.c
+++ b/sys/src/9/pc/devarch.c
@@ -41,6 +41,7 @@ enum {
enum {
CR4Osfxsr = 1 << 9,
+ CR4Oxmmex = 1 << 10,
};
enum { /* cpuid standard function codes */
@@ -860,7 +861,7 @@ cpuidentify(void)
if(m->cpuiddx & Fxsr){ /* have sse fp? */
fpsave = fpssesave;
fprestore = fpsserestore;
- putcr4(getcr4() | CR4Osfxsr);
+ putcr4(getcr4() | CR4Osfxsr|CR4Oxmmex);
} else {
fpsave = fpx87save;
fprestore = fpx87restore;