From 5d18fb057a9158336a79953b88d481c74c6eb0ae Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Sat, 27 Jun 1998 18:51:49 +0000 Subject: PC386 BSP enhancements from Aleksey Romanov (Quality Quorum ). Unfortunately after merging these, the pc386 will not boot using grub for for. It still does not work using netboot for me. Here is his summary of changes: rtems/c/src/lib/libbsp/i386/pc386/Makefile.in Added support for new sub-directory rtems/c/src/lib/libbsp/i386/pc386/bsp_specs Made possible to build COFF image rtems/c/src/lib/libbsp/i386/pc386/console/console.c Added support for serial consoles, selectable by patching binary image, added __assert(), use _IBMPC_inch_sleep() instaed of _IMBPC_inch() rtems/c/src/lib/libbsp/i386/pc386/console/inch.c Added _IMBPC_inch_sleep() rtems/c/src/lib/libbsp/i386/pc386/console/outch.c Oops - just formatting rtems/c/src/lib/libbsp/i386/pc386/include/Makefile.in Added support for new files rtems/c/src/lib/libbsp/i386/pc386/include/bsp.h Added support for new features rtems/c/src/lib/libbsp/i386/pc386/include/pc386uart.h New file: definitions for serial ports rtems/c/src/lib/libbsp/i386/pc386/include/pcibios.h New file: definitions for PCI BIOS rtems/c/src/lib/libbsp/i386/pc386/pc386dev/Makefile.in New file: makefile in new directory rtems/c/src/lib/libbsp/i386/pc386/pc386dev/i386-stub-glue.c New file: i386-stub interface rtems/c/src/lib/libbsp/i386/pc386/pc386dev/i386-stub.c New file: i386-stub itself rtems/c/src/lib/libbsp/i386/pc386/pc386dev/pc386uart.c New file: serial ports rtems/c/src/lib/libbsp/i386/pc386/pc386dev/pcibios.c New file: PCI BIOS support rtems/c/src/lib/libbsp/i386/pc386/start/start.s Commented out DEBUG_EARLY stuff, everything is working fine rtems/c/src/lib/libbsp/i386/pc386/start/start16.s Cleaned up rtems/c/src/lib/libbsp/i386/pc386/startup/bspstart.c Added call to console_resereve_resources rtems/c/src/lib/libbsp/i386/pc386/startup/exit.c Added support for serial console rtems/c/src/lib/libbsp/i386/pc386/startup/ldsegs.s Fixed typo in comments rtems/c/src/lib/libbsp/i386/pc386/tools/Makefile.in Changed to reflect cnages in code rtems/c/src/lib/libbsp/i386/pc386/tools/bin2boot.c Trivialized, problem - I do not know how to make patch remove obsolete files - there are a lot of them there rtems/c/src/lib/libbsp/i386/pc386/tools/binpatch.c New file: utility to do binary patches rtems/c/src/lib/libbsp/i386/pc386/wrapup/Makefile.in Added support for new directory rtems/make/custom/pc386.cfg Add COFF image building --- c/src/lib/libbsp/i386/pc386/include/Makefile.in | 3 ++- c/src/lib/libbsp/i386/pc386/include/bsp.h | 22 ++++++++++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) (limited to 'c/src/lib/libbsp/i386/pc386/include') diff --git a/c/src/lib/libbsp/i386/pc386/include/Makefile.in b/c/src/lib/libbsp/i386/pc386/include/Makefile.in index 8f02fc9b25..49e4168eca 100644 --- a/c/src/lib/libbsp/i386/pc386/include/Makefile.in +++ b/c/src/lib/libbsp/i386/pc386/include/Makefile.in @@ -8,7 +8,8 @@ VPATH = @srcdir@ RTEMS_ROOT = @top_srcdir@ PROJECT_ROOT = @PROJECT_ROOT@ -H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h $(srcdir)/irq.h $(srcdir)/crt.h +H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h $(srcdir)/irq.h \ + $(srcdir)/crt.h $(srcdir)/pc386uart.h $(srcdir)/pcibios.h # # Equate files are for including from assembly preprocessed by diff --git a/c/src/lib/libbsp/i386/pc386/include/bsp.h b/c/src/lib/libbsp/i386/pc386/include/bsp.h index b404003d92..c7920f385b 100644 --- a/c/src/lib/libbsp/i386/pc386/include/bsp.h +++ b/c/src/lib/libbsp/i386/pc386/include/bsp.h @@ -133,8 +133,8 @@ extern "C" { /*-------------------------------------------------------------------------+ | External Variables. +--------------------------------------------------------------------------*/ -extern i386_IDT_slot Interrupt_descriptor_table[256]; -extern i386_GDT_slot Global_descriptor_table [8192]; +extern i386_IDT_slot Interrupt_descriptor_table[]; +extern i386_GDT_slot Global_descriptor_table []; extern rtems_configuration_table BSP_Configuration; /* User provided BSP configuration table. */ @@ -149,14 +149,32 @@ void _IBMPC_initVideo(void); /* from 'outch.c' */ void _IBMPC_outch (char); /* from 'outch.c' */ rtems_boolean _IBMPC_chrdy (char *); /* from 'inch.c' */ char _IBMPC_inch (void); /* from 'inch.c' */ +char _IBMPC_inch_sleep (void); /* from 'inch.c' */ void printk(char *fmt, ...); /* from 'printk.c' */ void rtemsReboot(void); /* from 'exit.c' */ +/* Definitions for PC386ConsolePort */ +#define PC386_CONSOLE_PORT_CONSOLE (-1) +#define PC386_CONSOLE_PORT_COM1 (PC386_UART_COM1) +#define PC386_CONSOLE_PORT_COM2 (PC386_UART_COM2) + +/* GDB stub stuff */ +void i386_stub_glue_init(int uart); +void i386_stub_glue_init_breakin(void); +void set_debug_traps(void); +void breakpoint(void); + #ifdef __cplusplus } #endif #endif /* __BSP_H_ */ /* end of include file */ + + + + + + -- cgit v1.2.3