cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

head.S (686B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2
      3#include <linux/linkage.h>
      4#include <linux/init.h>
      5#include <asm/page.h>
      6#include <abi/entry.h>
      7
      8__HEAD
      9ENTRY(_start)
     10	SETUP_MMU
     11
     12	/* set stack point */
     13	lrw     r6, init_thread_union + THREAD_SIZE
     14	mov	sp, r6
     15
     16	jmpi	csky_start
     17END(_start)
     18
     19#ifdef CONFIG_SMP
     20.align 10
     21ENTRY(_start_smp_secondary)
     22	SETUP_MMU
     23
     24#ifdef CONFIG_PAGE_OFFSET_80000000
     25	lrw	r6, secondary_msa1
     26	ld.w	r6, (r6, 0)
     27	mtcr	r6, cr<31, 15>
     28#endif
     29
     30	lrw     r6, secondary_pgd
     31	ld.w	r6, (r6, 0)
     32	mtcr	r6, cr<28, 15>
     33	mtcr	r6, cr<29, 15>
     34
     35	/* set stack point */
     36	lrw     r6, secondary_stack
     37	ld.w	r6, (r6, 0)
     38	mov	sp, r6
     39
     40	jmpi	csky_start_secondary
     41END(_start_smp_secondary)
     42#endif