summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/pc386 (unfollow)
Commit message (Collapse)AuthorFilesLines
2016-03-10pc386: Improve boot command arguments for console/printk device selectionJoel Sherrill3-39/+156
This patch adds the "--printk=" boot command line argument to specify the printk() device. It also enhances the "--console=" boot command line argument to match any device configured in the console device table. The arguments are parsed as early as possible so they take effect early. Currently, this is immediately after PCI initialization.
2016-03-10Add shared PCI support and enhance pc386 to support non-legacy PCI ↵Joel Sherrill3-5/+34
configuration space This patch fundamentally results from enhancements to the pc386 BSP to support systems which do **NOT** have the legacy PCI BIOS. The patch adds support for detecting when legacy PCI BIOS is not present and then using IO space to access to PCI Configuration Space. This resulted in dynamically selected between two implementations of PCI and refactoring out the shared methods. This patch adds shared implementations of pci_bus_count() and pci_find_device(). Subsequent patches will remove implementations of these methods in other BSPs where possible.
2016-03-10pc386/configure.ac: Delete incorrect and unused AM_CONDITIONALJoel Sherrill1-1/+0
2016-03-10pc386: Eliminate pcibios.h and begin removal obsolete PCI BIOS API usesJoel Sherrill2-7/+1
This first step eliminates the following as public APIs for the pc386 BSP: + pcib_conf_read8 + pcib_conf_read16 + pcib_conf_read32 + pcib_conf_write8 + pcib_conf_write16 + pcib_conf_write32 The if_fxp.c driver uses these enough where I provided local macros to allow the code to be mostly unmodified. On other architectures these names have been used privately. It will take multiple patches to completely eliminate these symbols from the RTEMS source tree. The focus of the first effort is just to eliminate these as a public pc386 API so support can be added for systems without legacy PCI BIOS.
2016-03-04score: Distribute clock tick to all online CPUsSebastian Huber1-5/+10
Update #2554.
2016-03-03pc386: adjust assembly in bsp_fatal_haltGedare Bloom1-1/+3
2016-03-03i386: refactor libcpu/cpu.h into rtems/score/i386.hJoel Sherrill1-1/+1
Fixes #2515.
2016-03-03i386: prepare for paravirtualized interruptsGedare Bloom1-3/+2
2016-03-03i386: relocate fatal halt to bsp layerGedare Bloom2-0/+21
2016-03-03i386: move idle thread into BSP layerGedare Bloom3-0/+23
2016-02-03Use linker set for libio initializationSebastian Huber1-2/+0
Update #2408.
2016-01-11score: Introduce Thread_Entry_informationSebastian Huber1-1/+1
This avoids potential dead code in _Thread_Handler(). It gets rid of the dangerous function pointer casts. Update #2514.
2015-12-24api: Remove deprecated NotepadsAun-Ali Zaidi2-4/+0
Notepads where a feature of RTEMS' tasks that simply functioned in the same way as POSIX keys or threaded local storage (TLS). They were introduced well before per task variables, which are also deprecated, and were barely used in favor of their POSIX alternatives. In addition to their scarce usage, Notepads took up unnecessary memory. For each task: - 16 32-bit integers were allocated. - A total of 64 bytes per task per thread. This is especially critical in low memory and safety-critical applications. They are also defined as uint32_t, and therefore are not guaranteed to hold a pointer. Lastly, they are not portable solutions for SMP and uniprocessor systems, like POSIX keys and TLS. updates #2493.
2015-12-10bsps: Delete superfluous bsp_pretasking_hook()Sebastian Huber1-1/+0
Use the bsp_predriver_hook() instead. Update #2408.
2015-12-10bsps: Call bsp_work_area_initialize() earlySebastian Huber3-10/+10
Call bsp_work_area_initialize() before bsp_start(). This allows bsp_start() to use malloc() etc. which is beneficial for systems with a plug-and-play hardware enumeration. Update #2408.
2015-10-26basdefs.h: Add and use RTEMS_PACKEDSebastian Huber2-17/+17
2015-10-26basdefs.h: Add and use RTEMS_UNUSEDSebastian Huber1-1/+1
2015-09-30bsps/i386: Interrupt server supportSebastian Huber1-4/+4
2015-07-16Most bsp.h: Switch to LIBBSP_@CPU@_@BSP_FAMILY@_H for guardJoel Sherrill1-2/+2
This was done by the following script run from libbsp: find * -name bsp.h | xargs -e grep -l "#ifndef.*_BSP_H" | while read b do echo $b cpu=`echo $b | cut -d'/' -f1 | tr '[:lower:]' '[:upper:]' ` bsp=`echo $b | cut -d'/' -f2 | tr '[:lower:]' '[:upper:]' ` g="LIBBSP_${cpu}_${bsp}_BSP_H" # echo $g sed -e "s/ifndef _BSP_H/ifndef ${g}/" \ -e "s/define _BSP_H/define ${g}/" \ -i $b done
2015-06-11pc386/console/fb*.c: Use atomics to avoid dependency on pthreadsJoel Sherrill3-44/+45
closes #2364.
2015-05-26i386/pc386: default graphics driver changed from VGA to VESA basedJan Dolezal3-23/+29
basic VGA driver can be enabled during configure phase by exporting variable USE_VGA=1 so that it is available in configure environment cirrus driver is enabled the same way by exporting variable USE_CIRRUS_GD5446=1
2015-05-26i386/pc386/VESA framebuffer driver: modified and extended initialization optionsJan Dolezal4-40/+172
driver is not initialized by default initialization is possible through multiboot command line option or through the string variable (see fb_default_mode.h) set in user's module allowing the driver to evaluate this variable after the two modules are linked together
2015-05-21pc386/clock/ckinit.c: Remove prototyped but not defined warningJoel Sherrill1-1/+0
2015-05-20bsps: Convert clock drivers to use a timecounterAlexander Krutwig1-103/+22
Update #2271.
2015-01-04pc386: Add Edison base supportJoel Sherrill12-17/+220
The current support for the Edison supports a single polled UART for input and output plus a simulated clock tick. The activities forward for supporting the Edison have been posted on the RTEMS mailing lists and at: http://rtemsramblings.blogspot.com/2014/12/intel-edison-and-rtems-road-forward.html
2015-01-04pc386: Add BSP_ENABLE_COM1_COM4 BSP optionJoel Sherrill3-27/+38
This allows the support for the legacy COM1-COM4 serial ports to be completely disabled. It is needed to prevent hangs on some hardware. In particular, the Intel Edison where it is not present.
2015-01-04pc386: Add BSP_ENABLE_IDE BSP optionJoel Sherrill4-1/+13
This allows the IDE support to be completely disabled. It is needed to prevent hangs on some hardware. In particular, the Intel Edison where it is not present.
2015-01-04pc386: Add BSP_ENABLE_VGA BSP optionJoel Sherrill7-36/+69
This allows the VGA and keyboard console to be completely disabled. It is useful on PCs without displays and prevents a very slow boot time on the Intel Edison.
2014-12-05Update bug report URLSebastian Huber2-2/+2
2014-12-05libmisc: More useful default configurationSebastian Huber1-1/+0
The dummy.c was a de-facto default configuration. Rename it to default-configuration.c. Use unlimited objects and the stack checker. This makes it easier for new RTEMS users which will likely use this file if they just work with the usual main() function as the application entry point. Provide proper arguments for main() using the BSP command line. Add spare user extensions and drivers. Do not initialize the network by default. Delete bspinit.c.
2014-12-04i386: doxygen and comments related to VESA real mode framebufferJan Dolezal5-349/+542
2014-12-04i386/pc386: cammelCase (struct and function names) to underscores, typedefed ↵Jan Dolezal5-241/+244
structs, break >80 chars lines, removed newlines at EOFs fb_vesa_rm.c: removed inline from functions declared in fb_vesa.h removed unnecessary printks in the end of patch edid.h, vbe3.h: switched from custom *PACKED_ATTRIBUTE at the structs to the RTEMS_COMPILER_PACKED_ATTRIBUTE for easier maintainability of doxygen
2014-12-03pc386 bsp fix for default modeBen Gras1-2/+2
If USE_VBE_RM is 0, vesa_realmode_bootup_init() is not available so the test should be #if instead of #ifdef.
2014-11-20autotools: regenerate preinstall.am for pc386Gedare Bloom1-1/+2
2014-11-20i386/pc386: VESA based frame buffer utilizing real mode interrupt 10hJan Dolezal6-0/+1021
2014-11-20i386/pc386/include: header files for VESA BIOS EXTENSIONS and VESA Extended ↵Jan Dolezal4-0/+986
Display Identification Data
2014-11-20i386/shared/realmode_int: real mode interrupt interfaceJan Dolezal2-0/+6
2014-11-20i386/pc386: configurable size of descriptor tablesJan Dolezal6-8/+51
2014-10-23bsps: Move extern "C" to not cover includesSebastian Huber1-4/+4
Some includes may use C++ and this conflicts if surrounded extern "C".
2014-10-16i386/pc386: Fix warningsJoel Sherrill2-4/+32
2014-10-13i386/pc386: Clean up and fix warningsJoel Sherrill3-8/+9
2014-10-10i386/pc386: Eliminate multiple warningsJoel Sherrill9-75/+114
2014-09-16pc386/.../bsp.h: Do not include crt.hJoel Sherrill1-6/+0
crt.h defines such lovely constants as "RED" and "GREEN" which have a nasty habit of conflicting with non-BSP code. There is no reason to include this private .h from bsp.h and pollute the namespace for applications.
2014-09-16Use correct prototype of benchmark_timer_read()Joel Sherrill1-3/+3
This change starts with removing the effectively empty file timerdrv.h. The prototypes for benchmark_timer_XXX() were in btimer.h which was not universally used. Thus every use of timerdrv.h had to be changed to btimer.h. Then the prototypes for benchmark_timer_read() had to be adjusted to return benchmark_timer_t rather than int or uint32_t. I took this opportunity to also correct the file headers to separate the copyright from the file description comments which is needed to ensure the copyright isn't propagated into Doxygen output.
2014-08-29Regenerate all preinstall.am files.Chris Johns1-5/+5
With this patch the preinstall.am files are in a set order and not dependent on now perl implements a hash.
2014-04-22bsps: Fix TLS support in linker command filesSebastian Huber1-1/+3
The TLS section symbols had wrong values in case of an empty TLS data section and a nonempty TLS BSS section.
2014-03-21pc386/include/bsp.h: Remove rtems_bsp_delay()Joel Sherrill1-16/+0
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns32-32/+32
2014-02-04bsps: Thread-local storage (TLS) for linkcmdsSebastian Huber1-0/+14
2013-12-30i386/pc386: Add doxygen file headers.Toma Radu14-7/+119