Reset card on RTEMS shutdown.

This commit is contained in:
Eric Norum
2008-10-23 13:45:55 +00:00
parent daad59a453
commit 83e392b463
16 changed files with 35 additions and 21 deletions

View File

@@ -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>
* acinclude.m4: Add tqm8xx.

View File

@@ -187,7 +187,7 @@ extern unsigned int BSP_time_base_divisor;
asm(" eieio ")
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_connect_clock_handler (void);

View File

@@ -52,7 +52,7 @@ startup_SOURCES = ../../powerpc/shared/startup/bspstart.c \
../../powerpc/shared/startup/pgtbl_setup.c \
../../powerpc/shared/startup/pgtbl_activate.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
tod_SOURCES = ../../shared/tod.c ../../powerpc/shared/tod/todcfg.c
pclock_SOURCES = ../../powerpc/shared/clock/p_clock.c

View File

@@ -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)))
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 BSP_disconnect_clock_handler (void);
extern int BSP_connect_clock_handler (void);

View File

@@ -61,7 +61,7 @@ startup_SOURCES = startup/bspstart.c build_date.c \
../../powerpc/shared/startup/pretaskinghook.c \
../../powerpc/shared/startup/zerobss.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
tod_SOURCES = ../../shared/tod.c tod/todcfg.c
pclock_SOURCES = ../../powerpc/shared/clock/p_clock.c

View File

@@ -174,8 +174,7 @@ BSP_i2c_initialize();
/* Misc utility definitions and routines */
void
rtemsReboot();
void bsp_reset(void);
/* System Control Register */
#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 void BSP_panic(char *s);
extern void rtemsReboot(void);
/* extern int printk(const char *, ...) __attribute__((format(printf, 1, 2))); */
extern int BSP_disconnect_clock_handler (void);
extern int BSP_connect_clock_handler (void);

View File

@@ -48,9 +48,13 @@
#endif
extern unsigned long __rtems_end[];
extern void bsp_cleanup(void);
extern void BSP_vme_config(void);
void bsp_cleanup(void)
{
bsp_reset();
}
SPR_RW(SPRG1)
/*

View File

@@ -52,7 +52,7 @@
#include <bsp.h>
void
rtemsReboot()
bsp_reset()
{
uint8_t v;
/*

View File

@@ -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)))
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 BSP_disconnect_clock_handler (void);
extern int BSP_connect_clock_handler (void);

View File

@@ -8,9 +8,9 @@ void bsp_cleanup(void)
{
#if AUTO_BOOT
/* Till Straumann <strauman@slac.stanford.edu> for SVGM */
void rtemsReboot();
void bsp_reset();
rtemsReboot();
bsp_reset();
#else
/* Kate Feng <feng1@bnl.gov> for the MVME5500 */
printk("\nPrinting a stack trace for your convenience :-)\n");

View File

@@ -4,7 +4,7 @@
#include <libcpu/io.h>
#include <libcpu/stackTrace.h>
void rtemsReboot()
void bsp_reset()
{
printk("Printing a stack trace for your convenience :-)\n");

View File

@@ -65,7 +65,7 @@ BSP_printStackTrace(BSP_Exception_frame* excPtr);
extern void
rtemsReboot(void);
bsp_reset(void);
static volatile BSP_ExceptionExtension BSP_exceptionExtension = 0;
@@ -236,7 +236,7 @@ int quiet=0;
rtems_task_suspend(id);
} else {
printk("PANIC, rebooting...\n");
rtemsReboot();
bsp_reset();
}
}
}

View File

@@ -154,7 +154,7 @@ _IBMPC_scankey(char *outChar)
case 0x53:
if (ctrl_pressed && alt_pressed)
rtemsReboot(); /* ctrl+alt+del -> reboot */
bsp_reset(); /* ctrl+alt+del -> reboot */
break;
/*

View File

@@ -5,13 +5,13 @@
#include <libcpu/stackTrace.h>
/*-------------------------------------------------------------------------+
| Function: rtemsReboot
| Function: bsp_reset
| Description: Reboot the PC.
| Global Variables: None.
| Arguments: None.
| Returns: Nothing.
+--------------------------------------------------------------------------*/
void rtemsReboot(void)
void bsp_reset(void)
{
printk("Printing a stack trace for your convenience :-)\n");
CPU_print_stack();
@@ -22,4 +22,4 @@ void rtemsReboot(void)
#if defined(mvme2100)
*(unsigned char*)0xffe00000 |= 0x80;
#endif
} /* rtemsReboot */
} /* bsp_reset */

View File

@@ -43,11 +43,12 @@ extern unsigned long __rtems_end[];
extern void L1_caches_enables(void);
extern unsigned get_L2CR(void);
extern void set_L2CR(unsigned);
extern void bsp_cleanup(void);
extern Triv121PgTbl BSP_pgtbl_setup(unsigned long);
extern void BSP_pgtbl_activate(Triv121PgTbl);
extern void BSP_vme_config(void);
void bsp_cleanup(void) { extern void bsp_reset(void); bsp_reset(); }
SPR_RW(SPRG1)
#if defined(DEBUG_BATS)

View File

@@ -10,7 +10,7 @@ rebootQuestion()
{
printk("Press a key to reboot\n");
BSP_poll_char_via_serial();
rtemsReboot();
bsp_reset();
}
void BSP_panic(char *s)