Commit Graph

699 Commits

Author SHA1 Message Date
Chris Johns
bc73a08598 i386/pc: Initialise the printk serial port on first use 2020-06-18 12:03:28 +10:00
Joel Sherrill
4a8b135dd6 bsps/i386/pc386/start/*.S: Remove space before tab 2020-06-17 07:52:15 -05:00
Jan Sommer
96d9823ddd bsp/pc386: Disable interrupt nesting for job handler
- 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-11 13:29:41 +10:00
Jan Sommer
208cd6b794 bsps/pc386: Separate smp API functions. Makes smpfatal08 link 2020-06-11 13:29:27 +10:00
Jan Sommer
c954003fa0 bsps/pc386: Fix Clock_isr for SMP
- 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-11 13:29:18 +10:00
Jan Sommer
5d4a1edca0 bsp/pc386: Define interrupt stack frame for smp
- Defines CPU_Interrupt_frame in cpu_impl.h
- Updates isq_asm.S to save/restore registers in matching order to
interrupt frame
2020-06-11 13:29:11 +10:00
Jan Sommer
85d6a760f5 bsp/pc386: Update GDT to work for SMP
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-11 13:28:55 +10:00
Jan Sommer
f99b1f02b0 bsp/pc386: Turn start16.S into a startAP.S
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-06-11 13:28:46 +10:00
Chris Johns
084ea83a9b testsuite: Add expected-fail to beagleboneblack
Updates #2962
2020-05-06 18:40:42 +10:00
Chris Johns
7e3af67349 testsuite: Add expected-fail to xilinx's zedboard, a9_qemu, zc702 and zc706
Updates #2962
2020-05-06 18:40:27 +10:00
Chris Johns
1b1755d9a6 testsuite: Add expected-fail to psim
Updates #2962
2020-05-06 18:39:55 +10:00
Chris Johns
7d00247497 testsuite: Add expected-fail to erc32, leon2, and leon3 BSPs
Updates #2962
2020-05-06 18:39:05 +10:00
Sebastian Huber
4b9b6ddb9f Use rtems_get_version_string()
Update #3970.
2020-05-06 07:39:09 +02:00
Christian Mauderer
222d687969 bsps/arm: Fix uninitialized value in generic timer
_CPU_Counter_frequency() can be called by the rtems_counter
initialization before arm_gt_clock_initialize() initializes the value
used in _CPU_Counter_frequency().

Closes #3961.
2020-04-20 09:07:35 +02:00
Christian Mauderer
0121954128 bsp/imx: Add an extra ecspi clock.
Some imx chips or boards don't use the same frequency for ECSPI and IPG.

Update #3869
2020-04-15 16:13:07 +02:00
Sebastian Huber
d35722e66c bsps/riscv: Fix multiple definition 2020-04-10 19:56:50 +02:00
G S Niteesh Babu
19efa9a0b9 bsp/raspberrypi: Fix build warnings.
1) _Memory_Initialize makes pointer from integer
	without a cast.
2) printf format error, expects %u but %lu provided.
2020-04-10 08:27:18 -05:00
Joel Sherrill
f4935345de lpc23xx_tli800-testsuite.tcfg: Add psxaoi03 and psxsignal07
Updates #3938.
2020-04-07 17:13:18 -05:00
Joel Sherrill
af7e519ec9 mcf52235-testsuite.tcfg: Add sp16
Updates #3938.
2020-04-07 17:11:53 -05:00
Joel Sherrill
a7ea726fbd lpc1768_mbed-testsuite.tcfg: Add psxaoi03 and psxsignal07
Updates #3938.
2020-04-07 17:11:32 -05:00
Joel Sherrill
dcb097a5cb lpc2362-testsuite.tcfg: Add psxaoi03 and psxsignal07
Updates #3938.
2020-04-07 17:11:26 -05:00
Joel Sherrill
fe5d50ed43 lpc1768_mbed_ahb_ram_eth-testsuite.tcfg: Add psxsignal07
Updates #3938.
2020-04-07 17:10:57 -05:00
Joel Sherrill
f74d70e682 lm4f120-testsuite.tcfg: Add psxsignal07
Updates #3938.
2020-04-07 17:10:52 -05:00
Sebastian Huber
92a3a19c75 tests: Exclude record02 for some BSPs
Update #3938.
2020-04-06 21:22:14 +02:00
Gedare Bloom
2db1fd8579 sparc64: update linkcmds with missing sections for TLS
Closes #3936.
2020-04-06 11:15:59 -06:00
Christian Mauderer
bb8ae78d36 bsp/raspberry: Add a bsp_fdt_map_intr().
Fixes #3903
2020-04-04 18:38:44 +02:00
Jan Sommer
1483012b38 bsp/shared/clock: Reset Clock_driver_isrs to correct value
CLOCK_DRIVER_ISRS_PER_TICK is the configuration define,
CLOCK_DRIVER_ISRS_PER_TICK_VALUE is the actual value of ISRS per clock
tick, therefore use this one to reset the Clock_driver_isrs after each
tick.
2020-04-03 11:47:18 +02:00
Sebastian Huber
51307919b4 arm: ARMv7-M statically initialized vector table
Statically initialize the ARMv7-M vector table to allow a placement in
ROM with read-only MPU settings.

Change licence to BSD-2-Clause in some files.
2020-04-03 09:12:44 +02:00
Sebastian Huber
299a82f45e bsp/qoriq: Fix off by one error in clock init
Close #3921.
2020-04-02 09:13:53 +02:00
Joel Sherrill
37e7cc5f4c gdbarmsim: Remove
Closes #3611.
2020-03-19 15:55:26 -05:00
Sebastian Huber
5662210311 bsps: Remove legacy interrupt API from default
This fixes linker issues on the powerpc/virtex4 and powerpc/virtex5
BSPs.
2020-03-13 15:20:30 +01:00
Joel Sherrill
2ff8363466 mrm332-testsuite.tcfg: Add dl01 2020-03-12 16:00:25 -05:00
Joel Sherrill
a518795655 rtl22xx-testsuite.tcfg: Add dl10 and ttest01 2020-03-12 16:00:05 -05:00
Joel Sherrill
9bbfb2b693 lpc23xx_tli800-testsuite.tcfg: Add ttest01 2020-03-12 15:59:35 -05:00
Joel Sherrill
ae6597f93a lpc2362-testsuite.tcfg: Add ttest01 2020-03-12 15:59:10 -05:00
Joel Sherrill
16ed7f6497 lm3s3749-testsuite.tcfg: Add ttest01 2020-03-12 15:53:51 -05:00
Sebastian Huber
0161b93d50 imfs: Replace devfs with an IMFS specialization
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-03-09 17:26:54 +01:00
Joel Sherrill
097ea1ecc5 psim: Rework device tree so devices do not conflict with 256MB RAM
updates #3849.
2020-03-05 18:27:52 -06:00
Jan Sommer
2220a536e3 bsp/pc386: Fix interrupt enable to make debug option work again 2020-02-27 08:30:15 +01:00
Sebastian Huber
61e2d73f09 bsp/mpc5643l_*: Exclude some tests
These tests do not fit into the available memory.
2020-02-27 08:25:40 +01:00
Sebastian Huber
51614bd5bf bsps/clock: Use _SMP_Get_processor_maximum()
Use a specific test to enable the fast idle mode instead of using the
rtems_configuration_is_smp_enabled() workaround.

Update #3876.
2020-02-25 07:18:35 +01:00
Sebastian Huber
e58ecb8433 bsps/arm: Initialize priorities of PPIs
At least on GICv1 the interrupts 0 up to including 31 are so called
Peripheral Private Interrupts (PPIs).  We have to initialize the
priority of the PPIs on secondary processors.
2020-02-24 09:21:47 +01:00
Dennis Pfau
7006f08b86 drvmgr: Fix determination of prefix in grlib uart driver
drvmgr_get_dev_prefix returns 0 if a prefix was found.
Therefore the if condition needs to check for 0, i.e. DRVMGR_OK.
2020-02-20 09:57:27 -07:00
G S Niteesh
f53473fa67 bsp/raspberrypi: Mini UART driver
This patch adds driver for Mini UART present in Raspberry Pi 3
and above, this UART is currently used as the primary UART in
these models.
The Mini UART is similar to ns16550, this driver is built
upon libchip/ns16550.
2020-02-16 16:55:20 +01:00
G S Niteesh
5857e83cfc libchip/ns16550: Allow user calculate baud divisor
This patch will allow the user to pass a function to calculate
the baud divisor.
This will allow for more flexibility, since for some BSPs
like raspberrypi, the calculation of baud divisor is different
from what is in the current driver.
2020-02-16 16:55:20 +01:00
Sebastian Huber
32991495b4 score: Statically allocate idle/MPCI stacks
Place idle and MPCI stacks into extra linker sections.  This can be
optionally used by applications to control the placement of the stacks.

Update #3835.
2020-02-12 09:08:36 +01:00
Sebastian Huber
b900f507cb arm/xilinx-zynq: Split console driver files
This avoids to pull in via printk() the Termios support which pulls in
the file system support.  This fixes a spconfig02 test failure.
2020-02-12 09:08:35 +01:00
Christian Mauderer
adf7e7538f bsp/imx: Parse fdt pinctrl values and setup iomux
Update #3869.
2020-02-11 09:17:02 +01:00
Christian Mauderer
b58f994492 bsp/imx: Support imx6ul iomux.
Update #3869.
2020-02-11 09:17:02 +01:00
Christian Mauderer
d00d690557 bsp/imx: Allow gapless SPI transfers.
This uses the tx-threshold to reduce gaps in SPI transmissions.

Update #3869.
2020-02-11 09:17:02 +01:00