projects/linux·blob master · refs

36 lines · 748 B

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