Index: arch/ppc/Makefile.inc
===================================================================
--- arch/ppc/Makefile.inc	(revision b52da8d7b8d152a08bbcc4e21a25383ba0367730)
+++ arch/ppc/Makefile.inc	(revision dfbc2297945596bc138ea300b50da69b23b48d2a)
@@ -23,3 +23,3 @@
 	arch/mm/frame.c \
 	arch/mm/page.c \
-	arch/drivers/vga.c
+	arch/drivers/ofw.c
Index: arch/ppc/include/ppc.h
===================================================================
--- arch/ppc/include/ppc.h	(revision dfbc2297945596bc138ea300b50da69b23b48d2a)
+++ arch/ppc/include/ppc.h	(revision dfbc2297945596bc138ea300b50da69b23b48d2a)
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2005 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.
+ */
+
+#ifndef __ppc_PPC_H__
+#define __ppc_PPC_H__
+
+extern void early_init(int r3, int r4, int r5);
+
+#endif
Index: arch/ppc/include/vga.h
===================================================================
--- arch/ppc/include/vga.h	(revision b52da8d7b8d152a08bbcc4e21a25383ba0367730)
+++ 	(revision )
@@ -1,42 +1,0 @@
-/*
- * Copyright (C) 2005 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.
- */
-
-#ifndef __VGA_H__
-#define __VGA_H__
-
-#define ROW		80
-#define ROWS		25
-#define SCREEN		(ROW*ROWS)
-
-extern void vga_init(void);
-extern void vga_putchar(const char ch);
-
-static void vga_check_cursor(void);
-static void vga_display_char(char ch);
-
-#endif
Index: arch/ppc/src/asm.s
===================================================================
--- arch/ppc/src/asm.s	(revision b52da8d7b8d152a08bbcc4e21a25383ba0367730)
+++ arch/ppc/src/asm.s	(revision dfbc2297945596bc138ea300b50da69b23b48d2a)
@@ -30,5 +30,9 @@
 
 .global cpu_halt
+.global cpu_sleep
+
 cpu_halt:
 	b cpu_halt
- 
+
+cpu_sleep:
+	b cpu_sleep
Index: arch/ppc/src/drivers/vga.c
===================================================================
--- arch/ppc/src/drivers/vga.c	(revision b52da8d7b8d152a08bbcc4e21a25383ba0367730)
+++ 	(revision )
@@ -1,92 +1,0 @@
-/*
- * Copyright (C) 2005 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.
- */
-
-#include <arch/vga.h>
-#include <putchar.h>
-#include <mm/page.h>
-#include <synch/spinlock.h>
-#include <arch/types.h>
-#include <arch/asm.h>
-
-static spinlock_t vgalock;
-static __u32 vga_cursor;
-
-void vga_move_cursor(void);
-
-void vga_init(void)
-{
-}
-
-void vga_display_char(char ch)
-{
-//	__u8 *vram = (__u8 *) PA2KA(VIDEORAM);
-	
-//	vram[vga_cursor*2] = ch;
-}
-
-/*
- * This function takes care of scrolling.
- */
-void vga_check_cursor(void)
-{
-}
-
-void vga_putchar(const char ch)
-{
-	pri_t pri;
-
-	pri = cpu_priority_high();
-	spinlock_lock(&vgalock);
-
-	switch (ch) {
-	    case '\n':
-		vga_cursor = (vga_cursor + ROW) - vga_cursor % ROW;
-		break;
-	    case '\t':
-		vga_cursor = (vga_cursor + 8) - vga_cursor % 8;
-		break; 
-	    default:
-		vga_display_char(ch);
-		vga_cursor++;
-		break;
-        }
-	vga_check_cursor();
-	vga_move_cursor();
-
-	spinlock_unlock(&vgalock);
-	cpu_priority_restore(pri);
-}
-
-void vga_move_cursor(void)
-{
-}
-
-void putchar(const char ch)
-{
-	vga_putchar(ch);
-}
Index: arch/ppc/src/dummy.s
===================================================================
--- arch/ppc/src/dummy.s	(revision b52da8d7b8d152a08bbcc4e21a25383ba0367730)
+++ arch/ppc/src/dummy.s	(revision dfbc2297945596bc138ea300b50da69b23b48d2a)
@@ -42,5 +42,4 @@
 .global cpu_identify
 .global cpu_arch_init
-.global cpu_sleep
 .global cpu_print_report
 .global get_memory_size
@@ -67,5 +66,4 @@
 cpu_identify:
 cpu_arch_init:
-cpu_sleep:
 cpu_print_report:
 get_memory_size:
@@ -77,3 +75,3 @@
 dummy:
 0:
-	bl 0b
+	b 0b
Index: arch/ppc/src/ppc.c
===================================================================
--- arch/ppc/src/ppc.c	(revision b52da8d7b8d152a08bbcc4e21a25383ba0367730)
+++ arch/ppc/src/ppc.c	(revision dfbc2297945596bc138ea300b50da69b23b48d2a)
@@ -1,4 +1,4 @@
 /*
- * Copyright (C) 2001-2004 Jakub Jermar
+ * Copyright (C) 2005 Martin Decky
  * All rights reserved.
  *
@@ -27,2 +27,11 @@
  */
 
+#include <arch.h>
+#include <arch/ppc.h>
+#include <arch/drivers/ofw.h>
+
+void early_init(int r3, int r4, int r5)
+{
+	ofw = (ofw_entry) r5;
+	ofw_init();
+}
Index: arch/ppc/src/start.S
===================================================================
--- arch/ppc/src/start.S	(revision b52da8d7b8d152a08bbcc4e21a25383ba0367730)
+++ arch/ppc/src/start.S	(revision dfbc2297945596bc138ea300b50da69b23b48d2a)
@@ -32,3 +32,5 @@
 
 kernel_image_start:
+	bl early_init
+	
 	b main_bsp
