consplat.c revision 1b83305cfc332b1e19ad6a194b73b2975e6bf79a
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
/*
* isa-specific console configuration routines
*/
#include <sys/ddi_impldefs.h>
extern int polled_debug;
int
{
return (polled_debug);
}
int
{
return (1);
}
/*
* Return generic path to keyboard device from the alias.
*/
char *
plat_kbdpath(void)
{
static char buf[MAXPATHLEN];
char *path;
return (kbdpath);
/*
* look for the keyboard property in /aliases
* The keyboard alias is required on 1275 systems
*/
return (path);
}
return (NULL);
}
/*
* Return generic path to display device from the alias.
*/
char *
plat_fbpath(void)
{
static char buf[MAXPATHLEN];
char *path;
return (fbpath);
/* look for the screen property in /aliases */
return (path);
}
return (NULL);
}
char *
plat_mousepath(void)
{
static char buf[MAXPATHLEN];
char *path, *p, *q;
return (mousepath);
/* look for the mouse property in /aliases */
return (path);
}
if (!plat_support_serial_kbd_and_ms())
return (NULL);
return (NULL);
return (NULL);
return (NULL);
return (NULL);
/*
* If we didn't find the mouse property and we're on an OBP
* is the 'b' channel of the keyboard duart. Change :a to :b
* or append :b to the last component of the path.
* (It's still canonical without :a)
*/
if (p != NULL) {
q = strchr(p, ':');
if (q != 0)
*q = (char)0; /* Replace or append options */
(void) strcat(p, ":b");
return (mousepath);
}
return (NULL);
}
char *
plat_stdinpath(void)
{
return (prom_stdinpath());
}
char *
plat_stdoutpath(void)
{
static char *outpath;
static char buf[MAXPATHLEN];
char *p;
return (outpath);
p = prom_stdoutpath();
if (p == NULL)
return (NULL);
/*
* If the output device is a framebuffer, we don't
* care about monitor resolution options strings.
* In fact, we can't handle them at all, so strip them.
*/
if (prom_stdout_is_framebuffer()) {
prom_strip_options(p, buf);
p = buf;
}
outpath = p;
return (outpath);
}
int
plat_stdin_is_keyboard(void)
{
return (prom_stdin_is_keyboard());
}
int
{
return (prom_stdout_is_framebuffer());
}
void
{
/* only used on intel */
}
void
{
}
void
{
}
void
{
}
void
{
}
void
{
}
/*
* Find the path of the virtual console (if available on the
* current architecture).
*
* Returns: -1 if not found, else actual path length.
*/
int
plat_virtual_console_path(char **bufp)
{
int buflen;
static char buf[OBP_MAXPATHLEN];
if (pnode == OBP_BADNODE)
return (-1);
return (-1);
return (buflen);
}