Index: kernel/arch/ia32/_link.ld.in
===================================================================
--- kernel/arch/ia32/_link.ld.in	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/_link.ld.in	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -9,5 +9,4 @@
  */
 
-#define __ASM__
 #include <arch/boot/boot.h>
 #include <arch/mm/page.h>
Index: kernel/arch/ia32/include/atomic.h
===================================================================
--- kernel/arch/ia32/include/atomic.h	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/include/atomic.h	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -39,5 +39,4 @@
 #include <arch/barrier.h>
 #include <preemption.h>
-#include <typedefs.h>
 
 static inline void atomic_inc(atomic_t *val) {
Index: kernel/arch/ia32/include/boot/memmap.h
===================================================================
--- kernel/arch/ia32/include/boot/memmap.h	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/include/boot/memmap.h	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -58,15 +58,13 @@
 #include <arch/types.h>
 
-struct e820memmap_ {
+typedef struct {
 	uint64_t base_address;
 	uint64_t size;
 	uint32_t type;
-} __attribute__ ((packed));
+} __attribute__ ((packed)) e820memmap_t;
 
-extern struct e820memmap_ e820table[MEMMAP_E820_MAX_RECORDS];
-
+extern e820memmap_t e820table[MEMMAP_E820_MAX_RECORDS];
 extern uint8_t e820counter; 
-
-extern uint32_t e801memorysize; /**< Size of available memory in KB. */
+extern uint32_t e801memorysize;         /**< Size of available memory in KB. */
 
 #endif
Index: kernel/arch/ia32/include/cpu.h
===================================================================
--- kernel/arch/ia32/include/cpu.h	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/include/cpu.h	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -36,5 +36,4 @@
 #define KERN_ia32_CPU_H_
 
-#include <typedefs.h>
 #include <arch/pm.h>
 #include <arch/asm.h>
Index: kernel/arch/ia32/include/interrupt.h
===================================================================
--- kernel/arch/ia32/include/interrupt.h	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/include/interrupt.h	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -69,5 +69,5 @@
 #define VECTOR_DEBUG_IPI			(IVT_FREEBASE + 2)
 
-struct istate {
+typedef struct {
 	uint32_t eax;
 	uint32_t ecx;
@@ -88,5 +88,5 @@
 	uint32_t eflags;
 	uint32_t stack[];
-};
+} istate_t;
 
 /** Return true if exception happened while in userspace */
Index: kernel/arch/ia32/include/mm/as.h
===================================================================
--- kernel/arch/ia32/include/mm/as.h	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/include/mm/as.h	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -48,4 +48,6 @@
 } as_arch_t;
 
+#include <genarch/mm/as_pt.h>
+
 #define as_constructor_arch(as, flags)		(as != as)
 #define as_destructor_arch(as)			(as != as)
Index: kernel/arch/ia32/include/mm/asid.h
===================================================================
--- kernel/arch/ia32/include/mm/asid.h	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/include/mm/asid.h	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -43,9 +43,11 @@
 #define KERN_ia32_ASID_H_
 
-typedef int asid_t;
+#include <arch/types.h>
+
+typedef int32_t asid_t;
 
 #define ASID_MAX_ARCH		3
 
-#define asid_get()		(ASID_START+1)
+#define asid_get()		(ASID_START + 1)
 #define asid_put(asid)
 
Index: kernel/arch/ia32/include/mm/memory_init.h
===================================================================
--- kernel/arch/ia32/include/mm/memory_init.h	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/include/mm/memory_init.h	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -37,6 +37,4 @@
 #define KERN_ia32_MEMORY_INIT_H_
 
-#include <typedefs.h>
-
 size_t get_memory_size(void);
 
Index: kernel/arch/ia32/include/mm/page.h
===================================================================
--- kernel/arch/ia32/include/mm/page.h	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/include/mm/page.h	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -62,13 +62,13 @@
 #define PTL3_ENTRIES_ARCH	1024
 
-#define PTL0_INDEX_ARCH(vaddr)	(((vaddr)>>22)&0x3ff)
+#define PTL0_INDEX_ARCH(vaddr)	(((vaddr) >> 22) & 0x3ff)
 #define PTL1_INDEX_ARCH(vaddr)	0
 #define PTL2_INDEX_ARCH(vaddr)	0
