65 Commits

Author SHA1 Message Date
Joel Sherrill
243c25d191 bsps ACPI: Address unused parameter warnings
Add "(void) param;" annotation to address unused parameter warnings.
Found with GCC's warning -Wunused-parameter.

The ACPI change set includes two headers which define debug macros. When
not building for debug, the instantiated inline functions generate
unused parameter warnings from every file they are included in. The
warning was disabled around the macro instantiations.
2025-10-10 22:04:38 +00:00
Joel Sherrill
2230dd1ce3 bsps/x86_64: Address unused parameter warnings
Add "(void) param;" annotation to address unused parameter warnings.
Found with GCC's warning -Wunused-parameter.
2025-10-10 14:27:01 -05:00
Joel Sherrill
60e392e621 bsps/.../*/include/tm27.h: Add attribution to one-line implementations
Many tm27.h implementations were one line with no attribution.
Some were simply including a default non-functional implementation.
Others were including a header file giving an implementation based
on a standard counter/timer. This patch gives attribution based on
the split out being done by Sebastian Huber in 2017.
2025-09-08 20:02:56 +00:00
Joel Sherrill
b960eaf405 bsps/x86_64/*: Fix old style declaration
Newer C versions require that the storage-class specifier like
static or _Thread_Local be the first thing in a declaration.
2025-09-03 09:15:17 -05:00
Joel Sherrill
0c0607d071 bsps/x86_64/*: Add SPDX for RTEMS legacy license
These may still be relicensed but adding SPDX is needed.

Updates #4805.
2025-08-22 10:14:12 -05:00
Joel Sherrill
548cb8e07c bsps/x86_64: Move SPDX line to top of file
The RTEMS Software Engineering Guide specifies that the SPDX license
annotation shouldbe the first line of the file and not part of the
copyright/license comment block.
2025-08-11 19:06:32 +00:00
Joel Sherrill
4773863245 bsps/x86_64/amd64/clock/clock.c: Correct printf() format specifiers
The DBG_PRINTF() is disabled by default which meant the warning
was normally hidden.
2025-07-24 20:37:11 -05:00
Kinsey Moore
4f5723e125 bsps: Remove post-link config files
These files are not currently useful in the tree and will be replaced by
a different post-link tool.

Updates rtems/programs/gsoc#74
2025-07-09 21:05:37 -05:00
Amar Takhar
b714e4a809 ascii: Remove non-ASCII characters
We will soon be enforcing ASCII-only characters for source.
2025-05-22 19:35:12 +00:00
Joel Sherrill
2634edb790 /amd64/start/bspstart.c: Fix unused variable warning.
acpi_table_result was only used in the debug build.
2025-05-06 17:31:24 +00:00
Joel Sherrill
bffc250688 General: Update Eric Valette's email address
Changing Eric's email from valette@crf.canon.frto eric.valette@free.fr
2025-02-04 12:41:08 -06:00
Sebastian Huber
b0a688e69c bsps: Simplify _CPU_SMP_Finalize_initialization()
The processor count is always positive.
2024-09-29 23:13:32 +00:00
Matheus Pecoraro
acf7c725ca x86_64: Add TLS support 2024-08-27 21:20:48 +00:00
Matheus Pecoraro
77850f9f04 x86_64/amd64: Add issues to TODO comments 2024-08-27 21:16:58 +00:00
Matheus Pecoraro
018e7ad407 x86_64: x86_64 port doxygen and license cleanup 2024-08-27 21:16:58 +00:00
Matheus Pecoraro
e93bbe6534 x86_64/amd64: Add SMP support
Adds SMP support for the x86_64 amd64 BSP.
2024-08-27 21:16:58 +00:00
Sebastian Huber
002c6067ba bsps: Add fatal source/code to bsp_reset()
Mark bsp_reset() as no-return.  Use default BSP fatal handler in lm32 and m68k
BSPs.  Remove empty bsp_reset() implementation.

Update #5067.
2024-08-23 14:54:37 +00:00
Matheus Pecoraro
7440264601 amd64: Move APIC implementation out of clock.c
- Move the APIC implementation to its on file instead of having it in clock.c;
- Use the MADT for retrieving the Local APIC base address;
- Initialize the APIC during interrupt initialization.
2024-08-11 07:38:35 +00:00
Matheus Pecoraro
0665da8f1d amd64: Allow early ACPICA table subsystem init
Add a method for initializing the ACPICA table subsystem earlier than
the initilization of the entire ACPICA subsystem. Also add a method to
walk through the subtables of an ACPI table
2024-08-11 07:38:35 +00:00
Matheus Pecoraro
bb950bd770 x86_64/amd64: ACPI support for the AMD64 BSP
- Implements necessary ACPICA OS Services Layer interfaces;
- Retrieve the RSDP from the FreeBSD Bootloader for amd64 or from multiboot2 for amd64efi;
- Add ACPI initialization routine;
- Use ACPI in bsp_reset.
2024-08-06 21:28:15 +00:00
the-m3chanic
0c6b1f1184 linker scripts: fixed formatting - replaced tab with 2 spaces 2024-08-05 21:29:58 +00:00
the-m3chanic
57ed8e5f31 x86_64: modified linkcmds for gdb-inlined script support 2024-08-05 21:29:58 +00:00
Matheus Pecoraro
e46135290a x86_64: Enable and add support for FP tasks 2024-07-01 17:48:25 +00:00
Matheus Pecoraro
263cbb9408 amd64: Remove unneeded paging flags 2024-06-25 13:35:13 +00:00
Matheus Pecoraro
e233b5c16a amd64efi: Add amd64efi doxygen group 2024-06-20 15:38:01 +00:00
Matheus Pecoraro
5d90fc945b amd64: Add amd64 doxygen group 2024-06-20 15:38:01 +00:00
Matheus Pecoraro
3ca279e5b1 amd64: Use proper interrupt disable directive
Use rtems_interrupt_local_disable and enable in clock.c to avoid
enabling interrupts during system initialization
2024-06-20 15:25:23 +00:00
Matheus Pecoraro
2fe9209971 amd64: Add rtemsrwset section to linker script 2024-06-19 04:38:51 -03:00
Matheus Pecoraro
20a663ccef amd64: Change console device_file to /dev/ttyS0
Change the device_file path from /dev/console to /dev/ttyS0 since it
will already be linked to /dev/console on console_initialize
2024-06-14 17:08:14 +00:00
Matheus Pecoraro
ad24b764d6 amd64: Add bsp_reset
Add a temporary implementation of bsp_reset using the keyboard
controller until the ACPI method can be implemented
2024-06-13 12:35:57 +00:00
Matheus Pecoraro
b3a4f539c9 bsps/amd64: Add comments to start.s 2024-05-24 15:26:35 -03:00
Matheus Pecoraro
b874f4c99d x86_64: Fix stack aligment for x86-64 SysV ABI
Makes the code in bsp/x86_64/amd64/start/start.S and the stack frame
setup by _CPU_Context_Initialize align the stack properly according to
what is expected by the x86-64 SysV ABI
2024-05-22 01:31:06 +00:00
Sebastian Huber
ab8817ca03 rtems: Add get/set interrupt priorities
Add directives to get and set the priority of an interrupt vector.

Implement the directives for the following BSP families:

* arm/lpc24xx
* arm/lpc32xx
* powerpc/mpc55xxevb
* powerpc/qoriq

Implement the directives for the following interrupt controllers:

* GICv2 and GICv3 (arm and aarch64)
* NVIC (arm)
* PLIC (riscv)

Update #5002.
2024-05-10 13:26:22 +00:00
Sebastian Huber
bcef89f236 Update company name
The embedded brains GmbH & Co. KG is the legal successor of embedded
brains GmbH.
2023-05-20 11:05:26 +02:00
Karel Gardas
bf53ff2de2 bsps/amd64: add a new EFI-based variant of AMD64 BSP
The new amd64efi BSP supports:
- multiboot2 boot format. Runs well with GRUB.
- console based on either EFI simple text output or GOP-based framebuffer
- clock based on EFI event/timer API
- early console using either hard-wired PC-AT serial or just memory buffer
- with EFI support disabled the BSP is more or less equivalent to amd64 BSP
  with multiboot2 support
2023-04-29 20:41:23 +02:00
Sebastian Huber
bb465c8548 doxygen: Add Doxygen files to a group
Update #3707.
2023-02-16 08:27:09 +01:00
Sebastian Huber
a660e9dc47 Do not use RTEMS_INLINE_ROUTINE
Directly use "static inline" which is available in C99 and later.  This brings
the RTEMS implementation closer to standard C.

Close #3935.
2022-09-19 09:09:22 +02:00
Stephen Clark
c738be92a0 bsps/amd64: remove -Werror from ABI flags
The ABI flags for the amd64 BSP contain the -Werror=return-type flag. There is no reason for this to be there so it has been removed. The same option has also been removed amd64.cfg file.
2022-08-23 11:37:21 -05:00
Sebastian Huber
5ed0035377 bsps: Sort .noinit* sections
Sort the .noinit* input sections by name first, then by alignment if two
sections have the same name.  This allows the placement of begin/end symbols to
initialize some areas with a special value.

Update #4678.
2022-07-15 10:46:02 +02:00
Joel Sherrill
dd70c81699 bsp_specs: Delete last remnants of these.
Updates #3937.
2021-11-29 08:50:03 -06:00
Sebastian Huber
db8f598d56 build: Remove old build system
Close #3250.
Close #4081.
2021-09-21 07:39:09 +02:00
Sebastian Huber
c7b4eca7fa bsps/irq: bsp_interrupt_facility_initialize()
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.
2021-07-27 10:03:19 +02:00
Sebastian Huber
32f5a195d7 bsps/irq: bsp_interrupt_vector_disable()
Return a status code for bsp_interrupt_vector_disable().

Update #3269.
2021-07-26 19:57:31 +02:00
Sebastian Huber
bc86a5fa84 bsps/irq: bsp_interrupt_vector_enable()
Return a status code for bsp_interrupt_vector_enable().

Update #3269.
2021-07-26 19:57:30 +02:00
Sebastian Huber
deb5afb2f2 bsps/irq: Add rtems_interrupt_is_pending()
Add a default implementation which just returns RTEMS_UNSATISFIED.

Update #3269.
2021-07-26 17:08:42 +02:00
Sebastian Huber
eebecd09fa bsps/irq: Add rtems_interrupt_get_attributes()
Add a default implementation which clears the attributes to zero and
just returns RTEMS_SUCCESSFUL for valid parameters.

Update #3269.
2021-07-26 17:08:42 +02:00
Sebastian Huber
9832652c53 bsps/irq: Add rtems_interrupt_raise()
Add rtems_interrupt_raise_on() and rtems_interrupt_clear().

Add a default implementation which just returns RTEMS_UNSATISFIED for
valid parameters.

Update #3269.
2021-07-26 07:54:25 +02:00
Sebastian Huber
781213f9ec bsps/irq: Add rtems_interrupt_vector_is_enabled()
Add a default implementation which just returns RTEMS_UNSATISFIED for
valid parameters.

Update #3269.
2021-07-26 07:54:25 +02:00
Sebastian Huber
94cf67ca66 bsps/irq: Remove BSP_INTERRUPT_VECTOR_MAX
This define is no longer used.

Update #3269.
2021-06-24 11:36:27 +02:00
Sebastian Huber
cd5573c09d bsps/irq: Add BSP_INTERRUPT_VECTOR_COUNT
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.
2021-06-24 11:35:49 +02:00