Commit Graph

623 Commits

Author SHA1 Message Date
Jeff Kubascik
b51a1d07d0 bsps/arm: Unmask generic timer in interrupt handler
Xen will mask the virtual timer before injecting the interrupt to the
guest.
2019-12-05 07:25:52 +01:00
Jeff Kubascik
001cd9bd5c bsps/arm: Add zImage boot header
Xen currently only supports the zImage loader for 32 bit guests on ARM
targets.
2019-12-05 07:25:52 +01:00
Sebastian Huber
f4fda72f65 Regenerate headers.am 2019-11-29 19:01:48 +01:00
Sebastian Huber
05a32e15c7 bsp/mpc55xxevb: Remove obsolete linker cmd file
Update #3818.
2019-11-25 11:32:19 +01:00
Sebastian Huber
3e9f5a55ad bsp/gen83xx: Remove obsolete linker command file
Update #3818.
2019-11-25 11:32:18 +01:00
Sebastian Huber
741fe47088 bsp/lpc32xx: Fix linker command file 2019-11-19 16:05:54 +01:00
Sebastian Huber
a52d617469 bsp/imx7: Rename linker command file
This BSP family uses only one linker command file.  Use the standard
name.

Update #3818.
2019-11-19 16:05:53 +01:00
Sebastian Huber
af321aaf2b bsp/altcycv_devkit: Rename linker command file
This BSP family uses only one linker command file.  Use the standard
name.

Update #3818.
2019-11-19 16:05:50 +01:00
Sebastian Huber
12a263bbd4 bsp/atsamv: Fix warning 2019-11-18 15:24:29 +01:00
Sebastian Huber
41ab50e4cd bsp/t32mppc: Rename linker command file
This BSP family uses only one linker command file.  Use the standard
name.

Update #3818.
2019-11-14 15:07:57 +01:00
Sebastian Huber
bc28b65ff4 bsp/beagle: Rename linker command file
This BSP family uses only one linker command file.  Use the standard
name.

Update #3818.
2019-11-14 15:07:53 +01:00
Sebastian Huber
ae5546704d bsp/riscv: Fix format and warnings
Update #3785.
2019-11-14 11:48:33 +01:00
Sebastian Huber
e9ae74369d bsp/riscv: Fix use of uninitialized integer 2019-11-14 11:48:32 +01:00
Sebastian Huber
df9426f970 bsp/riscv: riscv_get_core_frequency()
Always provide this function.  Return 0 by default.  Fix formatting.
Simplify function.

Update #3785.
2019-11-14 11:48:28 +01:00
Sebastian Huber
3dcfee377e bsp/gumstix: Fix warning 2019-11-14 11:47:45 +01:00
Sebastian Huber
f9648baf65 bsps/arm: Add support for small pages MMU
The small page MMU support reduces the granularity for memory settings
through the MMU from 1MiB sections to 4KiB small pages.

Enable it by default on the realview_pbx_a9_qemu BSP.
2019-10-31 09:48:05 +01:00
Hesham Almatary
044687d335 bsps/riscv: UART - Read reg-shift from DTB to properly set/get registers 2019-10-30 09:30:09 +00:00
Hesham Almatary
94481cedc4 riscv: Add new BSP cfg variants to be built with llvm/clang 2019-10-27 10:45:31 +00:00
Hesham Almatary
ce5988e10a riscv: Add new offending input sections to the linker script 2019-10-27 10:45:20 +00:00
Hesham Almatary
7f0c41c759 riscv: Add NOLOAD directive to the .work section
ld.lld defaults .work to PROGBITS otherwise
2019-10-27 10:45:14 +00:00
Hesham Almatary
f462bcbb0a riscv: Address differences in the linkerscript between GNU LD and LLVM/LLD
LLVM/LLD does not support STARTUP and ALIGN_WITH_INPUT directives that
GNU LD support. INPUT and ALIGN(8) are supported by LLVM/LLD and can
replace the unsupported STARTUP/ALIGN_WITH_INPUT directives.

The commit conditionally adds the supported directive that linkers
can understand depending on the toolchain used to compile RTEMS
i.e., clang or gcc. Clang is assumed to use LLD by default.
2019-10-27 10:45:00 +00:00
Hesham Almatary
ca82ded785 riscv: Generate linkcmds.base from the shared linkcmds.base.in
This commit moves the existing linkcmds.base to linkcmds.base.in
in order to make it configurable by autotools.
2019-10-27 10:44:52 +00:00
Sebastian Huber
d2efc968e2 bsp/xilinx-zynq: Simplify linkcmds config
Use NULL-pointer protection also for Qemu variant.

