On 12/30/2017 01:10 AM, Andy Lutomirski wrote:
> Toralf, can you send the complete output of:
> 
> objdump -dr arch/x86/kernel/traps.o
> 
> From the build tree of a nonworking kernel?

I attached it.

FWIW:

tfoerste@t44 ~/devel/linux $ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/6.4.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-6.4.0/work/gcc-6.4.0/configure 
--host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr 
--bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/6.4.0 
--includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include 
--datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/6.4.0 
--mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/6.4.0/man 
--infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/6.4.0/info 
--with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6 
--with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/6.4.0/python 
--enable-languages=c,c++ --enable-obsolete --enable-secureplt --disable-werror 
--with-system-zlib --enable-nls --without-included-gettext 
--enable-checking=release --with-bugurl=https://bugs.gentoo.org/ 
--with-pkgversion='Gentoo Hardened 6.4.0 p1.1' --enable-esp 
--enable-libstdcxx-time --disable-libstdcxx-pch --enable-shared 
--enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu 
--enable-multilib --with-multilib-list=m32,m64 --disable-altivec 
--disable-fixed-point --enable-targets=all --disable-libgcj --enable-libgomp 
--disable-libmudflap --disable-libssp --disable-libcilkrts --disable-libmpx 
--enable-vtable-verify --enable-libvtv --disable-libquadmath --enable-lto 
--without-isl --disable-libsanitizer --enable-default-pie --enable-default-ssp
Thread model: posix
gcc version 6.4.0 (Gentoo Hardened 6.4.0 p1.1)

-- 
Toralf
PGP C4EACDDE 0076E94E
arch/x86/kernel/traps.o:     file format elf64-x86-64


Disassembly of section .text:

0000000000000000 <do_trap>:
   0:   41 57                   push   %r15
   2:   41 56                   push   %r14
   4:   41 55                   push   %r13
   6:   41 54                   push   %r12
   8:   55                      push   %rbp
   9:   53                      push   %rbx
   a:   48 81 ec 28 10 00 00    sub    $0x1028,%rsp
  11:   48 83 0c 24 00          orq    $0x0,(%rsp)
  16:   48 81 c4 20 10 00 00    add    $0x1020,%rsp
  1d:   65 48 8b 2c 25 00 00    mov    %gs:0x0,%rbp
  24:   00 00 
                        22: R_X86_64_32S        current_task
  26:   f6 81 88 00 00 00 03    testb  $0x3,0x88(%rcx)
  2d:   4c 63 ef                movslq %edi,%r13
  30:   41 89 f6                mov    %esi,%r14d
  33:   48 89 14 24             mov    %rdx,(%rsp)
  37:   49 89 cc                mov    %rcx,%r12
  3a:   4d 89 c7                mov    %r8,%r15
  3d:   4c 89 cb                mov    %r9,%rbx
  40:   75 3b                   jne    7d <do_trap+0x7d>
  42:   44 89 ee                mov    %r13d,%esi
  45:   48 89 cf                mov    %rcx,%rdi
  48:   e8 00 00 00 00          callq  4d <do_trap+0x4d>
                        49: R_X86_64_PC32       fixup_exception-0x4
  4d:   85 c0                   test   %eax,%eax
  4f:   74 0f                   je     60 <do_trap+0x60>
  51:   48 83 c4 08             add    $0x8,%rsp
  55:   5b                      pop    %rbx
  56:   5d                      pop    %rbp
  57:   41 5c                   pop    %r12
  59:   41 5d                   pop    %r13
  5b:   41 5e                   pop    %r14
  5d:   41 5f                   pop    %r15
  5f:   c3                      retq   
  60:   48 8b 3c 24             mov    (%rsp),%rdi
  64:   4c 89 bd c0 09 00 00    mov    %r15,0x9c0(%rbp)
  6b:   4c 89 fa                mov    %r15,%rdx
  6e:   4c 89 e6                mov    %r12,%rsi
  71:   4c 89 ad b8 09 00 00    mov    %r13,0x9b8(%rbp)
  78:   e8 00 00 00 00          callq  7d <do_trap+0x7d>
                        79: R_X86_64_PC32       die-0x4
  7d:   8b 05 00 00 00 00       mov    0x0(%rip),%eax        # 83 <do_trap+0x83>
                        7f: R_X86_64_PC32       show_unhandled_signals-0x4
  83:   4c 89 bd c0 09 00 00    mov    %r15,0x9c0(%rbp)
  8a:   4c 89 ad b8 09 00 00    mov    %r13,0x9b8(%rbp)
  91:   85 c0                   test   %eax,%eax
  93:   75 28                   jne    bd <do_trap+0xbd>
  95:   48 85 db                test   %rbx,%rbx
  98:   b8 01 00 00 00          mov    $0x1,%eax
  9d:   48 89 ea                mov    %rbp,%rdx
  a0:   48 0f 44 d8             cmove  %rax,%rbx
  a4:   48 83 c4 08             add    $0x8,%rsp
  a8:   44 89 f7                mov    %r14d,%edi
  ab:   48 89 de                mov    %rbx,%rsi
  ae:   5b                      pop    %rbx
  af:   5d                      pop    %rbp
  b0:   41 5c                   pop    %r12
  b2:   41 5d                   pop    %r13
  b4:   41 5e                   pop    %r14
  b6:   41 5f                   pop    %r15
  b8:   e9 00 00 00 00          jmpq   bd <do_trap+0xbd>
                        b9: R_X86_64_PC32       force_sig_info-0x4
  bd:   44 89 f6                mov    %r14d,%esi
  c0:   48 89 ef                mov    %rbp,%rdi
  c3:   e8 00 00 00 00          callq  c8 <do_trap+0xc8>
                        c4: R_X86_64_PC32       unhandled_signal-0x4
  c8:   85 c0                   test   %eax,%eax
  ca:   74 c9                   je     95 <do_trap+0x95>
  cc:   48 c7 c7 00 00 00 00    mov    $0x0,%rdi
                        cf: R_X86_64_32S        .rodata+0x28
  d3:   e8 00 00 00 00          callq  d8 <do_trap+0xd8>
                        d4: R_X86_64_PC32       __printk_ratelimit-0x4
  d8:   85 c0                   test   %eax,%eax
  da:   74 b9                   je     95 <do_trap+0x95>
  dc:   8b 95 c8 04 00 00       mov    0x4c8(%rbp),%edx
  e2:   41 57                   push   %r15
  e4:   48 8d b5 70 06 00 00    lea    0x670(%rbp),%rsi
  eb:   48 c7 c7 00 00 00 00    mov    $0x0,%rdi
                        ee: R_X86_64_32S        .rodata.str1.8
  f2:   4d 8b 8c 24 98 00 00    mov    0x98(%r12),%r9
  f9:   00 
  fa:   4d 8b 84 24 80 00 00    mov    0x80(%r12),%r8
 101:   00 
 102:   48 8b 4c 24 08          mov    0x8(%rsp),%rcx
 107:   e8 00 00 00 00          callq  10c <do_trap+0x10c>
                        108: R_X86_64_PC32      printk-0x4
 10c:   49 8b b4 24 80 00 00    mov    0x80(%r12),%rsi
 113:   00 
 114:   48 c7 c7 00 00 00 00    mov    $0x0,%rdi
                        117: R_X86_64_32S       .rodata.str1.1
 11b:   e8 00 00 00 00          callq  120 <do_trap+0x120>
                        11c: R_X86_64_PC32      print_vma_addr-0x4
 120:   48 c7 c7 00 00 00 00    mov    $0x0,%rdi
                        123: R_X86_64_32S       .rodata.str1.1+0x7
 127:   e8 00 00 00 00          callq  12c <do_trap+0x12c>
                        128: R_X86_64_PC32      printk-0x4
 12c:   5a                      pop    %rdx
 12d:   e9 63 ff ff ff          jmpq   95 <do_trap+0x95>
 132:   0f 1f 40 00             nopl   0x0(%rax)
 136:   66 2e 0f 1f 84 00 00    nopw   %cs:0x0(%rax,%rax,1)
 13d:   00 00 00 