-#define PTL3_INDEX_ARCH(vaddr)	(((vaddr)>>12)&0x3ff)
+#define PTL3_INDEX_ARCH(vaddr)	(((vaddr) >> 12) & 0x3ff)
 
-#define GET_PTL1_ADDRESS_ARCH(ptl0, i)		((pte_t *)((((pte_t *)(ptl0))[(i)].frame_address)<<12))
+#define GET_PTL1_ADDRESS_ARCH(ptl0, i)		((pte_t *)((((pte_t *)(ptl0))[(i)].frame_address) << 12))
 #define GET_PTL2_ADDRESS_ARCH(ptl1, i)		(ptl1)
 #define GET_PTL3_ADDRESS_ARCH(ptl2, i)		(ptl2)
-#define GET_FRAME_ADDRESS_ARCH(ptl3, i)		((uintptr_t)((((pte_t *)(ptl3))[(i)].frame_address)<<12))
+#define GET_FRAME_ADDRESS_ARCH(ptl3, i)		((uintptr_t)((((pte_t *)(ptl3))[(i)].frame_address) << 12))
 
 #define SET_PTL0_ADDRESS_ARCH(ptl0)		(write_cr3((uintptr_t) (ptl0)))
@@ -90,5 +90,5 @@
 #define PTE_VALID_ARCH(p)			(*((uint32_t *) (p)) != 0)
 #define PTE_PRESENT_ARCH(p)			((p)->present != 0)
-#define PTE_GET_FRAME_ARCH(p)			((p)->frame_address<<FRAME_WIDTH)
+#define PTE_GET_FRAME_ARCH(p)			((p)->frame_address << FRAME_WIDTH)
 #define PTE_WRITABLE_ARCH(p)			((p)->writeable != 0)
 #define PTE_EXECUTABLE_ARCH(p)			1
@@ -96,38 +96,20 @@
 #ifndef __ASM__
 
-#include <mm/page.h>
-#include <arch/types.h>
-#include <arch/mm/frame.h>
-#include <typedefs.h>
+#include <mm/mm.h>
+#include <arch/interrupt.h>
 
 /* Page fault error codes. */
 
 /** When bit on this position is 0, the page fault was caused by a not-present page. */
-#define PFERR_CODE_P		(1<<0)
+#define PFERR_CODE_P		(1 << 0)
 
 /** When bit on this position is 1, the page fault was caused by a write. */
-#define PFERR_CODE_RW		(1<<1)
+#define PFERR_CODE_RW		(1 << 1)
 
 /** When bit on this position is 1, the page fault was caused in user mode. */
-#define PFERR_CODE_US		(1<<2)
+#define PFERR_CODE_US		(1 << 2)
 
 /** When bit on this position is 1, a reserved bit was set in page directory. */ 
-#define PFERR_CODE_RSVD		(1<<3)	
-
-/** Page Table Entry. */
-struct page_specifier {
-	unsigned present : 1;
-	unsigned writeable : 1;
-	unsigned uaccessible : 1;
-	unsigned page_write_through : 1;
-	unsigned page_cache_disable : 1;
-	unsigned accessed : 1;
-	unsigned dirty : 1;
-	unsigned pat : 1;
-	unsigned global : 1;
-	unsigned soft_valid : 1;	/**< Valid content even if the present bit is not set. */
-	unsigned avl : 2;
-	unsigned frame_address : 20;
-} __attribute__ ((packed));
+#define PFERR_CODE_RSVD		(1 << 3)	
 
 static inline int get_pt_flags(pte_t *pt, index_t i)
@@ -136,11 +118,11 @@
 	
 	return (
-		(!p->page_cache_disable)<<PAGE_CACHEABLE_SHIFT |
-		(!p->present)<<PAGE_PRESENT_SHIFT |
-		p->uaccessible<<PAGE_USER_SHIFT |
+		(!p->page_cache_disable) << PAGE_CACHEABLE_SHIFT |
+		(!p->present) << PAGE_PRESENT_SHIFT |
+		p->uaccessible << PAGE_USER_SHIFT |
 		1<<PAGE_READ_SHIFT |
-		p->writeable<<PAGE_WRITE_SHIFT |
+		p->writeable << PAGE_WRITE_SHIFT |
 		1<<PAGE_EXEC_SHIFT |
-		p->global<<PAGE_GLOBAL_SHIFT
+		p->global << PAGE_GLOBAL_SHIFT
 	);
 }
