Path: blob/master/arch/xtensa/boot/boot-elf/bootstrap.S
26481 views
/*1* arch/xtensa/boot/boot-elf/bootstrap.S2*3* Low-level exception handling4*5* This file is subject to the terms and conditions of the GNU General Public6* License. See the file "COPYING" in the main directory of this archive7* for more details.8*9* Copyright (C) 2004 - 2013 by Tensilica Inc.10*11* Chris Zankel <[email protected]>12* Marc Gauthier <[email protected]>13* Piet Delaney <[email protected]>14*/1516#include <asm/bootparam.h>17#include <asm/initialize_mmu.h>18#include <asm/vectors.h>19#include <linux/linkage.h>2021.section .ResetVector.text, "ax"22.global _ResetVector23.global reset2425_ResetVector:26_j _SetupMMU2728.begin no-absolute-literals29.literal_position3031#ifdef CONFIG_PARSE_BOOTPARAM32.align 433_bootparam:34.short BP_TAG_FIRST35.short 436.long BP_VERSION37.short BP_TAG_LAST38.short 039.long 040#endif4142.align 443_SetupMMU:44#if XCHAL_HAVE_WINDOWED45movi a0, 046wsr a0, windowbase47rsync48movi a0, 149wsr a0, windowstart50rsync51#endif52movi a0, 0x1F53wsr a0, ps54rsync5556#ifndef CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX57initialize_mmu58#endif5960rsil a0, XCHAL_DEBUGLEVEL-161rsync62reset:63#if defined(CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX) && \64XCHAL_HAVE_PTP_MMU && XCHAL_HAVE_SPANNING_WAY65movi a0, CONFIG_KERNEL_LOAD_ADDRESS66#else67movi a0, KERNELOFFSET68#endif69#ifdef CONFIG_PARSE_BOOTPARAM70movi a2, _bootparam71#else72movi a2, 073#endif74movi a3, 075movi a4, 076jx a07778.end no-absolute-literals798081