]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - arch/h8300/kernel/head_ram.S
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
[mirror_ubuntu-bionic-kernel.git] / arch / h8300 / kernel / head_ram.S
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
df2078b8
YS
2
3#include <linux/sys.h>
4#include <linux/init.h>
5#include <asm/unistd.h>
6#include <asm/setup.h>
7#include <asm/segment.h>
8#include <asm/linkage.h>
9#include <asm/asm-offsets.h>
10#include <asm/thread_info.h>
11#include <asm/errno.h>
12
13#if defined(CONFIG_CPU_H8300H)
14 .h8300h
15#define SYSCR 0xfee012
16#define IRAMTOP 0xffff20
17#endif
18#if defined(CONFIG_CPU_H8S)
19 .h8300s
20#define INTCR 0xffff31
21#define IRAMTOP 0xffc000
22#endif
23
24 __HEAD
25 .global _start
26_start:
27 mov.l #IRAMTOP,sp
28 /* .bss clear */
29 mov.l #_sbss,er5
30 mov.l #_ebss,er4
31 sub.l er5,er4
32 shlr er4
33 shlr er4
34 sub.l er2,er2
351:
36 mov.l er2,@er5
37 adds #4,er5
38 dec.l #1,er4
39 bne 1b
40 jsr @h8300_fdt_init
41
42 /* linux kernel start */
43#if defined(CONFIG_CPU_H8300H)
44 ldc #0xd0,ccr /* running kernel */
45 mov.l #SYSCR,er0
46 bclr #3,@er0
47#endif
48#if defined(CONFIG_CPU_H8S)
49 ldc #0x07,exr
50 bclr #4,@INTCR:8
51 bset #5,@INTCR:8 /* Interrupt mode 2 */
52 ldc #0x90,ccr /* running kernel */
53#endif
54 mov.l #init_thread_union,sp
55 add.l #0x2000,sp
56 jsr @start_kernel
57
581:
59 bra 1b
60
61 .end