Index: kernel/arch/ia32/include/pm.h
===================================================================
--- kernel/arch/ia32/include/pm.h	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/include/pm.h	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -82,5 +82,4 @@
 
 #include <arch/types.h>
-#include <typedefs.h>
 #include <arch/context.h>
 
Index: kernel/arch/ia32/include/proc/task.h
===================================================================
--- kernel/arch/ia32/include/proc/task.h	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/include/proc/task.h	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -36,5 +36,4 @@
 #define KERN_ia32_TASK_H_
 
-#include <typedefs.h>
 #include <arch/types.h>
 #include <adt/bitmap.h>
Index: kernel/arch/ia32/include/smp/apic.h
===================================================================
--- kernel/arch/ia32/include/smp/apic.h	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/include/smp/apic.h	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -108,5 +108,5 @@
 #define ICRlo		(0x300/sizeof(uint32_t))
 #define ICRhi		(0x310/sizeof(uint32_t))
-struct icr {
+typedef struct {
 	union {
 		uint32_t lo;
@@ -131,6 +131,5 @@
 		} __attribute__ ((packed));
 	};
-} __attribute__ ((packed));
-typedef struct icr icr_t;
+} __attribute__ ((packed)) icr_t;
 
 /* End Of Interrupt. */
@@ -139,5 +138,5 @@
 /** Error Status Register. */
 #define ESR		(0x280/sizeof(uint32_t))
-union esr {
+typedef union {
 	uint32_t value;
 	uint8_t err_bitmap;
@@ -153,10 +152,9 @@
 		unsigned : 24;
 	} __attribute__ ((packed));
-};
-typedef union esr esr_t;
+} esr_t;
 
 /* Task Priority Register */
 #define TPR		(0x080/sizeof(uint32_t))
-union tpr {
+typedef union {
 	uint32_t value;
 	struct {
@@ -164,10 +162,9 @@
 		unsigned pri : 4;		/**< Task Priority. */
 	} __attribute__ ((packed));
-};
-typedef union tpr tpr_t;
+} tpr_t;
 
 /** Spurious-Interrupt Vector Register. */
 #define SVR		(0x0f0/sizeof(uint32_t))
-union svr {
+typedef union {
 	uint32_t value;
 	struct {
@@ -177,10 +174,9 @@
 		unsigned : 22;			/**< Reserved. */
 	} __attribute__ ((packed));
-};
-typedef union svr svr_t;
+} svr_t;
 
 /** Time Divide Configuration Register. */
 #define TDCR		(0x3e0/sizeof(uint32_t))
-union tdcr {
+typedef union {
 	uint32_t value;
 	struct {
@@ -188,6 +184,5 @@
 		unsigned : 28;			/**< Reserved. */
 	} __attribute__ ((packed));
-};
-typedef union tdcr tdcr_t;
+} tdcr_t;
 
 /* Initial Count Register for Timer */
@@ -199,5 +194,5 @@
 /** LVT Timer register. */
 #define LVT_Tm		(0x320/sizeof(uint32_t))
-union lvt_tm {
+typedef union {
 	uint32_t value;
 	struct {
@@ -210,11 +205,10 @@
 		unsigned : 14;		/**< Reserved. */
 	} __attribute__ ((packed));
-};
-typedef union lvt_tm lvt_tm_t;
+} lvt_tm_t;
 
 /** LVT LINT registers. */
 #define LVT_LINT0	(0x350/sizeof(uint32_t))
 #define LVT_LINT1	(0x360/sizeof(uint32_t))
-union lvt_lint {
+typedef union {
 	uint32_t value;
 	struct {
@@ -229,10 +223,9 @@
 		unsigned : 15;			/**< Reserved. */
 	} __attribute__ ((packed));
-};
-typedef union lvt_lint lvt_lint_t;
+} lvt_lint_t;
 
 /** LVT Error register. */
 #define LVT_Err		(0x370/sizeof(uint32_t))