Do all calculations in the linker command file.  This is a preparation
for the new build system.
2019-10-23 14:19:47 +02:00
Sebastian Huber
1e1afa3779 bsp/xilinx-zynqmp: Simplify linkcmds config
Do all calculations in the linker command file.  This is a preparation
for the new build system.
2019-10-23 14:19:47 +02:00
Christian Mauderer
9620dfa49e bsp/atsam: Use PIO for SC16IS752.
This allows to mix SC16IS752 chips with other interrupts.
2019-10-23 10:41:34 +02:00
Christian Mauderer
d60b6d7c33 bsp/atsam: Add additional PIO helper. 2019-10-23 10:41:34 +02:00
Christian Mauderer
d4b92da208 bsps/atsam: Improve case for level triggered IRQs.
For level triggered interrupts currently the handler would have been
called two times (assuming no one cleared the mask in a handler which
would have been bad because the handler couldn't process all other that
got cleared by accident). This patch allows the handler only to return
if nothing is left to do.
2019-10-23 10:41:34 +02:00
Pragnesh Patel
a7f5e42cc5 riscv: add freedom E310 Arty A7 bsp
Added support for Sifive Freedom FE310 soc on Arty A7 FPGA board.
Update #3785.

Signed-off-by: Pragnesh Patel <pragnesh.patel@sifive.com>
2019-10-23 08:11:50 +02:00
Chris Johns
2fdbdbc8b1 arm/beanglebone: Fix i2c build error. 2019-10-19 15:53:50 +11:00
Sebastian Huber
be3d697450 bsp/erc32: Improve pseudo-SMP support
Add support for _SMP_Send_message() to the own processor.  This is
required by the smpmulticast01 test program.
2019-10-01 09:55:07 +02:00
Sebastian Huber
33ed4123c0 rtems: Add rtems_interrupt_server_entry_move()
The use case for this function is the libbsd.  In FreeBSD, the interrupt
setup and binding to a processor is done in two steps.  Message
based interrupts like PCIe MSI and MSI-X interrupts can be implemented
through interrupt server entries.  They are setup at the default
interrupt server and may optionally move to an interrupt server bound to
a specific processor.
2019-09-20 09:22:46 +02:00
Vijay Kumar Banerjee
a4e96cfb0a bsps/beagle: register i2c device at initialization 2019-09-19 21:27:16 +02:00
Sebastian Huber
c331bdc777 record: Allow tracing of ISR disable/enable
Directly use the CPU port API in boot_card() to allow tracing of the
higher level interrupt disable/enable routines, e.g.
_ISR_Local_disable() and _ISR_Local_enable().  Currently, there is no
configuration option to enable this.  Below is a patch.  It may be used
to investigate some nasty low level bugs in the system.

Update #3665.

