/* * Copyright (c) 2019 Lexmark International, Inc. * * SPDX-License-Identifier: Apache-2.0 * */ #include #include #include /** * * @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"); }