summaryrefslogtreecommitdiffstats
path: root/bsps/i386 (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-09-23bsps/pc386: Add missing license headerJan Sommer1-0/+26
Closes #4902.
2020-07-16bsps/pc386: Fix IPI for non-consecutive APICIDsJan Sommer1-6/+10
- properly use the cpu <-> apic maps for IPIs Closes #4028.
2020-06-18i386/pc: Initialise the printk serial port on first useChris Johns2-12/+37
2020-06-17bsps/i386/pc386/start/*.S: Remove space before tabJoel Sherrill2-3/+3
2020-06-11bsp/pc386: Disable interrupt nesting for job handlerJan Sommer1-0/+10
- Fixes timeout for smpipi01 where: + Main thread sends perform jobs to worker cpu while it is already performing jobs + Interrupt on worker cpu performs jobs, but with empty job list + Worker cpu continues to execut previous job and adds new job list to itself, which is never performed, since the interrupt has already been handled + Main thread blocks forever on barrier D
2020-06-11bsps/pc386: Separate smp API functions. Makes smpfatal08 linkJan Sommer5-55/+60
2020-06-11bsps/pc386: Fix Clock_isr for SMPJan Sommer1-1/+1
- Do not forward Clock_isr through Clock_driver_support_at_tick as this will cause every processor to send IPIs with Clock_isr therby creating an infinie loop - Instead the processor handling the clock interrupt causes all other processors to call rtems_timecounter_tick to update their tick count
2020-06-11bsp/pc386: Define interrupt stack frame for smpJan Sommer1-46/+56
- Defines CPU_Interrupt_frame in cpu_impl.h - Updates isq_asm.S to save/restore registers in matching order to interrupt frame
2020-06-11bsp/pc386: Update GDT to work for SMPJan Sommer5-41/+27
Create a GS segment in the GDT for each processor for storing TLS. This makes the GDT in startAP.S obsolete as all processors now share the same GDT, which is passed to each AP at startup. The correct segment for each processor is calculated in cpu_asm.S. Update #3335
2020-06-11bsp/pc386: Turn start16.S into a startAP.SJan Sommer3-256/+157
start16.S is now only used for SMP configurations to start the application processors. This commit removes all unnecessary parts for this job, i.e. video conssole initalisation, A20 gate activation and all non-AP related code. Update #3335
2020-03-09imfs: Replace devfs with an IMFS specializationSebastian Huber1-2/+0
Add a simplified path evaluation function IMFS_eval_path_devfs() for a device only IMFS configuration. The code size can be further reduced by the application if it disables the support for legacy IO drivers via: #define CONFIGURE_IMFS_DISABLE_MKNOD #define CONFIGURE_IMFS_DISABLE_MKNOD_DEVICE Obsolete CONFIGURE_MAXIMUM_DEVICES. Remove BSP_MAXIMUM_DEVICES. Update #3894. Update #3898.
2020-02-27bsp/pc386: Fix interrupt enable to make debug option work againJan Sommer1-1/+1
2020-02-04bsps: Rework work area initializationSebastian Huber1-11/+24
The work area initialization was done by the BSP through bsp_work_area_initialize(). This approach predated the system initialization through the system initialization linker set. The workspace and C program heap were unconditionally initialized. The aim is to support RTEMS application configurations which do not need the workspace and C program heap. In these configurations, the workspace and C prgram heap should not get initialized. Change all bsp_work_area_initialize() to implement _Memory_Get() instead. Move the dirty memory, sbrk(), per-CPU data, workspace, and malloc() heap initialization into separate system initialization steps. This makes it also easier to test the individual initialization steps. This change adds a dependency to _Heap_Extend() to all BSPs. This dependency will be removed in a follow up change. Update #3838.
2019-05-20score: Remove SMP_MESSAGE_CLOCK_TICKSebastian Huber2-11/+10
Use _SMP_Multicast_action() instead.
2019-03-14Remove superfluous <rtems/system.h> includesSebastian Huber1-1/+0
2019-03-08bsps: Adjust shared Doxygen groupsSebastian Huber5-12/+6
Update #3706.
2019-03-08bsps: Adjust bsp.h Doxygen groupsSebastian Huber19-26/+27
Update #3706.
2019-03-04bsps: Adjust architecture Doxygen groupsSebastian Huber2-5/+7
- Use CamelCase as it is not used in our C code. Enables simple search and replace. - Prefix with "RTEMS" to aid deployment and integration. It aids searching and sorting. Update #3706.
2019-02-28Remove explicit file names from @fileSebastian Huber8-8/+8
This makes the @file documentation independent of the actual file name. Update #3707.
2019-01-16bsps/i386/shared/cache/cache.c: Make compileJoel Sherrill1-0/+29
2018-12-21bsps/i386: Enable instruction cache supportSebastian Huber1-1/+1
2018-12-04Spelling and grammar fixes in source code comments (GCI 2018)Marçal Comajoan Cara1-1/+1
2018-11-14bsp/i386: Use interrupt stack for init stackSebastian Huber2-13/+4
Update #3459.
2018-11-12i386: Remove use of proc_ptrSebastian Huber1-4/+4
Update #3585.
2018-11-12Include missing <sys/types.h>Sebastian Huber1-1/+1
Update #3598.
2018-09-10network: Use kernel/user space header filesSebastian Huber4-4/+4
Add and use <machine/rtems-bsd-kernel-space.h> and <machine/rtems-bsd-user-space.h> similar to the libbsd to avoid command line defines and defines scattered throught the code base. Simplify cpukit/libnetworking/Makefile.am. Update #3375.
2018-08-29bsps/i386/shared/cache/cache.c: Fix warningsJoel Sherrill1-20/+2
2018-07-25_SMP_Start_multitasking_on_secondary_processor()Sebastian Huber1-1/+1
Pass current processor control as first parameter to make dependency more explicit.
2018-07-25score: _SMP_Inter_processor_interrupt_handler()Sebastian Huber1-1/+1
Pass current processor control via parameter since it may be already available at the caller side.
2018-06-27bsps: Support .rtemsstack.* linker input sectionsSebastian Huber1-2/+3
Use a dedicated memory region or place it between the BSS and workspace. Update #3459.
2018-06-27Remove Clock_driver_support_shutdown_hardware()Sebastian Huber1-24/+0
The aim of this clock driver hook was to stop clock tick interrupts at some late point in the exit() procedure. The use of atexit() pulls in malloc() which pulls in errno. It is incompatible with the intention of the CONFIGURE_DISABLE_NEWLIB_REENTRANCY configuration option. The exit() function must be called from thread context, so accompanied clock tick interrupts should cause no harm. On the contrary, someone may assume a normal operating system operation, e.g. working timeouts. Remove the Clock_driver_support_shutdown_hardware() clock driver hook. Close #3436.
2018-04-27bsp/pc386: Remove bin2boot supportSebastian Huber1-24/+0
Update #3408. Close #3410.
2018-04-26bsps: Move documentation, etc. files to bspsSebastian Huber4-0/+493
This patch is a part of the BSP source reorganization. Update #3285.
2018-04-24bsps/i386: Move shared files to bspsSebastian Huber10-0/+4275
This patch is a part of the BSP source reorganization. Update #3285.
2018-04-23bsps: Move ATA drivers to bspsSebastian Huber2-0/+870
This patch is a part of the BSP source reorganization. Update #3285.
2018-04-23bsps: Move PCI drivers to bspsSebastian Huber2-0/+692
This patch is a part of the BSP source reorganization. Update #3285.
2018-04-23bsps: Move legacy network drivers to bspsSebastian Huber6-0/+4062
This patch is a part of the BSP source reorganization. Update #3285.
2018-04-23bsps: Move interrupt controller support to bspsSebastian Huber6-0/+1452
This patch is a part of the BSP source reorganization. Update #3285.
2018-04-23bsps: Move make/custom/* files to bspsSebastian Huber6-0/+114
Adjust various build files. Remove automatic generation of the c/src/lib/libbsp/*/acinclude.m4 files from bootstrap script. This patch is a part of the BSP source reorganization. Update #3285.
2018-04-20bsps: Move benchmark timer to bspsSebastian Huber2-0/+608
This patch is a part of the BSP source reorganization. Update #3285.
2018-04-20bsps: Move startup files to bspsSebastian Huber9-0/+897
Adjust build support files to new directory layout. This patch is a part of the BSP source reorganization. Update #3285.
2018-04-20bsps: Move start files to bspsSebastian Huber2-0/+599
This patch is a part of the BSP source reorganization. Update #3285.
2018-04-20bsps: Move console drivers to bspsSebastian Huber25-0/+8340
This patch is a part of the BSP source reorganization. Update #3285.
2018-04-20bsps: Move clock drivers to bspsSebastian Huber3-0/+510
This patch is a part of the BSP source reorganization. Update #3285.
2018-04-20bsps: Move doxygen.h files to bspsSebastian Huber1-0/+23
This patch is a part of the BSP source reorganization. Update #3285.
2018-03-22bsp/pc386: Move libcpu content to bspsSebastian Huber4-0/+1150
This patch is a part of the BSP source reorganization. Update #3285.
2018-03-16pc386/include/edid.h: Fix macro name to use _ not -Joel Sherrill1-2/+2
Closes #3349.
2018-01-31bsps: Rework cache manager implementationSebastian Huber1-0/+93
The previous cache manager support used a single souce file (cache_manager.c) which included an implementation header (cache_.h). This required the use of specialized include paths to find the right header file. Change this to include a generic implementation header (cacheimpl.h) in specialized source files. Use the following directories and files: * bsps/shared/cache * bsps/@RTEMS_CPU@/shared/cache * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILY/start/cache.c Update #3285.
2018-01-25Remove make preinstallChris Johns28-0/+3880
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.