1 /* 2 * OF console routines 3 * 4 * Copyright (C) Paul Mackerras 1997. 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version 9 * 2 of the License, or (at your option) any later version. 10 */ 11 #include <stddef.h> 12 #include "types.h" 13 #include "elf.h" 14 #include "string.h" 15 #include "stdio.h" 16 #include "page.h" 17 #include "ops.h" 18 19 #include "of.h" 20 21 static void *of_stdout_handle; 22 23 static int of_console_open(void) 24 { 25 void *devp; 26 27 if (((devp = of_finddevice("/chosen")) != NULL) 28 && (of_getprop(devp, "stdout", &of_stdout_handle, 29 sizeof(of_stdout_handle)) 30 == sizeof(of_stdout_handle))) 31 return 0; 32 33 return -1; 34 } 35 36 static void of_console_write(const char *buf, int len) 37 { 38 of_call_prom("write", 3, 1, of_stdout_handle, buf, len); 39 } 40 41 void of_console_init(void) 42 { 43 console_ops.open = of_console_open; 44 console_ops.write = of_console_write; 45 } 46