public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
From: cagney@sourceware.org
To: frysk-cvs@sourceware.org
Subject: [SCM]  master: Get i386 vector-register test working.
Date: Thu, 29 Nov 2007 22:56:00 -0000	[thread overview]
Message-ID: <20071129225625.17031.qmail@sourceware.org> (raw)

The branch, master has been updated
       via  bc17c29140bb51887ead83de19154ff381a04dac (commit)
      from  5cc85271b84eb2fd9816e0a169e285cb8f200987 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit bc17c29140bb51887ead83de19154ff381a04dac
Author: Andrew Cagney <cagney@toil.yyz.redhat.com>
Date:   Thu Nov 29 17:52:58 2007 -0500

    Get i386 vector-register test working.
    
    frysk-core/frysk/pkglibdir/ChangeLog
    2007-11-29  Andrew Cagney  <cagney@redhat.com>
    
    	* funit-regs.S (x87fxregs): Data section.
    	(main) [__i386__]: Restore fxregs.
    
    frysk-core/frysk/proc/dead/ChangeLog
    2007-11-29  Andrew Cagney  <cagney@redhat.com>
    
    	* TestCoreRegs.java (testFloatRegisters())
    	(testVectorRegisters()): New; mark as unresolved.
    
    frysk-core/frysk/proc/live/ChangeLog
    2007-11-29  Andrew Cagney  <cagney@redhat.com>
    
    	* TestCoreRegs.java (testFloatRegisters())
    	(testVectorRegisters()): New; mark as unresolved.
    
    frysk-core/frysk/stack/ChangeLog
    2007-11-29  Andrew Cagney  <cagney@redhat.com>
    
    	* TestRegs.java (testFloatRegisters())
    	(testVectorRegisters()): New; mark as unresolved, bugs 4911 and
    	5195.
    
    frysk-core/frysk/testbed/ChangeLog
    2007-11-29  Andrew Cagney  <cagney@redhat.com>
    
    	* RegsCase.java (testVectorRegisters()): Remove unresolved.
    	(testFloatRegisters()): Ditto.
    	(isa()): Make protected.

-----------------------------------------------------------------------

Summary of changes:
 frysk-core/frysk/pkglibdir/ChangeLog         |    3 +
 frysk-core/frysk/pkglibdir/funit-regs.S      |  161 +++++++++++++++++++++++++-
 frysk-core/frysk/proc/dead/ChangeLog         |    3 +
 frysk-core/frysk/proc/dead/TestCoreRegs.java |   18 +++
 frysk-core/frysk/proc/live/ChangeLog         |    3 +
 frysk-core/frysk/proc/live/TestRegs.java     |   16 +++
 frysk-core/frysk/stack/ChangeLog             |    4 +
 frysk-core/frysk/stack/TestRegs.java         |   18 +++
 frysk-core/frysk/testbed/ChangeLog           |    4 +
 frysk-core/frysk/testbed/RegsCase.java       |   70 +++++------
 10 files changed, 259 insertions(+), 41 deletions(-)

First 500 lines of diff:
diff --git a/frysk-core/frysk/pkglibdir/ChangeLog b/frysk-core/frysk/pkglibdir/ChangeLog
index 0c70fe5..2365a3c 100644
--- a/frysk-core/frysk/pkglibdir/ChangeLog
+++ b/frysk-core/frysk/pkglibdir/ChangeLog
@@ -4,6 +4,9 @@
 
 2007-11-29  Andrew Cagney  <cagney@redhat.com>
 
+	* funit-regs.S (x87fxregs): Data section.
+	(main) [__i386__]: Restore fxregs.
+
 	* funit-regs.S (main): Jump to the known symbol "crash".
 
 2007-11-28 Teresa Thomas <tthomas@redhat.com>
diff --git a/frysk-core/frysk/pkglibdir/funit-regs.S b/frysk-core/frysk/pkglibdir/funit-regs.S
index bda1800..d4418a2 100644
--- a/frysk-core/frysk/pkglibdir/funit-regs.S
+++ b/frysk-core/frysk/pkglibdir/funit-regs.S
@@ -48,6 +48,10 @@
 
 #if defined __i386__
 	
