summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/pc386 (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-01-25Remove make preinstallChris Johns20-2951/+13
A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
2018-01-22bsps: Move wd80x3.h to libchip/wd80x3.hSebastian Huber5-151/+2
This header is used also by the motorola_powerpc BSP. Update #3254.
2018-01-04bsp/pc386: Use public include pathChris Johns5-5/+5
Update #3254.
2018-01-04bsp/pc386: Do not install console_private.hSebastian Huber3-6/+1
The name suggests that this is a private implementation header file. Update #3254.
2018-01-02bsps: Use CPPASCOMPILE for startfileSebastian Huber1-3/+4
Update #3254.
2018-01-02bsps: Add EXTRA_DIST to all BSP Makefile.amSebastian Huber1-1/+2
This makes it possible to easily use EXTRA_DIST += foobar in fragments. Update #3254.
2018-01-02bsps: Include bsp.am in all BSP Makefile.amSebastian Huber1-0/+1
Update #3254.
2017-12-19pc386: Simplify bsp_specsJoel Sherrill3-7/+4
If this has any issues, check that the change in linking the 16-bit startup code in Makefile.am generates the same code. This was odd code and didn't need the RTEMS linkcmds anyway. Updates #3520.
2017-11-29pc386/bsp_specs: Reorder and improve consistencyJoel Sherrill1-3/+3
Updates #3520.
2017-11-27REVERT */*/bsp_specs: Increase similarity to ease futureJoel Sherrill1-3/+3
Patch was not intended to be pushed yet. Updates #3520.
2017-11-27*/*/bsp_specs: Increase similarity to ease future analysisJoel Sherrill1-3/+3
Done: arm bfin epiphany i386 lm32 m32c mips moxie nios2 or1k powerpc riscv sh sparc sparc64 v850 To do: m68k Differences noted: + endfile was sometimes before startfile + endfile sometimes was hard-coded and did not have -qrtems version + Should -e XXX (e.g. entry point) be in linkcmds? + Should -u XXX (e.g. undefined symbols) be in linkcmds? + Typos: Odd spacing, "old_endfiles" typo, and *(old_endfiles) (not %) + nios2: Referenced crtnn.o not crtn.o (error) Need to revisit: + m32c, moxie, sparc64 includes !nostdlib which is not used elsewhere + sh has -EL/-EB mapping. Why needed? + sparc64 didn't include crti.o/crtn.o but it is part of toolset + v850 uses something like this for link and end_file: "%{qrtems: %(old_link)}" This means that these are unnecessary. Try this on all. + mips uses old_link all the time also. + arm/tms750 adds -EB. + powerpc: Why do we have rtems_crt* and not use something from GCC? Updates #3520.
2017-11-27libbsp/*/*/configure.ac: Remove references to bsp_specs in AC_CONFIG_SRCDIRJoel Sherrill1-1/+1
Updates #3250.
2017-11-24Remove coverhd.hSebastian Huber2-5/+0
This header file contained timing overhead values which are hard to maintain. Update #3254.
2017-11-22bsps: Simplify RTEMS_BSP_CLEANUP_OPTIONSSebastian Huber1-1/+1
Remove BSP-specific defaults for RTEMS_BSP_CLEANUP_OPTIONS to simplify the BSP configuration and documentation. Change defaults to: BSP_PRESS_KEY_FOR_RESET=0 BSP_RESET_BOARD_AT_EXIT=1 BSP_PRINT_EXCEPTION_CONTEXT=1
2017-11-17getentropy: Add cpu counter based implementation.Christian Mauderer1-0/+1
Update #3239.
2017-10-08pc386/.../bspreset.c: Readd proper reset code.Joel Sherrill1-2/+2
The removal of the Edison code removed the wrong part of the conditional. Closes #3172.
2017-09-18bsps: Clock_driver_support_install_isr()Sebastian Huber1-5/+0
Remove old ISR parameter since is not used by the clock driver shell. Make an implementation optional. Update #3139.
2017-09-12Simplify and unify BSP_output_charSebastian Huber1-5/+0
The BSP_output_char should output a char and not mingle with high level processing, e.g. '\n' to '\r\n' translation. Move this translation to rtems_putc(). Remove it from all the BSP_output_char implementations. Close #3122.
2017-08-25Include missing <limits.h>Sebastian Huber2-0/+2
Update #2132.
2017-07-28Remove Edison BSP.Joel Sherrill10-189/+3
Intel has obsoleted this hardware and the BSP was never completed. closes #3086.
2017-07-28bsp/i386: Fix warningSebastian Huber1-3/+3
2017-06-20bsps: Improve interrupt vector enable/disable APISebastian Huber1-6/+1
Change bsp_interrupt_vector_enable() and bsp_interrupt_vector_disable() to not return a status code. Add bsp_interrupt_assert() and use it to validate the vector number in the vector enable/disable implementations.
2017-06-12i386: Support thread-local storage (TLS)Sebastian Huber2-4/+9
Update #2468.
2017-05-24build-system: Parallel build all subdirs.Chris Johns1-1/+2
2016-10-17bsps/i386: use Pentimum instructions for pc586 and pc686 builds.Pavel Pisa2-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
2016-10-17bsps/i386: replace global interrupt disable by SMP build supporting locking.Pavel Pisa6-50/+97
2016-09-20classic networking: do not reference BSP_irq_enabled_at_i8259s which is no ↵Pavel Pisa1-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.
2016-07-04libchip: Simplify RTC driverSebastian Huber1-2/+0
2016-05-25i386/pc386: Fix printk formatting warnings.Chris Johns6-16/+24
2016-05-11i386/pc386: Add --ide-disable boot command line option.Chris Johns1-51/+57
2016-05-11i386/pc386: Fix interrupt support.Chris Johns1-0/+1
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.
2016-05-11i386/pc386: Fix printk with the console changes.Chris Johns1-32/+37
2016-05-11bsp/pc386: Use irq-generic.Chris Johns2-8/+7
2016-05-11i386/pc386: Add IO and memory support to PCI UART devices.Chris Johns1-37/+113
Use the BAR to determine IO and memory mapped support for PCI UART boards.
2016-05-11i386/pc386: Add support for the gdb stub to use available console drivers.Chris Johns12-218/+399
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.
2016-04-16i386/pc386: reimplemented check for unused EDID entry in fb_vesa.c to ↵Pavel Pisa2-1/+9
suppress GCC 6 warning. closes #2634
2016-03-31bsp/pc386: Fix --console=/--printk= argument parsing.Chris Johns1-21/+39
2016-03-30i386/pc386/include/bsp.h: Do not include <rtems/iosupp.h>Joel Sherrill1-1/+0
2016-03-29i386/pc386: Remove include of <rtems/console.h> from <bsp.h> and fix warningsJoel Sherrill3-6/+8
2016-03-25i386/pc386/include/bsp.h: Do not include <rtems/clockdrv.h>Joel Sherrill1-1/+0
2016-03-24pc386/README: Replace contents with discussion of console/printk device ↵Joel Sherrill1-57/+59
selection
2016-03-17pc386/console/conscfg.c: Fix name of Edison consoleJoel Sherrill1-3/+3
2016-03-16pc386/.../bspimpl.h: New file missed in previous commit.Joel Sherrill1-0/+37
2016-03-15pc386: Do not include rtems/pci.h from bsp.h. Add bsp/bspimpl.hJoel Sherrill4-17/+6
Start to migrate private symbols to bsp/bspimpl.h.
2016-03-11pc386: Fix linker usage issues with -r and function sectionsJoel Sherrill2-3/+7
closes #2638.
2016-03-10pc386.cfg: Add disabled per-function-sectionsJoel Sherrill1-0/+4
updates #2638.
2016-03-10pc386: Add --disable-com1-com4 boot argumentJoel Sherrill2-14/+52
2016-03-10pc386/startup/bsp_fatal_halt.c: Fix noreturn does return warningJoel Sherrill1-0/+3
2016-03-10pc386/startup/bspstart.c: Reformat and cleanup file headerJoel Sherrill1-29/+27
2016-03-10pc386: Add PCI UART supportJoel Sherrill4-0/+408