-union lvt_error {
+typedef union {
 	uint32_t value;
 	struct {
@@ -244,10 +237,9 @@
 		unsigned : 15;		/**< Reserved. */
 	} __attribute__ ((packed));
-};
-typedef union lvt_error lvt_error_t;
+} lvt_error_t;
 
 /** Local APIC ID Register. */
 #define L_APIC_ID	(0x020/sizeof(uint32_t))
-union l_apic_id {
+typedef union {
 	uint32_t value;
 	struct {
@@ -255,6 +247,5 @@
 		uint8_t apic_id;		/**< Local APIC ID. */
 	} __attribute__ ((packed));
-};
-typedef union l_apic_id l_apic_id_t;
+} l_apic_id_t;
 
 /** Local APIC Version Register */
@@ -267,5 +258,5 @@
 /** Logical Destination Register. */
 #define  LDR		(0x0d0/sizeof(uint32_t))
-union ldr {
+typedef union {
 	uint32_t value;
 	struct {
@@ -273,10 +264,9 @@
 		uint8_t id;		/**< Logical APIC ID. */
 	} __attribute__ ((packed));
-};
-typedef union ldr ldr_t;
+} ldr_t;
 
 /** Destination Format Register. */
 #define DFR		(0x0e0/sizeof(uint32_t))
-union dfr {
+typedef union {
 	uint32_t value;
 	struct {
@@ -284,6 +274,5 @@
 		unsigned model : 4;	/**< Model. */
 	} __attribute__ ((packed));
-};
-typedef union dfr dfr_t;
+} dfr_t;
 
 /* IO APIC */
@@ -297,5 +286,5 @@
 
 /** I/O Register Select Register. */
-union io_regsel {
+typedef union {
 	uint32_t value;
 	struct {
@@ -303,9 +292,8 @@
 		unsigned : 24;		/**< Reserved. */
 	} __attribute__ ((packed));
-};
-typedef union io_regsel io_regsel_t;
+} io_regsel_t;
 
 /** I/O Redirection Register. */
-struct io_redirection_reg {
+typedef struct io_redirection_reg {
 	union {
 		uint32_t lo;
@@ -330,10 +318,9 @@
 	};
 	
-} __attribute__ ((packed));
-typedef struct io_redirection_reg io_redirection_reg_t;
+} __attribute__ ((packed)) io_redirection_reg_t;
 
 
 /** IO APIC Identification Register. */
-union io_apic_id {
+typedef union {
 	uint32_t value;
 	struct {
@@ -342,6 +329,5 @@
 		unsigned : 4;		/**< Reserved. */
 	} __attribute__ ((packed));
-};
-typedef union io_apic_id io_apic_id_t;
+} io_apic_id_t;
 
 extern volatile uint32_t *l_apic;
Index: kernel/arch/ia32/include/smp/mps.h
===================================================================
--- kernel/arch/ia32/include/smp/mps.h	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/include/smp/mps.h	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -37,5 +37,4 @@
 
 #include <arch/types.h>
-#include <typedefs.h>
 #include <synch/waitq.h>
 #include <config.h>
Index: kernel/arch/ia32/include/smp/smp.h
===================================================================
--- kernel/arch/ia32/include/smp/smp.h	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/include/smp/smp.h	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -37,5 +37,4 @@
 
 #include <arch/types.h>
-#include <typedefs.h>
 
 /** SMP config opertaions interface. */
Index: kernel/arch/ia32/include/types.h
===================================================================
--- kernel/arch/ia32/include/types.h	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/include/types.h	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -37,4 +37,6 @@
 
 #define NULL 0
+#define false 0
+#define true 1
 
 typedef signed char int8_t;
@@ -48,4 +50,8 @@
 typedef unsigned long long uint64_t;
 
+typedef uint32_t size_t;
+typedef uint32_t count_t;
+typedef uint32_t index_t;
+
 typedef uint32_t uintptr_t;
 typedef uint32_t pfn_t;
@@ -56,5 +62,26 @@
 typedef int32_t native_t;
 
