xref: /nrf52832-nimble/rt-thread/libcpu/arm/zynq7000/cpu.c (revision 104654410c56c573564690304ae786df310c91fc)
1*10465441SEvalZero /*
2*10465441SEvalZero  * Copyright (c) 2006-2018, RT-Thread Development Team
3*10465441SEvalZero  *
4*10465441SEvalZero  * SPDX-License-Identifier: Apache-2.0
5*10465441SEvalZero  *
6*10465441SEvalZero  * Change Logs:
7*10465441SEvalZero  * Date           Author       Notes
8*10465441SEvalZero  * 2013-07-20     Bernard      first version
9*10465441SEvalZero  */
10*10465441SEvalZero 
11*10465441SEvalZero #include <rthw.h>
12*10465441SEvalZero #include <rtthread.h>
13*10465441SEvalZero #include "zynq7000.h"
14*10465441SEvalZero 
15*10465441SEvalZero /**
16*10465441SEvalZero  * reset cpu by dog's time-out
17*10465441SEvalZero  *
18*10465441SEvalZero  */
rt_hw_cpu_reset()19*10465441SEvalZero void rt_hw_cpu_reset()
20*10465441SEvalZero {
21*10465441SEvalZero     while (1);  /* loop forever and wait for reset to happen */
22*10465441SEvalZero 
23*10465441SEvalZero     /* NEVER REACHED */
24*10465441SEvalZero }
25*10465441SEvalZero 
26*10465441SEvalZero /**
27*10465441SEvalZero  *  shutdown CPU
28*10465441SEvalZero  *
29*10465441SEvalZero  */
rt_hw_cpu_shutdown()30*10465441SEvalZero void rt_hw_cpu_shutdown()
31*10465441SEvalZero {
32*10465441SEvalZero     rt_uint32_t level;
33*10465441SEvalZero     rt_kprintf("shutdown...\n");
34*10465441SEvalZero 
35*10465441SEvalZero     level = rt_hw_interrupt_disable();
36*10465441SEvalZero     while (level)
37*10465441SEvalZero     {
38*10465441SEvalZero         RT_ASSERT(0);
39*10465441SEvalZero     }
40*10465441SEvalZero }
41*10465441SEvalZero 
42