diff options
author | Andree Leidenfrost <aleidenf@bigpond.net.au> | 2005-05-01 11:58:53 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-01 11:58:53 -0400 |
commit | 6aec3072833283a5e2ecf07318bd383a67321657 (patch) | |
tree | 71416996dd985b3f1010bb7331c79765e0f0a087 /arch/um/os-Linux | |
parent | 8e7a4f69e4ed328aa09ce48601073052557fa85d (diff) |
[PATCH] uml: fix handling of no fpx_regs
Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Fix the error path, which is triggered when the processor misses the fpx
regs (i.e. the "fxsr" cpuinfo feature). For instance by VIA C3 Samuel2.
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/um/os-Linux')
-rw-r--r-- | arch/um/os-Linux/sys-i386/registers.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/um/os-Linux/sys-i386/registers.c b/arch/um/os-Linux/sys-i386/registers.c index 148645b14480..9a0ad094d926 100644 --- a/arch/um/os-Linux/sys-i386/registers.c +++ b/arch/um/os-Linux/sys-i386/registers.c | |||
@@ -105,14 +105,15 @@ void init_registers(int pid) | |||
105 | panic("check_ptrace : PTRACE_GETREGS failed, errno = %d", | 105 | panic("check_ptrace : PTRACE_GETREGS failed, errno = %d", |
106 | err); | 106 | err); |
107 | 107 | ||
108 | errno = 0; | ||
108 | err = ptrace(PTRACE_GETFPXREGS, pid, 0, exec_fpx_regs); | 109 | err = ptrace(PTRACE_GETFPXREGS, pid, 0, exec_fpx_regs); |
109 | if(!err) | 110 | if(!err) |
110 | return; | 111 | return; |
112 | if(errno != EIO) | ||
113 | panic("check_ptrace : PTRACE_GETFPXREGS failed, errno = %d", | ||
114 | errno); | ||
111 | 115 | ||
112 | have_fpx_regs = 0; | 116 | have_fpx_regs = 0; |
113 | if(err != EIO) | ||
114 | panic("check_ptrace : PTRACE_GETFPXREGS failed, errno = %d", | ||
115 | err); | ||
116 | 117 | ||
117 | err = ptrace(PTRACE_GETFPREGS, pid, 0, exec_fp_regs); | 118 | err = ptrace(PTRACE_GETFPREGS, pid, 0, exec_fp_regs); |
118 | if(err) | 119 | if(err) |