0000000000000140 <math_error>:
 140:   41 56                   push   %r14
 142:   41 55                   push   %r13
 144:   41 54                   push   %r12
 146:   55                      push   %rbp
 147:   53                      push   %rbx
 148:   48 81 ec a8 10 00 00    sub    $0x10a8,%rsp
 14f:   48 83 0c 24 00          orq    $0x0,(%rsp)
 154:   48 81 c4 20 10 00 00    add    $0x1020,%rsp
 15b:   49 c7 c4 00 00 00 00    mov    $0x0,%r12
                        15e: R_X86_64_32S       .rodata.str1.1+0xb
 162:   41 b9 08 00 00 00       mov    $0x8,%r9d
 168:   65 4c 8b 2c 25 00 00    mov    %gs:0x0,%r13
 16f:   00 00 
                        16d: R_X86_64_32S       current_task
 171:   65 48 8b 04 25 28 00    mov    %gs:0x28,%rax
 178:   00 00 
 17a:   48 89 84 24 80 00 00    mov    %rax,0x80(%rsp)
 181:   00 
 182:   31 c0                   xor    %eax,%eax
 184:   48 63 ea                movslq %edx,%rbp
 187:   48 c7 c0 00 00 00 00    mov    $0x0,%rax
                        18a: R_X86_64_32S       .rodata.str1.1+0x19
 18e:   48 63 de                movslq %esi,%rbx
 191:   83 fd 10                cmp    $0x10,%ebp
 194:   48 89 fa                mov    %rdi,%rdx
 197:   49 89 fe                mov    %rdi,%r14
 19a:   4c 0f 45 e0             cmovne %rax,%r12
 19e:   41 89 e8                mov    %ebp,%r8d
 1a1:   48 89 d9                mov    %rbx,%rcx
 1a4:   bf 08 00 00 00          mov    $0x8,%edi
 1a9:   4c 89 e6                mov    %r12,%rsi
 1ac:   e8 00 00 00 00          callq  1b1 <math_error+0x71>
                        1ad: R_X86_64_PC32      notify_die-0x4
 1b1:   3d 01 80 00 00          cmp    $0x8001,%eax
 1b6:   74 27                   je     1df <math_error+0x9f>
 1b8:   41 f6 86 91 00 00 00    testb  $0x2,0x91(%r14)
 1bf:   02 
 1c0:   74 01                   je     1c3 <math_error+0x83>
 1c2:   fb                      sti    
 1c3:   41 f6 86 88 00 00 00    testb  $0x3,0x88(%r14)
 1ca:   03 
 1cb:   75 39                   jne    206 <math_error+0xc6>
 1cd:   89 ee                   mov    %ebp,%esi
 1cf:   4c 89 f7                mov    %r14,%rdi
 1d2:   e8 00 00 00 00          callq  1d7 <math_error+0x97>
                        1d3: R_X86_64_PC32      fixup_exception-0x4
 1d7:   85 c0                   test   %eax,%eax
 1d9:   0f 84 89 00 00 00       je     268 <math_error+0x128>
 1df:   48 8b 84 24 80 00 00    mov    0x80(%rsp),%rax
 1e6:   00 
 1e7:   65 48 33 04 25 28 00    xor    %gs:0x28,%rax
 1ee:   00 00 
 1f0:   0f 85 93 00 00 00       jne    289 <math_error+0x149>
 1f6:   48 81 c4 88 00 00 00    add    $0x88,%rsp
 1fd:   5b                      pop    %rbx
 1fe:   5d                      pop    %rbp
 1ff:   41 5c                   pop    %r12
 201:   41 5d                   pop    %r13
 203:   41 5e                   pop    %r14
 205:   c3                      retq   
 206:   4d 8d a5 00 0a 00 00    lea    0xa00(%r13),%r12
 20d:   4c 89 e7                mov    %r12,%rdi
 210:   e8 00 00 00 00          callq  215 <math_error+0xd5>
                        211: R_X86_64_PC32      fpu__save-0x4
 215:   48 63 c5                movslq %ebp,%rax
 218:   89 ee                   mov    %ebp,%esi
 21a:   4c 89 e7                mov    %r12,%rdi
 21d:   49 89 85 b8 09 00 00    mov    %rax,0x9b8(%r13)
 224:   49 89 9d c0 09 00 00    mov    %rbx,0x9c0(%r13)
 22b:   49 8b 86 80 00 00 00    mov    0x80(%r14),%rax
 232:   c7 04 24 08 00 00 00    movl   $0x8,(%rsp)
 239:   c7 44 24 04 00 00 00    movl   $0x0,0x4(%rsp)
 240:   00 
 241:   48 89 44 24 10          mov    %rax,0x10(%rsp)
 246:   e8 00 00 00 00          callq  24b <math_error+0x10b>
                        247: R_X86_64_PC32      fpu__exception_code-0x4
 24b:   85 c0                   test   %eax,%eax
 24d:   89 44 24 08             mov    %eax,0x8(%rsp)
 251:   74 8c                   je     1df <math_error+0x9f>
 253:   4c 89 ea                mov    %r13,%rdx
 256:   48 89 e6                mov    %rsp,%rsi
 259:   bf 08 00 00 00          mov    $0x8,%edi
 25e:   e8 00 00 00 00          callq  263 <math_error+0x123>
                        25f: R_X86_64_PC32      force_sig_info-0x4
 263:   e9 77 ff ff ff          jmpq   1df <math_error+0x9f>
 268:   49 89 9d c0 09 00 00    mov    %rbx,0x9c0(%r13)
 26f:   48 89 da                mov    %rbx,%rdx
 272:   4c 89 f6                mov    %r14,%rsi
 275:   4c 89 e7                mov    %r12,%rdi
 278:   49 89 ad b8 09 00 00    mov    %rbp,0x9b8(%r13)
 27f:   e8 00 00 00 00          callq  284 <math_error+0x144>
                        280: R_X86_64_PC32      die-0x4
 284:   e9 56 ff ff ff          jmpq   1df <math_error+0x9f>
 289:   e8 00 00 00 00          callq  28e <math_error+0x14e>
                        28a: R_X86_64_PC32      __stack_chk_fail-0x4
 28e:   66 90                   xchg   %ax,%ax

0000000000000290 <fixup_bug.part.8>:
 290:   53                      push   %rbx
 291:   48 81 ec 20 10 00 00    sub    $0x1020,%rsp
 298:   48 83 0c 24 00          orq    $0x0,(%rsp)
 29d:   48 81 c4 20 10 00 00    add    $0x1020,%rsp
 2a4:   48 89 fb                mov    %rdi,%rbx
 2a7:   48 8b bf 80 00 00 00    mov    0x80(%rdi),%rdi
 2ae:   48 89 de                mov    %rbx,%rsi
 2b1:   e8 00 00 00 00          callq  2b6 <fixup_bug.part.8+0x26>
                        2b2: R_X86_64_PC32      report_bug-0x4
 2b6:   83 f8 01                cmp    $0x1,%eax
 2b9:   75 0a                   jne    2c5 <fixup_bug.part.8+0x35>
 2bb:   48 83 83 80 00 00 00    addq   $0x2,0x80(%rbx)
 2c2:   02 
 2c3:   5b                      pop    %rbx
 2c4:   c3                      retq   
 2c5:   31 c0                   xor    %eax,%eax
 2c7:   5b                      pop    %rbx
 2c8:   c3                      retq   
 2c9:   0f 1f 80 00 00 00 00    nopl   0x0(%rax)

