forked from Imagelibrary/rtems
* bootloader/misc.c, console/Makefile.am, console/console.c, console/consoleIo.h, console/inch.c, console/polled_io.c, console/uart.c, console/uart.h, include/bsp.h, irq/Makefile.am, irq/irq.c, irq/irq.h, irq/irq_init.c, openpic/openpic.c, openpic/openpic.h, pci/Makefile.am, pci/pci.c, pci/pci.h, residual/Makefile.am, start/start.S, startup/bspstart.c, vectors/vectors.S, vectors/vectors.h, vectors/vectors_init.c: Per PR216, "libbsp/powerpc/shared" BSP has been modified considerably with the goal to make it more flexible and reusable by other BSPs. The main strategies were: - eliminate hardcoded base addresses; devices use offsets and a BSP defined base address. - separate functionality into different files (e.g. reboot from inch.c to reboot.c) which can be overridden by a 'derived' BSP. - separate initialization code into separate files (e.g. PCI bridge detection/initialization was separated from the more generic PCI access routines), also to make it easier for 'derived' BSPs to substitute their own initialization code. There are also a couple of enhancements and fixes: - IRQ handling code now has a hook for attaching a VME bridge. - OpenPIC is now explicitely initialized (polarities, senses). Eliminated the implicit assumption on the presence of an ISA PIC. - UART and console driver now supports more than 1 port. The current maximum of 2 can easily be extended by enlarging a table (it would even be easier if the ISR API was not broken by design). - fixed polled_io.c so it correctly supports console on COM2 - fixed TLB invalidation code (start.S). - exception handler prints a stack backtrace. - added BSP_pciFindDevice() to scan the pci bus for a particular vendor/device/instance.
42 lines
889 B
C
42 lines
889 B
C
/*
|
|
* consoleIo.h -- console I/O package interface
|
|
*
|
|
* Copyright (C) 1999 Eric Valette. 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 __CONSOLE_IO_H
|
|
#define __CONSOLE_IO_H
|
|
|
|
|
|
typedef enum {
|
|
CONSOLE_LOG = 1,
|
|
CONSOLE_SERIAL = 2,
|
|
CONSOLE_VGA = 3,
|
|
CONSOLE_VACUUM = 4
|
|
}ioType;
|
|
|
|
typedef volatile unsigned char * __io_ptr;
|
|
|
|
typedef struct {
|
|
__io_ptr io_base;
|
|
__io_ptr isa_mem_base;
|
|
} board_memory_map;
|
|
|
|
extern board_memory_map *ptr_mem_map;
|
|
|
|
extern int select_console(ioType t);
|
|
/* extern int printk(const char *, ...) __attribute__((format(printf, 1, 2))); */
|
|
extern void debug_putc(const unsigned char c);
|
|
extern int debug_getc(void);
|
|
extern int debug_tstc(void);
|
|
int kbdreset(void);
|
|
|
|
|
|
#endif
|