RTEMS 6.3
Loading...
Searching...
No Matches

i386 Board Support Package. More...

Topics

 Comm
 Comm.
 Interrupt handlers
 Data structure and the functions to write interrupt handlers.
 PCI
 PCI.
 SMP
 Header file implementing Intel MultiProcessor Specification (MPS) version 1.1 and 1.4 SMP hardware control for Intel Architecture CPUs, with hooks for running correctly on a standard PC without the hardware.

Files

file  bsps/i386/include/bsp/realmode_int.h
 Definitioins supporting real mode interrupt calls.
file  bsps/i386/pc386/console/fb_vesa_rm.c
 FB driver for graphic hardware compatible with VESA Bios Extension Real mode interface utilized Tested on real HW.
file  bsps/i386/pc386/console/i386kbd.h
 I386 keyboard definitions.
file  bsps/i386/pc386/console/ps2_mouse.h
 Keyboard and mouse definitions.
file  bsps/i386/pc386/include/bsp/exar17d15x.h
 Exar Multiport PCI UART interface.
file  bsps/i386/pc386/include/bsp/fb_default_mode.h
 Variable for the definition of the default graphical mode to be initialized.
file  bsps/i386/pc386/include/bsp/fb_vesa.h
 Headers specific for framebuffer drivers utilizing VESA VBE.
file  bsps/i386/pc386/include/bsp/rtd316.h
 RTD316 driver interface defintions.
file  bsps/i386/pc386/include/bsp/tblsizes.h
 Sizes of Global and Interrupt descriptor tables.
file  bsps/i386/pc386/include/bsp/vbe3.h
 VESA Bios Extension definitions.
file  bsps/i386/pc386/include/crt.h
 CRT controller definitions.
file  bsps/i386/pc386/include/edid.h
 VESA EDID definitions.
file  bsps/i386/pc386/include/rtems/kd.h
 KD definitions.
file  bsps/i386/pc386/include/rtems/keyboard.h
 Keyboard definitions.
file  bsps/i386/pc386/include/rtems/ps2_drv.h
 Paux driver routines.
file  bsps/i386/pc386/include/rtems/vgacons.h
 VGA definitions.
file  bsps/i386/pc386/include/tm27.h
 Implementation of interrupt mechanisms for Time Test 27.
file  bsps/i386/pc386/start/realmode_int.c
 Real mode interrupt call implementation.
file  bsps/include/libchip/wd80x3.h
 DP8390 Ethernet controller definitions.

Macros

#define BSP_HAS_FRAME_BUFFER   1
#define BSP_NE2000_NETWORK_DRIVER_NAME   "ne1"
#define BSP_NE2000_NETWORK_DRIVER_ATTACH   rtems_ne_driver_attach
#define BSP_WD8003_NETWORK_DRIVER_NAME   "wd1"
#define BSP_WD8003_NETWORK_DRIVER_ATTACH   rtems_wd_driver_attach
#define BSP_DEC21140_NETWORK_DRIVER_NAME   "dc1"
#define BSP_DEC21140_NETWORK_DRIVER_ATTACH   rtems_dec21140_driver_attach
#define BSP_3C509_NETWORK_DRIVER_NAME   "3c1"
#define BSP_3C509_NETWORK_DRIVER_ATTACH   rtems_3c509_driver_attach
#define RTEMS_BSP_NETWORK_DRIVER_NAME   BSP_DEC21140_NETWORK_DRIVER_NAME
#define RTEMS_BSP_NETWORK_DRIVER_ATTACH   BSP_DEC21140_NETWORK_DRIVER_ATTACH
#define IO_TIMER1   0x40
#define TIMER_CNTR0   (IO_TIMER1 + 0)
#define TIMER_CNTR1   (IO_TIMER1 + 1)
#define TIMER_CNTR2   (IO_TIMER1 + 2)
#define TIMER_MODE   (IO_TIMER1 + 3)
#define TIMER_SEL0   0x00
#define TIMER_SEL1   0x40
#define TIMER_SEL2   0x80
#define TIMER_INTTC   0x00
#define TIMER_ONESHOT   0x02
#define TIMER_RATEGEN   0x04
#define TIMER_SQWAVE   0x06
#define TIMER_SWSTROBE   0x08
#define TIMER_HWSTROBE   0x0a
#define TIMER_LATCH   0x00
#define TIMER_LSB   0x10
#define TIMER_MSB   0x20
#define TIMER_16BIT   0x30
#define TIMER_BCD   0x01
#define TIMER_RD_BACK   0xc0
#define RB_NOT_COUNT   0x40
#define RB_NOT_STATUS   0x20
#define RB_COUNT_0   0x02
#define RB_COUNT_1   0x04
#define RB_COUNT_2   0x08
#define RB_OUTPUT   0x80
#define TIMER_TICK   1193182
#define BSP_CONSOLE_VGA   0
#define BSP_CONSOLE_COM1   1
#define BSP_CONSOLE_COM2   2
#define US_TO_TICK(us)
#define TICK_TO_US(tk)
#define BSP_IDLE_TASK_BODY   bsp_idle_thread
#define BSP_CONSOLE_PORT_CONSOLE   (-1)
#define BSP_CONSOLE_PORT_COM1   (BSP_UART_COM1)
#define BSP_CONSOLE_PORT_COM2   (BSP_UART_COM2)