00000000000002d0 <do_error_trap.part.9>:
 2d0:   41 56                   push   %r14
 2d2:   41 55                   push   %r13
 2d4:   41 54                   push   %r12
 2d6:   55                      push   %rbp
 2d7:   53                      push   %rbx
 2d8:   48 81 ec a8 10 00 00    sub    $0x10a8,%rsp
 2df:   48 83 0c 24 00          orq    $0x0,(%rsp)
 2e4:   48 81 c4 20 10 00 00    add    $0x1020,%rsp
 2eb:   49 89 d5                mov    %rdx,%r13
 2ee:   45 89 c1                mov    %r8d,%r9d
 2f1:   48 89 fa                mov    %rdi,%rdx
 2f4:   48 89 fd                mov    %rdi,%rbp
 2f7:   49 89 f6                mov    %rsi,%r14
 2fa:   48 89 cb                mov    %rcx,%rbx
 2fd:   65 48 8b 04 25 28 00    mov    %gs:0x28,%rax
 304:   00 00 
 306:   48 89 84 24 80 00 00    mov    %rax,0x80(%rsp)
 30d:   00 
 30e:   31 c0                   xor    %eax,%eax
 310:   45 89 c4                mov    %r8d,%r12d
 313:   bf 08 00 00 00          mov    $0x8,%edi
 318:   41 89 c8                mov    %ecx,%r8d
 31b:   48 89 f1                mov    %rsi,%rcx
 31e:   4c 89 ee                mov    %r13,%rsi
 321:   e8 00 00 00 00          callq  326 <do_error_trap.part.9+0x56>
                        322: R_X86_64_PC32      notify_die-0x4
 326:   3d 01 80 00 00          cmp    $0x8001,%eax
 32b:   74 30                   je     35d <do_error_trap.part.9+0x8d>
 32d:   f6 85 91 00 00 00 02    testb  $0x2,0x91(%rbp)
 334:   75 4a                   jne    380 <do_error_trap.part.9+0xb0>
 336:   83 fb 06                cmp    $0x6,%ebx
 339:   74 4b                   je     386 <do_error_trap.part.9+0xb6>
 33b:   83 fb 11                cmp    $0x11,%ebx
 33e:   74 54                   je     394 <do_error_trap.part.9+0xc4>
 340:   85 db                   test   %ebx,%ebx
 342:   41 b9 01 00 00 00       mov    $0x1,%r9d
 348:   74 6b                   je     3b5 <do_error_trap.part.9+0xe5>
 34a:   4d 89 f0                mov    %r14,%r8
 34d:   48 89 e9                mov    %rbp,%rcx
 350:   4c 89 ea                mov    %r13,%rdx
 353:   44 89 e6                mov    %r12d,%esi
 356:   89 df                   mov    %ebx,%edi
 358:   e8 a3 fc ff ff          callq  0 <do_trap>
 35d:   48 8b 84 24 80 00 00    mov    0x80(%rsp),%rax
 364:   00 
 365:   65 48 33 04 25 28 00    xor    %gs:0x28,%rax
 36c:   00 00 
 36e:   75 53                   jne    3c3 <do_error_trap.part.9+0xf3>
 370:   48 81 c4 88 00 00 00    add    $0x88,%rsp
 377:   5b                      pop    %rbx
 378:   5d                      pop    %rbp
 379:   41 5c                   pop    %r12
 37b:   41 5d                   pop    %r13
 37d:   41 5e                   pop    %r14
 37f:   c3                      retq   
 380:   fb                      sti    
 381:   83 fb 06                cmp    $0x6,%ebx
 384:   75 b5                   jne    33b <do_error_trap.part.9+0x6b>
 386:   48 8b 85 80 00 00 00    mov    0x80(%rbp),%rax
 38d:   ba 02 00 00 00          mov    $0x2,%edx
 392:   eb 07                   jmp    39b <do_error_trap.part.9+0xcb>
 394:   31 c0                   xor    %eax,%eax
 396:   ba 01 00 00 00          mov    $0x1,%edx
 39b:   44 89 24 24             mov    %r12d,(%rsp)
 39f:   49 89 e1                mov    %rsp,%r9
 3a2:   c7 44 24 04 00 00 00    movl   $0x0,0x4(%rsp)
 3a9:   00 
 3aa:   89 54 24 08             mov    %edx,0x8(%rsp)
 3ae:   48 89 44 24 10          mov    %rax,0x10(%rsp)
 3b3:   eb 95                   jmp    34a <do_error_trap.part.9+0x7a>
 3b5:   48 8b 85 80 00 00 00    mov    0x80(%rbp),%rax
 3bc:   ba 01 00 00 00          mov    $0x1,%edx
 3c1:   eb d8                   jmp    39b <do_error_trap.part.9+0xcb>
 3c3:   e8 00 00 00 00          callq  3c8 <do_error_trap.part.9+0xf8>
                        3c4: R_X86_64_PC32      __stack_chk_fail-0x4
 3c8:   0f 1f 84 00 00 00 00    nopl   0x0(%rax,%rax,1)
 3cf:   00 

00000000000003d0 <do_error_trap>:
 3d0:   53                      push   %rbx
 3d1:   48 81 ec 40 10 00 00    sub    $0x1040,%rsp
 3d8:   48 83 0c 24 00          orq    $0x0,(%rsp)
 3dd:   48 81 c4 20 10 00 00    add    $0x1020,%rsp
 3e4:   f6 87 88 00 00 00 03    testb  $0x3,0x88(%rdi)
 3eb:   48 89 fb                mov    %rdi,%rbx
 3ee:   75 05                   jne    3f5 <do_error_trap+0x25>
 3f0:   83 f9 06                cmp    $0x6,%ecx
 3f3:   74 0d                   je     402 <do_error_trap+0x32>
 3f5:   48 83 c4 20             add    $0x20,%rsp
 3f9:   48 89 df                mov    %rbx,%rdi
 3fc:   5b                      pop    %rbx
 3fd:   e9 ce fe ff ff          jmpq   2d0 <do_error_trap.part.9>
 402:   44 89 44 24 1c          mov    %r8d,0x1c(%rsp)
 407:   48 89 4c 24 10          mov    %rcx,0x10(%rsp)
 40c:   48 89 54 24 08          mov    %rdx,0x8(%rsp)
 411:   48 89 34 24             mov    %rsi,(%rsp)
 415:   e8 76 fe ff ff          callq  290 <fixup_bug.part.8>
 41a:   48 8b 34 24             mov    (%rsp),%rsi
 41e:   85 c0                   test   %eax,%eax
 420:   48 8b 54 24 08          mov    0x8(%rsp),%rdx
 425:   48 8b 4c 24 10          mov    0x10(%rsp),%rcx
 42a:   44 8b 44 24 1c          mov    0x1c(%rsp),%r8d
 42f:   74 c4                   je     3f5 <do_error_trap+0x25>
 431:   48 83 c4 20             add    $0x20,%rsp
 435:   5b                      pop    %rbx
 436:   c3                      retq   
 437:   66 0f 1f 84 00 00 00    nopw   0x0(%rax,%rax,1)
 43e:   00 00 

0000000000000440 <ist_enter>:
 440:   f6 87 88 00 00 00 03    testb  $0x3,0x88(%rdi)
 447:   74 01                   je     44a <ist_enter+0xa>
 449:   c3                      retq   
 44a:   48 81 ec 20 10 00 00    sub    $0x1020,%rsp
 451:   48 83 0c 24 00          orq    $0x0,(%rsp)
 456:   48 81 c4 20 10 00 00    add    $0x1020,%rsp
 45d:   e8 00 00 00 00          callq  462 <ist_enter+0x22>
                        45e: R_X86_64_PC32      rcu_nmi_enter-0x4
 462:   c3                      retq   
 463:   0f 1f 00                nopl   (%rax)
 466:   66 2e 0f 1f 84 00 00    nopw   %cs:0x0(%rax,%rax,1)
 46d:   00 00 00 

0000000000000470 <ist_exit>:
 470:   f6 87 88 00 00 00 03    testb  $0x3,0x88(%rdi)
 477:   74 01                   je     47a <ist_exit+0xa>
 479:   c3                      retq   
 47a:   e9 00 00 00 00          jmpq   47f <ist_exit+0xf>
                        47b: R_X86_64_PC32      rcu_nmi_exit-0x4
 47f:   90                      nop

0000000000000480 <ist_begin_non_atomic>:
 480:   f6 87 88 00 00 00 03    testb  $0x3,0x88(%rdi)
 487:   74 15                   je     49e <ist_begin_non_atomic+0x1e>
 489:   65 48 8b 04 25 00 00    mov    %gs:0x0,%rax
 490:   00 00 
                        48e: R_X86_64_32S       cpu_tss_rw+0xc
 492:   48 29 e0                sub    %rsp,%rax
 495:   48 3d ff 3f 00 00       cmp    $0x3fff,%rax
 49b:   77 03                   ja     4a0 <ist_begin_non_atomic+0x20>
 49d:   c3                      retq   
 49e:   0f 0b                   ud2    
 4a0:   0f 0b                   ud2    
 4a2:   0f 1f 40 00             nopl   0x0(%rax)
 4a6:   66 2e 0f 1f 84 00 00    nopw   %cs:0x0(%rax,%rax,1)
 4ad:   00 00 00 

00000000000004b0 <ist_end_non_atomic>:
 4b0:   c3                      retq   
 4b1:   0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)
 4b6:   66 2e 0f 1f 84 00 00    nopw   %cs:0x0(%rax,%rax,1)
 4bd:   00 00 00 

00000000000004c0 <is_valid_bugaddr>:
 4c0:   48 81 ec 30 10 00 00    sub    $0x1030,%rsp
 4c7:   48 83 0c 24 00          orq    $0x0,(%rsp)
 4cc:   48 81 c4 20 10 00 00    add    $0x1020,%rsp
 4d3:   65 48 8b 04 25 28 00    mov    %gs:0x28,%rax
 4da:   00 00 
 4dc:   48 89 44 24 08          mov    %rax,0x8(%rsp)
 4e1:   31 c0                   xor    %eax,%eax
 4e3:   48 b8 ff ef ff ff ff    movabs $0x7fffffffefff,%rax
 4ea:   7f 00 00 
 4ed:   48 39 c7                cmp    %rax,%rdi
 4f0:   77 17                   ja     509 <is_valid_bugaddr+0x49>
 4f2:   31 c0                   xor    %eax,%eax
 4f4:   48 8b 4c 24 08          mov    0x8(%rsp),%rcx
 4f9:   65 48 33 0c 25 28 00    xor    %gs:0x28,%rcx
 500:   00 00 
 502:   75 38                   jne    53c <is_valid_bugaddr+0x7c>
 504:   48 83 c4 10             add    $0x10,%rsp
 508:   c3                      retq   
 509:   48 89 fe                mov    %rdi,%rsi
 50c:   ba 02 00 00 00          mov    $0x2,%edx
 511:   48 8d 7c 24 06          lea    0x6(%rsp),%rdi
 516:   e8 00 00 00 00          callq  51b <is_valid_bugaddr+0x5b>
                        517: R_X86_64_PC32      probe_kernel_read-0x4
 51b:   48 85 c0                test   %rax,%rax
 51e:   75 d2                   jne    4f2 <is_valid_bugaddr+0x32>
 520:   0f b7 54 24 06          movzwl 0x6(%rsp),%edx
 525:   66 81 fa 0f ff          cmp    $0xff0f,%dx
 52a:   0f 94 c0                sete   %al
 52d:   66 81 fa 0f 0b          cmp    $0xb0f,%dx
 532:   0f 94 c2                sete   %dl
 535:   09 d0                   or     %edx,%eax
 537:   0f b6 c0                movzbl %al,%eax
 53a:   eb b8                   jmp    4f4 <is_valid_bugaddr+0x34>
 53c:   e8 00 00 00 00          callq  541 <is_valid_bugaddr+0x81>
                        53d: R_X86_64_PC32      __stack_chk_fail-0x4
 541:   0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)
 546:   66 2e 0f 1f 84 00 00    nopw   %cs:0x0(%rax,%rax,1)
 54d:   00 00 00 

