宏macro


(1).macro和.endm组成一个宏;
(2).macro后面跟着的依次是宏名称,宏参数;
(3)在宏中使用参数,需要添加前缀"";

.macro add a,b   //宏名称add,参数a,b

(4)红参数定义时,可以设置初始值

.macro test p1=0 p2//可以用test a,b或者test b来使用

(5)宏可以使用空格

.macro label 1
\1 :
.endm

(6)使用"()"表示字符串结束

.macro kernel_ventry, el, label

b el\()\el\()_\label
//在arm/arm64/kernel/entry.S文件,表示el1_irq
#include "entry.h"

        .macro handle_invalid_entry type
        kernel_entry
        mov     x0, #\type
        mrs     x1, esr_el1
        mrs     x2, elr_el1
        bl      show_invalid_entry_message
        b       err_hang
        .endm

        .macro  ventry  label
        .align  7
        b       \label
        .endm

        .macro  kernel_entry
        sub     sp, sp, #S_FRAME_SIZE
        stp     x0, x1, [sp, #16 * 0]
        stp     x2, x3, [sp, #16 * 1]
        stp     x4, x5, [sp, #16 * 2]
        stp     x6, x7, [sp, #16 * 3]
        stp     x8, x9, [sp, #16 * 4]
        stp     x10, x11, [sp, #16 * 5]
        stp     x12, x13, [sp, #16 * 6]
        stp     x14, x15, [sp, #16 * 7]
        stp     x16, x17, [sp, #16 * 8]
        stp     x18, x19, [sp, #16 * 9]
        stp     x20, x21, [sp, #16 * 10]
        stp     x22, x23, [sp, #16 * 11]
        stp     x24, x25, [sp, #16 * 12]
        stp     x26, x27, [sp, #16 * 13]
        stp     x28, x29, [sp, #16 * 14]
        str     x30, [sp, #16 * 15] 
        .endm

        .macro  kernel_exit
        ldp     x0, x1, [sp, #16 * 0]
        ldp     x2, x3, [sp, #16 * 1]
        ldp     x4, x5, [sp, #16 * 2]
        ldp     x6, x7, [sp, #16 * 3]
        ldp     x8, x9, [sp, #16 * 4]
        ldp     x10, x11, [sp, #16 * 5]
        ldp     x12, x13, [sp, #16 * 6]
        ldp     x14, x15, [sp, #16 * 7]
        ldp     x16, x17, [sp, #16 * 8]
        ldp     x18, x19, [sp, #16 * 9]
        ldp     x20, x21, [sp, #16 * 10]
        ldp     x22, x23, [sp, #16 * 11]
        ldp     x24, x25, [sp, #16 * 12]
        ldp     x26, x27, [sp, #16 * 13]
        ldp     x28, x29, [sp, #16 * 14]
        ldr     x30, [sp, #16 * 15] 
        add     sp, sp, #S_FRAME_SIZE
        eret
        .endm


/*
 * Exception vectors.
 */
.align  11
.globl vectors 
vectors:
        ventry  sync_invalid_el1t                       // Synchronous EL1t
        ventry  irq_invalid_el1t                        // IRQ EL1t
        ventry  fiq_invalid_el1t                        // FIQ EL1t
        ventry  error_invalid_el1t                      // Error EL1t

        ventry  sync_invalid_el1h                       // Synchronous EL1h
        ventry  el1_irq                                 // IRQ EL1h
        ventry  fiq_invalid_el1h                        // FIQ EL1h
        ventry  error_invalid_el1h                      // Error EL1h

        ventry  sync_invalid_el0_64                     // Synchronous 64-bit EL0
        ventry  irq_invalid_el0_64                      // IRQ 64-bit EL0
        ventry  fiq_invalid_el0_64                      // FIQ 64-bit EL0
        ventry  error_invalid_el0_64                    // Error 64-bit EL0

        ventry  sync_invalid_el0_32                     // Synchronous 32-bit EL0
        ventry  irq_invalid_el0_32                      // IRQ 32-bit EL0
        ventry  fiq_invalid_el0_32                      // FIQ 32-bit EL0
        ventry  error_invalid_el0_32                    // Error 32-bit EL0

sync_invalid_el1t:
        handle_invalid_entry  SYNC_INVALID_EL1t

irq_invalid_el1t:
        handle_invalid_entry  IRQ_INVALID_EL1t

fiq_invalid_el1t:
        handle_invalid_entry  FIQ_INVALID_EL1t

error_invalid_el1t:
        handle_invalid_entry  ERROR_INVALID_EL1t

sync_invalid_el1h:
        handle_invalid_entry  SYNC_INVALID_EL1h

fiq_invalid_el1h:
        handle_invalid_entry  FIQ_INVALID_EL1h

error_invalid_el1h:
        handle_invalid_entry  ERROR_INVALID_EL1h

sync_invalid_el0_64:
        handle_invalid_entry  SYNC_INVALID_EL0_64

irq_invalid_el0_64:
        handle_invalid_entry  IRQ_INVALID_EL0_64

fiq_invalid_el0_64:
        handle_invalid_entry  FIQ_INVALID_EL0_64

error_invalid_el0_64:
        handle_invalid_entry  ERROR_INVALID_EL0_64

sync_invalid_el0_32:
        handle_invalid_entry  SYNC_INVALID_EL0_32

irq_invalid_el0_32:
        handle_invalid_entry  IRQ_INVALID_EL0_32

fiq_invalid_el0_32:
        handle_invalid_entry  FIQ_INVALID_EL0_32

error_invalid_el0_32:
        handle_invalid_entry  ERROR_INVALID_EL0_32

el1_irq:
        kernel_entry 
        bl      handle_irq
        kernel_exit 

.globl err_hang
err_hang: b err_hang
root@ubuntu:~/arm/raspberry-pi3-mini-os/4.interrupt# aarch64-linux-gnu-gcc entry.S  -o entry.o -Iinclude -MMD -c
root@ubuntu:~/arm/raspberry-pi3-mini-os/4.interrupt#  objdump -s -d  entry.o > entry.txt
root@ubuntu:~/arm/raspberry-pi3-mini-os/4.interrupt# 
entry.o:     file format elf64-littleaarch64

Contents of section .text:
 0000 e1010014 1f2003d5 1f2003d5 1f2003d5  ..... ... ... ..
 0010 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0020 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0030 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0040 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0050 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0060 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0070 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0080 d7010014 1f2003d5 1f2003d5 1f2003d5  ..... ... ... ..
 0090 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 00a0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 00b0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 00c0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 00d0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 00e0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 00f0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0100 cd010014 1f2003d5 1f2003d5 1f2003d5  ..... ... ... ..
 0110 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0120 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0130 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0140 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0150 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0160 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0170 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0180 c3010014 1f2003d5 1f2003d5 1f2003d5  ..... ... ... ..
 0190 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 01a0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 01b0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 01c0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 01d0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 01e0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 01f0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0200 b9010014 1f2003d5 1f2003d5 1f2003d5  ..... ... ... ..
 0210 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0220 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0230 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0240 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0250 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0260 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0270 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0280 8b020014 1f2003d5 1f2003d5 1f2003d5  ..... ... ... ..
 0290 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 02a0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 02b0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 02c0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 02d0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 02e0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 02f0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0300 8f010014 1f2003d5 1f2003d5 1f2003d5  ..... ... ... ..
 0310 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0320 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0330 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0340 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0350 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0360 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0370 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0380 85010014 1f2003d5 1f2003d5 1f2003d5  ..... ... ... ..
 0390 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 03a0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 03b0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 03c0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 03d0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 03e0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 03f0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0400 7b010014 1f2003d5 1f2003d5 1f2003d5  {.... ... ... ..
 0410 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0420 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0430 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0440 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0450 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0460 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0470 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0480 71010014 1f2003d5 1f2003d5 1f2003d5  q.... ... ... ..
 0490 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 04a0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 04b0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 04c0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 04d0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 04e0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 04f0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0500 67010014 1f2003d5 1f2003d5 1f2003d5  g.... ... ... ..
 0510 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0520 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0530 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0540 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0550 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0560 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0570 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0580 5d010014 1f2003d5 1f2003d5 1f2003d5  ].... ... ... ..
 0590 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 05a0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 05b0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 05c0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 05d0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 05e0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 05f0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0600 53010014 1f2003d5 1f2003d5 1f2003d5  S.... ... ... ..
 0610 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0620 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0630 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0640 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0650 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0660 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0670 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0680 49010014 1f2003d5 1f2003d5 1f2003d5  I.... ... ... ..
 0690 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 06a0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 06b0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 06c0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 06d0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 06e0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 06f0 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0700 3f010014 1f2003d5 1f2003d5 1f2003d5  ?.... ... ... ..
 0710 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0720 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0730 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0740 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0750 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0760 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0770 1f2003d5 1f2003d5 1f2003d5 1f2003d5  . ... ... ... ..
 0780 35010014 ff0304d1 e00700a9 e20f01a9  5...............
 0790 e41702a9 e61f03a9 e82704a9 ea2f05a9  .........'.../..
 07a0 ec3706a9 ee3f07a9 f04708a9 f24f09a9  .7...?...G...O..
 07b0 f4570aa9 f65f0ba9 f8670ca9 fa6f0da9  .W..._...g...o..
 07c0 fc770ea9 fe7b00f9 000080d2 015238d5  .w...{.......R8.
 07d0 224038d5 00000094 00000014 ff0304d1  "@8.............
 07e0 e00700a9 e20f01a9 e41702a9 e61f03a9  ................
 07f0 e82704a9 ea2f05a9 ec3706a9 ee3f07a9  .'.../...7...?..
 0800 f04708a9 f24f09a9 f4570aa9 f65f0ba9  .G...O...W..._..
 0810 f8670ca9 fa6f0da9 fc770ea9 fe7b00f9  .g...o...w...{..
 0820 200080d2 015238d5 224038d5 00000094   ....R8."@8.....
 0830 00000014 ff0304d1 e00700a9 e20f01a9  ................
 0840 e41702a9 e61f03a9 e82704a9 ea2f05a9  .........'.../..
 0850 ec3706a9 ee3f07a9 f04708a9 f24f09a9  .7...?...G...O..
 0860 f4570aa9 f65f0ba9 f8670ca9 fa6f0da9  .W..._...g...o..
 0870 fc770ea9 fe7b00f9 400080d2 015238d5  .w...{..@....R8.
 0880 224038d5 00000094 00000014 ff0304d1  "@8.............
 0890 e00700a9 e20f01a9 e41702a9 e61f03a9  ................
 08a0 e82704a9 ea2f05a9 ec3706a9 ee3f07a9  .'.../...7...?..
 08b0 f04708a9 f24f09a9 f4570aa9 f65f0ba9  .G...O...W..._..
 08c0 f8670ca9 fa6f0da9 fc770ea9 fe7b00f9  .g...o...w...{..
 08d0 600080d2 015238d5 224038d5 00000094  `....R8."@8.....
 08e0 00000014 ff0304d1 e00700a9 e20f01a9  ................
 08f0 e41702a9 e61f03a9 e82704a9 ea2f05a9  .........'.../..
 0900 ec3706a9 ee3f07a9 f04708a9 f24f09a9  .7...?...G...O..
 0910 f4570aa9 f65f0ba9 f8670ca9 fa6f0da9  .W..._...g...o..
 0920 fc770ea9 fe7b00f9 800080d2 015238d5  .w...{.......R8.
 0930 224038d5 00000094 00000014 ff0304d1  "@8.............
 0940 e00700a9 e20f01a9 e41702a9 e61f03a9  ................
 0950 e82704a9 ea2f05a9 ec3706a9 ee3f07a9  .'.../...7...?..
 0960 f04708a9 f24f09a9 f4570aa9 f65f0ba9  .G...O...W..._..
 0970 f8670ca9 fa6f0da9 fc770ea9 fe7b00f9  .g...o...w...{..
 0980 c00080d2 015238d5 224038d5 00000094  .....R8."@8.....
 0990 00000014 ff0304d1 e00700a9 e20f01a9  ................
 09a0 e41702a9 e61f03a9 e82704a9 ea2f05a9  .........'.../..
 09b0 ec3706a9 ee3f07a9 f04708a9 f24f09a9  .7...?...G...O..
 09c0 f4570aa9 f65f0ba9 f8670ca9 fa6f0da9  .W..._...g...o..
 09d0 fc770ea9 fe7b00f9 e00080d2 015238d5  .w...{.......R8.
 09e0 224038d5 00000094 00000014 ff0304d1  "@8.............
 09f0 e00700a9 e20f01a9 e41702a9 e61f03a9  ................
 0a00 e82704a9 ea2f05a9 ec3706a9 ee3f07a9  .'.../...7...?..
 0a10 f04708a9 f24f09a9 f4570aa9 f65f0ba9  .G...O...W..._..
 0a20 f8670ca9 fa6f0da9 fc770ea9 fe7b00f9  .g...o...w...{..
 0a30 000180d2 015238d5 224038d5 00000094  .....R8."@8.....
 0a40 00000014 ff0304d1 e00700a9 e20f01a9  ................
 0a50 e41702a9 e61f03a9 e82704a9 ea2f05a9  .........'.../..
 0a60 ec3706a9 ee3f07a9 f04708a9 f24f09a9  .7...?...G...O..
 0a70 f4570aa9 f65f0ba9 f8670ca9 fa6f0da9  .W..._...g...o..
 0a80 fc770ea9 fe7b00f9 200180d2 015238d5  .w...{.. ....R8.
 0a90 224038d5 00000094 00000014 ff0304d1  "@8.............
 0aa0 e00700a9 e20f01a9 e41702a9 e61f03a9  ................
 0ab0 e82704a9 ea2f05a9 ec3706a9 ee3f07a9  .'.../...7...?..
 0ac0 f04708a9 f24f09a9 f4570aa9 f65f0ba9  .G...O...W..._..
 0ad0 f8670ca9 fa6f0da9 fc770ea9 fe7b00f9  .g...o...w...{..
 0ae0 400180d2 015238d5 224038d5 00000094  @....R8."@8.....
 0af0 00000014 ff0304d1 e00700a9 e20f01a9  ................
 0b00 e41702a9 e61f03a9 e82704a9 ea2f05a9  .........'.../..
 0b10 ec3706a9 ee3f07a9 f04708a9 f24f09a9  .7...?...G...O..
 0b20 f4570aa9 f65f0ba9 f8670ca9 fa6f0da9  .W..._...g...o..
 0b30 fc770ea9 fe7b00f9 600180d2 015238d5  .w...{..`....R8.
 0b40 224038d5 00000094 00000014 ff0304d1  "@8.............
 0b50 e00700a9 e20f01a9 e41702a9 e61f03a9  ................
 0b60 e82704a9 ea2f05a9 ec3706a9 ee3f07a9  .'.../...7...?..
 0b70 f04708a9 f24f09a9 f4570aa9 f65f0ba9  .G...O...W..._..
 0b80 f8670ca9 fa6f0da9 fc770ea9 fe7b00f9  .g...o...w...{..
 0b90 800180d2 015238d5 224038d5 00000094  .....R8."@8.....
 0ba0 00000014 ff0304d1 e00700a9 e20f01a9  ................
 0bb0 e41702a9 e61f03a9 e82704a9 ea2f05a9  .........'.../..
 0bc0 ec3706a9 ee3f07a9 f04708a9 f24f09a9  .7...?...G...O..
 0bd0 f4570aa9 f65f0ba9 f8670ca9 fa6f0da9  .W..._...g...o..
 0be0 fc770ea9 fe7b00f9 a00180d2 015238d5  .w...{.......R8.
 0bf0 224038d5 00000094 00000014 ff0304d1  "@8.............
 0c00 e00700a9 e20f01a9 e41702a9 e61f03a9  ................
 0c10 e82704a9 ea2f05a9 ec3706a9 ee3f07a9  .'.../...7...?..
 0c20 f04708a9 f24f09a9 f4570aa9 f65f0ba9  .G...O...W..._..
 0c30 f8670ca9 fa6f0da9 fc770ea9 fe7b00f9  .g...o...w...{..
 0c40 c00180d2 015238d5 224038d5 00000094  .....R8."@8.....
 0c50 00000014 ff0304d1 e00700a9 e20f01a9  ................
 0c60 e41702a9 e61f03a9 e82704a9 ea2f05a9  .........'.../..
 0c70 ec3706a9 ee3f07a9 f04708a9 f24f09a9  .7...?...G...O..
 0c80 f4570aa9 f65f0ba9 f8670ca9 fa6f0da9  .W..._...g...o..
 0c90 fc770ea9 fe7b00f9 e00180d2 015238d5  .w...{.......R8.
 0ca0 224038d5 00000094 00000014 ff0304d1  "@8.............
 0cb0 e00700a9 e20f01a9 e41702a9 e61f03a9  ................
 0cc0 e82704a9 ea2f05a9 ec3706a9 ee3f07a9  .'.../...7...?..
 0cd0 f04708a9 f24f09a9 f4570aa9 f65f0ba9  .G...O...W..._..
 0ce0 f8670ca9 fa6f0da9 fc770ea9 fe7b00f9  .g...o...w...{..
 0cf0 00000094 e00740a9 e20f41a9 e41742a9  ......@...A...B.
 0d00 e61f43a9 e82744a9 ea2f45a9 ec3746a9  ..C..'D../E..7F.
 0d10 ee3f47a9 f04748a9 f24f49a9 f4574aa9  .?G..GH..OI..WJ.
 0d20 f65f4ba9 f8674ca9 fa6f4da9 fc774ea9  ._K..gL..oM..wN.
 0d30 fe7b40f9 ff030491 e0039fd6 00000014  .{@.............

Disassembly of section .text:

0000000000000000 :
   0:    140001e1     b    784 
   4:    d503201f     nop
   8:    d503201f     nop
   c:    d503201f     nop
  10:    d503201f     nop
  14:    d503201f     nop
  18:    d503201f     nop
  1c:    d503201f     nop
  20:    d503201f     nop
  24:    d503201f     nop
  28:    d503201f     nop
  2c:    d503201f     nop
  30:    d503201f     nop
  34:    d503201f     nop
  38:    d503201f     nop
  3c:    d503201f     nop
  40:    d503201f     nop
  44:    d503201f     nop
  48:    d503201f     nop
  4c:    d503201f     nop
  50:    d503201f     nop
  54:    d503201f     nop
  58:    d503201f     nop
  5c:    d503201f     nop
  60:    d503201f     nop
  64:    d503201f     nop
  68:    d503201f     nop
  6c:    d503201f     nop
  70:    d503201f     nop
  74:    d503201f     nop
  78:    d503201f     nop
  7c:    d503201f     nop
  80:    140001d7     b    7dc 
  84:    d503201f     nop
  88:    d503201f     nop
  8c:    d503201f     nop
  90:    d503201f     nop
  94:    d503201f     nop
  98:    d503201f     nop
  9c:    d503201f     nop
  a0:    d503201f     nop
  a4:    d503201f     nop
  a8:    d503201f     nop
  ac:    d503201f     nop
  b0:    d503201f     nop
  b4:    d503201f     nop
  b8:    d503201f     nop
  bc:    d503201f     nop
  c0:    d503201f     nop
  c4:    d503201f     nop
  c8:    d503201f     nop
  cc:    d503201f     nop
  d0:    d503201f     nop
  d4:    d503201f     nop
  d8:    d503201f     nop
  dc:    d503201f     nop
  e0:    d503201f     nop
  e4:    d503201f     nop
  e8:    d503201f     nop
  ec:    d503201f     nop
  f0:    d503201f     nop
  f4:    d503201f     nop
  f8:    d503201f     nop
  fc:    d503201f     nop
 100:    140001cd     b    834 
 104:    d503201f     nop
 108:    d503201f     nop
 10c:    d503201f     nop
 110:    d503201f     nop
 114:    d503201f     nop
 118:    d503201f     nop
 11c:    d503201f     nop
 120:    d503201f     nop
 124:    d503201f     nop
 128:    d503201f     nop
 12c:    d503201f     nop
 130:    d503201f     nop
 134:    d503201f     nop
 138:    d503201f     nop
 13c:    d503201f     nop
 140:    d503201f     nop
 144:    d503201f     nop
 148:    d503201f     nop
 14c:    d503201f     nop
 150:    d503201f     nop
 154:    d503201f     nop
 158:    d503201f     nop
 15c:    d503201f     nop
 160:    d503201f     nop
 164:    d503201f     nop
 168:    d503201f     nop
 16c:    d503201f     nop
 170:    d503201f     nop
 174:    d503201f     nop
 178:    d503201f     nop
 17c:    d503201f     nop
 180:    140001c3     b    88c 
 184:    d503201f     nop
 188:    d503201f     nop
 18c:    d503201f     nop
 190:    d503201f     nop
 194:    d503201f     nop
 198:    d503201f     nop
 19c:    d503201f     nop
 1a0:    d503201f     nop
 1a4:    d503201f     nop
 1a8:    d503201f     nop
 1ac:    d503201f     nop
 1b0:    d503201f     nop
 1b4:    d503201f     nop
 1b8:    d503201f     nop
 1bc:    d503201f     nop
 1c0:    d503201f     nop
 1c4:    d503201f     nop
 1c8:    d503201f     nop
 1cc:    d503201f     nop
 1d0:    d503201f     nop
 1d4:    d503201f     nop
 1d8:    d503201f     nop
 1dc:    d503201f     nop
 1e0:    d503201f     nop
 1e4:    d503201f     nop
 1e8:    d503201f     nop
 1ec:    d503201f     nop
 1f0:    d503201f     nop
 1f4:    d503201f     nop
 1f8:    d503201f     nop
 1fc:    d503201f     nop
 200:    140001b9     b    8e4 
 204:    d503201f     nop
 208:    d503201f     nop
 20c:    d503201f     nop
 210:    d503201f     nop
 214:    d503201f     nop
 218:    d503201f     nop
 21c:    d503201f     nop
 220:    d503201f     nop
 224:    d503201f     nop
 228:    d503201f     nop
 22c:    d503201f     nop
 230:    d503201f     nop
 234:    d503201f     nop
 238:    d503201f     nop
 23c:    d503201f     nop
 240:    d503201f     nop
 244:    d503201f     nop
 248:    d503201f     nop
 24c:    d503201f     nop
 250:    d503201f     nop
 254:    d503201f     nop
 258:    d503201f     nop
 25c:    d503201f     nop
 260:    d503201f     nop
 264:    d503201f     nop
 268:    d503201f     nop
 26c:    d503201f     nop
 270:    d503201f     nop
 274:    d503201f     nop
 278:    d503201f     nop
 27c:    d503201f     nop
 280:    1400028b     b    cac 
 284:    d503201f     nop
 288:    d503201f     nop
 28c:    d503201f     nop
 290:    d503201f     nop
 294:    d503201f     nop
 298:    d503201f     nop
 29c:    d503201f     nop
 2a0:    d503201f     nop
 2a4:    d503201f     nop
 2a8:    d503201f     nop
 2ac:    d503201f     nop
 2b0:    d503201f     nop
 2b4:    d503201f     nop
 2b8:    d503201f     nop
 2bc:    d503201f     nop
 2c0:    d503201f     nop
 2c4:    d503201f     nop
 2c8:    d503201f     nop
 2cc:    d503201f     nop
 2d0:    d503201f     nop
 2d4:    d503201f     nop
 2d8:    d503201f     nop
 2dc:    d503201f     nop
 2e0:    d503201f     nop
 2e4:    d503201f     nop
 2e8:    d503201f     nop
 2ec:    d503201f     nop
 2f0:    d503201f     nop
 2f4:    d503201f     nop
 2f8:    d503201f     nop
 2fc:    d503201f     nop
 300:    1400018f     b    93c 
 304:    d503201f     nop
 308:    d503201f     nop
 30c:    d503201f     nop
 310:    d503201f     nop
 314:    d503201f     nop
 318:    d503201f     nop
 31c:    d503201f     nop
 320:    d503201f     nop
 324:    d503201f     nop
 328:    d503201f     nop
 32c:    d503201f     nop
 330:    d503201f     nop
 334:    d503201f     nop
 338:    d503201f     nop
 33c:    d503201f     nop
 340:    d503201f     nop
 344:    d503201f     nop
 348:    d503201f     nop
 34c:    d503201f     nop
 350:    d503201f     nop
 354:    d503201f     nop
 358:    d503201f     nop
 35c:    d503201f     nop
 360:    d503201f     nop
 364:    d503201f     nop
 368:    d503201f     nop
 36c:    d503201f     nop
 370:    d503201f     nop
 374:    d503201f     nop
 378:    d503201f     nop
 37c:    d503201f     nop
 380:    14000185     b    994 
 384:    d503201f     nop
 388:    d503201f     nop
 38c:    d503201f     nop
 390:    d503201f     nop
 394:    d503201f     nop
 398:    d503201f     nop
 39c:    d503201f     nop
 3a0:    d503201f     nop
 3a4:    d503201f     nop
 3a8:    d503201f     nop
 3ac:    d503201f     nop
 3b0:    d503201f     nop
 3b4:    d503201f     nop
 3b8:    d503201f     nop
 3bc:    d503201f     nop
 3c0:    d503201f     nop
 3c4:    d503201f     nop
 3c8:    d503201f     nop
 3cc:    d503201f     nop
 3d0:    d503201f     nop
 3d4:    d503201f     nop
 3d8:    d503201f     nop
 3dc:    d503201f     nop
 3e0:    d503201f     nop
 3e4:    d503201f     nop
 3e8:    d503201f     nop
 3ec:    d503201f     nop
 3f0:    d503201f     nop
 3f4:    d503201f     nop
 3f8:    d503201f     nop
 3fc:    d503201f     nop
 400:    1400017b     b    9ec 
 404:    d503201f     nop
 408:    d503201f     nop
 40c:    d503201f     nop
 410:    d503201f     nop
 414:    d503201f     nop
 418:    d503201f     nop
 41c:    d503201f     nop
 420:    d503201f     nop
 424:    d503201f     nop
 428:    d503201f     nop
 42c:    d503201f     nop
 430:    d503201f     nop
 434:    d503201f     nop
 438:    d503201f     nop
 43c:    d503201f     nop
 440:    d503201f     nop
 444:    d503201f     nop
 448:    d503201f     nop
 44c:    d503201f     nop
 450:    d503201f     nop
 454:    d503201f     nop
 458:    d503201f     nop
 45c:    d503201f     nop
 460:    d503201f     nop
 464:    d503201f     nop
 468:    d503201f     nop
 46c:    d503201f     nop
 470:    d503201f     nop
 474:    d503201f     nop
 478:    d503201f     nop
 47c:    d503201f     nop
 480:    14000171     b    a44 
 484:    d503201f     nop
 488:    d503201f     nop
 48c:    d503201f     nop
 490:    d503201f     nop
 494:    d503201f     nop
 498:    d503201f     nop
 49c:    d503201f     nop
 4a0:    d503201f     nop
 4a4:    d503201f     nop
 4a8:    d503201f     nop
 4ac:    d503201f     nop
 4b0:    d503201f     nop
 4b4:    d503201f     nop
 4b8:    d503201f     nop
 4bc:    d503201f     nop
 4c0:    d503201f     nop
 4c4:    d503201f     nop
 4c8:    d503201f     nop
 4cc:    d503201f     nop
 4d0:    d503201f     nop
 4d4:    d503201f     nop
 4d8:    d503201f     nop
 4dc:    d503201f     nop
 4e0:    d503201f     nop
 4e4:    d503201f     nop
 4e8:    d503201f     nop
 4ec:    d503201f     nop
 4f0:    d503201f     nop
 4f4:    d503201f     nop
 4f8:    d503201f     nop
 4fc:    d503201f     nop
 500:    14000167     b    a9c 
 504:    d503201f     nop
 508:    d503201f     nop
 50c:    d503201f     nop
 510:    d503201f     nop
 514:    d503201f     nop
 518:    d503201f     nop
 51c:    d503201f     nop
 520:    d503201f     nop
 524:    d503201f     nop
 528:    d503201f     nop
 52c:    d503201f     nop
 530:    d503201f     nop
 534:    d503201f     nop
 538:    d503201f     nop
 53c:    d503201f     nop
 540:    d503201f     nop
 544:    d503201f     nop
 548:    d503201f     nop
 54c:    d503201f     nop
 550:    d503201f     nop
 554:    d503201f     nop
 558:    d503201f     nop
 55c:    d503201f     nop
 560:    d503201f     nop
 564:    d503201f     nop
 568:    d503201f     nop
 56c:    d503201f     nop
 570:    d503201f     nop
 574:    d503201f     nop
 578:    d503201f     nop
 57c:    d503201f     nop
 580:    1400015d     b    af4 
 584:    d503201f     nop
 588:    d503201f     nop
 58c:    d503201f     nop
 590:    d503201f     nop
 594:    d503201f     nop
 598:    d503201f     nop
 59c:    d503201f     nop
 5a0:    d503201f     nop
 5a4:    d503201f     nop
 5a8:    d503201f     nop
 5ac:    d503201f     nop
 5b0:    d503201f     nop
 5b4:    d503201f     nop
 5b8:    d503201f     nop
 5bc:    d503201f     nop
 5c0:    d503201f     nop
 5c4:    d503201f     nop
 5c8:    d503201f     nop
 5cc:    d503201f     nop
 5d0:    d503201f     nop
 5d4:    d503201f     nop
 5d8:    d503201f     nop
 5dc:    d503201f     nop
 5e0:    d503201f     nop
 5e4:    d503201f     nop
 5e8:    d503201f     nop
 5ec:    d503201f     nop
 5f0:    d503201f     nop
 5f4:    d503201f     nop
 5f8:    d503201f     nop
 5fc:    d503201f     nop
 600:    14000153     b    b4c 
 604:    d503201f     nop
 608:    d503201f     nop
 60c:    d503201f     nop
 610:    d503201f     nop
 614:    d503201f     nop
 618:    d503201f     nop
 61c:    d503201f     nop
 620:    d503201f     nop
 624:    d503201f     nop
 628:    d503201f     nop
 62c:    d503201f     nop
 630:    d503201f     nop
 634:    d503201f     nop
 638:    d503201f     nop
 63c:    d503201f     nop
 640:    d503201f     nop
 644:    d503201f     nop
 648:    d503201f     nop
 64c:    d503201f     nop
 650:    d503201f     nop
 654:    d503201f     nop
 658:    d503201f     nop
 65c:    d503201f     nop
 660:    d503201f     nop
 664:    d503201f     nop
 668:    d503201f     nop
 66c:    d503201f     nop
 670:    d503201f     nop
 674:    d503201f     nop
 678:    d503201f     nop
 67c:    d503201f     nop
 680:    14000149     b    ba4 
 684:    d503201f     nop
 688:    d503201f     nop
 68c:    d503201f     nop
 690:    d503201f     nop
 694:    d503201f     nop
 698:    d503201f     nop
 69c:    d503201f     nop
 6a0:    d503201f     nop
 6a4:    d503201f     nop
 6a8:    d503201f     nop
 6ac:    d503201f     nop
 6b0:    d503201f     nop
 6b4:    d503201f     nop
 6b8:    d503201f     nop
 6bc:    d503201f     nop
 6c0:    d503201f     nop
 6c4:    d503201f     nop
 6c8:    d503201f     nop
 6cc:    d503201f     nop
 6d0:    d503201f     nop
 6d4:    d503201f     nop
 6d8:    d503201f     nop
 6dc:    d503201f     nop
 6e0:    d503201f     nop
 6e4:    d503201f     nop
 6e8:    d503201f     nop
 6ec:    d503201f     nop
 6f0:    d503201f     nop
 6f4:    d503201f     nop
 6f8:    d503201f     nop
 6fc:    d503201f     nop
 700:    1400013f     b    bfc 
 704:    d503201f     nop
 708:    d503201f     nop
 70c:    d503201f     nop
 710:    d503201f     nop
 714:    d503201f     nop
 718:    d503201f     nop
 71c:    d503201f     nop
 720:    d503201f     nop
 724:    d503201f     nop
 728:    d503201f     nop
 72c:    d503201f     nop
 730:    d503201f     nop
 734:    d503201f     nop
 738:    d503201f     nop
 73c:    d503201f     nop
 740:    d503201f     nop
 744:    d503201f     nop
 748:    d503201f     nop
 74c:    d503201f     nop
 750:    d503201f     nop
 754:    d503201f     nop
 758:    d503201f     nop
 75c:    d503201f     nop
 760:    d503201f     nop
 764:    d503201f     nop
 768:    d503201f     nop
 76c:    d503201f     nop
 770:    d503201f     nop
 774:    d503201f     nop
 778:    d503201f     nop
 77c:    d503201f     nop
 780:    14000135     b    c54 

0000000000000784 :
 784:    d10403ff     sub    sp, sp, #0x100
 788:    a90007e0     stp    x0, x1, [sp]
 78c:    a9010fe2     stp    x2, x3, [sp, #16]
 790:    a90217e4     stp    x4, x5, [sp, #32]
 794:    a9031fe6     stp    x6, x7, [sp, #48]
 798:    a90427e8     stp    x8, x9, [sp, #64]
 79c:    a9052fea     stp    x10, x11, [sp, #80]
 7a0:    a90637ec     stp    x12, x13, [sp, #96]
 7a4:    a9073fee     stp    x14, x15, [sp, #112]
 7a8:    a90847f0     stp    x16, x17, [sp, #128]
 7ac:    a9094ff2     stp    x18, x19, [sp, #144]
 7b0:    a90a57f4     stp    x20, x21, [sp, #160]
 7b4:    a90b5ff6     stp    x22, x23, [sp, #176]
 7b8:    a90c67f8     stp    x24, x25, [sp, #192]
 7bc:    a90d6ffa     stp    x26, x27, [sp, #208]
 7c0:    a90e77fc     stp    x28, x29, [sp, #224]
 7c4:    f9007bfe     str    x30, [sp, #240]
 7c8:    d2800000     mov    x0, #0x0                       // #0
 7cc:    d5385201     mrs    x1, esr_el1
 7d0:    d5384022     mrs    x2, elr_el1
 7d4:    94000000     bl    0 
 7d8:    14000000     b    d3c 

00000000000007dc :
 7dc:    d10403ff     sub    sp, sp, #0x100
 7e0:    a90007e0     stp    x0, x1, [sp]
 7e4:    a9010fe2     stp    x2, x3, [sp, #16]
 7e8:    a90217e4     stp    x4, x5, [sp, #32]
 7ec:    a9031fe6     stp    x6, x7, [sp, #48]
 7f0:    a90427e8     stp    x8, x9, [sp, #64]
 7f4:    a9052fea     stp    x10, x11, [sp, #80]
 7f8:    a90637ec     stp    x12, x13, [sp, #96]
 7fc:    a9073fee     stp    x14, x15, [sp, #112]
 800:    a90847f0     stp    x16, x17, [sp, #128]
 804:    a9094ff2     stp    x18, x19, [sp, #144]
 808:    a90a57f4     stp    x20, x21, [sp, #160]
 80c:    a90b5ff6     stp    x22, x23, [sp, #176]
 810:    a90c67f8     stp    x24, x25, [sp, #192]
 814:    a90d6ffa     stp    x26, x27, [sp, #208]
 818:    a90e77fc     stp    x28, x29, [sp, #224]
 81c:    f9007bfe     str    x30, [sp, #240]
 820:    d2800020     mov    x0, #0x1                       // #1
 824:    d5385201     mrs    x1, esr_el1
 828:    d5384022     mrs    x2, elr_el1
 82c:    94000000     bl    0 
 830:    14000000     b    d3c 

0000000000000834 :
 834:    d10403ff     sub    sp, sp, #0x100
 838:    a90007e0     stp    x0, x1, [sp]
 83c:    a9010fe2     stp    x2, x3, [sp, #16]
 840:    a90217e4     stp    x4, x5, [sp, #32]
 844:    a9031fe6     stp    x6, x7, [sp, #48]
 848:    a90427e8     stp    x8, x9, [sp, #64]
 84c:    a9052fea     stp    x10, x11, [sp, #80]
 850:    a90637ec     stp    x12, x13, [sp, #96]
 854:    a9073fee     stp    x14, x15, [sp, #112]
 858:    a90847f0     stp    x16, x17, [sp, #128]
 85c:    a9094ff2     stp    x18, x19, [sp, #144]
 860:    a90a57f4     stp    x20, x21, [sp, #160]
 864:    a90b5ff6     stp    x22, x23, [sp, #176]
 868:    a90c67f8     stp    x24, x25, [sp, #192]
 86c:    a90d6ffa     stp    x26, x27, [sp, #208]
 870:    a90e77fc     stp    x28, x29, [sp, #224]
 874:    f9007bfe     str    x30, [sp, #240]
 878:    d2800040     mov    x0, #0x2                       // #2
 87c:    d5385201     mrs    x1, esr_el1
 880:    d5384022     mrs    x2, elr_el1
 884:    94000000     bl    0 
 888:    14000000     b    d3c 

000000000000088c :
 88c:    d10403ff     sub    sp, sp, #0x100
 890:    a90007e0     stp    x0, x1, [sp]
 894:    a9010fe2     stp    x2, x3, [sp, #16]
 898:    a90217e4     stp    x4, x5, [sp, #32]
 89c:    a9031fe6     stp    x6, x7, [sp, #48]
 8a0:    a90427e8     stp    x8, x9, [sp, #64]
 8a4:    a9052fea     stp    x10, x11, [sp, #80]
 8a8:    a90637ec     stp    x12, x13, [sp, #96]
 8ac:    a9073fee     stp    x14, x15, [sp, #112]
 8b0:    a90847f0     stp    x16, x17, [sp, #128]
 8b4:    a9094ff2     stp    x18, x19, [sp, #144]
 8b8:    a90a57f4     stp    x20, x21, [sp, #160]
 8bc:    a90b5ff6     stp    x22, x23, [sp, #176]
 8c0:    a90c67f8     stp    x24, x25, [sp, #192]
 8c4:    a90d6ffa     stp    x26, x27, [sp, #208]
 8c8:    a90e77fc     stp    x28, x29, [sp, #224]
 8cc:    f9007bfe     str    x30, [sp, #240]
 8d0:    d2800060     mov    x0, #0x3                       // #3
 8d4:    d5385201     mrs    x1, esr_el1
 8d8:    d5384022     mrs    x2, elr_el1
 8dc:    94000000     bl    0 
 8e0:    14000000     b    d3c 

00000000000008e4 :
 8e4:    d10403ff     sub    sp, sp, #0x100
 8e8:    a90007e0     stp    x0, x1, [sp]
 8ec:    a9010fe2     stp    x2, x3, [sp, #16]
 8f0:    a90217e4     stp    x4, x5, [sp, #32]
 8f4:    a9031fe6     stp    x6, x7, [sp, #48]
 8f8:    a90427e8     stp    x8, x9, [sp, #64]
 8fc:    a9052fea     stp    x10, x11, [sp, #80]
 900:    a90637ec     stp    x12, x13, [sp, #96]
 904:    a9073fee     stp    x14, x15, [sp, #112]
 908:    a90847f0     stp    x16, x17, [sp, #128]
 90c:    a9094ff2     stp    x18, x19, [sp, #144]
 910:    a90a57f4     stp    x20, x21, [sp, #160]
 914:    a90b5ff6     stp    x22, x23, [sp, #176]
 918:    a90c67f8     stp    x24, x25, [sp, #192]
 91c:    a90d6ffa     stp    x26, x27, [sp, #208]
 920:    a90e77fc     stp    x28, x29, [sp, #224]
 924:    f9007bfe     str    x30, [sp, #240]
 928:    d2800080     mov    x0, #0x4                       // #4
 92c:    d5385201     mrs    x1, esr_el1
 930:    d5384022     mrs    x2, elr_el1
 934:    94000000     bl    0 
 938:    14000000     b    d3c 

000000000000093c :
 93c:    d10403ff     sub    sp, sp, #0x100
 940:    a90007e0     stp    x0, x1, [sp]
 944:    a9010fe2     stp    x2, x3, [sp, #16]
 948:    a90217e4     stp    x4, x5, [sp, #32]
 94c:    a9031fe6     stp    x6, x7, [sp, #48]
 950:    a90427e8     stp    x8, x9, [sp, #64]
 954:    a9052fea     stp    x10, x11, [sp, #80]
 958:    a90637ec     stp    x12, x13, [sp, #96]
 95c:    a9073fee     stp    x14, x15, [sp, #112]
 960:    a90847f0     stp    x16, x17, [sp, #128]
 964:    a9094ff2     stp    x18, x19, [sp, #144]
 968:    a90a57f4     stp    x20, x21, [sp, #160]
 96c:    a90b5ff6     stp    x22, x23, [sp, #176]
 970:    a90c67f8     stp    x24, x25, [sp, #192]
 974:    a90d6ffa     stp    x26, x27, [sp, #208]
 978:    a90e77fc     stp    x28, x29, [sp, #224]
 97c:    f9007bfe     str    x30, [sp, #240]
 980:    d28000c0     mov    x0, #0x6                       // #6
 984:    d5385201     mrs    x1, esr_el1
 988:    d5384022     mrs    x2, elr_el1
 98c:    94000000     bl    0 
 990:    14000000     b    d3c 

0000000000000994 :
 994:    d10403ff     sub    sp, sp, #0x100
 998:    a90007e0     stp    x0, x1, [sp]
 99c:    a9010fe2     stp    x2, x3, [sp, #16]
 9a0:    a90217e4     stp    x4, x5, [sp, #32]
 9a4:    a9031fe6     stp    x6, x7, [sp, #48]
 9a8:    a90427e8     stp    x8, x9, [sp, #64]
 9ac:    a9052fea     stp    x10, x11, [sp, #80]
 9b0:    a90637ec     stp    x12, x13, [sp, #96]
 9b4:    a9073fee     stp    x14, x15, [sp, #112]
 9b8:    a90847f0     stp    x16, x17, [sp, #128]
 9bc:    a9094ff2     stp    x18, x19, [sp, #144]
 9c0:    a90a57f4     stp    x20, x21, [sp, #160]
 9c4:    a90b5ff6     stp    x22, x23, [sp, #176]
 9c8:    a90c67f8     stp    x24, x25, [sp, #192]
 9cc:    a90d6ffa     stp    x26, x27, [sp, #208]
 9d0:    a90e77fc     stp    x28, x29, [sp, #224]
 9d4:    f9007bfe     str    x30, [sp, #240]
 9d8:    d28000e0     mov    x0, #0x7                       // #7
 9dc:    d5385201     mrs    x1, esr_el1
 9e0:    d5384022     mrs    x2, elr_el1
 9e4:    94000000     bl    0 
 9e8:    14000000     b    d3c 

00000000000009ec :
 9ec:    d10403ff     sub    sp, sp, #0x100
 9f0:    a90007e0     stp    x0, x1, [sp]
 9f4:    a9010fe2     stp    x2, x3, [sp, #16]
 9f8:    a90217e4     stp    x4, x5, [sp, #32]
 9fc:    a9031fe6     stp    x6, x7, [sp, #48]
 a00:    a90427e8     stp    x8, x9, [sp, #64]
 a04:    a9052fea     stp    x10, x11, [sp, #80]
 a08:    a90637ec     stp    x12, x13, [sp, #96]
 a0c:    a9073fee     stp    x14, x15, [sp, #112]
 a10:    a90847f0     stp    x16, x17, [sp, #128]
 a14:    a9094ff2     stp    x18, x19, [sp, #144]
 a18:    a90a57f4     stp    x20, x21, [sp, #160]
 a1c:    a90b5ff6     stp    x22, x23, [sp, #176]
 a20:    a90c67f8     stp    x24, x25, [sp, #192]
 a24:    a90d6ffa     stp    x26, x27, [sp, #208]
 a28:    a90e77fc     stp    x28, x29, [sp, #224]
 a2c:    f9007bfe     str    x30, [sp, #240]
 a30:    d2800100     mov    x0, #0x8                       // #8
 a34:    d5385201     mrs    x1, esr_el1
 a38:    d5384022     mrs    x2, elr_el1
 a3c:    94000000     bl    0 
 a40:    14000000     b    d3c 

0000000000000a44 :
 a44:    d10403ff     sub    sp, sp, #0x100
 a48:    a90007e0     stp    x0, x1, [sp]
 a4c:    a9010fe2     stp    x2, x3, [sp, #16]
 a50:    a90217e4     stp    x4, x5, [sp, #32]
 a54:    a9031fe6     stp    x6, x7, [sp, #48]
 a58:    a90427e8     stp    x8, x9, [sp, #64]
 a5c:    a9052fea     stp    x10, x11, [sp, #80]
 a60:    a90637ec     stp    x12, x13, [sp, #96]
 a64:    a9073fee     stp    x14, x15, [sp, #112]
 a68:    a90847f0     stp    x16, x17, [sp, #128]
 a6c:    a9094ff2     stp    x18, x19, [sp, #144]
 a70:    a90a57f4     stp    x20, x21, [sp, #160]
 a74:    a90b5ff6     stp    x22, x23, [sp, #176]
 a78:    a90c67f8     stp    x24, x25, [sp, #192]
 a7c:    a90d6ffa     stp    x26, x27, [sp, #208]
 a80:    a90e77fc     stp    x28, x29, [sp, #224]
 a84:    f9007bfe     str    x30, [sp, #240]
 a88:    d2800120     mov    x0, #0x9                       // #9
 a8c:    d5385201     mrs    x1, esr_el1
 a90:    d5384022     mrs    x2, elr_el1
 a94:    94000000     bl    0 
 a98:    14000000     b    d3c 

0000000000000a9c :
 a9c:    d10403ff     sub    sp, sp, #0x100
 aa0:    a90007e0     stp    x0, x1, [sp]
 aa4:    a9010fe2     stp    x2, x3, [sp, #16]
 aa8:    a90217e4     stp    x4, x5, [sp, #32]
 aac:    a9031fe6     stp    x6, x7, [sp, #48]
 ab0:    a90427e8     stp    x8, x9, [sp, #64]
 ab4:    a9052fea     stp    x10, x11, [sp, #80]
 ab8:    a90637ec     stp    x12, x13, [sp, #96]
 abc:    a9073fee     stp    x14, x15, [sp, #112]
 ac0:    a90847f0     stp    x16, x17, [sp, #128]
 ac4:    a9094ff2     stp    x18, x19, [sp, #144]
 ac8:    a90a57f4     stp    x20, x21, [sp, #160]
 acc:    a90b5ff6     stp    x22, x23, [sp, #176]
 ad0:    a90c67f8     stp    x24, x25, [sp, #192]
 ad4:    a90d6ffa     stp    x26, x27, [sp, #208]
 ad8:    a90e77fc     stp    x28, x29, [sp, #224]
 adc:    f9007bfe     str    x30, [sp, #240]
 ae0:    d2800140     mov    x0, #0xa                       // #10
 ae4:    d5385201     mrs    x1, esr_el1
 ae8:    d5384022     mrs    x2, elr_el1
 aec:    94000000     bl    0 
 af0:    14000000     b    d3c 

0000000000000af4 :
 af4:    d10403ff     sub    sp, sp, #0x100
 af8:    a90007e0     stp    x0, x1, [sp]
 afc:    a9010fe2     stp    x2, x3, [sp, #16]
 b00:    a90217e4     stp    x4, x5, [sp, #32]
 b04:    a9031fe6     stp    x6, x7, [sp, #48]
 b08:    a90427e8     stp    x8, x9, [sp, #64]
 b0c:    a9052fea     stp    x10, x11, [sp, #80]
 b10:    a90637ec     stp    x12, x13, [sp, #96]
 b14:    a9073fee     stp    x14, x15, [sp, #112]
 b18:    a90847f0     stp    x16, x17, [sp, #128]
 b1c:    a9094ff2     stp    x18, x19, [sp, #144]
 b20:    a90a57f4     stp    x20, x21, [sp, #160]
 b24:    a90b5ff6     stp    x22, x23, [sp, #176]
 b28:    a90c67f8     stp    x24, x25, [sp, #192]
 b2c:    a90d6ffa     stp    x26, x27, [sp, #208]
 b30:    a90e77fc     stp    x28, x29, [sp, #224]
 b34:    f9007bfe     str    x30, [sp, #240]
 b38:    d2800160     mov    x0, #0xb                       // #11
 b3c:    d5385201     mrs    x1, esr_el1
 b40:    d5384022     mrs    x2, elr_el1
 b44:    94000000     bl    0 
 b48:    14000000     b    d3c 

0000000000000b4c :
 b4c:    d10403ff     sub    sp, sp, #0x100
 b50:    a90007e0     stp    x0, x1, [sp]
 b54:    a9010fe2     stp    x2, x3, [sp, #16]
 b58:    a90217e4     stp    x4, x5, [sp, #32]
 b5c:    a9031fe6     stp    x6, x7, [sp, #48]
 b60:    a90427e8     stp    x8, x9, [sp, #64]
 b64:    a9052fea     stp    x10, x11, [sp, #80]
 b68:    a90637ec     stp    x12, x13, [sp, #96]
 b6c:    a9073fee     stp    x14, x15, [sp, #112]
 b70:    a90847f0     stp    x16, x17, [sp, #128]
 b74:    a9094ff2     stp    x18, x19, [sp, #144]
 b78:    a90a57f4     stp    x20, x21, [sp, #160]
 b7c:    a90b5ff6     stp    x22, x23, [sp, #176]
 b80:    a90c67f8     stp    x24, x25, [sp, #192]
 b84:    a90d6ffa     stp    x26, x27, [sp, #208]
 b88:    a90e77fc     stp    x28, x29, [sp, #224]
 b8c:    f9007bfe     str    x30, [sp, #240]
 b90:    d2800180     mov    x0, #0xc                       // #12
 b94:    d5385201     mrs    x1, esr_el1
 b98:    d5384022     mrs    x2, elr_el1
 b9c:    94000000     bl    0 
 ba0:    14000000     b    d3c 

0000000000000ba4 :
 ba4:    d10403ff     sub    sp, sp, #0x100
 ba8:    a90007e0     stp    x0, x1, [sp]
 bac:    a9010fe2     stp    x2, x3, [sp, #16]
 bb0:    a90217e4     stp    x4, x5, [sp, #32]
 bb4:    a9031fe6     stp    x6, x7, [sp, #48]
 bb8:    a90427e8     stp    x8, x9, [sp, #64]
 bbc:    a9052fea     stp    x10, x11, [sp, #80]
 bc0:    a90637ec     stp    x12, x13, [sp, #96]
 bc4:    a9073fee     stp    x14, x15, [sp, #112]
 bc8:    a90847f0     stp    x16, x17, [sp, #128]
 bcc:    a9094ff2     stp    x18, x19, [sp, #144]
 bd0:    a90a57f4     stp    x20, x21, [sp, #160]
 bd4:    a90b5ff6     stp    x22, x23, [sp, #176]
 bd8:    a90c67f8     stp    x24, x25, [sp, #192]
 bdc:    a90d6ffa     stp    x26, x27, [sp, #208]
 be0:    a90e77fc     stp    x28, x29, [sp, #224]
 be4:    f9007bfe     str    x30, [sp, #240]
 be8:    d28001a0     mov    x0, #0xd                       // #13
 bec:    d5385201     mrs    x1, esr_el1
 bf0:    d5384022     mrs    x2, elr_el1
 bf4:    94000000     bl    0 
 bf8:    14000000     b    d3c 

0000000000000bfc :
 bfc:    d10403ff     sub    sp, sp, #0x100
 c00:    a90007e0     stp    x0, x1, [sp]
 c04:    a9010fe2     stp    x2, x3, [sp, #16]
 c08:    a90217e4     stp    x4, x5, [sp, #32]
 c0c:    a9031fe6     stp    x6, x7, [sp, #48]
 c10:    a90427e8     stp    x8, x9, [sp, #64]
 c14:    a9052fea     stp    x10, x11, [sp, #80]
 c18:    a90637ec     stp    x12, x13, [sp, #96]
 c1c:    a9073fee     stp    x14, x15, [sp, #112]
 c20:    a90847f0     stp    x16, x17, [sp, #128]
 c24:    a9094ff2     stp    x18, x19, [sp, #144]
 c28:    a90a57f4     stp    x20, x21, [sp, #160]
 c2c:    a90b5ff6     stp    x22, x23, [sp, #176]
 c30:    a90c67f8     stp    x24, x25, [sp, #192]
 c34:    a90d6ffa     stp    x26, x27, [sp, #208]
 c38:    a90e77fc     stp    x28, x29, [sp, #224]
 c3c:    f9007bfe     str    x30, [sp, #240]
 c40:    d28001c0     mov    x0, #0xe                       // #14
 c44:    d5385201     mrs    x1, esr_el1
 c48:    d5384022     mrs    x2, elr_el1
 c4c:    94000000     bl    0 
 c50:    14000000     b    d3c 

0000000000000c54 :
 c54:    d10403ff     sub    sp, sp, #0x100
 c58:    a90007e0     stp    x0, x1, [sp]
 c5c:    a9010fe2     stp    x2, x3, [sp, #16]
 c60:    a90217e4     stp    x4, x5, [sp, #32]
 c64:    a9031fe6     stp    x6, x7, [sp, #48]
 c68:    a90427e8     stp    x8, x9, [sp, #64]
 c6c:    a9052fea     stp    x10, x11, [sp, #80]
 c70:    a90637ec     stp    x12, x13, [sp, #96]
 c74:    a9073fee     stp    x14, x15, [sp, #112]
 c78:    a90847f0     stp    x16, x17, [sp, #128]
 c7c:    a9094ff2     stp    x18, x19, [sp, #144]
 c80:    a90a57f4     stp    x20, x21, [sp, #160]
 c84:    a90b5ff6     stp    x22, x23, [sp, #176]
 c88:    a90c67f8     stp    x24, x25, [sp, #192]
 c8c:    a90d6ffa     stp    x26, x27, [sp, #208]
 c90:    a90e77fc     stp    x28, x29, [sp, #224]
 c94:    f9007bfe     str    x30, [sp, #240]
 c98:    d28001e0     mov    x0, #0xf                       // #15
 c9c:    d5385201     mrs    x1, esr_el1
 ca0:    d5384022     mrs    x2, elr_el1
 ca4:    94000000     bl    0 
 ca8:    14000000     b    d3c 

0000000000000cac :
 cac:    d10403ff     sub    sp, sp, #0x100
 cb0:    a90007e0     stp    x0, x1, [sp]
 cb4:    a9010fe2     stp    x2, x3, [sp, #16]
 cb8:    a90217e4     stp    x4, x5, [sp, #32]
 cbc:    a9031fe6     stp    x6, x7, [sp, #48]
 cc0:    a90427e8     stp    x8, x9, [sp, #64]
 cc4:    a9052fea     stp    x10, x11, [sp, #80]
 cc8:    a90637ec     stp    x12, x13, [sp, #96]
 ccc:    a9073fee     stp    x14, x15, [sp, #112]
 cd0:    a90847f0     stp    x16, x17, [sp, #128]
 cd4:    a9094ff2     stp    x18, x19, [sp, #144]
 cd8:    a90a57f4     stp    x20, x21, [sp, #160]
 cdc:    a90b5ff6     stp    x22, x23, [sp, #176]
 ce0:    a90c67f8     stp    x24, x25, [sp, #192]
 ce4:    a90d6ffa     stp    x26, x27, [sp, #208]
 ce8:    a90e77fc     stp    x28, x29, [sp, #224]
 cec:    f9007bfe     str    x30, [sp, #240]
 cf0:    94000000     bl    0 
 cf4:    a94007e0     ldp    x0, x1, [sp]
 cf8:    a9410fe2     ldp    x2, x3, [sp, #16]
 cfc:    a94217e4     ldp    x4, x5, [sp, #32]
 d00:    a9431fe6     ldp    x6, x7, [sp, #48]
 d04:    a94427e8     ldp    x8, x9, [sp, #64]
 d08:    a9452fea     ldp    x10, x11, [sp, #80]
 d0c:    a94637ec     ldp    x12, x13, [sp, #96]
 d10:    a9473fee     ldp    x14, x15, [sp, #112]
 d14:    a94847f0     ldp    x16, x17, [sp, #128]
 d18:    a9494ff2     ldp    x18, x19, [sp, #144]
 d1c:    a94a57f4     ldp    x20, x21, [sp, #160]
 d20:    a94b5ff6     ldp    x22, x23, [sp, #176]
 d24:    a94c67f8     ldp    x24, x25, [sp, #192]
 d28:    a94d6ffa     ldp    x26, x27, [sp, #208]
 d2c:    a94e77fc     ldp    x28, x29, [sp, #224]
 d30:    f9407bfe     ldr    x30, [sp, #240]
 d34:    910403ff     add    sp, sp, #0x100
 d38:    d69f03e0     eret

0000000000000d3c :
 d3c:    14000000     b    d3c 

 宏嵌套

        .macro handle_invalid_entry type
        kernel_entry
        mov     x0, #\type
        mrs     x1, esr_el1
        mrs     x2, elr_el1
        bl      show_invalid_entry_message
        b       err_hang
        .endm

 #define SYNC_INVALID_EL1t             0 

sync_invalid_el1t:
        handle_invalid_entry  SYNC_INVALID_EL1t
    .macro  kernel_entry
        sub     sp, sp, #S_FRAME_SIZE
        stp     x0, x1, [sp, #16 * 0]
        stp     x2, x3, [sp, #16 * 1]
        stp     x4, x5, [sp, #16 * 2]
        stp     x6, x7, [sp, #16 * 3]
        stp     x8, x9, [sp, #16 * 4]
        stp     x10, x11, [sp, #16 * 5]
        stp     x12, x13, [sp, #16 * 6]
        stp     x14, x15, [sp, #16 * 7]
        stp     x16, x17, [sp, #16 * 8]
        stp     x18, x19, [sp, #16 * 9]
        stp     x20, x21, [sp, #16 * 10]
        stp     x22, x23, [sp, #16 * 11]
        stp     x24, x25, [sp, #16 * 12]
        stp     x26, x27, [sp, #16 * 13]
        stp     x28, x29, [sp, #16 * 14]
        str     x30, [sp, #16 * 15]
        .endm
0000000000000784 :
 784:   d10403ff        sub     sp, sp, #0x100
 788:   a90007e0        stp     x0, x1, [sp]
 78c:   a9010fe2        stp     x2, x3, [sp, #16]
 790:   a90217e4        stp     x4, x5, [sp, #32]
 794:   a9031fe6        stp     x6, x7, [sp, #48]
 798:   a90427e8        stp     x8, x9, [sp, #64]
 79c:   a9052fea        stp     x10, x11, [sp, #80]
 7a0:   a90637ec        stp     x12, x13, [sp, #96]
 7a4:   a9073fee        stp     x14, x15, [sp, #112]
 7a8:   a90847f0        stp     x16, x17, [sp, #128]
 7ac:   a9094ff2        stp     x18, x19, [sp, #144]
 7b0:   a90a57f4        stp     x20, x21, [sp, #160]
 7b4:   a90b5ff6        stp     x22, x23, [sp, #176]
 7b8:   a90c67f8        stp     x24, x25, [sp, #192]
 7bc:   a90d6ffa        stp     x26, x27, [sp, #208]
 7c0:   a90e77fc        stp     x28, x29, [sp, #224]
 7c4:   f9007bfe        str     x30, [sp, #240]
 7c8:   d2800000        mov     x0, #0x0                        // #0  SYNC_INVALID_EL1t
 7cc:   d5385201        mrs     x1, esr_el1
 7d0:   d5384022        mrs     x2, elr_el1
 7d4:   94000000        bl      0 
 7d8:   14000000        b       d3c 

kernel_exit

      .macro  kernel_exit
        ldp     x0, x1, [sp, #16 * 0]
        ldp     x2, x3, [sp, #16 * 1]
        ldp     x4, x5, [sp, #16 * 2]
        ldp     x6, x7, [sp, #16 * 3]
        ldp     x8, x9, [sp, #16 * 4]
        ldp     x10, x11, [sp, #16 * 5]
        ldp     x12, x13, [sp, #16 * 6]
        ldp     x14, x15, [sp, #16 * 7]
        ldp     x16, x17, [sp, #16 * 8]
        ldp     x18, x19, [sp, #16 * 9]
        ldp     x20, x21, [sp, #16 * 10]
        ldp     x22, x23, [sp, #16 * 11]
        ldp     x24, x25, [sp, #16 * 12]
        ldp     x26, x27, [sp, #16 * 13]
        ldp     x28, x29, [sp, #16 * 14]
        ldr     x30, [sp, #16 * 15]
        add     sp, sp, #S_FRAME_SIZE
        eret
        .endm