summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386 (follow)
Commit message (Collapse)AuthorAgeFilesLines
* smp: Add and use _SMP_Should_start_processor()Sebastian Huber2015-01-091-5/+1
|
* pc386: Add Edison base supportJoel Sherrill2015-01-0412-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
* pc386: Add BSP_ENABLE_COM1_COM4 BSP optionJoel Sherrill2015-01-043-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.
* pc386: Add BSP_ENABLE_IDE BSP optionJoel Sherrill2015-01-044-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.
* pc386: Add BSP_ENABLE_VGA BSP optionJoel Sherrill2015-01-047-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.
* pc386: scan all functions of multi-function PCI devicesTill Strauman2014-12-231-7/+23
| | | | | | | | | | | | | | | | | | | The current algorithm scans all PCI busses (0..ff) and all devices (0..31) on each bus for bridges and determines the maximum of all subordinate busses encountered. However, the algorithm does not scan all functions present in multi-function devices -- I have a PCI express root complex (82801H) where multiple (non-zero index) functions are 'PCI bridges' whose subordinate bus number is missed by the original algorithm. This commit makes sure that the scan is extended to all functions of multi-function devices. See #2067
* Update bug report URLSebastian Huber2014-12-053-3/+3
|
* libmisc: More useful default configurationSebastian Huber2014-12-051-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.
* i386: doxygen and comments related to VESA real mode framebufferJan Dolezal2014-12-047-371/+622
|
* i386/pc386: cammelCase (struct and function names) to underscores, typedefed ↵Jan Dolezal2014-12-047-245/+250
| | | | | | | | | | 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
* pc386 bsp fix for default modeBen Gras2014-12-031-2/+2
| | | | | If USE_VBE_RM is 0, vesa_realmode_bootup_init() is not available so the test should be #if instead of #ifdef.
* autotools: regenerate preinstall.am for pc386Gedare Bloom2014-11-201-1/+2
|
* i386/pc386: VESA based frame buffer utilizing real mode interrupt 10hJan Dolezal2014-11-206-0/+1021
|
* i386/pc386/include: header files for VESA BIOS EXTENSIONS and VESA Extended ↵Jan Dolezal2014-11-204-0/+986
| | | | Display Identification Data
* i386/shared/realmode_int: real mode interrupt interfaceJan Dolezal2014-11-204-0/+497
|
* i386: global descriptor table manipulation functionsJan Dolezal2014-11-201-36/+120
|
* i386/pc386: configurable size of descriptor tablesJan Dolezal2014-11-206-8/+51
|
* bsps: Move extern "C" to not cover includesSebastian Huber2014-10-231-4/+4
| | | | Some includes may use C++ and this conflicts if surrounded extern "C".
* i386/pc386: Fix warningsJoel Sherrill2014-10-162-4/+32
|
* libbsp/i386/shared: Fix warningsJoel Sherrill2014-10-164-30/+20
|
* i386/shared/comm/uart.c: Remove unused uart_set_driver_handler() methodJoel Sherrill2014-10-161-21/+0
|
* libbsp/i386/shared/comm: Fix warningsJoel Sherrill2014-10-134-9/+9
|
* i386/pc386: Clean up and fix warningsJoel Sherrill2014-10-136-22/+25
|
* i386/pc386: Eliminate multiple warningsJoel Sherrill2014-10-1010-79/+122
|
* Fix assertion "BUF != NULL" for i386Moroz.Oleg2014-10-021-4/+4
| | | | BSP_uart_termios_write_com1 and BSP_uart_termios_write_com2
* pc386/.../bsp.h: Do not include crt.hJoel Sherrill2014-09-161-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.
* Use correct prototype of benchmark_timer_read()Joel Sherrill2014-09-161-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.
* Regenerate all preinstall.am files.Chris Johns2014-08-291-5/+5
| | | | | With this patch the preinstall.am files are in a set order and not dependent on now perl implements a hash.
* bsps: Fix TLS support in linker command filesSebastian Huber2014-04-221-1/+3
| | | | | The TLS section symbols had wrong values in case of an empty TLS data section and a nonempty TLS BSS section.
* score: Add clustered/partitioned schedulingSebastian Huber2014-04-151-1/+7
| | | | | | | | | | | | | | | Clustered/partitioned scheduling helps to control the worst-case latencies in the system. The goal is to reduce the amount of shared state in the system and thus prevention of lock contention. Modern multi-processor systems tend to have several layers of data and instruction caches. With clustered/partitioned scheduling it is possible to honour the cache topology of a system and thus avoid expensive cache synchronization traffic. We have clustered scheduling in case the set of processors of a system is partitioned into non-empty pairwise-disjoint subsets. These subsets are called clusters. Clusters with a cardinality of one are partitions. Each cluster is owned by exactly one scheduler instance.
* score: SMP initialization changesSebastian Huber2014-04-141-5/+13
| | | | | | | | | | | | | | | | | Add and use _CPU_SMP_Start_processor(). Add and use _CPU_SMP_Finalize_initialization(). This makes most _CPU_SMP_Initialize() functions a bit simpler since we can calculate the minimum value of the count of processors requested by the application configuration and the count of physically or virtually available processors in the high-level code. The CPU port has now the ability to signal a processor start failure. With the support for clustered/partitioned scheduling the presence of particular processors can be configured to be optional or mandatory. There will be a fatal error only in case mandatory processors are not present. The CPU port may use a timeout to monitor the start of a processor.
* pc386/include/bsp.h: Remove rtems_bsp_delay()Joel Sherrill2014-03-211-16/+0
|
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-2141-41/+41
|
* score: Rename rtems_smp_process_interrupt()Sebastian Huber2014-02-191-5/+3
| | | | | | Rename rtems_smp_process_interrupt() into _SMP_Inter_processor_interrupt_handler(). Delete unused header file <rtems/bspsmp.h>.
* score: Rename rtems_smp_secondary_cpu_initialize()Sebastian Huber2014-02-191-1/+2
| | | | | | Rename rtems_smp_secondary_cpu_initialize() into _SMP_Start_multitasking_on_secondary_processor(). Move declaration to <rtems/score/smpimpl.h>.
* score: Delete bsp_smp_broadcast_interrupt()Sebastian Huber2014-02-191-6/+0
| | | | | | Since the per-CPU SMP lock must be acquired and released to send the message a single interrupt broadcast operations offers no benefits. If synchronization is required, then a SMP barrier must be used anyway.
* score: Rename bsp_smp_initialize()Sebastian Huber2014-02-191-1/+1
| | | | | Rename bsp_smp_initialize() into _CPU_SMP_Initialize() since every CPU port must supply this function.
* bsps: Thread-local storage (TLS) for linkcmdsSebastian Huber2014-02-041-0/+14
|
* i386/pc386: Add doxygen file headers.Toma Radu2013-12-3014-7/+119
|
* i386: shared: Add doxygenChirayu Desai2013-12-239-116/+252
|
* bsps: Simplify FreeBSD linker setsSebastian Huber2013-12-161-15/+3
|
* pc386/console/conscfg.c: Fix spacingJoel Sherrill2013-09-161-3/+3
|
* bsps: Add and use CLOCK_DRIVER_ISRS_PER_TICK_VALUEJoel Sherrill2013-08-261-17/+4
| | | | | | | pc386 set CLOCK_DRIVER_ISRS_PER_TICK to a string rather than a numeric value. Add CLOCK_DRIVER_ISRS_PER_TICK_VALUE and other clean up on the clock driver.
* bsps/i386: SMP and per-CPU thread dispatch disableSebastian Huber2013-08-091-3/+10
| | | | Interrupt support for SMP and the per-CPU thread dispatch disable level.
* bsps/i386: Revert most SMP related changesSebastian Huber2013-08-091-54/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit partially restores the _ISR_Handler code to the original version in commit b8fc2de1ce089c585da81c157ec0f24a90e484b7. A list of reverted changes follows. commit c236082873cb4a2fd42af4ca0868106e1dd65422 Author: Sebastian Huber <sebastian.huber@embedded-brains.de> Date: Tue Jul 30 15:54:53 2013 +0200 smp: Provide cache optimized Per_CPU_Control Delete _Per_CPU_Information_p. This commit was completely reverted. commit 39e51758c86754cef5ba4521c0c36578521f73d0 Author: Sebastian Huber <sebastian.huber@embedded-brains.de> Date: Fri Jun 14 14:00:38 2013 +0200 smp: Add and use _CPU_SMP_Get_current_processor() Add and use _SMP_Get_current_processor() and rtems_smp_get_current_processor(). Delete bsp_smp_interrupt_cpu(). Change type of current processor index from int to uint32_t to match _SMP_Processor_count type. This commit was completely reverted. commit e94aa61b6820e34732840139dbe3f2016c6f1e24 Author: Till Straumann <strauman@slac.stanford.edu> Date: Fri Aug 5 00:15:50 2011 +0000 2011-08-04 Till Straumann <strauman@slac.stanford.edu> * shared/irq/irq_asm.S: BUGFIX (introduced by SMP changes which moved code around, apparently): *must* store i8259 mask to frame *before* switching to IRQ stack. The code retrieves the mask after switching back to original stack. Also, the IRQ stack has no reserved space for the mask; storing it there could overwrite memory! This commit was completely reverted. commit 01f2692e338d592f363b2e27b2f62d8182d1124e Author: Jennifer Averett <Jennifer.Averett@OARcorp.com> Date: Mon Aug 1 13:41:50 2011 +0000 2011-08-01 Jennifer Averett <Jennifer.Averett@OARcorp.com> PR 1802 * shared/irq/irq_asm.S, shared/irq/irq_init.c, shared/smp/smp-imps.c, shared/smp/smp-imps.h: Add SMP support for i386. * shared/smp/getcpuid.c: New file. The parts modifying the code of _ISR_Handler were reverted. commit 66729db3115e865fa45bc4e9ab81d8266894151c Author: Joel Sherrill <joel.sherrill@OARcorp.com> Date: Wed Mar 16 20:05:17 2011 +0000 2011-03-16 Jennifer Averett <jennifer.averett@OARcorp.com> PR 1729/cpukit * shared/irq/irq_asm.S: Add next step in SMP support. This adds an allocated array of the Per_CPU structures to support multiple cpus vs a single instance of the structure which is still used if SMP support is disabled. Configuration support is also added to explicitly enable or disable SMP. But SMP can only be enabled for the CPUs which will support it initially -- SPARC and i386. With the stub BSP support, a BSP can be run as a single core SMP system from an RTEMS data structure standpoint. This commit was completely reverted.
* bsp/pc386: Provide local outb() for elink driverSebastian Huber2013-08-091-1/+6
|
* Use $(EXEEXT) [defaults to "exe"] to generate binariesNick Withers2013-08-091-1/+1
|
* PR766: Delete __RTEMS_VIOLATE_KERNEL_VISIBILITY__Sebastian Huber2013-08-081-3/+0
|
* smp: Provide cache optimized Per_CPU_ControlSebastian Huber2013-07-311-2/+3
| | | | Delete _Per_CPU_Information_p.
* bsps/i386: Include missing header and fix warningsSebastian Huber2013-07-301-13/+11
|