Index: HelenOS.config
===================================================================
--- HelenOS.config	(revision 6c1f763345792a110b75308039d34e7caceeef1d)
+++ HelenOS.config	(revision 1f7cb3a9d87b214dbf470650b8d49d9df325db0d)
@@ -334,7 +334,4 @@
 % Watchpoint on rewriting AS with zero
 ! [CONFIG_DEBUG=y&(PLATFORM=amd64|PLATFORM=ia32)] CONFIG_DEBUG_AS_WATCHPOINT (y/n)
-
-% Save all interrupt registers
-! [CONFIG_DEBUG=y&(PLATFORM=amd64|PLATFORM=mips32|PLATFORM=ia32)] CONFIG_DEBUG_ALLREGS (y/n)
 
 % Compile kernel tests
Index: kernel/arch/amd64/include/interrupt.h
===================================================================
--- kernel/arch/amd64/include/interrupt.h	(revision 6c1f763345792a110b75308039d34e7caceeef1d)
+++ kernel/arch/amd64/include/interrupt.h	(revision 1f7cb3a9d87b214dbf470650b8d49d9df325db0d)
@@ -72,5 +72,4 @@
 typedef struct {
 	uint64_t rax;
-	uint64_t rbx;
 	uint64_t rcx;
 	uint64_t rdx;
@@ -81,9 +80,4 @@
 	uint64_t r10;
 	uint64_t r11;
-	uint64_t r12;
-	uint64_t r13;
-	uint64_t r14;
-	uint64_t r15;
-	uint64_t rbp;
 	uint64_t error_word;
 	uint64_t rip;
Index: kernel/arch/amd64/src/asm_utils.S
===================================================================
--- kernel/arch/amd64/src/asm_utils.S	(revision 6c1f763345792a110b75308039d34e7caceeef1d)
+++ kernel/arch/amd64/src/asm_utils.S	(revision 1f7cb3a9d87b214dbf470650b8d49d9df325db0d)
@@ -27,21 +27,15 @@
 #
 
-#define IREGISTER_SPACE 120
-
-#define IOFFSET_RAX 0x0
-#define IOFFSET_RBX 0x8
-#define IOFFSET_RCX 0x10
-#define IOFFSET_RDX 0x18
-#define IOFFSET_RSI 0x20
-#define IOFFSET_RDI 0x28
-#define IOFFSET_R8 0x30
-#define IOFFSET_R9 0x38
-#define IOFFSET_R10 0x40
-#define IOFFSET_R11 0x48
-#define IOFFSET_R12 0x50
-#define IOFFSET_R13 0x58
-#define IOFFSET_R14 0x60
-#define IOFFSET_R15 0x68
-#define IOFFSET_RBP 0x70
+#define IREGISTER_SPACE	72 
+
+#define IOFFSET_RAX	0x0
+#define IOFFSET_RCX	0x8
+#define IOFFSET_RDX	0x10
+#define IOFFSET_RSI	0x18
+#define IOFFSET_RDI	0x20
+#define IOFFSET_R8	0x28
+#define IOFFSET_R9	0x30
+#define IOFFSET_R10	0x38
+#define IOFFSET_R11	0x40
 
 #  Mask for interrupts 0 - 31 (bits 0 - 31) where 0 means that int has no error word
@@ -174,5 +168,5 @@
 	ret 		
 
-# Push all general purpose registers on stack except %rbp, %rsp
+# Push all volatile general purpose registers on stack
 .macro save_all_gpr
 	movq %rax, IOFFSET_RAX(%rsp)
@@ -185,12 +179,4 @@
 	movq %r10, IOFFSET_R10(%rsp)
 	movq %r11, IOFFSET_R11(%rsp)
-#ifdef CONFIG_DEBUG_ALLREGS	
-	movq %rbx, IOFFSET_RBX(%rsp)
-	movq %rbp, IOFFSET_RBP(%rsp)
-	movq %r12, IOFFSET_R12(%rsp)
-	movq %r13, IOFFSET_R13(%rsp)
-	movq %r14, IOFFSET_R14(%rsp)
-	movq %r15, IOFFSET_R15(%rsp)
-#endif
 .endm
 
@@ -205,19 +191,7 @@
 	movq IOFFSET_R10(%rsp), %r10
 	movq IOFFSET_R11(%rsp), %r11
-#ifdef CONFIG_DEBUG_ALLREGS	
-	movq IOFFSET_RBX(%rsp), %rbx
-	movq IOFFSET_RBP(%rsp), %rbp
-	movq IOFFSET_R12(%rsp), %r12
-	movq IOFFSET_R13(%rsp), %r13
-	movq IOFFSET_R14(%rsp), %r14
-	movq IOFFSET_R15(%rsp), %r15
-#endif
 .endm
 
-#ifdef CONFIG_DEBUG_ALLREGS
-# define INTERRUPT_ALIGN 256
-#else
-# define INTERRUPT_ALIGN 128
-#endif
+#define INTERRUPT_ALIGN 128
 	
 ## Declare interrupt handlers
Index: kernel/arch/amd64/src/interrupt.c
===================================================================
--- kernel/arch/amd64/src/interrupt.c	(revision 6c1f763345792a110b75308039d34e7caceeef1d)
+++ kernel/arch/amd64/src/interrupt.c	(revision 1f7cb3a9d87b214dbf470650b8d49d9df325db0d)
@@ -81,10 +81,4 @@
 	printf("%%r9=%#llx, %%r10=%#llx, %%r11=%#llx\n", istate->r9,
 	    istate->r10, istate->r11);
-#ifdef CONFIG_DEBUG_ALLREGS	
-	printf("%%r12=%#llx, %%r13=%#llx, %%r14=%#llx\n", istate->r12,
-	    istate->r13, istate->r14);
-	printf("%%r15=%#llx, %%rbx=%#llx, %%rbp=%#llx\n", istate->r15,
-	    istate->rbx, &istate->rbp);
-#endif
 	printf("%%rsp=%#llx\n", &istate->stack[0]);
 }
