forked from Imagelibrary/rtems
Removed references to printk as part of moving it to a more shareable
location in libc.
This commit is contained in:
@@ -9,7 +9,7 @@ VPATH = @srcdir@:@srcdir@/../../shared/io
|
|||||||
PGM = $(ARCH)/console.rel
|
PGM = $(ARCH)/console.rel
|
||||||
|
|
||||||
## sources
|
## sources
|
||||||
C_FILES = console.c printk.c
|
C_FILES = console.c
|
||||||
|
|
||||||
console_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.o)
|
console_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ VPATH = @srcdir@:@srcdir@/../../shared/io
|
|||||||
|
|
||||||
PGM = $(ARCH)/console.rel
|
PGM = $(ARCH)/console.rel
|
||||||
|
|
||||||
C_FILES = console.c inch.c outch.c printk.c
|
C_FILES = console.c inch.c outch.c
|
||||||
S_FILES = videoAsm.S
|
S_FILES = videoAsm.S
|
||||||
|
|
||||||
console_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.o) $(S_FILES:%.S=$(ARCH)/%.o)
|
console_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.o) $(S_FILES:%.S=$(ARCH)/%.o)
|
||||||
|
|||||||
@@ -4,19 +4,12 @@
|
|||||||
|
|
||||||
AUTOMAKE_OPTIONS = foreign 1.4
|
AUTOMAKE_OPTIONS = foreign 1.4
|
||||||
|
|
||||||
H_FILES = bspIo.h
|
H_FILES =
|
||||||
|
|
||||||
C_FILES = printk.c
|
C_FILES =
|
||||||
|
|
||||||
$(PROJECT_INCLUDE):
|
|
||||||
$(mkinstalldirs) $@
|
|
||||||
$(PROJECT_INCLUDE)/%.h: %.h
|
|
||||||
$(INSTALL_DATA) $< $@
|
|
||||||
|
|
||||||
PREINSTALL_FILES += $(PROJECT_INCLUDE) $(H_FILES:%.h=$(PROJECT_INCLUDE)/%.h)
|
|
||||||
|
|
||||||
all-local: $(PREINSTALL_FILES)
|
all-local: $(PREINSTALL_FILES)
|
||||||
|
|
||||||
EXTRA_DIST = bspIo.h printk.c
|
EXTRA_DIST =
|
||||||
|
|
||||||
include $(top_srcdir)/../../../../../automake/local.am
|
include $(top_srcdir)/../../../../../automake/local.am
|
||||||
|
|||||||
@@ -1,37 +0,0 @@
|
|||||||
/* bspIo.h
|
|
||||||
*
|
|
||||||
* This include file contains declaration of interface that
|
|
||||||
* will be provided by the file contained in this directory.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1998 valette@crf.canon.fr
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.OARcorp.com/rtems/license.html.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
#ifndef _LIBBSP_I386_SHARED_IO_BSP_IO_H
|
|
||||||
#define _LIBBSP_I386_SHARED_IO_BSP_IO_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
* All the functions declared as extern after this comment
|
|
||||||
* MUST be implemented in each BSP. Using this function,
|
|
||||||
* this directory contains shared code that export higher level
|
|
||||||
* functionnality described after the next command.
|
|
||||||
*/
|
|
||||||
typedef void (*BSP_output_char_function_type) (char c);
|
|
||||||
typedef char (*BSP_polling_getchar_function_type) (void);
|
|
||||||
|
|
||||||
extern BSP_output_char_function_type BSP_output_char;
|
|
||||||
extern BSP_polling_getchar_function_type BSP_poll_char;
|
|
||||||
/*
|
|
||||||
* All the function declared as extern after this comment
|
|
||||||
* are available for each ix86 BSP by compiling and linking
|
|
||||||
* the files contained in this directory PROVIDED definition
|
|
||||||
* and initialisation of the previous variable are done.
|
|
||||||
*/
|
|
||||||
void printk(char *fmt, ...);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
@@ -1,121 +0,0 @@
|
|||||||
/*-------------------------------------------------------------------------+
|
|
||||||
| printk.c v1.1 - PC386 BSP - 1997/08/07
|
|
||||||
+--------------------------------------------------------------------------+
|
|
||||||
| (C) Copyright 1997 -
|
|
||||||
| - NavIST Group - Real-Time Distributed Systems and Industrial Automation
|
|
||||||
|
|
|
||||||
| http://pandora.ist.utl.pt
|
|
||||||
|
|
|
||||||
| Instituto Superior Tecnico * Lisboa * PORTUGAL
|
|
||||||
+--------------------------------------------------------------------------+
|
|
||||||
| Disclaimer:
|
|
||||||
|
|
|
||||||
| This file is provided "AS IS" without warranty of any kind, either
|
|
||||||
| expressed or implied.
|
|
||||||
+--------------------------------------------------------------------------+
|
|
||||||
| This code is based on code by: Jose Rufino - IST
|
|
||||||
|
|
|
||||||
| $Id$
|
|
||||||
+--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
|
|
||||||
#include <stdarg.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <bspIo.h>
|
|
||||||
#include <libcpu/cpu.h>
|
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------+
|
|
||||||
| Function: printNum
|
|
||||||
| Description: print number in a given base.
|
|
||||||
| Global Variables: None.
|
|
||||||
| Arguments: num - number to print, base - base used to print the number.
|
|
||||||
| Returns: Nothing.
|
|
||||||
+--------------------------------------------------------------------------*/
|
|
||||||
static void
|
|
||||||
printNum(long unsigned int num, int base, int sign)
|
|
||||||
{
|
|
||||||
long unsigned int n;
|
|
||||||
int count;
|
|
||||||
char toPrint[20];
|
|
||||||
|
|
||||||
if ( (sign == 1) && ((long)num < 0) ) {
|
|
||||||
BSP_output_char('-');
|
|
||||||
num = -num;
|
|
||||||
}
|
|
||||||
|
|
||||||
count = 0;
|
|
||||||
while ((n = num / base) > 0) {
|
|
||||||
toPrint[count++] = (num - (n*base));
|
|
||||||
num = n ;
|
|
||||||
}
|
|
||||||
toPrint[count++] = num;
|
|
||||||
|
|
||||||
for (n = 0; n < count; n++){
|
|
||||||
BSP_output_char("0123456789ABCDEF"[(int)(toPrint[count-(n+1)])]);
|
|
||||||
}
|
|
||||||
} /* printNum */
|
|
||||||
|
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------+
|
|
||||||
| Function: printk
|
|
||||||
| Description: a simplified version of printf intended for use when the
|
|
||||||
console is not yet initialized or in ISR's.
|
|
||||||
| Global Variables: None.
|
|
||||||
| Arguments: as in printf: fmt - format string, ... - unnamed arguments.
|
|
||||||
| Returns: Nothing.
|
|
||||||
+--------------------------------------------------------------------------*/
|
|
||||||
void
|
|
||||||
printk(char *fmt, ...)
|
|
||||||
{
|
|
||||||
va_list ap; /* points to each unnamed argument in turn */
|
|
||||||
char c, *str;
|
|
||||||
int lflag, base, sign;
|
|
||||||
unsigned int level;
|
|
||||||
|
|
||||||
_CPU_ISR_Disable(level);
|
|
||||||
|
|
||||||
va_start(ap, fmt); /* make ap point to 1st unnamed arg */
|
|
||||||
for (; *fmt != '\0'; fmt++)
|
|
||||||
{
|
|
||||||
lflag = 0;
|
|
||||||
base = 0;
|
|
||||||
sign = 0;
|
|
||||||
if (*fmt == '%')
|
|
||||||
{
|
|
||||||
if ((c = *++fmt) == 'l')
|
|
||||||
{
|
|
||||||
lflag = 1;
|
|
||||||
c = *++fmt;
|
|
||||||
}
|
|
||||||
switch (c)
|
|
||||||
{
|
|
||||||
case 'o': case 'O': base = 8; sign = 0; break;
|
|
||||||
case 'd': case 'D': base = 10; sign = 1; break;
|
|
||||||
case 'u': case 'U': base = 10; sign = 0; break;
|
|
||||||
case 'x': case 'X': base = 16; sign = 0; break;
|
|
||||||
case 's':
|
|
||||||
for (str = va_arg(ap, char *); *str; str++)
|
|
||||||
BSP_output_char(*str);
|
|
||||||
break;
|
|
||||||
case 'c':
|
|
||||||
BSP_output_char(va_arg(ap, char));
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
BSP_output_char(c);
|
|
||||||
break;
|
|
||||||
} /* switch*/
|
|
||||||
|
|
||||||
if (base)
|
|
||||||
printNum(lflag ? va_arg(ap, long int) : (long int)va_arg(ap, int),
|
|
||||||
base, sign);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
BSP_output_char(*fmt);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
va_end(ap); /* clean up when done */
|
|
||||||
_CPU_ISR_Enable(level);
|
|
||||||
|
|
||||||
} /* printk */
|
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@ VPATH = @srcdir@:@srcdir@/../../shared/io
|
|||||||
PGM = $(ARCH)/console.rel
|
PGM = $(ARCH)/console.rel
|
||||||
|
|
||||||
## sources
|
## sources
|
||||||
C_FILES = console.c printk.c
|
C_FILES = console.c
|
||||||
|
|
||||||
console_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.o)
|
console_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.o)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user