0000000000000550 <fixup_bug>:
 550:   83 fe 06                cmp    $0x6,%esi
 553:   74 03                   je     558 <fixup_bug+0x8>
 555:   31 c0                   xor    %eax,%eax
 557:   c3                      retq   
 558:   e9 33 fd ff ff          jmpq   290 <fixup_bug.part.8>
 55d:   0f 1f 00                nopl   (%rax)

0000000000000560 <do_divide_error>:
 560:   41 b8 08 00 00 00       mov    $0x8,%r8d
 566:   31 c9                   xor    %ecx,%ecx
 568:   48 c7 c2 00 00 00 00    mov    $0x0,%rdx
                        56b: R_X86_64_32S       .rodata.str1.1+0x40
 56f:   e9 5c fe ff ff          jmpq   3d0 <do_error_trap>
 574:   66 90                   xchg   %ax,%ax
 576:   66 2e 0f 1f 84 00 00    nopw   %cs:0x0(%rax,%rax,1)
 57d:   00 00 00 

0000000000000580 <do_overflow>:
 580:   41 b8 0b 00 00 00       mov    $0xb,%r8d
 586:   b9 04 00 00 00          mov    $0x4,%ecx
 58b:   48 c7 c2 00 00 00 00    mov    $0x0,%rdx
                        58e: R_X86_64_32S       .rodata.str1.1+0x4d
 592:   e9 39 fe ff ff          jmpq   3d0 <do_error_trap>
 597:   66 0f 1f 84 00 00 00    nopw   0x0(%rax,%rax,1)
 59e:   00 00 

00000000000005a0 <do_invalid_op>:
 5a0:   41 b8 04 00 00 00       mov    $0x4,%r8d
 5a6:   b9 06 00 00 00          mov    $0x6,%ecx
 5ab:   48 c7 c2 00 00 00 00    mov    $0x0,%rdx
                        5ae: R_X86_64_32S       .rodata.str1.1+0x56
 5b2:   e9 19 fe ff ff          jmpq   3d0 <do_error_trap>
 5b7:   66 0f 1f 84 00 00 00    nopw   0x0(%rax,%rax,1)
 5be:   00 00 

00000000000005c0 <do_coprocessor_segment_overrun>:
 5c0:   41 b8 08 00 00 00       mov    $0x8,%r8d
 5c6:   b9 09 00 00 00          mov    $0x9,%ecx
 5cb:   48 c7 c2 00 00 00 00    mov    $0x0,%rdx
                        5ce: R_X86_64_32S       .rodata.str1.1+0x65
 5d2:   e9 f9 fd ff ff          jmpq   3d0 <do_error_trap>
 5d7:   66 0f 1f 84 00 00 00    nopw   0x0(%rax,%rax,1)
 5de:   00 00 

00000000000005e0 <do_invalid_TSS>:
 5e0:   41 b8 0b 00 00 00       mov    $0xb,%r8d
 5e6:   b9 0a 00 00 00          mov    $0xa,%ecx
 5eb:   48 c7 c2 00 00 00 00    mov    $0x0,%rdx
                        5ee: R_X86_64_32S       .rodata.str1.1+0x81
 5f2:   e9 d9 fd ff ff          jmpq   3d0 <do_error_trap>
 5f7:   66 0f 1f 84 00 00 00    nopw   0x0(%rax,%rax,1)
 5fe:   00 00 

0000000000000600 <do_segment_not_present>:
 600:   41 b8 07 00 00 00       mov    $0x7,%r8d
 606:   b9 0b 00 00 00          mov    $0xb,%ecx
 60b:   48 c7 c2 00 00 00 00    mov    $0x0,%rdx
                        60e: R_X86_64_32S       .rodata.str1.1+0x8d
 612:   e9 b9 fd ff ff          jmpq   3d0 <do_error_trap>
 617:   66 0f 1f 84 00 00 00    nopw   0x0(%rax,%rax,1)
 61e:   00 00 

0000000000000620 <do_stack_segment>:
 620:   41 b8 07 00 00 00       mov    $0x7,%r8d
 626:   b9 0c 00 00 00          mov    $0xc,%ecx
 62b:   48 c7 c2 00 00 00 00    mov    $0x0,%rdx
                        62e: R_X86_64_32S       .rodata.str1.1+0xa1
 632:   e9 99 fd ff ff          jmpq   3d0 <do_error_trap>
 637:   66 0f 1f 84 00 00 00    nopw   0x0(%rax,%rax,1)
 63e:   00 00 

0000000000000640 <do_alignment_check>:
 640:   41 b8 07 00 00 00       mov    $0x7,%r8d
 646:   b9 11 00 00 00          mov    $0x11,%ecx
 64b:   48 c7 c2 00 00 00 00    mov    $0x0,%rdx
                        64e: R_X86_64_32S       .rodata.str1.1+0xaf
 652:   e9 79 fd ff ff          jmpq   3d0 <do_error_trap>
 657:   66 0f 1f 84 00 00 00    nopw   0x0(%rax,%rax,1)
 65e:   00 00 

0000000000000660 <handle_stack_overflow>:
 660:   55                      push   %rbp
 661:   53                      push   %rbx
 662:   48 81 ec 20 10 00 00    sub    $0x1020,%rsp
 669:   48 83 0c 24 00          orq    $0x0,(%rsp)
 66e:   48 81 c4 20 10 00 00    add    $0x1020,%rsp
 675:   65 48 8b 04 25 00 00    mov    %gs:0x0,%rax
 67c:   00 00 
                        67a: R_X86_64_32S       current_task
 67e:   48 89 f5                mov    %rsi,%rbp
 681:   48 89 d6                mov    %rdx,%rsi
 684:   48 8b 50 40             mov    0x40(%rax),%rdx
 688:   48 89 fb                mov    %rdi,%rbx
 68b:   48 c7 c7 00 00 00 00    mov    $0x0,%rdi
                        68e: R_X86_64_32S       .rodata.str1.8+0x30
 692:   48 8d 8a ff 3f 00 00    lea    0x3fff(%rdx),%rcx
 699:   e8 00 00 00 00          callq  69e <handle_stack_overflow+0x3e>
                        69a: R_X86_64_PC32      printk-0x4
 69e:   48 89 df                mov    %rbx,%rdi
 6a1:   31 d2                   xor    %edx,%edx
 6a3:   48 89 ee                mov    %rbp,%rsi
 6a6:   e8 00 00 00 00          callq  6ab <handle_stack_overflow+0x4b>
                        6a7: R_X86_64_PC32      die-0x4
 6ab:   48 89 df                mov    %rbx,%rdi
 6ae:   e8 00 00 00 00          callq  6b3 <handle_stack_overflow+0x53>
                        6af: R_X86_64_PC32      panic-0x4
 6b3:   0f 1f 00                nopl   (%rax)
 6b6:   66 2e 0f 1f 84 00 00    nopw   %cs:0x0(%rax,%rax,1)
 6bd:   00 00 00 