Index: kernel/arch/ia32/include/interrupt.h
===================================================================
--- kernel/arch/ia32/include/interrupt.h	(revision 6c1f763345792a110b75308039d34e7caceeef1d)
+++ kernel/arch/ia32/include/interrupt.h	(revision 1f7cb3a9d87b214dbf470650b8d49d9df325db0d)
@@ -73,8 +73,4 @@
 	uint32_t ecx;
 	uint32_t edx;
-	uint32_t esi;
-	uint32_t edi;
-	uint32_t ebp;
-	uint32_t ebx;
 
 	uint32_t gs;
Index: kernel/arch/ia32/src/asm.S
===================================================================
--- kernel/arch/ia32/src/asm.S	(revision 6c1f763345792a110b75308039d34e7caceeef1d)
+++ kernel/arch/ia32/src/asm.S	(revision 1f7cb3a9d87b214dbf470650b8d49d9df325db0d)
@@ -269,12 +269,4 @@
 	pushl %gs
 
-#ifdef CONFIG_DEBUG_ALLREGS
-	pushl %ebx
-	pushl %ebp
-	pushl %edi
-	pushl %esi
-#else
-	subl $16, %esp
-#endif
 	pushl %edx
 	pushl %ecx
@@ -298,12 +290,4 @@
 	popl %ecx
 	popl %edx
-#ifdef CONFIG_DEBUG_ALLREGS
-	popl %esi
-	popl %edi
-	popl %ebp
-	popl %ebx
-#else
-	addl $16, %esp
-#endif	
 	
 	popl %gs
Index: kernel/arch/ia32/src/interrupt.c
===================================================================
--- kernel/arch/ia32/src/interrupt.c	(revision 6c1f763345792a110b75308039d34e7caceeef1d)
+++ kernel/arch/ia32/src/interrupt.c	(revision 1f7cb3a9d87b214dbf470650b8d49d9df325db0d)
@@ -78,7 +78,4 @@
 	printf("%%cs=%#lx,flags=%#lx\n", istate->cs, istate->eflags);
 	printf("%%eax=%#lx, %%ecx=%#lx, %%edx=%#lx, %%esp=%p\n", istate->eax, istate->ecx, istate->edx, &istate->stack[0]);
-#ifdef CONFIG_DEBUG_ALLREGS
-	printf("%%esi=%#lx, %%edi=%#lx, %%ebp=%#lx, %%ebx=%#lx\n", istate->esi, istate->edi, istate->ebp, istate->ebx);
-#endif
 	printf("stack: %#lx, %#lx, %#lx, %#lx\n", istate->stack[0], istate->stack[1], istate->stack[2], istate->stack[3]);
 	printf("       %#lx, %#lx, %#lx, %#lx\n", istate->stack[4], istate->stack[5], istate->stack[6], istate->stack[7]);