-typedef struct page_specifier pte_t;
+typedef uint8_t bool;
+typedef uint64_t task_id_t;
+typedef uint32_t context_id_t;
+
+typedef int32_t inr_t;
+typedef int32_t devno_t;
+
+/** Page Table Entry. */
+typedef struct {
+	unsigned present : 1;
+	unsigned writeable : 1;
+	unsigned uaccessible : 1;
+	unsigned page_write_through : 1;
+	unsigned page_cache_disable : 1;
+	unsigned accessed : 1;
+	unsigned dirty : 1;
+	unsigned pat : 1;
+	unsigned global : 1;
+	unsigned soft_valid : 1;	/**< Valid content even if the present bit is not set. */
+	unsigned avl : 2;
+	unsigned frame_address : 20;
+} __attribute__ ((packed)) pte_t;
 
 #endif
Index: kernel/arch/ia32/src/boot/boot.S
===================================================================
--- kernel/arch/ia32/src/boot/boot.S	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/src/boot/boot.S	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -75,5 +75,5 @@
 
 	mov $VESA_INIT_SEGMENT << 4, %edi
-	jmpl %edi
+	jmpl *%edi
 	
 	vesa_meeting_point:
Index: kernel/arch/ia32/src/cpu/cpu.c
===================================================================
--- kernel/arch/ia32/src/cpu/cpu.c	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/src/cpu/cpu.c	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -40,5 +40,4 @@
 #include <arch/types.h>
 #include <print.h>
-#include <typedefs.h>
 #include <fpu_context.h>
 
Index: kernel/arch/ia32/src/ddi/ddi.c
===================================================================
--- kernel/arch/ia32/src/ddi/ddi.c	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/src/ddi/ddi.c	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -37,5 +37,4 @@
 #include <proc/task.h>
 #include <arch/types.h>
-#include <typedefs.h>
 #include <adt/bitmap.h>
 #include <mm/slab.h>
Index: kernel/arch/ia32/src/drivers/vesa.c
===================================================================
--- kernel/arch/ia32/src/drivers/vesa.c	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/src/drivers/vesa.c	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -48,5 +48,4 @@
 #include <arch/asm.h>
 #include <arch/types.h>
-#include <typedefs.h>
 #include <memstr.h>
 #include <bitops.h>
Index: kernel/arch/ia32/src/ia32.c
===================================================================
--- kernel/arch/ia32/src/ia32.c	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/src/ia32.c	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -36,5 +36,4 @@
 
 #include <arch/types.h>
-#include <typedefs.h>
 
 #include <arch/pm.h>
Index: kernel/arch/ia32/src/mm/as.c
===================================================================
--- kernel/arch/ia32/src/mm/as.c	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/src/mm/as.c	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -35,5 +35,5 @@
 
 #include <arch/mm/as.h>
-#include <genarch/mm/as_pt.h>
+#include <genarch/mm/page_pt.h>
 
 /** Architecture dependent address space init. */
Index: kernel/arch/ia32/src/mm/memory_init.c
===================================================================
--- kernel/arch/ia32/src/mm/memory_init.c	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/src/mm/memory_init.c	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -39,5 +39,5 @@
 
 uint8_t e820counter = 0xff;
-struct e820memmap_ e820table[MEMMAP_E820_MAX_RECORDS];
+e820memmap_t e820table[MEMMAP_E820_MAX_RECORDS];
 uint32_t e801memorysize;
 
Index: kernel/arch/ia32/src/pm.c
===================================================================
--- kernel/arch/ia32/src/pm.c	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/src/pm.c	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -36,5 +36,4 @@
 #include <config.h>
 #include <arch/types.h>
-#include <typedefs.h>
 #include <arch/interrupt.h>
 #include <arch/asm.h>
Index: kernel/arch/ia32/src/smp/mps.c
===================================================================
--- kernel/arch/ia32/src/smp/mps.c	(revision 6f4495f5c6915097f277fabc29a874343f77e88a)
+++ kernel/arch/ia32/src/smp/mps.c	(revision 0b3a78fec9fcd0f2d1ba2ad32efec95c4ad2cfdf)
@@ -43,5 +43,4 @@
 #include <func.h>
 #include <arch/types.h>
-#include <typedefs.h>
 #include <cpu.h>
 #include <arch/asm.h>