diff --git a/cpukit/include/rtems/score/isrlevel.h b/cpukit/include/rtems/score/isrlevel.h
index c42451d010..46d361ddc2 100644
--- a/cpukit/include/rtems/score/isrlevel.h
+++ b/cpukit/include/rtems/score/isrlevel.h
@@ -40,6 +40,10 @@ extern "C" {
  */
 typedef uint32_t   ISR_Level;

+uint32_t rtems_record_interrupt_disable( void );
+
+void rtems_record_interrupt_enable( uint32_t level );
+
 /**
  *  @brief Disables interrupts on this processor.
  *
@@ -56,8 +60,7 @@ typedef uint32_t   ISR_Level;
  */
 #define _ISR_Local_disable( _level ) \
   do { \
-    _CPU_ISR_Disable( _level ); \
-    RTEMS_COMPILER_MEMORY_BARRIER(); \
+    _level = rtems_record_interrupt_disable(); \
   } while (0)

 /**
@@ -72,10 +75,7 @@ typedef uint32_t   ISR_Level;
  *  _ISR_Local_disable().
  */
 #define _ISR_Local_enable( _level ) \
-  do { \
-    RTEMS_COMPILER_MEMORY_BARRIER(); \
-    _CPU_ISR_Enable( _level ); \
-  } while (0)
+  rtems_record_interrupt_enable( _level )

 /**
  *  @brief Temporarily enables interrupts on this processor.
@@ -98,9 +98,8 @@ typedef uint32_t   ISR_Level;
  */
 #define _ISR_Local_flash( _level ) \
   do { \
-    RTEMS_COMPILER_MEMORY_BARRIER(); \
-    _CPU_ISR_Flash( _level ); \
-    RTEMS_COMPILER_MEMORY_BARRIER(); \
+    rtems_record_interrupt_enable( _level ); \
+    _level = rtems_record_interrupt_disable(); \
   } while (0)

 /
2019-09-06 08:09:34 +02:00
Chris Johns
15b6f44deb arm/tlb: Fix the MP affinity check to invalidate ASIDs.
- The TI's CortexA7 MP MPIDR register returns 0

Updates #3760
2019-08-12 13:58:31 +10:00
Chris Johns
a4d7e4cee7 arm/raspberry: Set the workspace based on the mailbox version.
- Update the linkcmd file to support configure settings

- Set the workspace size based on the revision value
2019-08-12 08:49:33 +10:00
Chris Johns
9cb19ded5c libdl/debugger: Fix the broken list delete when unloading an object module.
Closes #3777
2019-08-12 08:49:33 +10:00
Vijay Kumar Banerjee
886956afd2 bsp/beagle: Add nocache section
Closes #3780
2019-08-07 20:38:43 +02:00
Christian Mauderer
163927e502 bsps/beagle: Remove dead code from GPIO.
Remove static stuff that is never used.
2019-08-03 11:53:41 +02:00
Chris Johns
7d4f74e968 arm/beagle: Add libdebugger support.
- Port the jbang code from C++ to C to enable DBGEN.
- Hook the libdebugger ARM backend support to return the base address
  of the debug register set.
2019-07-31 08:33:05 +10:00
Chris Johns
98d6792376 arm: Select the TLB invalidate based on the core's Id variant.
Closes #3760
2019-07-31 08:33:05 +10:00
Sebastian Huber
c5fd79cd47 arm/raspberrypi: Fix linker map
Add NULL-pointer protection.  Make MMU table read-only.  Move vector
table to start section.

Close #3774.
2019-07-30 07:25:13 +02:00
Sebastian Huber
5ee70c5487 Add and use THREAD_DEFAULT_MAXIMUM_NAME_SIZE 2019-07-30 07:21:06 +02:00
Sebastian Huber
1e6380baf2 bsps/arm: Move HYP to SVC change to start.S
This fixes the corruption of r3 by the call to
bsp_start_arm_drop_hyp_mode().

Moving the code makes it easier to review changes in start.S.

Close #3773.
2019-07-26 08:12:20 +02:00
Sebastian Huber
0ee2125a92 bsps/arm: Move register init to start.S
This makes it easier to review changes in start.S.

Update #3773.
2019-07-26 08:00:48 +02:00
Sebastian Huber
0f5c1d5344 bsps/arm: Remove register init for ARMv7-M
There are no known ARMv7-M chips with a dual lockstep mode.

Update #3773.
2019-07-26 08:00:39 +02:00
Sebastian Huber
e9c83b46a0 bsps: Regenerate headers.am
Update #3269.
2019-07-05 09:04:34 +02:00
Christian Mauderer
b89d6cc5e4 bsp/beagle: Partial re-write of I2C driver.
The old driver worked well for EEPROMS with the RTEMS EEPROM driver. But
it had problems with a lot of other situations. Although it's not a
direct port, the new driver is heavily modeled after the FreeBSD ti_i2c
driver.

Closes #3764.
2019-06-29 09:37:24 +02:00
Chris Johns
c43071f523 arm: Return the current handler from arm_cp15_set_exception_handler
Closes #3762
2019-06-28 09:01:27 +10:00
Sebastian Huber
9b858ee6ef bsp/motorola_powerpc: Fix linker command file
Fix the __size symbol value to reflect the total size of the bootloader.
This prevents a bootloader crash with application images above a certain
threshold (e.g. fileio sample program).

Update #3727.
2019-06-27 14:36:56 +02:00
Sebastian Huber
dc581f29ab bsp/atsam: Enable configuration of SDRAMC_LPR 2019-06-21 06:58:48 +02:00