Index: kernel/arch/mips32/include/context_offset.h
===================================================================
--- kernel/arch/mips32/include/context_offset.h	(revision 6c1f763345792a110b75308039d34e7caceeef1d)
+++ kernel/arch/mips32/include/context_offset.h	(revision 1f7cb3a9d87b214dbf470650b8d49d9df325db0d)
@@ -77,24 +77,15 @@
 #define EOFFSET_T6     0x34
 #define EOFFSET_T7     0x38
-#define EOFFSET_S0     0x3c
-#define EOFFSET_S1     0x40
-#define EOFFSET_S2     0x44
-#define EOFFSET_S3     0x48
-#define EOFFSET_S4     0x4c
-#define EOFFSET_S5     0x50
-#define EOFFSET_S6     0x54
-#define EOFFSET_S7     0x58
-#define EOFFSET_T8     0x5c
-#define EOFFSET_T9     0x60
-#define EOFFSET_GP     0x64
-#define EOFFSET_SP     0x68
-#define EOFFSET_S8     0x6c
-#define EOFFSET_RA     0x70
-#define EOFFSET_LO     0x74
-#define EOFFSET_HI     0x78
-#define EOFFSET_STATUS 0x7c
-#define EOFFSET_EPC    0x80
-#define EOFFSET_K1     0x84
-#define REGISTER_SPACE 136
+#define EOFFSET_T8     0x3c
+#define EOFFSET_T9     0x40
+#define EOFFSET_GP     0x44
+#define EOFFSET_SP     0x48
+#define EOFFSET_RA     0x4c
+#define EOFFSET_LO     0x50
+#define EOFFSET_HI     0x54
+#define EOFFSET_STATUS 0x58
+#define EOFFSET_EPC    0x5c
+#define EOFFSET_K1     0x60
+#define REGISTER_SPACE 100
 
 #ifdef __ASM__
Index: kernel/arch/mips32/include/exception.h
===================================================================
--- kernel/arch/mips32/include/exception.h	(revision 6c1f763345792a110b75308039d34e7caceeef1d)
+++ kernel/arch/mips32/include/exception.h	(revision 1f7cb3a9d87b214dbf470650b8d49d9df325db0d)
@@ -74,17 +74,8 @@
 	uint32_t t6;
 	uint32_t t7;
-	uint32_t s0;
-	uint32_t s1;
-	uint32_t s2;
-	uint32_t s3;
-	uint32_t s4;
-	uint32_t s5;
-	uint32_t s6;
-	uint32_t s7;
 	uint32_t t8;
 	uint32_t t9;
 	uint32_t gp;
 	uint32_t sp;
-	uint32_t s8;
 	uint32_t ra;
 	
Index: kernel/arch/mips32/src/start.S
===================================================================
--- kernel/arch/mips32/src/start.S	(revision 6c1f763345792a110b75308039d34e7caceeef1d)
+++ kernel/arch/mips32/src/start.S	(revision 1f7cb3a9d87b214dbf470650b8d49d9df325db0d)
@@ -76,16 +76,4 @@
 	sw $at, EOFFSET_HI(\r)
 	
-#ifdef CONFIG_DEBUG_ALLREGS	
-	sw $s0, EOFFSET_S0(\r)
-	sw $s1, EOFFSET_S1(\r)
-	sw $s2, EOFFSET_S2(\r)
-	sw $s3, EOFFSET_S3(\r)
-	sw $s4, EOFFSET_S4(\r)
-	sw $s5, EOFFSET_S5(\r)
-	sw $s6, EOFFSET_S6(\r)
-	sw $s7, EOFFSET_S7(\r)
-	sw $s8, EOFFSET_S8(\r)
-#endif
-	
 	sw $gp, EOFFSET_GP(\r)
 	sw $ra, EOFFSET_RA(\r)
@@ -133,15 +121,4 @@
 	lw $t9, EOFFSET_T9(\r)
 	
-#ifdef CONFIG_DEBUG_ALLREGS	
-	lw $s0, EOFFSET_S0(\r)
-	lw $s1, EOFFSET_S1(\r)
-	lw $s2, EOFFSET_S2(\r)
-	lw $s3, EOFFSET_S3(\r)
-	lw $s4, EOFFSET_S4(\r)
-	lw $s5, EOFFSET_S5(\r)
-	lw $s6, EOFFSET_S6(\r)
-	lw $s7, EOFFSET_S7(\r)
-	lw $s8, EOFFSET_S8(\r)
-#endif
 	lw $gp, EOFFSET_GP(\r)
 	lw $ra, EOFFSET_RA(\r)
