Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v2.6.15-rc1 49 lines 2.0 kB view raw
1/* 2 * hvconsole.h 3 * Copyright (C) 2004 Ryan S Arnold, IBM Corporation 4 * 5 * LPAR console support. 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 2 of the License, or 10 * (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 20 */ 21 22#ifndef _PPC64_HVCONSOLE_H 23#define _PPC64_HVCONSOLE_H 24 25/* 26 * This is the max number of console adapters that can/will be found as 27 * console devices on first stage console init. Any number beyond this range 28 * can't be used as a console device but is still a valid tty device. 29 */ 30#define MAX_NR_HVC_CONSOLES 16 31 32/* implemented by a low level driver */ 33struct hv_ops { 34 int (*get_chars)(uint32_t vtermno, char *buf, int count); 35 int (*put_chars)(uint32_t vtermno, const char *buf, int count); 36}; 37extern int hvc_get_chars(uint32_t vtermno, char *buf, int count); 38extern int hvc_put_chars(uint32_t vtermno, const char *buf, int count); 39 40struct hvc_struct; 41 42/* Register a vterm and a slot index for use as a console (console_init) */ 43extern int hvc_instantiate(uint32_t vtermno, int index, struct hv_ops *ops); 44/* register a vterm for hvc tty operation (module_init or hotplug add) */ 45extern struct hvc_struct * __devinit hvc_alloc(uint32_t vtermno, int irq, 46 struct hv_ops *ops); 47/* remove a vterm from hvc tty operation (modele_exit or hotplug remove) */ 48extern int __devexit hvc_remove(struct hvc_struct *hp); 49#endif /* _PPC64_HVCONSOLE_H */