+	// floating-point and vector registers
+	mov $fxregs, %eax
+	fxrstor (%eax)
+
 	mov $0x7eb03efc, %eax
 	mov $0x35a322a0, %ebx
 	mov $0x7f198cab, %ecx
@@ -55,12 +59,15 @@
 	mov $0x1bc5daed, %esi
 	mov $0x457319f3, %edi
 	mov $0xcbfed73c, %ebp
-	// eip
 	// %eflags
 	mov $0x93d4a6ed, %esp
 	
 #elif defined __x86_64__
 
+	// floating-point and vector registers
+	//mov $fxregs, %rax
+	//fxrstor (%rax)
+
         mov $0x837bb4e2d8209ca3, %rax
         mov $0x16d196be91fb2b92, %rdx
         mov $0x2b9f5c8f2d8cc8f9, %rcx
@@ -80,6 +87,7 @@
 
 #endif
 
+	// Jumping to crash sets the instruction-pointer
 	JUMP(crash)
 
 	MAIN_EPILOGUE(0)
@@ -90,9 +98,158 @@
 
 .global crash
 crash:
-#if defined __i386__ || defined __x86_64__
+#if defined __i386__
 	mov 0, %eax
+#elif defined __x86_64__
+	mov 0, %rax
 #else
 	LOAD_IMMED_WORD(REG0, 0)
 	STORE(REG0, REG0)
 #endif
