ofconsole.c (830B)
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * OF console routines 4 * 5 * Copyright (C) Paul Mackerras 1997. 6 */ 7#include <stddef.h> 8#include "types.h" 9#include "elf.h" 10#include "string.h" 11#include "stdio.h" 12#include "page.h" 13#include "ops.h" 14 15#include "of.h" 16 17static unsigned int of_stdout_handle; 18 19static int of_console_open(void) 20{ 21 void *devp; 22 23 if (((devp = of_finddevice("/chosen")) != NULL) 24 && (of_getprop(devp, "stdout", &of_stdout_handle, 25 sizeof(of_stdout_handle)) 26 == sizeof(of_stdout_handle))) { 27 of_stdout_handle = be32_to_cpu(of_stdout_handle); 28 return 0; 29 } 30 31 return -1; 32} 33 34static void of_console_write(const char *buf, int len) 35{ 36 of_call_prom("write", 3, 1, of_stdout_handle, buf, len); 37} 38 39void of_console_init(void) 40{ 41 console_ops.open = of_console_open; 42 console_ops.write = of_console_write; 43}