Index: kernel/arch/ppc32/include/arch/exception.h
===================================================================
--- kernel/arch/ppc32/include/arch/exception.h	(revision 4a99c57264641256276aa600fa94703477cdf4d5)
+++ 	(revision )
@@ -1,113 +1,0 @@
-/*
- * Copyright (c) 2006 Martin Decky
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * - The name of the author may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/** @addtogroup ppc32
- * @{
- */
-/** @file
- */
-
-#ifndef KERN_ppc32_EXCEPTION_H_
-#define KERN_ppc32_EXCEPTION_H_
-
-#include <typedefs.h>
-#include <arch/msr.h>
-#include <trace.h>
-
-typedef struct istate {
-	uint32_t r0;
-	uint32_t r2;
-	uint32_t r3;
-	uint32_t r4;
-	uint32_t r5;
-	uint32_t r6;
-	uint32_t r7;
-	uint32_t r8;
-	uint32_t r9;
-	uint32_t r10;
-	uint32_t r11;
-	uint32_t r13;
-	uint32_t r14;
-	uint32_t r15;
-	uint32_t r16;
-	uint32_t r17;
-	uint32_t r18;
-	uint32_t r19;
-	uint32_t r20;
-	uint32_t r21;
-	uint32_t r22;
-	uint32_t r23;
-	uint32_t r24;
-	uint32_t r25;
-	uint32_t r26;
-	uint32_t r27;
-	uint32_t r28;
-	uint32_t r29;
-	uint32_t r30;
-	uint32_t r31;
-	uint32_t cr;
-	uint32_t pc;
-	uint32_t srr1;
-	uint32_t lr;
-	uint32_t ctr;
-	uint32_t xer;
-	uint32_t dar;
-	uint32_t r12;
-	uint32_t sp;
-} istate_t;
-
-NO_TRACE static inline void istate_set_retaddr(istate_t *istate,
-    uintptr_t retaddr)
-{
-	istate->pc = retaddr;
-}
-
-/** Return true if exception happened while in userspace
- *
- * The contexts of MSR register was stored in SRR1.
- *
- */
-NO_TRACE static inline int istate_from_uspace(istate_t *istate)
-{
-	return (istate->srr1 & MSR_PR) != 0;
-}
-
-NO_TRACE static inline sysarg_t istate_get_pc(istate_t *istate)
-{
-	return istate->pc;
-}
-
-NO_TRACE static inline sysarg_t istate_get_fp(istate_t *istate)
-{
-	return istate->sp;
-}
-
-#endif
-
-/** @}
- */
Index: kernel/arch/ppc32/include/arch/interrupt.h
===================================================================
--- kernel/arch/ppc32/include/arch/interrupt.h	(revision 4a99c57264641256276aa600fa94703477cdf4d5)
+++ kernel/arch/ppc32/include/arch/interrupt.h	(revision 6dbe7f68034b7e32c3421c2992cd5663766d56be)
@@ -36,5 +36,5 @@
 #define KERN_ppc32_INTERRUPT_H_
 
-#include <arch/exception.h>
+#include <arch/istate.h>
 
 #define IVT_ITEMS  16
Index: kernel/arch/ppc32/include/arch/istate.h
===================================================================
--- kernel/arch/ppc32/include/arch/istate.h	(revision 4a99c57264641256276aa600fa94703477cdf4d5)
+++ kernel/arch/ppc32/include/arch/istate.h	(revision 6dbe7f68034b7e32c3421c2992cd5663766d56be)
@@ -40,8 +40,10 @@
 #ifdef KERNEL
 
+#include <typedefs.h>
 #include <arch/msr.h>
 
 #else /* KERNEL */
 
+#include <sys/types.h>
 #include <libarch/msr.h>
 
@@ -81,5 +83,5 @@
 	uint32_t cr;
 	uint32_t pc;
-	uint32_t msr;
+	uint32_t srr1;
 	uint32_t lr;
 	uint32_t ctr;
@@ -98,19 +100,22 @@
 /** Return true if exception happened while in userspace
  *
+ * The contexts of MSR register was stored in SRR1.
+ *
  */
 NO_TRACE static inline int istate_from_uspace(istate_t *istate)
 {
-	return (istate->msr & MSR_PR) != 0;
+	return (istate->srr1 & MSR_PR) != 0;
 }
 
-NO_TRACE static inline uintptr_t istate_get_pc(istate_t *istate)
+NO_TRACE static inline sysarg_t istate_get_pc(istate_t *istate)
 {
 	return istate->pc;
 }
 
-NO_TRACE static inline uintptr_t istate_get_fp(istate_t *istate)
+NO_TRACE static inline sysarg_t istate_get_fp(istate_t *istate)
 {
 	return istate->sp;
 }
+
 
 #endif
Index: kernel/arch/ppc32/src/interrupt.c
===================================================================
--- kernel/arch/ppc32/src/interrupt.c	(revision 4a99c57264641256276aa600fa94703477cdf4d5)
+++ kernel/arch/ppc32/src/interrupt.c	(revision 6dbe7f68034b7e32c3421c2992cd5663766d56be)
@@ -36,4 +36,5 @@
 #include <interrupt.h>
 #include <arch/interrupt.h>
+#include <arch/istate.h>
 #include <typedefs.h>
 #include <arch.h>