+
+#if defined __i386__ || defined __x86_64__
+.data
+fxregs:
+	// FCW
+	.byte 0x71, 0x1e
+        // FSW 0x47e4
+        .byte 0, 0 // .byte 0xe4, 0x47
+        // FTW 0xc9
+        .byte 0 // .byte 0xc9
+	.fill 1, 1, 0
+        // FOP 0x1e8f
+        .byte 0, 0 // .byte 0x8f, 0x1e
+        // RIP 0x99af236679d5eeff
+        .byte 0, 0, 0, 0 // .byte 0xff, 0xee, 0xd5, 0x79
+        .byte 0, 0, 0, 0 // .byte 0x66, 0x23, 0xaf, 0x99
+        // RDP 0x6988a565d0acd7b0
+        .byte 0, 0, 0, 0 // .byte 0xb0, 0xd7, 0xac, 0xd0
+        .byte 0, 0, 0, 0 // .byte 0x65, 0xa5, 0x88, 0x69
+	// MXCSR
+	.fill 4, 1, 0
+	// MXCSR_MASK
+	.fill 4, 1, 0
+	// ST0 0xa7367289dc779dba0bd9
+        .byte 0xd9, 0x0b, 0xba, 0x9d
+        .byte 0x77, 0xdc, 0x89, 0x72
+	.byte 0x36, 0xa7
+	.fill 6, 1, 0
+        // ST1 0x64abfe452c2a5b8d0eb1
+        .byte 0xb1, 0x0e, 0x8d, 0x5b
+        .byte 0x2a, 0x2c, 0x45, 0xfe
+        .byte 0xab, 0x64
+	.fill 6, 1, 0
+        // ST2 0xb829e094740ce9d53a04
+        .byte 0x4, 0x3a, 0xd5, 0xe9
+        .byte 0xc, 0x74, 0x94, 0xe0
+        .byte 0x29, 0xb8
+	.fill 6, 1, 0
+        // ST3 0x4bd27ebf86294a4a48f8
+        .byte 0xf8, 0x48, 0x4a, 0x4a
+        .byte 0x29, 0x86, 0xbf, 0x7e
+        .byte 0xd2, 0x4b
+	.fill 6, 1, 0
+        // ST4 0xb96a6b1dabba9af1fa66
+        .byte 0x66, 0xfa, 0xf1, 0x9a
+        .byte 0xba, 0xab, 0x1d, 0x6b
+        .byte 0x6a, 0xb9
+	.fill 6, 1, 0
+        // ST5 0x87d05c0a1e9c9bb98ebc
+        .byte 0xbc, 0x8e, 0xb9, 0x9b
+        .byte 0x9c, 0x1e, 0xa, 0x5c
+	.byte 0xd0, 0x87
+	.fill 6, 1, 0
+        // ST6 0x5a0f14dcf87c56690b5f
+        .byte 0x5f, 0xb, 0x69, 0x56
+	.byte 0x7c, 0xf8, 0xdc, 0x14
+	.byte 0xf, 0x5a
+	.fill 6, 1, 0
+        // ST7 0x1f12ae5ec49479a8cb19
+        .byte 0x19, 0xcb, 0xa8, 0x79
+	.byte 0x94, 0xc4, 0x5e, 0xae
+	.byte 0x12, 0x1f
+	.fill 6, 1, 0
+    // vector registers
+        // XMM0 0x47beb912e3bfa457d6af5267b3fec23b
+        .byte 0x3b, 0xc2, 0xfe, 0xb3
+	.byte 0x67, 0x52, 0xaf, 0xd6
+	.byte 0x57, 0xa4, 0xbf, 0xe3
+	.byte 0x12, 0xb9, 0xbe, 0x47
+        // XMM1 0x7ce95f1c2fe254e2cac9b22bf43f73c5
+        .byte 0xc5, 0x73, 0x3f, 0xf4
+	.byte 0x2b, 0xb2, 0xc9, 0xca
+	.byte 0xe2, 0x54, 0xe2, 0x2f
+	.byte 0x1c, 0x5f, 0xe9, 0x7c
+        // XMM2 0x566b1b326d658a3365678d130362a6b5
+        .byte 0xb5, 0xa6, 0x62, 0x3
+	.byte 0x13, 0x8d, 0x67, 0x65
+	.byte 0x33, 0x8a, 0x65, 0x6d
+	.byte 0x32, 0x1b, 0x6b, 0x56
+        // XMM3 0x20801ada9126df05d6927e0847fa8f07
+        .byte 0x7, 0x8f, 0xfa, 0x47
+	.byte 0x8, 0x7e, 0x92, 0xd6
+	.byte 0x5, 0xdf, 0x26, 0x91
+	.byte 0xda, 0x1a, 0x80, 0x20
+        // XMM4 0x2304fff624579bbddc74a7df4d34cfd9
+        .byte 0xd9, 0xcf, 0x34, 0x4d
+	.byte 0xdf, 0xa7, 0x74, 0xdc
+	.byte 0xbd, 0x9b, 0x57, 0x24
+	.byte 0xf6, 0xff, 0x4, 0x23
+        // XMM5 0x58afb31bf2d2b4a33512eefc0d1f5fc4
+        .byte 0xc4, 0x5f, 0x1f, 0xd
+	.byte 0xfc, 0xee, 0x12, 0x35
+	.byte 0xa3, 0xb4, 0xd2, 0xf2
+	.byte 0x1b, 0xb3, 0xaf, 0x58
+        // XMM6 0x5caa454b2a0c2975df1df97f8d180e93
+        .byte 0x93, 0xe, 0x18, 0x8d
+	.byte 0x7f, 0xf9, 0x1d, 0xdf
+	.byte 0x75, 0x29, 0xc, 0x2a
+	.byte 0x4b, 0x45, 0xaa, 0x5c
+        // XMM7 0x2147b54a26ac605b98ef6a2f2da97f57
+        .byte 0x57, 0x7f, 0xa9, 0x2d
+	.byte 0x2f, 0x6a, 0xef, 0x98
+	.byte 0x5b, 0x60, 0xac, 0x26
+	.byte 0x4a, 0xb5, 0x47, 0x21
+        // XMM8 0x59f29cf0c8c06a32cfbcf982d29b2622
+        .byte 0x22, 0x26, 0x9b, 0xd2
+	.byte 0x82, 0xf9, 0xbc, 0xcf
+	.byte 0x32, 0x6a, 0xc0, 0xc8
+	.byte 0xf0, 0x9c, 0xf2, 0x59
+        // XMM9 0x20105410d22c027c7ff7fd949673caad
+        .byte 0xad, 0xca, 0x73, 0x96
+	.byte 0x94, 0xfd, 0xf7, 0x7f
+	.byte 0x7c, 0x2, 0x2c, 0xd2
+	.byte 0x10, 0x54, 0x10, 0x20
+        // XMM10 0xf618933912ad69c1b184ef8159ce5708
+        .byte 0x8, 0x57, 0xce, 0x59
+	.byte 0x81, 0xef, 0x84, 0xb1
+	.byte 0xc1, 0x69, 0xad, 0x12
+	.byte 0x39, 0x93, 0x18, 0xf6
+        // XMM11 0x856c8d779d6ed06a4bdadc488a3e1989
+        .byte 0x89, 0x19, 0x3e, 0x8a
+	.byte 0x48, 0xdc, 0xda, 0x4b
+	.byte 0x6a, 0xd0, 0x6e, 0x9d
+	.byte 0x77, 0x8d, 0x6c, 0x85
+        // XMM12 0xf232c4e489f81468c534d0627b8f373
+        .byte 0x73, 0xf3, 0xb8, 0x27
+	.byte 0x6, 0x4d, 0x53, 0x8c
+	.byte 0x46, 0x81, 0x9f, 0x48
+	.byte 0x4e, 0x2c, 0x23, 0xf
+        // XMM13 0x117c5a8df5f87761027e19798ad84b0
+        .byte 0xb0, 0x84, 0xad, 0x98
+	.byte 0x97, 0xe1, 0x27, 0x10
+	.byte 0x76, 0x87, 0x5f, 0xdf
+	.byte 0xa8, 0xc5, 0x17, 0x1
+        // XMM15 0xea03fbb7498f45fc918621ffe21d2f53
+        .byte 0x53, 0x2f, 0x1d, 0xe2
+	.byte 0xff, 0x21, 0x86, 0x91
+	.byte 0xfc, 0x45, 0x8f, 0x49
+	.byte 0xb7, 0xfb, 0x3, 0xea
+        // XMM15 0xfc6683d958a95180c6226f27a78b2c5a
+        .byte 0x5a, 0x2c, 0x8b, 0xa7
+	.byte 0x27, 0x6f, 0x22, 0xc6
+	.byte 0x80, 0x51, 0xa9, 0x58
+	.byte 0xd9, 0x83, 0x66, 0xfc
+	// some padding
+	.fill 512, 1, 0
+#endif
diff --git a/frysk-core/frysk/proc/dead/ChangeLog b/frysk-core/frysk/proc/dead/ChangeLog
index cb18b1c..bf2c6bd 100644
--- a/frysk-core/frysk/proc/dead/ChangeLog
+++ b/frysk-core/frysk/proc/dead/ChangeLog
@@ -1,5 +1,8 @@
 2007-11-29  Andrew Cagney  <cagney@redhat.com>
 
