mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
Reset card on RTEMS shutdown.
This commit is contained in:
@@ -1,3 +1,14 @@
|
|||||||
|
2008-10-23 Eric Norum <norume@aps.anl.gov>
|
||||||
|
|
||||||
|
* ep1a/include/bsp.h, motorola_powerpc/Makefile.am,
|
||||||
|
motorola_powerpc/include/bsp.h, mvme3100/Makefile.am,
|
||||||
|
mvme3100/include/bsp.h, mvme3100/startup/bspstart.c,
|
||||||
|
mvme3100/startup/misc.c, mvme5500/include/bsp.h,
|
||||||
|
mvme5500/startup/bspclean.c, mvme5500/startup/reboot.c,
|
||||||
|
mvme5500/vectors/exceptionhandler.c, shared/console/inch.c,
|
||||||
|
shared/console/reboot.c, shared/startup/bspstart.c,
|
||||||
|
shared/startup/panic.c: Reset card on RTEMS shutdown
|
||||||
|
|
||||||
2008-09-08 Joel Sherrill <joel.sherrill@oarcorp.com>
|
2008-09-08 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||||
|
|
||||||
* acinclude.m4: Add tqm8xx.
|
* acinclude.m4: Add tqm8xx.
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ extern unsigned int BSP_time_base_divisor;
|
|||||||
asm(" eieio ")
|
asm(" eieio ")
|
||||||
|
|
||||||
extern void BSP_panic(char *s);
|
extern void BSP_panic(char *s);
|
||||||
extern void rtemsReboot(void);
|
extern void bsp_reset(void);
|
||||||
extern int BSP_disconnect_clock_handler (void);
|
extern int BSP_disconnect_clock_handler (void);
|
||||||
extern int BSP_connect_clock_handler (void);
|
extern int BSP_connect_clock_handler (void);
|
||||||
|
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ startup_SOURCES = ../../powerpc/shared/startup/bspstart.c \
|
|||||||
../../powerpc/shared/startup/pgtbl_setup.c \
|
../../powerpc/shared/startup/pgtbl_setup.c \
|
||||||
../../powerpc/shared/startup/pgtbl_activate.c \
|
../../powerpc/shared/startup/pgtbl_activate.c \
|
||||||
../../powerpc/shared/startup/sbrk.c ../../shared/bootcard.c \
|
../../powerpc/shared/startup/sbrk.c ../../shared/bootcard.c \
|
||||||
../../shared/bspclean.c ../../shared/bsplibc.c ../../shared/bsppost.c \
|
../../shared/bsplibc.c ../../shared/bsppost.c \
|
||||||
../../shared/gnatinstallhandler.c
|
../../shared/gnatinstallhandler.c
|
||||||
tod_SOURCES = ../../shared/tod.c ../../powerpc/shared/tod/todcfg.c
|
tod_SOURCES = ../../shared/tod.c ../../powerpc/shared/tod/todcfg.c
|
||||||
pclock_SOURCES = ../../powerpc/shared/clock/p_clock.c
|
pclock_SOURCES = ../../powerpc/shared/clock/p_clock.c
|
||||||
|
|||||||
@@ -189,7 +189,7 @@ extern char *BSP_commandline_string;
|
|||||||
((unsigned long long) ((((unsigned long long)BSP_time_base_divisor) * 1000000ULL) /((unsigned long long) BSP_bus_frequency)) * ((unsigned long long) (_value)))
|
((unsigned long long) ((((unsigned long long)BSP_time_base_divisor) * 1000000ULL) /((unsigned long long) BSP_bus_frequency)) * ((unsigned long long) (_value)))
|
||||||
|
|
||||||
extern void BSP_panic(char *s);
|
extern void BSP_panic(char *s);
|
||||||
extern void rtemsReboot(void);
|
extern void bsp_reset(void);
|
||||||
/* extern int printk(const char *, ...) __attribute__((format(printf, 1, 2))); */
|
/* extern int printk(const char *, ...) __attribute__((format(printf, 1, 2))); */
|
||||||
extern int BSP_disconnect_clock_handler (void);
|
extern int BSP_disconnect_clock_handler (void);
|
||||||
extern int BSP_connect_clock_handler (void);
|
extern int BSP_connect_clock_handler (void);
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ startup_SOURCES = startup/bspstart.c build_date.c \
|
|||||||
../../powerpc/shared/startup/pretaskinghook.c \
|
../../powerpc/shared/startup/pretaskinghook.c \
|
||||||
../../powerpc/shared/startup/zerobss.c \
|
../../powerpc/shared/startup/zerobss.c \
|
||||||
../../powerpc/shared/startup/sbrk.c ../../shared/bootcard.c \
|
../../powerpc/shared/startup/sbrk.c ../../shared/bootcard.c \
|
||||||
../../shared/bspclean.c ../../shared/bsplibc.c ../../shared/bsppost.c \
|
../../shared/bsplibc.c ../../shared/bsppost.c \
|
||||||
../../shared/gnatinstallhandler.c
|
../../shared/gnatinstallhandler.c
|
||||||
tod_SOURCES = ../../shared/tod.c tod/todcfg.c
|
tod_SOURCES = ../../shared/tod.c tod/todcfg.c
|
||||||
pclock_SOURCES = ../../powerpc/shared/clock/p_clock.c
|
pclock_SOURCES = ../../powerpc/shared/clock/p_clock.c
|
||||||
|
|||||||
@@ -174,8 +174,7 @@ BSP_i2c_initialize();
|
|||||||
|
|
||||||
/* Misc utility definitions and routines */
|
/* Misc utility definitions and routines */
|
||||||
|
|
||||||
void
|
void bsp_reset(void);
|
||||||
rtemsReboot();
|
|
||||||
|
|
||||||
/* System Control Register */
|
/* System Control Register */
|
||||||
#define BSP_MVME3100_SYS_CR ((volatile uint8_t *)0xe2000001)
|
#define BSP_MVME3100_SYS_CR ((volatile uint8_t *)0xe2000001)
|
||||||
@@ -301,7 +300,6 @@ extern char *BSP_commandline_string;
|
|||||||
|
|
||||||
extern rtems_configuration_table BSP_Configuration;
|
extern rtems_configuration_table BSP_Configuration;
|
||||||
extern void BSP_panic(char *s);
|
extern void BSP_panic(char *s);
|
||||||
extern void rtemsReboot(void);
|
|
||||||
/* extern int printk(const char *, ...) __attribute__((format(printf, 1, 2))); */
|
/* extern int printk(const char *, ...) __attribute__((format(printf, 1, 2))); */
|
||||||
extern int BSP_disconnect_clock_handler (void);
|
extern int BSP_disconnect_clock_handler (void);
|
||||||
extern int BSP_connect_clock_handler (void);
|
extern int BSP_connect_clock_handler (void);
|
||||||
|
|||||||
@@ -48,9 +48,13 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern unsigned long __rtems_end[];
|
extern unsigned long __rtems_end[];
|
||||||
extern void bsp_cleanup(void);
|
|
||||||
extern void BSP_vme_config(void);
|
extern void BSP_vme_config(void);
|
||||||
|
|
||||||
|
void bsp_cleanup(void)
|
||||||
|
{
|
||||||
|
bsp_reset();
|
||||||
|
}
|
||||||
|
|
||||||
SPR_RW(SPRG1)
|
SPR_RW(SPRG1)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -52,7 +52,7 @@
|
|||||||
#include <bsp.h>
|
#include <bsp.h>
|
||||||
|
|
||||||
void
|
void
|
||||||
rtemsReboot()
|
bsp_reset()
|
||||||
{
|
{
|
||||||
uint8_t v;
|
uint8_t v;
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ extern unsigned int BSP_time_base_divisor;
|
|||||||
((unsigned long long) ((((unsigned long long)BSP_time_base_divisor) * 1000000ULL) /((unsigned long long) BSP_bus_frequency)) * ((unsigned long long) (_value)))
|
((unsigned long long) ((((unsigned long long)BSP_time_base_divisor) * 1000000ULL) /((unsigned long long) BSP_bus_frequency)) * ((unsigned long long) (_value)))
|
||||||
|
|
||||||
extern void BSP_panic(char *s);
|
extern void BSP_panic(char *s);
|
||||||
extern void rtemsReboot(void);
|
extern void bsp_reset(void);
|
||||||
/* extern int printk(const char *, ...) __attribute__((format(printf, 1, 2))); */
|
/* extern int printk(const char *, ...) __attribute__((format(printf, 1, 2))); */
|
||||||
extern int BSP_disconnect_clock_handler (void);
|
extern int BSP_disconnect_clock_handler (void);
|
||||||
extern int BSP_connect_clock_handler (void);
|
extern int BSP_connect_clock_handler (void);
|
||||||
|
|||||||
@@ -8,9 +8,9 @@ void bsp_cleanup(void)
|
|||||||
{
|
{
|
||||||
#if AUTO_BOOT
|
#if AUTO_BOOT
|
||||||
/* Till Straumann <strauman@slac.stanford.edu> for SVGM */
|
/* Till Straumann <strauman@slac.stanford.edu> for SVGM */
|
||||||
void rtemsReboot();
|
void bsp_reset();
|
||||||
|
|
||||||
rtemsReboot();
|
bsp_reset();
|
||||||
#else
|
#else
|
||||||
/* Kate Feng <feng1@bnl.gov> for the MVME5500 */
|
/* Kate Feng <feng1@bnl.gov> for the MVME5500 */
|
||||||
printk("\nPrinting a stack trace for your convenience :-)\n");
|
printk("\nPrinting a stack trace for your convenience :-)\n");
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#include <libcpu/io.h>
|
#include <libcpu/io.h>
|
||||||
#include <libcpu/stackTrace.h>
|
#include <libcpu/stackTrace.h>
|
||||||
|
|
||||||
void rtemsReboot()
|
void bsp_reset()
|
||||||
{
|
{
|
||||||
|
|
||||||
printk("Printing a stack trace for your convenience :-)\n");
|
printk("Printing a stack trace for your convenience :-)\n");
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ BSP_printStackTrace(BSP_Exception_frame* excPtr);
|
|||||||
|
|
||||||
|
|
||||||
extern void
|
extern void
|
||||||
rtemsReboot(void);
|
bsp_reset(void);
|
||||||
|
|
||||||
static volatile BSP_ExceptionExtension BSP_exceptionExtension = 0;
|
static volatile BSP_ExceptionExtension BSP_exceptionExtension = 0;
|
||||||
|
|
||||||
@@ -236,7 +236,7 @@ int quiet=0;
|
|||||||
rtems_task_suspend(id);
|
rtems_task_suspend(id);
|
||||||
} else {
|
} else {
|
||||||
printk("PANIC, rebooting...\n");
|
printk("PANIC, rebooting...\n");
|
||||||
rtemsReboot();
|
bsp_reset();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ _IBMPC_scankey(char *outChar)
|
|||||||
|
|
||||||
case 0x53:
|
case 0x53:
|
||||||
if (ctrl_pressed && alt_pressed)
|
if (ctrl_pressed && alt_pressed)
|
||||||
rtemsReboot(); /* ctrl+alt+del -> reboot */
|
bsp_reset(); /* ctrl+alt+del -> reboot */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -5,13 +5,13 @@
|
|||||||
#include <libcpu/stackTrace.h>
|
#include <libcpu/stackTrace.h>
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------+
|
/*-------------------------------------------------------------------------+
|
||||||
| Function: rtemsReboot
|
| Function: bsp_reset
|
||||||
| Description: Reboot the PC.
|
| Description: Reboot the PC.
|
||||||
| Global Variables: None.
|
| Global Variables: None.
|
||||||
| Arguments: None.
|
| Arguments: None.
|
||||||
| Returns: Nothing.
|
| Returns: Nothing.
|
||||||
+--------------------------------------------------------------------------*/
|
+--------------------------------------------------------------------------*/
|
||||||
void rtemsReboot(void)
|
void bsp_reset(void)
|
||||||
{
|
{
|
||||||
printk("Printing a stack trace for your convenience :-)\n");
|
printk("Printing a stack trace for your convenience :-)\n");
|
||||||
CPU_print_stack();
|
CPU_print_stack();
|
||||||
@@ -22,4 +22,4 @@ void rtemsReboot(void)
|
|||||||
#if defined(mvme2100)
|
#if defined(mvme2100)
|
||||||
*(unsigned char*)0xffe00000 |= 0x80;
|
*(unsigned char*)0xffe00000 |= 0x80;
|
||||||
#endif
|
#endif
|
||||||
} /* rtemsReboot */
|
} /* bsp_reset */
|
||||||
|
|||||||
@@ -43,11 +43,12 @@ extern unsigned long __rtems_end[];
|
|||||||
extern void L1_caches_enables(void);
|
extern void L1_caches_enables(void);
|
||||||
extern unsigned get_L2CR(void);
|
extern unsigned get_L2CR(void);
|
||||||
extern void set_L2CR(unsigned);
|
extern void set_L2CR(unsigned);
|
||||||
extern void bsp_cleanup(void);
|
|
||||||
extern Triv121PgTbl BSP_pgtbl_setup(unsigned long);
|
extern Triv121PgTbl BSP_pgtbl_setup(unsigned long);
|
||||||
extern void BSP_pgtbl_activate(Triv121PgTbl);
|
extern void BSP_pgtbl_activate(Triv121PgTbl);
|
||||||
extern void BSP_vme_config(void);
|
extern void BSP_vme_config(void);
|
||||||
|
|
||||||
|
void bsp_cleanup(void) { extern void bsp_reset(void); bsp_reset(); }
|
||||||
|
|
||||||
SPR_RW(SPRG1)
|
SPR_RW(SPRG1)
|
||||||
|
|
||||||
#if defined(DEBUG_BATS)
|
#if defined(DEBUG_BATS)
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ rebootQuestion()
|
|||||||
{
|
{
|
||||||
printk("Press a key to reboot\n");
|
printk("Press a key to reboot\n");
|
||||||
BSP_poll_char_via_serial();
|
BSP_poll_char_via_serial();
|
||||||
rtemsReboot();
|
bsp_reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
void BSP_panic(char *s)
|
void BSP_panic(char *s)
|
||||||
|
|||||||
Reference in New Issue
Block a user