RTEMS: i386

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Modules | Files | Macros | Typedefs | Functions | Variables
i386
Board Support Packages

i386 Board Support Package. More...

## Modules
| 3C509 Support
| 3C509 support.
| 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 | realmode_int.h
| Definitioins supporting real mode interrupt calls.
file | fb_vesa_rm.c
| FB driver for graphic hardware compatible with VESA Bios Extension Real mode interface utilized Tested on real HW.
file | i386kbd.h
| I386 keyboard definitions.
file | ps2_mouse.h
| Keyboard and mouse definitions.
file | exar17d15x.h
| Exar Multiport PCI UART interface.
file | fb_default_mode.h
| Variable for the definition of the default graphical mode to be initialized.
file | fb_vesa.h
| Headers specific for framebuffer drivers utilizing VESA VBE.
file | rtd316.h
| RTD316 driver interface defintions.
file | tblsizes.h
| Sizes of Global and Interrupt descriptor tables.
file | vbe3.h
| VESA Bios Extension definitions.
file | crt.h
| CRT controller definitions.
file | edid.h
| VESA EDID definitions.
file | kd.h
| KD definitions.
file | keyboard.h
| Keyboard definitions.
file | ps2_drv.h
| Paux driver routines.
file | vgacons.h
| VGA definitions.
file | tm27.h
| Implementation of interrupt mechanisms for Time Test 27.
file | realmode_int.c
| Real mode interrupt call implementation.
file | 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) /* timer 0 counter port */
#define | TIMER_CNTR1 (IO_TIMER1 + 1) /* timer 1 counter port */
#define | TIMER_CNTR2 (IO_TIMER1 + 2) /* timer 2 counter port */
#define | TIMER_MODE (IO_TIMER1 + 3) /* timer mode port */
#define | TIMER_SEL0 0x00 /* select counter 0 */
#define | TIMER_SEL1 0x40 /* select counter 1 */
#define | TIMER_SEL2 0x80 /* select counter 2 */
#define | TIMER_INTTC 0x00 /* mode 0, intr on terminal cnt */
#define | TIMER_ONESHOT 0x02 /* mode 1, one shot */
#define | TIMER_RATEGEN 0x04 /* mode 2, rate generator */
#define | TIMER_SQWAVE 0x06 /* mode 3, square wave */
#define | TIMER_SWSTROBE 0x08 /* mode 4, s/w triggered strobe */
#define | TIMER_HWSTROBE 0x0a /* mode 5, h/w triggered strobe */
#define | TIMER_LATCH 0x00 /* latch counter for reading */
#define | TIMER_LSB 0x10 /* r/w counter LSB */
#define | TIMER_MSB 0x20 /* r/w counter MSB */
#define | TIMER_16BIT 0x30 /* r/w counter 16 bits, LSB first */
#define | TIMER_BCD 0x01 /* count in BCD */
#define | TIMER_RD_BACK 0xc0 /* Read Back Command */
#define | RB_NOT_COUNT 0x40 /* Don't select counter latch */
#define | RB_NOT_STATUS 0x20 /* Don't select status latch */
#define | RB_COUNT_0 0x02 /* Counter 0 latch */
#define | RB_COUNT_1 0x04 /* Counter 1 latch */
#define | RB_COUNT_2 0x08 /* Counter 2 latch */
#define | RB_OUTPUT 0x80 /* Output of the counter is 1 */
#define | TIMER_TICK 1193182 /* The internal tick rate in ticks per second */
#define | BSP_CONSOLE_VGA 0
#define | BSP_CONSOLE_COM1 1
#define | BSP_CONSOLE_COM2 2
#define | US_TO_TICK(us) (((us)*105+44)/88)
#define | TICK_TO_US(tk) (((tk)*88+52)/105)
#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.

## Function Documentation

## ◆ bsp_idle_thread()

void * bsp_idle_thread | ( | uintptr_t | ignored | ) |

Optimized idle task.

This BSP provides its own IDLE thread to override the RTEMS one.

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>
confdefs.h
Evaluate Configuration Options.

This BSP provides its own IDLE thread to override the RTEMS one.

Optimized idle task.

The MSR[POW] bit is set to put the CPU into the low power mode defined in HID0. HID0 is set during starup in start.S.

This BSP provides its own IDLE thread to override the RTEMS one.

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>

Optimized idle task.

The MSR[POW] bit is set to put the CPU into the low power mode defined in HID0. HID0 is set during starup in start.S.