Typedefs

typedef __FILE FILE

Functions

void BSP_runtime_console_select (int *pPrintkPort, int *pConsolePort)
int rtems_ne_driver_attach (struct rtems_bsdnet_ifconfig *, int)
int rtems_wd_driver_attach (struct rtems_bsdnet_ifconfig *, int)
int rtems_dec21140_driver_attach (struct rtems_bsdnet_ifconfig *, int)
int rtems_3c509_driver_attach (struct rtems_bsdnet_ifconfig *config)
void _IBMPC_initVideo (void)
void _IBMPC_outch (char)
char _IBMPC_inch (void)
char _IBMPC_inch_sleep (void)
int BSP_wait_polled_input (void)
int rtems_kbpoll (void)
int getch (void)
void add_to_queue (unsigned short b)
void Wait_X_ms (unsigned int timeToWait)
void Calibrate_loop_1ms (void)
void rtems_irq_mngt_init (void)
void Clock_driver_install_handler (void)
void Clock_driver_support_initialize_hardware (void)
void * bsp_idle_thread (uintptr_t ignored)
 Optimized idle task.
void kbd_reset_setup (char *str, int *ints)
size_t read_aux (char *buffer, size_t count)
bool bsp_get_serial_mouse_device (const char **name, const char **type)
void register_leds (int console, unsigned int led, unsigned int *addr, unsigned int mask)
const char * bsp_cmdline (void)
const char * bsp_cmdline_arg (const char *arg)
void init_remote_gdb (void)
void i386_stub_glue_init (int uart)
void i386_stub_glue_init_breakin (void)
int i386_stub_glue_uart (void)
void breakpoint (void)
uint32_t BSP_irq_count_dump (FILE *f)
void raw_idt_notify (void)
void C_dispatch_isr (int vector)

Variables

interrupt_gate_descriptor Interrupt_descriptor_table [IDT_SIZE]
segment_descriptors _Global_descriptor_table [GDT_SIZE]

Detailed Description

i386 Board Support Package.

Macro Definition Documentation

◆ TICK_TO_US

#define TICK_TO_US ( tk)
Value:
(((tk)*88+52)/105)

◆ US_TO_TICK

#define US_TO_TICK ( us)
Value:
(((us)*105+44)/88)

Function Documentation

◆ bsp_idle_thread()

void * bsp_idle_thread ( uintptr_t ignored)

Optimized idle task.

This idle task sets the power mode to idle. This causes the processor clock to be stopped, while on-chip peripherals remain active. Any enabled interrupt from a peripheral or an external interrupt source will cause the processor to resume execution.

To enable the idle task use the following in the system configuration:

#include <bsp.h>
#define CONFIGURE_INIT
#define CONFIGURE_IDLE_TASK_BODY bsp_idle_thread
#include <confdefs.h>
This header file evaluates the application configuration options defined by the application.