00000000000006c0 <do_double_fault>:
 6c0:   41 54                   push   %r12
 6c2:   55                      push   %rbp
 6c3:   53                      push   %rbx
 6c4:   48 81 ec 20 10 00 00    sub    $0x1020,%rsp
 6cb:   48 83 0c 24 00          orq    $0x0,(%rsp)
 6d0:   48 81 c4 20 10 00 00    add    $0x1020,%rsp
 6d7:   65 4c 8b 24 25 00 00    mov    %gs:0x0,%r12
 6de:   00 00 
                        6dc: R_X86_64_32S       current_task
 6e0:   f6 87 88 00 00 00 03    testb  $0x3,0x88(%rdi)
 6e7:   48 89 fb                mov    %rdi,%rbx
 6ea:   48 89 f5                mov    %rsi,%rbp
 6ed:   75 05                   jne    6f4 <do_double_fault+0x34>
 6ef:   e8 00 00 00 00          callq  6f4 <do_double_fault+0x34>
                        6f0: R_X86_64_PC32      rcu_nmi_enter-0x4
 6f4:   41 b9 0b 00 00 00       mov    $0xb,%r9d
 6fa:   41 b8 08 00 00 00       mov    $0x8,%r8d
 700:   48 89 e9                mov    %rbp,%rcx
 703:   48 89 da                mov    %rbx,%rdx
 706:   48 c7 c6 00 00 00 00    mov    $0x0,%rsi
                        709: R_X86_64_32S       .rodata+0x18
 70d:   bf 08 00 00 00          mov    $0x8,%edi
 712:   e8 00 00 00 00          callq  717 <do_double_fault+0x57>
                        713: R_X86_64_PC32      notify_die-0x4
 717:   49 89 ac 24 c0 09 00    mov    %rbp,0x9c0(%r12)
 71e:   00 
 71f:   49 c7 84 24 b8 09 00    movq   $0x8,0x9b8(%r12)
 726:   00 08 00 00 00 
 72b:   0f 20 d2                mov    %cr2,%rdx
 72e:   48 89 d0                mov    %rdx,%rax
 731:   48 f7 d0                not    %rax
 734:   49 03 44 24 40          add    0x40(%r12),%rax
 739:   48 3d ff 0f 00 00       cmp    $0xfff,%rax
 73f:   77 0f                   ja     750 <do_double_fault+0x90>
 741:   48 89 de                mov    %rbx,%rsi
 744:   48 c7 c7 00 00 00 00    mov    $0x0,%rdi
                        747: R_X86_64_32S       .rodata.str1.8+0x70
 74b:   e8 00 00 00 00          callq  750 <do_double_fault+0x90>
                        74c: R_X86_64_PC32      handle_stack_overflow-0x4
 750:   48 89 ee                mov    %rbp,%rsi
 753:   48 89 df                mov    %rbx,%rdi
 756:   49 c7 c4 00 00 00 00    mov    $0x0,%r12
                        759: R_X86_64_32S       .rodata+0x18
 75d:   e8 00 00 00 00          callq  762 <do_double_fault+0xa2>
                        75e: R_X86_64_PC32      df_debug-0x4
 762:   48 89 ea                mov    %rbp,%rdx
 765:   48 89 de                mov    %rbx,%rsi
 768:   4c 89 e7                mov    %r12,%rdi
 76b:   e8 00 00 00 00          callq  770 <do_double_fault+0xb0>
                        76c: R_X86_64_PC32      die-0x4
 770:   eb f0                   jmp    762 <do_double_fault+0xa2>
 772:   0f 1f 40 00             nopl   0x0(%rax)
 776:   66 2e 0f 1f 84 00 00    nopw   %cs:0x0(%rax,%rax,1)
 77d:   00 00 00 

0000000000000780 <do_bounds>:
 780:   55                      push   %rbp
 781:   53                      push   %rbx
 782:   48 81 ec 20 10 00 00    sub    $0x1020,%rsp
 789:   48 83 0c 24 00          orq    $0x0,(%rsp)
 78e:   48 81 c4 20 10 00 00    add    $0x1020,%rsp
 795:   41 b9 0b 00 00 00       mov    $0xb,%r9d
 79b:   41 b8 05 00 00 00       mov    $0x5,%r8d
 7a1:   48 89 f1                mov    %rsi,%rcx
 7a4:   48 89 fa                mov    %rdi,%rdx
 7a7:   48 89 fb                mov    %rdi,%rbx
 7aa:   48 89 f5                mov    %rsi,%rbp
 7ad:   bf 08 00 00 00          mov    $0x8,%edi
 7b2:   48 c7 c6 00 00 00 00    mov    $0x0,%rsi
                        7b5: R_X86_64_32S       .rodata.str1.1+0xbf
 7b9:   e8 00 00 00 00          callq  7be <do_bounds+0x3e>
                        7ba: R_X86_64_PC32      notify_die-0x4
 7be:   3d 01 80 00 00          cmp    $0x8001,%eax
 7c3:   74 51                   je     816 <do_bounds+0x96>
 7c5:   f6 83 91 00 00 00 02    testb  $0x2,0x91(%rbx)
 7cc:   75 2a                   jne    7f8 <do_bounds+0x78>
 7ce:   f6 83 88 00 00 00 03    testb  $0x3,0x88(%rbx)
 7d5:   74 2b                   je     802 <do_bounds+0x82>
 7d7:   49 89 e8                mov    %rbp,%r8
 7da:   48 89 d9                mov    %rbx,%rcx
 7dd:   5b                      pop    %rbx
 7de:   45 31 c9                xor    %r9d,%r9d
 7e1:   5d                      pop    %rbp
 7e2:   be 0b 00 00 00          mov    $0xb,%esi
 7e7:   bf 05 00 00 00          mov    $0x5,%edi
 7ec:   48 c7 c2 00 00 00 00    mov    $0x0,%rdx
                        7ef: R_X86_64_32S       .rodata.str1.1+0xbf
 7f3:   e9 08 f8 ff ff          jmpq   0 <do_trap>
 7f8:   fb                      sti    
 7f9:   f6 83 88 00 00 00 03    testb  $0x3,0x88(%rbx)
 800:   75 d5                   jne    7d7 <do_bounds+0x57>
 802:   48 89 ea                mov    %rbp,%rdx
 805:   48 89 de                mov    %rbx,%rsi
 808:   48 c7 c7 00 00 00 00    mov    $0x0,%rdi
                        80b: R_X86_64_32S       .rodata.str1.1+0xbf
 80f:   e8 00 00 00 00          callq  814 <do_bounds+0x94>
                        810: R_X86_64_PC32      die-0x4
 814:   eb c1                   jmp    7d7 <do_bounds+0x57>
 816:   5b                      pop    %rbx
 817:   5d                      pop    %rbp
 818:   c3                      retq   
 819:   0f 1f 80 00 00 00 00    nopl   0x0(%rax)

0000000000000820 <do_general_protection>:
 820:   41 55                   push   %r13
 822:   41 54                   push   %r12
 824:   55                      push   %rbp
 825:   53                      push   %rbx
 826:   48 81 ec 20 10 00 00    sub    $0x1020,%rsp
 82d:   48 83 0c 24 00          orq    $0x0,(%rsp)
 832:   48 81 c4 20 10 00 00    add    $0x1020,%rsp
 839:   f6 87 91 00 00 00 02    testb  $0x2,0x91(%rdi)
 840:   48 89 fb                mov    %rdi,%rbx
 843:   49 89 f5                mov    %rsi,%r13
 846:   74 01                   je     849 <do_general_protection+0x29>
 848:   fb                      sti    
 849:   e9 00 00 00 00          jmpq   84e <do_general_protection+0x2e>
                        84a: R_X86_64_PC32      .altinstr_aux-0x4
 84e:   f6 83 88 00 00 00 03    testb  $0x3,0x88(%rbx)
 855:   75 21                   jne    878 <do_general_protection+0x58>
 857:   65 4c 8b 24 25 00 00    mov    %gs:0x0,%r12
 85e:   00 00 
                        85c: R_X86_64_32S       current_task
 860:   be 0d 00 00 00          mov    $0xd,%esi
 865:   48 89 df                mov    %rbx,%rdi
 868:   e8 00 00 00 00          callq  86d <do_general_protection+0x4d>
                        869: R_X86_64_PC32      fixup_exception-0x4
 86d:   85 c0                   test   %eax,%eax
 86f:   74 5c                   je     8cd <do_general_protection+0xad>
 871:   5b                      pop    %rbx
 872:   5d                      pop    %rbp
 873:   41 5c                   pop    %r12
 875:   41 5d                   pop    %r13
 877:   c3                      retq   
 878:   48 89 df                mov    %rbx,%rdi
 87b:   e8 00 00 00 00          callq  880 <do_general_protection+0x60>
                        87c: R_X86_64_PC32      fixup_umip_exception-0x4
 880:   84 c0                   test   %al,%al
 882:   75 ed                   jne    871 <do_general_protection+0x51>
 884:   65 48 8b 2c 25 00 00    mov    %gs:0x0,%rbp
 88b:   00 00 
                        889: R_X86_64_32S       current_task
 88d:   f6 83 88 00 00 00 03    testb  $0x3,0x88(%rbx)
 894:   49 89 ec                mov    %rbp,%r12
 897:   74 c7                   je     860 <do_general_protection+0x40>
 899:   8b 05 00 00 00 00       mov    0x0(%rip),%eax        # 89f 