+	* TestCoreRegs.java (testFloatRegisters())
+	(testVectorRegisters()): New; mark as unresolved.
+	
 	* TestCoreRegs.java: New.
 
 2007-11-29  Phil Muldoon  <pmuldoon@redhat.com>
diff --git a/frysk-core/frysk/proc/dead/TestCoreRegs.java b/frysk-core/frysk/proc/dead/TestCoreRegs.java
index 2e9deaf..a911268 100644
--- a/frysk-core/frysk/proc/dead/TestCoreRegs.java
+++ b/frysk-core/frysk/proc/dead/TestCoreRegs.java
@@ -45,6 +45,7 @@ import frysk.proc.Proc;
 import frysk.testbed.CoreFileAtSignal;
 import frysk.util.Util;
 import java.io.File;
+import frysk.isa.ISA;
 
 /**
  * Check all register values.
@@ -71,4 +72,21 @@ public class TestCoreRegs extends RegsCase {
 	return task().getRegister(register);
     }
 
+    // XXX: Delete this once the unresolved cases are fixed.
+    public void testFloatRegisters() {
+	if (isa() == ISA.IA32 && unresolved(4911))
+	    return;
+        if (isa() == ISA.X8664 && unresolved(5195))
+            return;
+	super.testFloatRegisters();
+    }
+
+    // XXX: Delete this once the unresolved cases are fixed.
+    public void testVectorRegisters() {
+	if (isa() == ISA.IA32 && unresolved(4911))
+	    return;
+        if (isa() == ISA.X8664 && unresolved(5195))
+            return;
+	super.testVectorRegisters();
+    }
 }
diff --git a/frysk-core/frysk/proc/live/ChangeLog b/frysk-core/frysk/proc/live/ChangeLog
index df11d49..ca83edc 100644
--- a/frysk-core/frysk/proc/live/ChangeLog
+++ b/frysk-core/frysk/proc/live/ChangeLog
@@ -1,5 +1,8 @@
 2007-11-29  Andrew Cagney  <cagney@redhat.com>
 
+	* TestCoreRegs.java (testFloatRegisters())
+	(testVectorRegisters()): New; mark as unresolved.
+
 	* TestRegs.java: Moved from frysk.proc.TestRegs.
 
 2007-11-27  Jose Flavio Aguilar Paulino <joseflavio@gmail.com>
diff --git a/frysk-core/frysk/proc/live/TestRegs.java b/frysk-core/frysk/proc/live/TestRegs.java
index 21c3583..2ac3697 100644
--- a/frysk-core/frysk/proc/live/TestRegs.java
+++ b/frysk-core/frysk/proc/live/TestRegs.java
@@ -41,6 +41,7 @@ package frysk.proc.live;
 
 import frysk.isa.Register;
 import frysk.testbed.RegsCase;
+import frysk.isa.ISA;
 
 /**
  * Check all register values.
@@ -57,4 +58,19 @@ public class TestRegs extends RegsCase {
 	return task().getRegister(register);
     }
 
+    // XXX: Delete this once the unresolved cases are fixed.
+    public void testFloatRegisters() {
+	if (isa() == ISA.IA32 && unresolved(4911))
+	    return;
+        if (isa() == ISA.X8664 && unresolved(5195))
+            return;
+	super.testFloatRegisters();
+    }
+
+    // XXX: Delete this once the unresolved cases are fixed.
+    public void testVectorRegisters() {
+        if (isa() == ISA.X8664 && unresolved(5195))
+            return;
+	super.testVectorRegisters();
+    }
 }
diff --git a/frysk-core/frysk/stack/ChangeLog b/frysk-core/frysk/stack/ChangeLog
index 3ecebc0..15ce0a1 100644
--- a/frysk-core/frysk/stack/ChangeLog
+++ b/frysk-core/frysk/stack/ChangeLog
@@ -1,5 +1,9 @@
 2007-11-29  Andrew Cagney  <cagney@redhat.com>
 
+	* TestRegs.java (testFloatRegisters())
+	(testVectorRegisters()): New; mark as unresolved, bugs 4911 and
+	5195.
+
 	* LibunwindRegisterMapFactory.java: Update; RegisterMap
 	constructor takes a String.
 	* LibunwindAddressSpace.java (accessReg(Number,byte[],boolean)):
diff --git a/frysk-core/frysk/stack/TestRegs.java b/frysk-core/frysk/stack/TestRegs.java
index 2fef4b2..c249801 100644
--- a/frysk-core/frysk/stack/TestRegs.java
+++ b/frysk-core/frysk/stack/TestRegs.java
@@ -39,6 +39,7 @@
 
 package frysk.stack;
 
+import frysk.isa.ISA;
 import frysk.isa.Register;
 import frysk.testbed.RegsCase;
 
@@ -66,4 +67,21 @@ public class TestRegs extends RegsCase {
 	return frame.getRegister(register);
     }
 
+    // XXX: Delete this once the unresolved cases are fixed.
+    public void testFloatRegisters() {
+	if (isa() == ISA.IA32 && unresolved(4911))
+	    return;
+        if (isa() == ISA.X8664 && unresolved(5195))
+            return;
+	super.testFloatRegisters();
+    }
+
+    // XXX: Delete this once the unresolved cases are fixed.
+    public void testVectorRegisters() {
+	if (isa() == ISA.IA32 && unresolved(4911))
+	    return;
+        if (isa() == ISA.X8664 && unresolved(5195))
+            return;
+	super.testVectorRegisters();
+    }
 }
diff --git a/frysk-core/frysk/testbed/ChangeLog b/frysk-core/frysk/testbed/ChangeLog
index 93defdb..2514eb5 100644
--- a/frysk-core/frysk/testbed/ChangeLog
+++ b/frysk-core/frysk/testbed/ChangeLog
@@ -1,5 +1,9 @@
 2007-11-29  Andrew Cagney  <cagney@redhat.com>
 
+	* RegsCase.java (testVectorRegisters()): Remove unresolved.
+	(testFloatRegisters()): Ditto.
+	(isa()): Make protected.
+
 	* RegsCase.java (testGeneralRegisters): Remove unresolved on
 	x86-64, bug 5195.
 
diff --git a/frysk-core/frysk/testbed/RegsCase.java b/frysk-core/frysk/testbed/RegsCase.java
index 415d549..c23ddda 100644
--- a/frysk-core/frysk/testbed/RegsCase.java
+++ b/frysk-core/frysk/testbed/RegsCase.java
@@ -110,7 +110,7 @@ public abstract class RegsCase extends TestLib {
     Values values() {
 	return values;
     }
-    ISA isa() {
+    protected ISA isa() {
 	return isa;
     }
 
@@ -133,18 +133,10 @@ public abstract class RegsCase extends TestLib {
     }
 
     public void testFloatRegisters() {
-	if (unresolvedOnIA32(4911))
-	    return;
-	if(unresolvedOnx8664(5195))
-	    return;
 	checkRegisterGroup(registers.getFloatRegisterGroup());
     }
 
     public void testVectorRegisters() {
-	if (unresolvedOnIA32(4911))
-	    return;
-	if(unresolvedOnx8664(5195))
-	    return;
 	checkRegisterGroup(registers.getVectorRegisterGroup());
     }
 
@@ -334,6 +326,22 @@ public abstract class RegsCase extends TestLib {
              new byte[] { (byte)0xed, (byte)0xa6, (byte)0xd4, (byte)0x93 })
  	.put(IA32Registers.EIP, "crash")
     // floating-point registers
+        .put(X87Registers.FCW, // 0x1e71
+             new byte[] { 0x71,0x1e })
+        .put(X87Registers.FSW, // 0x47e4
+             new byte[] { (byte)0xe4,0x47 })
+        .put(X87Registers.FTW, // 0xc9
+             new byte[] { (byte)0xc9 })
+        .put(X87Registers.FOP, // 0x1e8f
+             new byte[] { (byte)0x8f,0x1e })
+        .put(X87Registers.EIP, // 0x2fc38c68
+             new byte[] { 0x68,(byte)0x8c,(byte)0xc3,0x2f })
+        .put(X87Registers.CS, // 0x7ac9
+             new byte[] { (byte)0xc9,0x7a })
+        .put(X87Registers.DP, // 0x6d77e6d5
+             new byte[] { (byte)0xd5,(byte)0xe6,0x77,0x6d })
+        .put(X87Registers.DS, // 0x2a9f
+             new byte[] { (byte)0x9f,0x2a })
 	.put(X87Registers.ST0, // 0xa7367289dc779dba0bd9
              new byte[] { (byte)0xd9,0xb,(byte)0xba,(byte)0x9d,
                           0x77,(byte)0xdc,(byte)0x89,0x72,
@@ -366,22 +374,6 @@ public abstract class RegsCase extends TestLib {
              new byte[] { 0x19,(byte)0xcb,(byte)0xa8,0x79,
                           (byte)0x94,(byte)0xc4,0x5e,(byte)0xae,
                           0x12,0x1f })
-        .put(X87Registers.FCW, // 0xc0f1
-             new byte[] { (byte)0xf1,(byte)0xc0 })
-        .put(X87Registers.FSW, // 0x47e4
-             new byte[] { (byte)0xe4,0x47 })
-        .put(X87Registers.FTW, // 0xc9
-             new byte[] { (byte)0xc9 })
-        .put(X87Registers.FOP, // 0x1e8f
-             new byte[] { (byte)0x8f,0x1e })
-        .put(X87Registers.EIP, // 0x2fc38c68
-             new byte[] { 0x68,(byte)0x8c,(byte)0xc3,0x2f })
-        .put(X87Registers.CS, // 0x7ac9
-             new byte[] { (byte)0xc9,0x7a })
-        .put(X87Registers.DP, // 0x6d77e6d5
-             new byte[] { (byte)0xd5,(byte)0xe6,0x77,0x6d })
-        .put(X87Registers.DS, // 0x2a9f
-             new byte[] { (byte)0x9f,0x2a })
     // vector registers
         .put(X87Registers.XMM0, // 0x47beb912e3bfa457d6af5267b3fec23b
              new byte[] { 0x3b,(byte)0xc2,(byte)0xfe,(byte)0xb3,
@@ -476,6 +468,20 @@ public abstract class RegsCase extends TestLib {
                           0x5d,(byte)0xf6,0x6b,0x4 })
         .put(X8664Registers.RIP, "crash")
     // floating-point registers
+        .put(X87Registers.FCW, // 0x1e71
+             new byte[] { 0x71,0x1e })
+        .put(X87Registers.FSW, // 0x47e4
+             new byte[] { (byte)0xe4,0x47 })
+        .put(X87Registers.FTW, // 0xc9
+             new byte[] { (byte)0xc9 })
+        .put(X87Registers.FOP, // 0x1e8f
+             new byte[] { (byte)0x8f,0x1e })
+        .put(X87Registers.RIP, // 0x99af236679d5eeff
+             new byte[] { (byte)0xff,(byte)0xee,(byte)0xd5,0x79,
+                          0x66,0x23,(byte)0xaf,(byte)0x99 })
+        .put(X87Registers.RDP, // 0x6988a565d0acd7b0
+             new byte[] { (byte)0xb0,(byte)0xd7,(byte)0xac,(byte)0xd0,
+                          0x65,(byte)0xa5,(byte)0x88,0x69 })
 	.put(X87Registers.ST0, // 0xa7367289dc779dba0bd9
              new byte[] { (byte)0xd9,0xb,(byte)0xba,(byte)0x9d,
                           0x77,(byte)0xdc,(byte)0x89,0x72,
@@ -508,20 +514,6 @@ public abstract class RegsCase extends TestLib {
              new byte[] { 0x19,(byte)0xcb,(byte)0xa8,0x79,
                           (byte)0x94,(byte)0xc4,0x5e,(byte)0xae,
                           0x12,0x1f })
-        .put(X87Registers.FCW, // 0xc0f1
-             new byte[] { (byte)0xf1,(byte)0xc0 })
-        .put(X87Registers.FSW, // 0x47e4
-             new byte[] { (byte)0xe4,0x47 })
-        .put(X87Registers.FTW, // 0xc9
-             new byte[] { (byte)0xc9 })
-        .put(X87Registers.FOP, // 0x1e8f
-             new byte[] { (byte)0x8f,0x1e })
-        .put(X87Registers.RIP, // 0x99af236679d5eeff
-             new byte[] { (byte)0xff,(byte)0xee,(byte)0xd5,0x79,
-                          0x66,0x23,(byte)0xaf,(byte)0x99 })
-        .put(X87Registers.RDP, // 0x6988a565d0acd7b0
-             new byte[] { (byte)0xb0,(byte)0xd7,(byte)0xac,(byte)0xd0,
-                          0x65,(byte)0xa5,(byte)0x88,0x69 })
     // vector registers
         .put(X87Registers.XMM0, // 0x47beb912e3bfa457d6af5267b3fec23b
              new byte[] { 0x3b,(byte)0xc2,(byte)0xfe,(byte)0xb3,


hooks/post-receive
--
frysk system monitor/debugger


                 reply	other threads:[~2007-11-29 22:56 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071129225625.17031.qmail@sourceware.org \
    --to=cagney@sourceware.org \
    --cc=frysk-cvs@sourceware.org \
    --cc=frysk@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).