xref: /linux/arch/alpha/boot/compressed/head.S (revision c437950dceb88a92ca526f5ce3afd327c4fce457)
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Entry point for the self-extracting compressed kernel stub. aboot
4 * jumps here with the OSF/1 parameter page (ZERO_PGE) already populated
5 * and $30 set to INIT_STACK, exactly as it would for an uncompressed
6 * vmlinux.
7 */
8
9#include <linux/init.h>
10#include <asm/pal.h>
11
12	.set noreorder
13
14__HEAD
15	.globl	__start
16	.ent	__start
17__start:
18	br	$29,1f
191:	ldgp	$29,0($29)
20
21	/*
22	 * Clear our own bss. The decompressors keep state there, and
23	 * nothing guarantees that aboot zeroed the part of our PT_LOAD
24	 * segment that has no file backing.
25	 */
26	lda	$1,_bss
27	lda	$2,_ebss
282:	cmpult	$1,$2,$3
29	beq	$3,3f
30	stq	$31,0($1)
31	addq	$1,8,$1
32	br	$31,2b
33
343:	jsr	$26,decompress_and_boot
35	call_pal PAL_halt
36	.end __start
37