<do_general_protection+0x7f>
                        89b: R_X86_64_PC32      show_unhandled_signals-0x4
 89f:   4c 89 ad c0 09 00 00    mov    %r13,0x9c0(%rbp)
 8a6:   48 c7 85 b8 09 00 00    movq   $0xd,0x9b8(%rbp)
 8ad:   0d 00 00 00 
 8b1:   85 c0                   test   %eax,%eax
 8b3:   75 72                   jne    927 <do_general_protection+0x107>
 8b5:   5b                      pop    %rbx
 8b6:   48 89 ea                mov    %rbp,%rdx
 8b9:   be 01 00 00 00          mov    $0x1,%esi
 8be:   bf 0b 00 00 00          mov    $0xb,%edi
 8c3:   5d                      pop    %rbp
 8c4:   41 5c                   pop    %r12
 8c6:   41 5d                   pop    %r13
 8c8:   e9 00 00 00 00          jmpq   8cd <do_general_protection+0xad>
                        8c9: R_X86_64_PC32      force_sig_info-0x4
 8cd:   4d 89 ac 24 c0 09 00    mov    %r13,0x9c0(%r12)
 8d4:   00 
 8d5:   41 b9 0b 00 00 00       mov    $0xb,%r9d
 8db:   4c 89 e9                mov    %r13,%rcx
 8de:   48 89 da                mov    %rbx,%rdx
 8e1:   41 b8 0d 00 00 00       mov    $0xd,%r8d
 8e7:   48 c7 c6 00 00 00 00    mov    $0x0,%rsi
                        8ea: R_X86_64_32S       .rodata.str1.1+0xc6
 8ee:   bf 09 00 00 00          mov    $0x9,%edi
 8f3:   49 c7 84 24 b8 09 00    movq   $0xd,0x9b8(%r12)
 8fa:   00 0d 00 00 00 
 8ff:   e8 00 00 00 00          callq  904 <do_general_protection+0xe4>
                        900: R_X86_64_PC32      notify_die-0x4
 904:   3d 01 80 00 00          cmp    $0x8001,%eax
 909:   0f 84 62 ff ff ff       je     871 <do_general_protection+0x51>
 90f:   4c 89 ea                mov    %r13,%rdx
 912:   48 89 de                mov    %rbx,%rsi
 915:   5b                      pop    %rbx
 916:   48 c7 c7 00 00 00 00    mov    $0x0,%rdi
                        919: R_X86_64_32S       .rodata.str1.1+0xc6
 91d:   5d                      pop    %rbp
 91e:   41 5c                   pop    %r12
 920:   41 5d                   pop    %r13
 922:   e9 00 00 00 00          jmpq   927 <do_general_protection+0x107>
                        923: R_X86_64_PC32      die-0x4
 927:   be 0b 00 00 00          mov    $0xb,%esi
 92c:   48 89 ef                mov    %rbp,%rdi
 92f:   e8 00 00 00 00          callq  934 <do_general_protection+0x114>
                        930: R_X86_64_PC32      unhandled_signal-0x4
 934:   85 c0                   test   %eax,%eax
 936:   0f 84 79 ff ff ff       je     8b5 <do_general_protection+0x95>
 93c:   48 c7 c7 00 00 00 00    mov    $0x0,%rdi
                        93f: R_X86_64_32S       .rodata
 943:   e8 00 00 00 00          callq  948 <do_general_protection+0x128>
                        944: R_X86_64_PC32      __printk_ratelimit-0x4
 948:   85 c0                   test   %eax,%eax
 94a:   0f 84 65 ff ff ff       je     8b5 <do_general_protection+0x95>
 950:   8b 95 c8 04 00 00       mov    0x4c8(%rbp),%edx
 956:   48 8d b5 70 06 00 00    lea    0x670(%rbp),%rsi
 95d:   4d 89 e9                mov    %r13,%r9
 960:   48 c7 c7 00 00 00 00    mov    $0x0,%rdi
                        963: R_X86_64_32S       .rodata.str1.8+0x98
 967:   48 8b 8b 80 00 00 00    mov    0x80(%rbx),%rcx
 96e:   4c 8b 83 98 00 00 00    mov    0x98(%rbx),%r8
 975:   e8 00 00 00 00          callq  97a <do_general_protection+0x15a>
                        976: R_X86_64_PC32      printk-0x4
 97a:   48 8b b3 80 00 00 00    mov    0x80(%rbx),%rsi
 981:   48 c7 c7 00 00 00 00    mov    $0x0,%rdi
                        984: R_X86_64_32S       .rodata.str1.1
 988:   e8 00 00 00 00          callq  98d <do_general_protection+0x16d>
                        989: R_X86_64_PC32      print_vma_addr-0x4
 98d:   48 c7 c7 00 00 00 00    mov    $0x0,%rdi
                        990: R_X86_64_32S       .rodata.str1.1+0x7
 994:   e8 00 00 00 00          callq  999 <do_general_protection+0x179>
                        995: R_X86_64_PC32      printk-0x4
 999:   e9 17 ff ff ff          jmpq   8b5 <do_general_protection+0x95>
 99e:   66 90                   xchg   %ax,%ax

00000000000009a0 <do_int3>:
 9a0:   55                      push   %rbp
 9a1:   53                      push   %rbx
 9a2:   48 81 ec 20 10 00 00    sub    $0x1020,%rsp
 9a9:   48 83 0c 24 00          orq    $0x0,(%rsp)
 9ae:   48 81 c4 20 10 00 00    add    $0x1020,%rsp
 9b5:   48 89 fb                mov    %rdi,%rbx
 9b8:   48 89 f5                mov    %rsi,%rbp
 9bb:   e8 00 00 00 00          callq  9c0 <do_int3+0x20>
                        9bc: R_X86_64_PC32      poke_int3_handler-0x4
 9c0:   85 c0                   test   %eax,%eax
 9c2:   75 7d                   jne    a41 <do_int3+0xa1>
 9c4:   f6 83 88 00 00 00 03    testb  $0x3,0x88(%rbx)
 9cb:   74 7e                   je     a4b <do_int3+0xab>
 9cd:   41 b9 05 00 00 00       mov    $0x5,%r9d
 9d3:   41 b8 03 00 00 00       mov    $0x3,%r8d
 9d9:   48 89 e9                mov    %rbp,%rcx
 9dc:   48 89 da                mov    %rbx,%rdx
 9df:   48 c7 c6 00 00 00 00    mov    $0x0,%rsi
                        9e2: R_X86_64_32S       .rodata.str1.1+0xdf
 9e6:   bf 02 00 00 00          mov    $0x2,%edi
 9eb:   e8 00 00 00 00          callq  9f0 <do_int3+0x50>
                        9ec: R_X86_64_PC32      notify_die-0x4
 9f0:   3d 01 80 00 00          cmp    $0x8001,%eax
 9f5:   74 41                   je     a38 <do_int3+0x98>
 9f7:   65 ff 05 00 00 00 00    incl   %gs:0x0(%rip)        # 9fe <do_int3+0x5e>
                        9fa: R_X86_64_PC32      debug_stack_usage-0x4
 9fe:   f6 83 91 00 00 00 02    testb  $0x2,0x91(%rbx)
 a05:   74 01                   je     a08 <do_int3+0x68>
 a07:   fb                      sti    
 a08:   45 31 c9                xor    %r9d,%r9d
 a0b:   49 89 e8                mov    %rbp,%r8
 a0e:   48 89 d9                mov    %rbx,%rcx
 a11:   48 c7 c2 00 00 00 00    mov    $0x0,%rdx
                        a14: R_X86_64_32S       .rodata.str1.1+0xdf
 a18:   be 05 00 00 00          mov    $0x5,%esi
 a1d:   bf 03 00 00 00          mov    $0x3,%edi
 a22:   e8 d9 f5 ff ff          callq  0 <do_trap>
 a27:   f6 83 91 00 00 00 02    testb  $0x2,0x91(%rbx)
 a2e:   74 01                   je     a31 <do_int3+0x91>
 a30:   fa                      cli    
 a31:   65 ff 0d 00 00 00 00    decl   %gs:0x0(%rip)        # a38 <do_int3+0x98>
                        a34: R_X86_64_PC32      debug_stack_usage-0x4
 a38:   f6 83 88 00 00 00 03    testb  $0x3,0x88(%rbx)
 a3f:   74 03                   je     a44 <do_int3+0xa4>
 a41:   5b                      pop    %rbx
 a42:   5d                      pop    %rbp
 a43:   c3                      retq   
 a44:   5b                      pop    %rbx
 a45:   5d                      pop    %rbp
 a46:   e9 00 00 00 00          jmpq   a4b <do_int3+0xab>
                        a47: R_X86_64_PC32      rcu_nmi_exit-0x4
 a4b:   e8 00 00 00 00          callq  a50 <do_int3+0xb0>
                        a4c: R_X86_64_PC32      rcu_nmi_enter-0x4
 a50:   e9 78 ff ff ff          jmpq   9cd <do_int3+0x2d>
 a55:   90                      nop
 a56:   66 2e 0f 1f 84 00 00    nopw   %cs:0x0(%rax,%rax,1)
 a5d:   00 00 00 

0000000000000a60 <sync_regs>:
 a60:   65 48 8b 0d 00 00 00    mov    %gs:0x0(%rip),%rcx        # a68 
