metag: add exported <asm/ech.h> for extended context handling
authorJames Hogan <james.hogan@imgtec.com>
Tue, 26 Mar 2013 14:40:58 +0000 (14:40 +0000)
committerJames Hogan <james.hogan@imgtec.com>
Wed, 27 Mar 2013 14:37:53 +0000 (14:37 +0000)
Add an exported header file <asm/ech.h> containing the definitions of
some bits which can be set in D0.8 to indicate to the kernel that
certain DSP state should be preserved. The definitions have the same
names and values as the ones in the kernel-internal <asm/tbx.h>, to
make it easier for DSP assembly code to be compatible between Linux and
non-Linux operating systems.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
arch/metag/include/uapi/asm/Kbuild
arch/metag/include/uapi/asm/ech.h [new file with mode: 0644]

index 876c71f..84e09fe 100644 (file)
@@ -2,6 +2,7 @@
 include include/uapi/asm-generic/Kbuild.asm
 
 header-y += byteorder.h
+header-y += ech.h
 header-y += ptrace.h
 header-y += resource.h
 header-y += sigcontext.h
diff --git a/arch/metag/include/uapi/asm/ech.h b/arch/metag/include/uapi/asm/ech.h
new file mode 100644 (file)
index 0000000..ac94d1c
--- /dev/null
@@ -0,0 +1,15 @@
+#ifndef _UAPI_METAG_ECH_H
+#define _UAPI_METAG_ECH_H
+
+/*
+ * These bits can be set in the top half of the D0.8 register when DSP context
+ * switching is enabled, in order to support partial DSP context save/restore.
+ */
+
+#define TBICTX_XEXT_BIT        0x1000  /* Enable extended context save */
+#define TBICTX_XTDP_BIT        0x0800  /* DSP accumulators/RAM/templates */
+#define TBICTX_XHL2_BIT        0x0400  /* Hardware loops */
+#define TBICTX_XAXX_BIT        0x0200  /* Extended AX registers (A*.4-7) */
+#define TBICTX_XDX8_BIT        0x0100  /* Extended DX registers (D*.8-15) */
+
+#endif /* _UAPI_METAG_ECH_H */