summaryrefslogtreecommitdiffstats
path: root/bsps/i386 (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bsps: Automated IMD header file clean upChristian Mauderer2022-03-102-2/+2
| | | | | | Use the same form of IMD in all copyright lines Update #4625.
* bsps and cpukit: Manual file header clean upChristian Mauderer2022-03-102-42/+32
| | | | Updates #4625.
* bsp_specs: Delete last remnants of these.Joel Sherrill2021-11-291-0/+0
| | | | Updates #3937.
* build: Remove old build systemSebastian Huber2021-09-212-45/+0
| | | | | Close #3250. Close #4081.
* score: Canonicalize _CPU_Fatal_halt()Sebastian Huber2021-07-281-5/+3
| | | | | | | | Move _CPU_Fatal_halt() declaration to <rtems/score/cpuimpl.h> and make sure it is a proper declaration of a function which does not return. Fix the type of the error code. If necessary, add the implementation to cpu.c. Implementing _CPU_Fatal_halt() as a function makes it possible to wrap this function for example to fully test _Terminate().
* bsps/irq: bsp_interrupt_facility_initialize()Sebastian Huber2021-07-271-3/+1
| | | | | | Do not return a status code in bsp_interrupt_facility_initialize() since this leads to unreachable code in bsp_interrupt_initialize(). Use RTEMS_DEBUG assertions in bsp_interrupt_facility_initialize() if necessary.
* bsps/irq: Add rtems_interrupt_entry_install()Sebastian Huber2021-07-261-7/+1
| | | | | | | | | | | | | | | | | | | Add rtems_interrupt_entry_remove(). Split up irq-generic.c into several files. In particular, place all functions which use dynamic memory into their own file. Add optional macros to let the BSP customize the vector installation after installing the first entry and the vector removal before removing the last entry: * bsp_interrupt_vector_install() * bsp_interrupt_vector_remove() Use these new customization options in the m68k/genmcf548x BSP so re-use the generic interrupt controller support. Update #3269.
* bsps/irq: Move bsp_interrupt_handler_is_empty()Sebastian Huber2021-07-261-0/+11
| | | | | | This function is only used by one BSP. Update #3269.
* bsps/irq: bsp_interrupt_vector_disable()Sebastian Huber2021-07-261-1/+2
| | | | | | Return a status code for bsp_interrupt_vector_disable(). Update #3269.
* bsps/irq: bsp_interrupt_vector_enable()Sebastian Huber2021-07-261-1/+2
| | | | | | Return a status code for bsp_interrupt_vector_enable(). Update #3269.
* bsps/irq: Add rtems_interrupt_is_pending()Sebastian Huber2021-07-261-0/+11
| | | | | | Add a default implementation which just returns RTEMS_UNSATISFIED. Update #3269.
* bsps/irq: Add rtems_interrupt_get_attributes()Sebastian Huber2021-07-261-0/+8
| | | | | | | Add a default implementation which clears the attributes to zero and just returns RTEMS_SUCCESSFUL for valid parameters. Update #3269.
* bsps/irq: Add rtems_interrupt_raise()Sebastian Huber2021-07-261-0/+12
| | | | | | | | | Add rtems_interrupt_raise_on() and rtems_interrupt_clear(). Add a default implementation which just returns RTEMS_UNSATISFIED for valid parameters. Update #3269.
* bsps/irq: Add rtems_interrupt_vector_is_enabled()Sebastian Huber2021-07-261-0/+11
| | | | | | | Add a default implementation which just returns RTEMS_UNSATISFIED for valid parameters. Update #3269.
* bsps/irq: Remove BSP_INTERRUPT_VECTOR_MAXSebastian Huber2021-06-241-1/+0
| | | | | | This define is no longer used. Update #3269.
* bsps/irq: Add BSP_INTERRUPT_VECTOR_COUNTSebastian Huber2021-06-241-0/+1
| | | | | | | | | | | | | Assert BSP_INTERRUPT_VECTOR_MAX + 1 == BSP_INTERRUPT_VECTOR_COUNT. After building all BSPs with this patch, BSP_INTERRUPT_VECTOR_MAX can be removed and replaced by BSP_INTERRUPT_VECTOR_COUNT. The BSP_INTERRUPT_VECTOR_COUNT allows a default implementation which supports no interrupt vector at all. Using COUNT instead of MAX may avoid some interpretation issues, for example is the maximum value a valid vector number or not. Update #3269.
* bsps/irq: Remove BSP_INTERRUPT_VECTOR_MINSebastian Huber2021-06-241-1/+0
| | | | | | | | | | Remove BSP_INTERRUPT_VECTOR_MIN and unconditionally let interrupt vector numbers start with zero. The BSP_INTERRUPT_VECTOR_MIN == 0 invariant was tested by the previous commit and building all BSPs. Update #3269.
* bsps/i386: Update calibration of TSC to be more accurateJan Sommer2021-06-211-33/+38
| | | | Closes #4455
* bsps: Support RTEMS_NOINIT in linkcmdsSebastian Huber2021-05-021-0/+3
| | | | Update #3866.
* bsps: Remove networking driversVijay Kumar Banerjee2021-04-076-4062/+0
| | | | Update #3850
* bsps: Fix legacy buildSebastian Huber2021-02-261-4/+0
|
* bsps: Change license to BSD-2-Clause of some filesSebastian Huber2021-02-241-5/+38
| | | | | | | Change license to BSD-2-Clause according to file histories and re-licensing agreement. Update #3899.
* bsps: Replace bsp_specs with an empty fileSebastian Huber2021-01-281-9/+0
| | | | | | | This fixes an issue with the latest tool chain which adds the default linker script in the endfile specification. Update #3250.
* bsps/pc386: Add missing license headerJan Sommer2020-09-231-0/+26
| | | | Closes #4093.
* bsp/pc386: Remove support for obsolete BinutilsSebastian Huber2020-09-151-11/+1
| | | | Update #3818.
* bsps/pc386: Fix IPI for non-consecutive APICIDsJan Sommer2020-07-161-6/+10
| | | | | | - properly use the cpu <-> apic maps for IPIs Closes #4029.
* i386/pc: Initialise the printk serial port on first useChris Johns2020-06-182-12/+37
|
* bsps/i386/pc386/start/*.S: Remove space before tabJoel Sherrill2020-06-172-3/+3
|
* bsp/pc386: Disable interrupt nesting for job handlerJan Sommer2020-06-111-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
* bsps/pc386: Separate smp API functions. Makes smpfatal08 linkJan Sommer2020-06-115-55/+60
|
* bsps/pc386: Fix Clock_isr for SMPJan Sommer2020-06-111-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
* bsp/pc386: Define interrupt stack frame for smpJan Sommer2020-06-111-46/+56
| | | | | | - Defines CPU_Interrupt_frame in cpu_impl.h - Updates isq_asm.S to save/restore registers in matching order to interrupt frame
* bsp/pc386: Update GDT to work for SMPJan Sommer2020-06-115-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
* bsp/pc386: Turn start16.S into a startAP.SJan Sommer2020-06-113-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
* imfs: Replace devfs with an IMFS specializationSebastian Huber2020-03-091-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.
* bsp/pc386: Fix interrupt enable to make debug option work againJan Sommer2020-02-271-1/+1
|
* bsps: Rework work area initializationSebastian Huber2020-02-041-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.
* score: Remove SMP_MESSAGE_CLOCK_TICKSebastian Huber2019-05-202-11/+10
| | | | Use _SMP_Multicast_action() instead.
* Remove superfluous <rtems/system.h> includesSebastian Huber2019-03-141-1/+0
|
* bsps: Adjust shared Doxygen groupsSebastian Huber2019-03-085-12/+6
| | | | Update #3706.
* bsps: Adjust bsp.h Doxygen groupsSebastian Huber2019-03-0819-26/+27
| | | | Update #3706.
* bsps: Adjust architecture Doxygen groupsSebastian Huber2019-03-042-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.
* Remove explicit file names from @fileSebastian Huber2019-02-288-8/+8
| | | | | | This makes the @file documentation independent of the actual file name. Update #3707.
* bsps/i386/shared/cache/cache.c: Make compileJoel Sherrill2019-01-161-0/+29
|
* bsps/i386: Enable instruction cache supportSebastian Huber2018-12-211-1/+1
|
* Spelling and grammar fixes in source code comments (GCI 2018)Marçal Comajoan Cara2018-12-041-1/+1
|
* bsp/i386: Use interrupt stack for init stackSebastian Huber2018-11-142-13/+4
| | | | Update #3459.
* i386: Remove use of proc_ptrSebastian Huber2018-11-121-4/+4
| | | | Update #3585.
* Include missing <sys/types.h>Sebastian Huber2018-11-121-1/+1
| | | | Update #3598.
* network: Use kernel/user space header filesSebastian Huber2018-09-104-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.