<sync_regs+0x8>
 a67:   00 
                        a64: R_X86_64_PC32      cpu_tss_rw+0x8
 a68:   48 81 e9 a8 00 00 00    sub    $0xa8,%rcx
 a6f:   48 39 f9                cmp    %rdi,%rcx
 a72:   74 24                   je     a98 <sync_regs+0x38>
 a74:   48 81 ec 20 10 00 00    sub    $0x1020,%rsp
 a7b:   48 83 0c 24 00          orq    $0x0,(%rsp)
 a80:   48 81 c4 20 10 00 00    add    $0x1020,%rsp
 a87:   ba a8 00 00 00          mov    $0xa8,%edx
 a8c:   48 89 fe                mov    %rdi,%rsi
 a8f:   48 89 cf                mov    %rcx,%rdi
 a92:   e8 00 00 00 00          callq  a97 <sync_regs+0x37>
                        a93: R_X86_64_PC32      memcpy-0x4
 a97:   c3                      retq   
 a98:   48 89 c8                mov    %rcx,%rax
 a9b:   c3                      retq   
 a9c:   0f 1f 40 00             nopl   0x0(%rax)

0000000000000aa0 <fixup_bad_iret>:
 aa0:   41 54                   push   %r12
 aa2:   55                      push   %rbp
 aa3:   53                      push   %rbx
 aa4:   48 81 ec 20 10 00 00    sub    $0x1020,%rsp
 aab:   48 83 0c 24 00          orq    $0x0,(%rsp)
 ab0:   48 81 c4 20 10 00 00    add    $0x1020,%rsp
 ab7:   ba 28 00 00 00          mov    $0x28,%edx
 abc:   65 48 8b 2d 00 00 00    mov    %gs:0x0(%rip),%rbp        # ac4 
<fixup_bad_iret+0x24>
 ac3:   00 
                        ac0: R_X86_64_PC32      cpu_tss_rw
 ac4:   48 8b b7 a0 00 00 00    mov    0xa0(%rdi),%rsi
 acb:   48 8d 9d 50 ff ff ff    lea    -0xb0(%rbp),%rbx
 ad2:   49 89 fc                mov    %rdi,%r12
 ad5:   48 8d bb 88 00 00 00    lea    0x88(%rbx),%rdi
 adc:   e8 00 00 00 00          callq  ae1 <fixup_bad_iret+0x41>
                        add: R_X86_64_PC32      memmove-0x4
 ae1:   ba 88 00 00 00          mov    $0x88,%edx
 ae6:   4c 89 e6                mov    %r12,%rsi
 ae9:   48 89 df                mov    %rbx,%rdi
 aec:   e8 00 00 00 00          callq  af1 <fixup_bad_iret+0x51>
                        aed: R_X86_64_PC32      memmove-0x4
 af1:   f6 45 e0 03             testb  $0x3,-0x20(%rbp)
 af5:   74 08                   je     aff <fixup_bad_iret+0x5f>
 af7:   48 89 d8                mov    %rbx,%rax
 afa:   5b                      pop    %rbx
 afb:   5d                      pop    %rbp
 afc:   41 5c                   pop    %r12
 afe:   c3                      retq   
 aff:   0f 0b                   ud2    
 b01:   0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)
 b06:   66 2e 0f 1f 84 00 00    nopw   %cs:0x0(%rax,%rax,1)
 b0d:   00 00 00 

0000000000000b10 <do_debug>:
 b10:   41 55                   push   %r13
 b12:   41 54                   push   %r12
 b14:   55                      push   %rbp
 b15:   53                      push   %rbx
 b16:   48 81 ec 30 10 00 00    sub    $0x1030,%rsp
 b1d:   48 83 0c 24 00          orq    $0x0,(%rsp)
 b22:   48 81 c4 20 10 00 00    add    $0x1020,%rsp
 b29:   65 48 8b 2c 25 00 00    mov    %gs:0x0,%rbp
 b30:   00 00 
                        b2e: R_X86_64_32S       current_task
 b32:   65 48 8b 04 25 28 00    mov    %gs:0x28,%rax
 b39:   00 00 
 b3b:   48 89 44 24 08          mov    %rax,0x8(%rsp)
 b40:   31 c0                   xor    %eax,%eax
 b42:   f6 87 88 00 00 00 03    testb  $0x3,0x88(%rdi)
 b49:   48 89 fb                mov    %rdi,%rbx
 b4c:   49 89 f4                mov    %rsi,%r12
 b4f:   0f 84 38 01 00 00       je     c8d <do_debug+0x17d>
 b55:   0f 21 f0                mov    %db6,%rax
 b58:   31 d2                   xor    %edx,%edx
 b5a:   0f 23 f2                mov    %rdx,%db6
 b5d:   25 0f f0 00 00          and    $0xf00f,%eax
 b62:   48 89 04 24             mov    %rax,(%rsp)
 b66:   48 8d 45 03             lea    0x3(%rbp),%rax
 b6a:   f0 80 20 fd             lock andb $0xfd,(%rax)
 b6e:   48 8b 83 88 00 00 00    mov    0x88(%rbx),%rax
 b75:   48 8b 14 24             mov    (%rsp),%rdx
 b79:   83 e0 03                and    $0x3,%eax
 b7c:   0f 84 15 01 00 00       je     c97 <do_debug+0x187>
 b82:   48 85 d2                test   %rdx,%rdx
 b85:   48 89 95 a0 09 00 00    mov    %rdx,0x9a0(%rbp)
 b8c:   45 89 e0                mov    %r12d,%r8d
 b8f:   48 89 e1                mov    %rsp,%rcx
 b92:   41 0f 94 c5             sete   %r13b
 b96:   48 85 c0                test   %rax,%rax
 b99:   41 b9 05 00 00 00       mov    $0x5,%r9d
 b9f:   0f 95 c0                setne  %al
 ba2:   48 89 da                mov    %rbx,%rdx
 ba5:   bf 03 00 00 00          mov    $0x3,%edi
 baa:   48 c7 c6 00 00 00 00    mov    $0x0,%rsi
                        bad: R_X86_64_32S       .rodata.str1.1+0xe4
 bb1:   41 21 c5                and    %eax,%r13d
 bb4:   e8 00 00 00 00          callq  bb9 <do_debug+0xa9>
                        bb5: R_X86_64_PC32      notify_die-0x4
 bb9:   3d 01 80 00 00          cmp    $0x8001,%eax
 bbe:   74 6b                   je     c2b <do_debug+0x11b>
 bc0:   65 ff 05 00 00 00 00    incl   %gs:0x0(%rip)        # bc7 
<do_debug+0xb7>
                        bc3: R_X86_64_PC32      debug_stack_usage-0x4
 bc7:   f6 83 91 00 00 00 02    testb  $0x2,0x91(%rbx)
 bce:   74 01                   je     bd1 <do_debug+0xc1>
 bd0:   fb                      sti    
 bd1:   f6 44 24 01 40          testb  $0x40,0x1(%rsp)
 bd6:   74 26                   je     bfe <do_debug+0xee>
 bd8:   f6 83 88 00 00 00 03    testb  $0x3,0x88(%rbx)
 bdf:   75 1d                   jne    bfe <do_debug+0xee>
 be1:   0f ff                   (bad)  
 be3:   48 81 a5 a0 09 00 00    andq   $0xffffffffffffbfff,0x9a0(%rbp)
 bea:   ff bf ff ff 
 bee:   f0 80 4d 00 10          lock orb $0x10,0x0(%rbp)
 bf3:   48 81 a3 90 00 00 00    andq   $0xfffffffffffffeff,0x90(%rbx)
 bfa:   ff fe ff ff 
 bfe:   48 8b 85 a0 09 00 00    mov    0x9a0(%rbp),%rax
 c05:   b9 02 00 00 00          mov    $0x2,%ecx
 c0a:   f6 c4 40                test   $0x40,%ah
 c0d:   74 4c                   je     c5b <do_debug+0x14b>
 c0f:   a9 0f 40 00 00          test   $0x400f,%eax
 c14:   75 5e                   jne    c74 <do_debug+0x164>
 c16:   45 84 ed                test   %r13b,%r13b
 c19:   75 59                   jne    c74 <do_debug+0x164>
 c1b:   f6 83 91 00 00 00 02    testb  $0x2,0x91(%rbx)
 c22:   75 34                   jne    c58 <do_debug+0x148>
 c24:   65 ff 0d 00 00 00 00    decl   %gs:0x0(%rip)        # c2b 
