forked from Imagelibrary/rtems
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.
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
);
|
||||
|
||||
|
||||
@@ -25,8 +25,6 @@
|
||||
|
||||
#include <bspopts.h>
|
||||
|
||||
#define BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN
|
||||
|
||||
#define BSP_FEATURE_IRQ_EXTENSION
|
||||
|
||||
#define MPC55XX_PERIPHERAL_CLOCK \
|
||||
|
||||
@@ -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])
|
||||
|
||||
@@ -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
|
||||
);
|
||||
|
||||
@@ -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
|
||||
);
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
);
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
|
||||
@@ -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])
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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])
|
||||
|
||||
Reference in New Issue
Block a user