zephyr/soc/arm/xilinx_zynqmp/soc.c

43 lines
772 B
C

/*
* Copyright (c) 2019 Lexmark International, Inc.
*
* SPDX-License-Identifier: Apache-2.0
*
*/
#include <kernel.h>
#include <device.h>
#include <init.h>
/**
*
* @brief Perform basic hardware initialization
*
* @return 0
*/
static int soc_init(struct device *arg)
{
ARG_UNUSED(arg);
/* Install default handler that simply resets the CPU
* if configured in the kernel, NOP otherwise
*/
NMI_INIT();
return 0;
}
SYS_INIT(soc_init, PRE_KERNEL_1, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT);
void z_platform_init(void)
{
/*
* Use normal exception vectors address range (0x0-0x1C).
*/
__asm__ volatile(
"mrc p15, 0, r0, c1, c0, 0;" /* SCTLR */
"bic r0, r0, #" TOSTR(HIVECS) ";" /* Clear HIVECS */
"mcr p15, 0, r0, c1, c0, 0;"
: : : "memory");
}