<do_debug+0x11b>
                        c27: R_X86_64_PC32      debug_stack_usage-0x4
 c2b:   f6 83 88 00 00 00 03    testb  $0x3,0x88(%rbx)
 c32:   75 05                   jne    c39 <do_debug+0x129>
 c34:   e8 00 00 00 00          callq  c39 <do_debug+0x129>
                        c35: R_X86_64_PC32      rcu_nmi_exit-0x4
 c39:   48 8b 44 24 08          mov    0x8(%rsp),%rax
 c3e:   65 48 33 04 25 28 00    xor    %gs:0x28,%rax
 c45:   00 00 
 c47:   0f 85 8c 00 00 00       jne    cd9 <do_debug+0x1c9>
 c4d:   48 83 c4 10             add    $0x10,%rsp
 c51:   5b                      pop    %rbx
 c52:   5d                      pop    %rbp
 c53:   41 5c                   pop    %r12
 c55:   41 5d                   pop    %r13
 c57:   c3                      retq   
 c58:   fa                      cli    
 c59:   eb c9                   jmp    c24 <do_debug+0x114>
 c5b:   48 89 c2                mov    %rax,%rdx
 c5e:   83 e2 0f                and    $0xf,%edx
 c61:   48 83 fa 01             cmp    $0x1,%rdx
 c65:   19 c9                   sbb    %ecx,%ecx
 c67:   83 e1 fd                and    $0xfffffffd,%ecx
 c6a:   83 c1 04                add    $0x4,%ecx
 c6d:   a9 0f 40 00 00          test   $0x400f,%eax
 c72:   74 a2                   je     c16 <do_debug+0x106>
 c74:   44 89 e2                mov    %r12d,%edx
 c77:   48 89 de                mov    %rbx,%rsi
 c7a:   48 89 ef                mov    %rbp,%rdi
 c7d:   e8 00 00 00 00          callq  c82 <do_debug+0x172>
                        c7e: R_X86_64_PC32      send_sigtrap-0x4
 c82:   f6 83 91 00 00 00 02    testb  $0x2,0x91(%rbx)
 c89:   74 99                   je     c24 <do_debug+0x114>
 c8b:   eb cb                   jmp    c58 <do_debug+0x148>
 c8d:   e8 00 00 00 00          callq  c92 <do_debug+0x182>
                        c8e: R_X86_64_PC32      rcu_nmi_enter-0x4
 c92:   e9 be fe ff ff          jmpq   b55 <do_debug+0x45>
 c97:   f6 c6 40                test   $0x40,%dh
 c9a:   0f 84 e2 fe ff ff       je     b82 <do_debug+0x72>
 ca0:   48 8b b3 80 00 00 00    mov    0x80(%rbx),%rsi
 ca7:   48 c7 c7 00 00 00 00    mov    $0x0,%rdi
                        caa: R_X86_64_32S       entry_SYSENTER_compat
 cae:   48 c7 c1 00 00 00 00    mov    $0x0,%rcx
                        cb1: R_X86_64_32S       __end_entry_SYSENTER_compat
 cb5:   48 29 f9                sub    %rdi,%rcx
 cb8:   48 29 fe                sub    %rdi,%rsi
 cbb:   48 39 ce                cmp    %rcx,%rsi
 cbe:   0f 83 be fe ff ff       jae    b82 <do_debug+0x72>
 cc4:   80 e6 bf                and    $0xbf,%dh
 cc7:   48 85 d2                test   %rdx,%rdx
 cca:   48 89 14 24             mov    %rdx,(%rsp)
 cce:   0f 84 57 ff ff ff       je     c2b <do_debug+0x11b>
 cd4:   e9 a9 fe ff ff          jmpq   b82 <do_debug+0x72>
 cd9:   e8 00 00 00 00          callq  cde <do_debug+0x1ce>
                        cda: R_X86_64_PC32      __stack_chk_fail-0x4
 cde:   66 90                   xchg   %ax,%ax

0000000000000ce0 <do_coprocessor_error>:
 ce0:   ba 10 00 00 00          mov    $0x10,%edx
 ce5:   e9 56 f4 ff ff          jmpq   140 <math_error>
 cea:   66 0f 1f 44 00 00       nopw   0x0(%rax,%rax,1)

0000000000000cf0 <do_simd_coprocessor_error>:
 cf0:   ba 13 00 00 00          mov    $0x13,%edx
 cf5:   e9 46 f4 ff ff          jmpq   140 <math_error>
 cfa:   66 0f 1f 44 00 00       nopw   0x0(%rax,%rax,1)

0000000000000d00 <do_spurious_interrupt_bug>:
 d00:   f6 87 91 00 00 00 02    testb  $0x2,0x91(%rdi)
 d07:   74 01                   je     d0a <do_spurious_interrupt_bug+0xa>
 d09:   fb                      sti    
 d0a:   c3                      retq   
 d0b:   0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)

0000000000000d10 <do_device_not_available>:
 d10:   53                      push   %rbx
 d11:   48 81 ec 20 10 00 00    sub    $0x1020,%rsp
 d18:   48 83 0c 24 00          orq    $0x0,(%rsp)
 d1d:   48 81 c4 20 10 00 00    add    $0x1020,%rsp
 d24:   0f 20 c3                mov    %cr0,%rbx
 d27:   f6 c3 08                test   $0x8,%bl
 d2a:   75 13                   jne    d3f <do_device_not_available+0x2f>
 d2c:   5b                      pop    %rbx
 d2d:   48 89 f2                mov    %rsi,%rdx
 d30:   48 89 fe                mov    %rdi,%rsi
 d33:   48 c7 c7 00 00 00 00    mov    $0x0,%rdi
                        d36: R_X86_64_32S       .rodata.str1.1+0xf9
 d3a:   e9 00 00 00 00          jmpq   d3f <do_device_not_available+0x2f>
                        d3b: R_X86_64_PC32      die-0x4
 d3f:   48 c7 c7 00 00 00 00    mov    $0x0,%rdi
                        d42: R_X86_64_32S       .rodata.str1.1+0xea
 d46:   e8 00 00 00 00          callq  d4b <do_device_not_available+0x3b>
                        d47: R_X86_64_PC32      __warn_printk-0x4
 d4b:   0f ff                   (bad)  
 d4d:   48 83 e3 f7             and    $0xfffffffffffffff7,%rbx
 d51:   0f 22 c3                mov    %rbx,%cr0
 d54:   5b                      pop    %rbx
 d55:   c3                      retq   

Disassembly of section .altinstr_replacement:

0000000000000000 <.altinstr_replacement>:
   0:   e9 00 00 00 00          jmpq   5 <do_trap+0x5>
                        1: R_X86_64_PC32        .text+0x880

Disassembly of section .altinstr_aux:

0000000000000000 <.altinstr_aux>:
   0:   f6 05 00 00 00 00 04    testb  $0x4,0x0(%rip)        # 7 
<.altinstr_aux+0x7>
                        2: R_X86_64_PC32        boot_cpu_data+0x4f
   7:   0f 85 00 00 00 00       jne    d <.altinstr_aux+0xd>
                        9: R_X86_64_PC32        .text+0x84a
   d:   e9 00 00 00 00          jmpq   12 <do_trap+0x12>
                        e: R_X86_64_PC32        .text+0x880

Disassembly of section .init.text:

0000000000000000 <trap_init>:
   0:   48 81 ec 20 10 00 00    sub    $0x1020,%rsp
   7:   48 83 0c 24 00          orq    $0x0,(%rsp)
   c:   48 81 c4 20 10 00 00    add    $0x1020,%rsp
  13:   e8 00 00 00 00          callq  18 <trap_init+0x18>
                        14: R_X86_64_PC32       setup_cpu_entry_areas-0x4
  18:   e8 00 00 00 00          callq  1d <trap_init+0x1d>
                        19: R_X86_64_PC32       idt_setup_traps-0x4
  1d:   48 be 00 00 00 00 00    movabs $0x0,%rsi
  24:   00 00 00 
                        1f: R_X86_64_64 idt_table+0x80000000
  27:   48 03 35 00 00 00 00    add    0x0(%rip),%rsi        # 2e 
<trap_init+0x2e>
                        2a: R_X86_64_PC32       phys_base-0x4
  2e:   48 ba 61 01 00 00 00    movabs $0x8000000000000161,%rdx
  35:   00 00 80 
  38:   48 bf 00 00 00 00 80    movabs $0xfffffe8000000000,%rdi
  3f:   fe ff ff 
  42:   e8 00 00 00 00          callq  47 <trap_init+0x47>
                        43: R_X86_64_PC32       cea_set_pte-0x4
  47:   48 b8 00 00 00 00 80    movabs $0xfffffe8000000000,%rax
  4e:   fe ff ff 
  51:   48 89 05 00 00 00 00    mov    %rax,0x0(%rip)        # 58 
<trap_init+0x58>
                        54: R_X86_64_PC32       idt_descr-0x2
  58:   e8 00 00 00 00          callq  5d <trap_init+0x5d>
                        59: R_X86_64_PC32       cpu_init-0x4
  5d:   e8 00 00 00 00          callq  62 <trap_init+0x62>
                        5e: R_X86_64_PC32       idt_setup_ist_traps-0x4
  62:   ff 15 00 00 00 00       callq  *0x0(%rip)        # 68 <trap_init+0x68>
                        64: R_X86_64_PC32       x86_init+0x64
  68:   e9 00 00 00 00          jmpq   6d <.LC5+0x45>
                        69: R_X86_64_PC32       idt_setup_debugidt_traps-0x4

Reply via email to