Index: arch/ia64/include/register.h
===================================================================
--- arch/ia64/include/register.h	(revision 0259524e4c4af1fc9ac4849be90ccddd7677fc58)
+++ arch/ia64/include/register.h	(revision 2c457e89e009478a9eb0fb1e49cb0128fbedb3bf)
@@ -33,6 +33,40 @@
 
 #define CR_IVR_MASK	0xf
-
 #define PSR_I_MASK	0x4000
 
+/** External Interrupt Vector Register */
+union cr_ivr {
+	__u8  vector;
+	__u64 value;
+};
+
+typedef union cr_ivr cr_ivr_t;
+
+/** Task Priority Register */
+union cr_tpr {
+	struct {
+		unsigned : 4;
+		unsigned mic: 4;		/**< Mask Interrupt Class. */
+		unsigned : 8;
+		unsigned mmi: 1;		/**< Mask Maskable Interrupts. */
+	} __attribute__ ((packed));
+	__u64 value;
+};
+
+typedef union cr_tpr cr_tpr_t;
+
+/** Interval Timer Vector */
+union cr_itv {
+	struct {
+		unsigned vector : 8;
+		unsigned : 4;
+		unsigned : 1;
+		unsigned : 3;
+		unsigned m : 1;			/**< Mask. */
+	} __attribute__ ((packed));
+	__u64 value;
+};
+
+typedef union cr_itv cr_itv_t;
+
 #endif
