summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-08-31 07:44:53 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-09-03 07:03:09 +0200
commitfad3f79b883100394a5a7e51e93f95eaaafd50f8 (patch)
treed325463fbefc3c19839d7cca89dac7a9e2b2b211
parentbootstrap: Correct help message (diff)
downloadrtems-fad3f79b883100394a5a7e51e93f95eaaafd50f8.tar.bz2
bsps: BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN
Remove the BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN hack. The interrupt stacks are now allocated by the linker. Update #3459.
-rw-r--r--bsps/arm/raspberrypi/start/bspgetworkarea.c7
-rw-r--r--bsps/powerpc/gen83xx/start/bspstart.c2
-rw-r--r--bsps/powerpc/mpc55xxevb/include/bsp.h2
-rw-r--r--bsps/powerpc/mpc55xxevb/start/bspgetworkarea.c9
-rw-r--r--bsps/powerpc/mpc55xxevb/start/bspstart.c2
-rw-r--r--bsps/powerpc/psim/start/bspstart.c2
-rw-r--r--bsps/powerpc/qoriq/start/bspstart.c4
-rw-r--r--bsps/powerpc/qoriq/start/mmu-config.c4
-rw-r--r--bsps/powerpc/t32mppc/start/bspstart.c6
-rw-r--r--bsps/powerpc/virtex/include/bsp.h2
-rw-r--r--bsps/powerpc/virtex/start/bspstart.c2
-rw-r--r--bsps/shared/start/bspgetworkarea-default.c7
-rw-r--r--c/src/lib/libbsp/powerpc/gen83xx/configure.ac3
-rw-r--r--c/src/lib/libbsp/powerpc/psim/configure.ac3
-rw-r--r--c/src/lib/libbsp/powerpc/qoriq/configure.ac3
15 files changed, 10 insertions, 48 deletions
diff --git a/bsps/arm/raspberrypi/start/bspgetworkarea.c b/bsps/arm/raspberrypi/start/bspgetworkarea.c
index 6a43e3c437..4b2f440183 100644
--- a/bsps/arm/raspberrypi/start/bspgetworkarea.c
+++ b/bsps/arm/raspberrypi/start/bspgetworkarea.c
@@ -25,9 +25,6 @@
#include <bsp.h>
#include <bsp/bootcard.h>
#include <bsp/vc.h>
-#ifdef BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN
- #include <rtems/config.h>
-#endif
#if defined(HAS_UBOOT) && !defined(BSP_DISABLE_UBOOT_WORK_AREA_CONFIG)
#define USE_UBOOT
@@ -65,10 +62,6 @@ void bsp_work_area_initialize(void)
ram_end = (uintptr_t)RamBase + (uintptr_t)RamSize;
#endif
- #ifdef BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN
- work_base += rtems_configuration_get_interrupt_stack_size();
- #endif
-
memset( &vc_entry, 0, sizeof(vc_entry) );
if (bcm2835_mailbox_get_vc_memory( &vc_entry ) >= 0) {
if (vc_entry.base > 10 * 1024 *1024)
diff --git a/bsps/powerpc/gen83xx/start/bspstart.c b/bsps/powerpc/gen83xx/start/bspstart.c
index 4070c56347..70fcbea36e 100644
--- a/bsps/powerpc/gen83xx/start/bspstart.c
+++ b/bsps/powerpc/gen83xx/start/bspstart.c
@@ -114,7 +114,7 @@ void bsp_start( void)
ppc_exc_cache_wb_check = 0;
#endif
ppc_exc_initialize(
- (uintptr_t) bsp_section_work_begin,
+ (uintptr_t) _Configuration_Interrupt_stack_area_begin,
rtems_configuration_get_interrupt_stack_size()
);
diff --git a/bsps/powerpc/mpc55xxevb/include/bsp.h b/bsps/powerpc/mpc55xxevb/include/bsp.h
index eee5d208c1..9379356f96 100644
--- a/bsps/powerpc/mpc55xxevb/include/bsp.h
+++ b/bsps/powerpc/mpc55xxevb/include/bsp.h
@@ -25,8 +25,6 @@
#include <bspopts.h>
-#define BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN
-
#define BSP_FEATURE_IRQ_EXTENSION
#define MPC55XX_PERIPHERAL_CLOCK \
diff --git a/bsps/powerpc/mpc55xxevb/start/bspgetworkarea.c b/bsps/powerpc/mpc55xxevb/start/bspgetworkarea.c
index e7d988cf87..c7267eddd3 100644
--- a/bsps/powerpc/mpc55xxevb/start/bspgetworkarea.c
+++ b/bsps/powerpc/mpc55xxevb/start/bspgetworkarea.c
@@ -37,15 +37,6 @@ void bsp_work_area_initialize(void)
}
};
- #ifdef BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN
- {
- uint32_t stack_size = rtems_configuration_get_interrupt_stack_size();
-
- areas [0].begin = (char *) areas [0].begin + stack_size;
- areas [0].size -= stack_size;
- }
- #endif
-
bsp_work_area_initialize_with_table(
areas,
sizeof(areas) / sizeof(areas [0])
diff --git a/bsps/powerpc/mpc55xxevb/start/bspstart.c b/bsps/powerpc/mpc55xxevb/start/bspstart.c
index 34d59a9ac2..b7c1d4b036 100644
--- a/bsps/powerpc/mpc55xxevb/start/bspstart.c
+++ b/bsps/powerpc/mpc55xxevb/start/bspstart.c
@@ -90,7 +90,7 @@ void bsp_start(void)
/* Initialize exceptions */
ppc_exc_initialize_with_vector_base(
- (uintptr_t) bsp_section_work_begin,
+ (uintptr_t) _Configuration_Interrupt_stack_area_begin,
rtems_configuration_get_interrupt_stack_size(),
mpc55xx_exc_vector_base
);
diff --git a/bsps/powerpc/psim/start/bspstart.c b/bsps/powerpc/psim/start/bspstart.c
index 1250715275..e684097788 100644
--- a/bsps/powerpc/psim/start/bspstart.c
+++ b/bsps/powerpc/psim/start/bspstart.c
@@ -91,7 +91,7 @@ void bsp_start( void )
* Initialize default raw exception handlers.
*/
ppc_exc_initialize_with_vector_base(
- (uintptr_t) bsp_section_work_begin,
+ (uintptr_t) _Configuration_Interrupt_stack_area_begin,
rtems_configuration_get_interrupt_stack_size(),
(void *) 0xfff00000
);
diff --git a/bsps/powerpc/qoriq/start/bspstart.c b/bsps/powerpc/qoriq/start/bspstart.c
index cc7902428b..76af17919e 100644
--- a/bsps/powerpc/qoriq/start/bspstart.c
+++ b/bsps/powerpc/qoriq/start/bspstart.c
@@ -169,7 +169,9 @@ void bsp_start(void)
initialize_frequency_parameters();
- qoriq_initialize_exceptions(bsp_section_work_begin);
+ qoriq_initialize_exceptions(
+ (uintptr_t) _Configuration_Interrupt_stack_area_begin
+ );
bsp_interrupt_initialize();
rtems_cache_coherent_add_area(
diff --git a/bsps/powerpc/qoriq/start/mmu-config.c b/bsps/powerpc/qoriq/start/mmu-config.c
index 3c5a8538c8..8a047a83bd 100644
--- a/bsps/powerpc/qoriq/start/mmu-config.c
+++ b/bsps/powerpc/qoriq/start/mmu-config.c
@@ -344,9 +344,5 @@ void TEXT bsp_work_area_initialize(void)
uintptr_t begin = we->begin;
uintptr_t end = begin + we->size;
-#ifdef BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN
- begin += rtems_configuration_get_interrupt_stack_size();
-#endif
-
bsp_work_area_initialize_default((void *) begin, end - begin);
}
diff --git a/bsps/powerpc/t32mppc/start/bspstart.c b/bsps/powerpc/t32mppc/start/bspstart.c
index e8f288df59..5a42ae1bbf 100644
--- a/bsps/powerpc/t32mppc/start/bspstart.c
+++ b/bsps/powerpc/t32mppc/start/bspstart.c
@@ -44,12 +44,12 @@ uint32_t bsp_time_base_frequency = 10000000;
offset += VECTOR_TABLE_ENTRY_SIZE; \
} while (0)
-static void t32mppc_initialize_exceptions(void *interrupt_stack_begin)
+static void t32mppc_initialize_exceptions(void)
{
uintptr_t addr;
ppc_exc_initialize_interrupt_stack(
- (uintptr_t) interrupt_stack_begin,
+ (uintptr_t) _Configuration_Interrupt_stack_area_begin,
rtems_configuration_get_interrupt_stack_size()
);
@@ -86,6 +86,6 @@ void bsp_start(void)
{
get_ppc_cpu_type();
get_ppc_cpu_revision();
- t32mppc_initialize_exceptions(bsp_section_work_begin);
+ t32mppc_initialize_exceptions();
bsp_interrupt_initialize();
}
diff --git a/bsps/powerpc/virtex/include/bsp.h b/bsps/powerpc/virtex/include/bsp.h
index faea72e25e..17af5214c2 100644
--- a/bsps/powerpc/virtex/include/bsp.h
+++ b/bsps/powerpc/virtex/include/bsp.h
@@ -59,8 +59,6 @@ extern "C" {
#define BSP_FEATURE_IRQ_EXTENSION
-#define BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN
-
/* Network Defines */
#if 1 /* EB/doe changes */
#define RTEMS_BSP_NETWORK_DRIVER_NAME "eth0"
diff --git a/bsps/powerpc/virtex/start/bspstart.c b/bsps/powerpc/virtex/start/bspstart.c
index be7f00437a..5c0547aa24 100644
--- a/bsps/powerpc/virtex/start/bspstart.c
+++ b/bsps/powerpc/virtex/start/bspstart.c
@@ -98,7 +98,7 @@ void bsp_start( void )
* Initialize default raw exception handlers.
*/
ppc_exc_initialize_with_vector_base(
- (uintptr_t) bsp_section_work_begin,
+ (uintptr_t) _Configuration_Interrupt_stack_area_begin,
rtems_configuration_get_interrupt_stack_size(),
virtex_exc_vector_base
);
diff --git a/bsps/shared/start/bspgetworkarea-default.c b/bsps/shared/start/bspgetworkarea-default.c
index 302fc0f335..18d4063089 100644
--- a/bsps/shared/start/bspgetworkarea-default.c
+++ b/bsps/shared/start/bspgetworkarea-default.c
@@ -19,9 +19,6 @@
#include <bsp.h>
#include <bsp/bootcard.h>
-#ifdef BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN
- #include <rtems/config.h>
-#endif
#if defined(HAS_UBOOT) && !defined(BSP_DISABLE_UBOOT_WORK_AREA_CONFIG)
#define USE_UBOOT
@@ -54,9 +51,5 @@ void bsp_work_area_initialize(void)
ram_end = (uintptr_t)RamBase + (uintptr_t)RamSize;
#endif
- #ifdef BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN
- work_base += rtems_configuration_get_interrupt_stack_size();
- #endif
-
bsp_work_area_initialize_default( (void *) work_base, ram_end - work_base );
}
diff --git a/c/src/lib/libbsp/powerpc/gen83xx/configure.ac b/c/src/lib/libbsp/powerpc/gen83xx/configure.ac
index 37996f17e8..293148f3ac 100644
--- a/c/src/lib/libbsp/powerpc/gen83xx/configure.ac
+++ b/c/src/lib/libbsp/powerpc/gen83xx/configure.ac
@@ -18,9 +18,6 @@ RTEMS_BSPOPTS_HELP_DATA_CACHE_ENABLED
RTEMS_BSPOPTS_SET_INSTRUCTION_CACHE_ENABLED([*],[1])
RTEMS_BSPOPTS_HELP_INSTRUCTION_CACHE_ENABLED
-RTEMS_BSPOPTS_SET([BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN],[*],[1])
-RTEMS_BSPOPTS_HELP([BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN],[indicate that the interrupt stack is at the work area begin])
-
RTEMS_BSPOPTS_SET([MPC83XX_BOARD_MPC8313ERDB],[mpc8313erdb],[1])
RTEMS_BSPOPTS_HELP([MPC83XX_BOARD_MPC8313ERDB],
[if defined, then use settings for the MPC8313ERDB board])
diff --git a/c/src/lib/libbsp/powerpc/psim/configure.ac b/c/src/lib/libbsp/powerpc/psim/configure.ac
index b04209153a..768f3cfa6d 100644
--- a/c/src/lib/libbsp/powerpc/psim/configure.ac
+++ b/c/src/lib/libbsp/powerpc/psim/configure.ac
@@ -42,9 +42,6 @@ Note that the policy can still be defined by the application
CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK this feature is removed
and a little memory is saved.])
-RTEMS_BSPOPTS_SET([BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN],[*],[1])
-RTEMS_BSPOPTS_HELP([BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN],[indicate that the interrupt stack is at the work area begin])
-
AC_DEFINE(ppc603e, 1, [PowerPC model option])
RTEMS_BSP_CLEANUP_OPTIONS
diff --git a/c/src/lib/libbsp/powerpc/qoriq/configure.ac b/c/src/lib/libbsp/powerpc/qoriq/configure.ac
index 9c35aa79e4..08f5394d45 100644
--- a/c/src/lib/libbsp/powerpc/qoriq/configure.ac
+++ b/c/src/lib/libbsp/powerpc/qoriq/configure.ac
@@ -99,9 +99,6 @@ RTEMS_BSPOPTS_SET([QORIQ_UART_BRIDGE_1_ENABLE],[qoriq_core_1],[1])
RTEMS_BSPOPTS_SET([QORIQ_UART_BRIDGE_1_ENABLE],[*],[0])
RTEMS_BSPOPTS_HELP([QORIQ_UART_BRIDGE_1_ENABLE],[use 1 to enable UART 1 to Intercom bridge, otherwise use 0])
-RTEMS_BSPOPTS_SET([BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN],[*],[1])
-RTEMS_BSPOPTS_HELP([BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN],[indicate that the interrupt stack is at the work area begin])
-
RTEMS_BSPOPTS_SET([QORIQ_INTERCOM_AREA_BEGIN],[*],[0x3000000])
RTEMS_BSPOPTS_HELP([QORIQ_INTERCOM_AREA_BEGIN],[inter-processor communication area begin])
RTEMS_BSPOPTS_SET([QORIQ_INTERCOM_AREA_SIZE],[*],[0x1000000])