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 (1085B)


      1/*
      2 * This file is subject to the terms and conditions of the GNU General Public
      3 * License.  See the file "COPYING" in the main directory of this archive
      4 * for more details.
      5 *
      6 * Copyright (C) 1994, 1995 Waldorf Electronics
      7 * Written by Ralf Baechle and Andreas Busse
      8 * Copyright (C) 1995 - 1999 Ralf Baechle
      9 * Copyright (C) 1996 Paul M. Antoine
     10 * Modified for DECStation and hence R3000 support by Paul M. Antoine
     11 * Further modifications by David S. Miller and Harald Koerfgen
     12 * Copyright (C) 1999 Silicon Graphics, Inc.
     13 */
     14
     15#include <asm/asm.h>
     16#include <asm/regdef.h>
     17
     18	LEAF(start)
     19	/* Save boot rom start args */
     20	move	s0, a0
     21	move	s1, a1
     22	move	s2, a2
     23	move	s3, a3
     24
     25	/* Clear BSS */
     26	PTR_LA	a0, _edata
     27	PTR_LA	a2, _end
     281:	sw	zero, 0(a0)
     29	addiu	a0, a0, 4
     30	bne	a2, a0, 1b
     31
     32	PTR_LA	a0, (.heap)	     /* heap address */
     33	PTR_LA	sp, (.stack + 8192)  /* stack address */
     34
     35	PTR_LA	t9, decompress_kernel
     36	jalr	t9
     37
     382:
     39	move	a0, s0
     40	move	a1, s1
     41	move	a2, s2
     42	move	a3, s3
     43	PTR_LI	t9, KERNEL_ENTRY
     44	jalr	t9
     45
     463:
     47	b	3b
     48
     49	END(start)
     50
     51	.comm .heap,BOOT_HEAP_SIZE,4
     52	.comm .stack,4096*2,4