summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386 (follow)
Commit message (Collapse)AuthorAgeFilesLines
* termios: Synchronize with latest FreeBSD headersKevin Kirspel2017-03-221-1/+1
| | | | | | | | | | | Adding modified FreeBSD headers to synchronize RTEMS termios with FreeBSD. Modify termios to support dedicated input and output baud for termios structure. Updated BSPs to use dedicated input and output baud in termios structure. Updated tools to use dedicated input and output baud in termios structure. Updated termios testsuites to use dedicated input and output baud in termios structure. Close #2897.
* bsps/i386: use Pentimum instructions for pc586 and pc686 builds.Pavel Pisa2016-10-172-2/+2
| | | | | | | | | | | | | | | | | | When GCC option -march is not specifies i386-rtems toolchain defaults to i386 architecture instruction set. It does not provide atomic instructions which results in really inefficient atomic_fetch_or even on UP build. SMP build is broken with i386 set because libatomic and GCC generate infinite loop for __atomic_fetch_add_4 used in rtems_interrupt_lock_acquire __atomic_fetch_add_4: push %ebp mov %esp,%ebp movl $0x5,0x10(%ebp) pop %ebp jmp __atomic_fetch_add_4
* bsps/i386: replace global interrupt disable by SMP build supporting locking.Pavel Pisa2016-10-179-72/+148
|
* bsps/i386: Separate variable for i8259 IRQs disable due to in progress state.Pavel Pisa2016-10-111-19/+36
| | | | | | | | The global state of enabled and disabled interrupts has to hold interrupts really disabled by drivers and system. If the state is combined with interrupts temporarily disabled because they are processed at given time then it is impossible to maintain state by interrupt handlers in drivers.
* classic networking: do not reference BSP_irq_enabled_at_i8259s which is no ↵Pavel Pisa2016-09-201-9/+1
| | | | | | | more available on i386. This change is required to build RTEMS with classic "--enable-networking" and link applications/tests which reference RTEMS_BSP_NETWORK_DRIVER_ATTACH.
* libchip: Simplify RTC driverSebastian Huber2016-07-041-2/+0
|
* bsps: Include missing <rtems/bspIo.h>Sebastian Huber2016-06-241-0/+1
|
* i386/pc386: Fix printk formatting warnings.Chris Johns2016-05-258-18/+27
|
* i386/pc386: Clean out removed functions.Chris Johns2016-05-111-46/+0
|
* i386/pc386: Add x86 debug register support for hardware break points.Chris Johns2016-05-111-1/+157
|
* i386/pc386: EOI the master and slave for slave IRQ signals.Chris Johns2016-05-111-6/+33
|
* i386/pc386: Add --ide-disable boot command line option.Chris Johns2016-05-111-51/+57
|
* i386/pc386: Fix interrupt support.Chris Johns2016-05-119-172/+471
| | | | | | | | | | | | Fix the interrupt and stop the spurious interrupt from happening. The fix moves the EOI to C code and cleans that functionality out of the asm part of the ISR handler. The code checks the ISR and IRR registers on the enable. Only ack the master for a slave IRQ if the slave has no other pending requests.
* i386/pc386: Fix printk with the console changes.Chris Johns2016-05-111-32/+37
|
* bsp/pc386: Use irq-generic.Chris Johns2016-05-112-8/+7
|
* i386/pc386: Add IO and memory support to PCI UART devices.Chris Johns2016-05-111-37/+113
| | | | | Use the BAR to determine IO and memory mapped support for PCI UART boards.
* i386/pc386: Add support for the gdb stub to use available console drivers.Chris Johns2016-05-1115-424/+701
| | | | | | | | | | | Move the gdb stub from the i386 UART code to use the libchip drivers. Use any ports discovered during the probes. Add gdb control to the boot command line. Change the device naming to the full device path, not a partial path. For example /dev/com1.
* i386/pc386: reimplemented check for unused EDID entry in fb_vesa.c to ↵Pavel Pisa2016-04-162-1/+9
| | | | | | suppress GCC 6 warning. closes #2634
* bsp/pc386: Fix --console=/--printk= argument parsing.Chris Johns2016-03-311-21/+39
|
* i386/pc386/include/bsp.h: Do not include <rtems/iosupp.h>Joel Sherrill2016-03-301-1/+0
|
* i386/pc386: Remove include of <rtems/console.h> from <bsp.h> and fix warningsJoel Sherrill2016-03-293-6/+8
|
* i386/pc386/include/bsp.h: Do not include <rtems/clockdrv.h>Joel Sherrill2016-03-251-1/+0
|
* pc386/README: Replace contents with discussion of console/printk device ↵Joel Sherrill2016-03-241-57/+59
| | | | selection
* pc386/console/conscfg.c: Fix name of Edison consoleJoel Sherrill2016-03-171-3/+3
|
* pc386/.../bspimpl.h: New file missed in previous commit.Joel Sherrill2016-03-161-0/+37
|
* pc386: Do not include rtems/pci.h from bsp.h. Add bsp/bspimpl.hJoel Sherrill2016-03-156-18/+28
| | | | Start to migrate private symbols to bsp/bspimpl.h.
* pc386: Fix linker usage issues with -r and function sectionsJoel Sherrill2016-03-112-3/+7
| | | | closes #2638.
* pc386.cfg: Add disabled per-function-sectionsJoel Sherrill2016-03-101-0/+4
| | | | updates #2638.
* pc386: Add --disable-com1-com4 boot argumentJoel Sherrill2016-03-102-14/+52
|
* pc386/startup/bsp_fatal_halt.c: Fix noreturn does return warningJoel Sherrill2016-03-101-0/+3
|
* pc386/startup/bspstart.c: Reformat and cleanup file headerJoel Sherrill2016-03-101-29/+27
|
* pc386: Add PCI UART supportJoel Sherrill2016-03-104-0/+408
|
* pc386: Improve boot command arguments for console/printk device selectionJoel Sherrill2016-03-103-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.
* Add shared PCI support and enhance pc386 to support non-legacy PCI ↵Joel Sherrill2016-03-106-135/+252
| | | | | | | | | | | | | | | 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.
* pc386/configure.ac: Delete incorrect and unused AM_CONDITIONALJoel Sherrill2016-03-101-1/+0
|
* i386/shared/pci/pcibios.c: Remove unused pcib_find_by_class()Joel Sherrill2016-03-101-36/+0
|
* i386/shared/pci/pcibios.c: Remove unused pcib_special_cycle()Joel Sherrill2016-03-101-30/+0
|
* pc386: Eliminate pcibios.h and begin removal obsolete PCI BIOS API usesJoel Sherrill2016-03-105-87/+25
| | | | | | | | | | | | | | | | | | | | 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.
* score: Distribute clock tick to all online CPUsSebastian Huber2016-03-042-6/+20
| | | | Update #2554.
* pc386: adjust assembly in bsp_fatal_haltGedare Bloom2016-03-031-1/+3
|
* i386: refactor libcpu/cpu.h into rtems/score/i386.hJoel Sherrill2016-03-035-5/+5
| | | | Fixes #2515.
* i386: prepare for paravirtualized interruptsGedare Bloom2016-03-031-3/+2
|
* i386: relocate fatal halt to bsp layerGedare Bloom2016-03-032-0/+21
|
* i386: move idle thread into BSP layerGedare Bloom2016-03-033-0/+23
|
* Delete unused API extensionsSebastian Huber2016-02-031-1/+0
|
* Use linker set for libio initializationSebastian Huber2016-02-031-2/+0
| | | | Update #2408.
* score: Introduce Thread_Entry_informationSebastian Huber2016-01-111-1/+1
| | | | | | | This avoids potential dead code in _Thread_Handler(). It gets rid of the dangerous function pointer casts. Update #2514.
* api: Remove deprecated NotepadsAun-Ali Zaidi2015-12-242-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.
* bsps: Delete superfluous bsp_pretasking_hook()Sebastian Huber2015-12-101-1/+0
| | | | | | Use the bsp_predriver_hook() instead. Update #2408.
* bsps: Call bsp_work_area_initialize() earlySebastian Huber2015-12-103-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.