Index: boot/arch/sparc64/loader/boot.S
===================================================================
--- boot/arch/sparc64/loader/boot.S	(revision 57ce359ffbe02e57f3174daac33abbe9e660d9dc)
+++ boot/arch/sparc64/loader/boot.S	(revision 1b43a0495c2749ca4430886badcc6e9320843580)
@@ -31,5 +31,7 @@
 #include <register.h>
 
-#define INITIAL_STACK_SIZE 	1024
+#define INITIAL_STACK_SIZE 	8192
+
+#define NWINDOWS		8
 
 .register %g2, #scratch
@@ -55,10 +57,13 @@
 .align 8
 1:	
-	flushw
-
 	/*
 	 * Disable interrupts and disable address masking.
 	 */
 	wrpr %g0, PSTATE_PRIV_BIT, %pstate
+	
+	wrpr %g0, NWINDOWS - 2, %cansave	! set maximum saveable windows
+	wrpr %g0, 0, %canrestore		! get rid of windows we will never need again
+	wrpr %g0, 0, %otherwin			! make sure the window state is consistent
+	wrpr %g0, NWINDOWS - 1, %cleanwin	! prevent needless clean_window traps for kernel
 
 	set initial_stack_top, %sp
Index: boot/arch/sparc64/loader/main.c
===================================================================
--- boot/arch/sparc64/loader/main.c	(revision 57ce359ffbe02e57f3174daac33abbe9e660d9dc)
+++ boot/arch/sparc64/loader/main.c	(revision 1b43a0495c2749ca4430886badcc6e9320843580)
@@ -38,10 +38,10 @@
 
 bootinfo_t bootinfo;
+component_t components[COMPONENTS];
 
 void bootstrap(void)
 {
 	printf("HelenOS SPARC64 Bootloader\n");
-
-	component_t components[COMPONENTS];
+	
 	init_components(components);
 
