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*10465441SEvalZerovoid 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*10465441SEvalZerovoid 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