BUG: unable to handle kernel paging request at ffffc7ff81000398 (sys_kexec_load)

Sasha Levin levinsasha928 at gmail.com
Sun Jan 22 02:18:45 EST 2012


On Sat, 2012-01-21 at 20:49 -0800, Eric W. Biederman wrote:
> Sasha Levin <levinsasha928 at gmail.com> writes:
> 
> > Hi All,
> >
> > I got the following BUG() while running trinity within KVM tool.
> >
> > It looks like the result of a kexec_load(), but I couldn't find any
> > mention of it in the logs - which is strange since logs are supposed
> > to be flushed before actual syscall runs.
> 
> Interesting.
> 
> The fact that this happens in native_set_pte would suggest that we are
> trying to write to a page table that does not exist.  So this might
> be a layer below kexec_load that has the problem.
> 
> Do you have the kernel you were testing?    A disassembly of the
> native_set_pte, machine_kexec_prepare and sys_kexec_load
> would be interesting, for attempting to trace this back to what went
> wrong.

Yup, It's a pretty simple build of linux-next from today.

>From what I gather, native_set_pte is a simple short function, it also
gets inlined so the disassembly is pretty trivial. I've attached
disassembly of other two functions.

-- 

Sasha.
-------------- next part --------------
0000000000000c00 <sys_kexec_load>:
     c00:	55                   	push   %rbp
     c01:	48 89 e5             	mov    %rsp,%rbp
     c04:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
     c0b:	48 89 5d d8          	mov    %rbx,-0x28(%rbp)
     c0f:	4c 89 6d e8          	mov    %r13,-0x18(%rbp)
     c13:	4c 89 75 f0          	mov    %r14,-0x10(%rbp)
     c17:	4c 89 7d f8          	mov    %r15,-0x8(%rbp)
     c1b:	4c 89 65 e0          	mov    %r12,-0x20(%rbp)
     c1f:	49 89 d7             	mov    %rdx,%r15
     c22:	49 89 fe             	mov    %rdi,%r14
     c25:	48 89 f3             	mov    %rsi,%rbx
     c28:	49 89 cd             	mov    %rcx,%r13
     c2b:	bf 16 00 00 00       	mov    $0x16,%edi
     c30:	e8 00 00 00 00       	callq  c35 <sys_kexec_load+0x35>
     c35:	89 c2                	mov    %eax,%edx
     c37:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
     c3e:	84 d2                	test   %dl,%dl
     c40:	75 1e                	jne    c60 <sys_kexec_load+0x60>
     c42:	48 8b 5d d8          	mov    -0x28(%rbp),%rbx
     c46:	4c 8b 65 e0          	mov    -0x20(%rbp),%r12
     c4a:	4c 8b 6d e8          	mov    -0x18(%rbp),%r13
     c4e:	4c 8b 75 f0          	mov    -0x10(%rbp),%r14
     c52:	4c 8b 7d f8          	mov    -0x8(%rbp),%r15
     c56:	c9                   	leaveq 
     c57:	c3                   	retq   
     c58:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
     c5f:	00 
     c60:	b0 ea                	mov    $0xea,%al
     c62:	41 f7 c5 fc ff 00 00 	test   $0xfffc,%r13d
     c69:	75 d7                	jne    c42 <sys_kexec_load+0x42>
     c6b:	4c 89 ea             	mov    %r13,%rdx
     c6e:	81 e2 00 00 ff ff    	and    $0xffff0000,%edx
     c74:	74 09                	je     c7f <sys_kexec_load+0x7f>
     c76:	48 81 fa 00 00 3e 00 	cmp    $0x3e0000,%rdx
     c7d:	75 c3                	jne    c42 <sys_kexec_load+0x42>
     c7f:	48 c7 c0 ea ff ff ff 	mov    $0xffffffffffffffea,%rax
     c86:	48 83 fb 10          	cmp    $0x10,%rbx
     c8a:	77 b6                	ja     c42 <sys_kexec_load+0x42>
     c8c:	48 c7 c7 00 00 00 00 	mov    $0x0,%rdi
     c93:	e8 00 00 00 00       	callq  c98 <sys_kexec_load+0x98>
     c98:	89 c2                	mov    %eax,%edx
     c9a:	48 c7 c0 f0 ff ff ff 	mov    $0xfffffffffffffff0,%rax
     ca1:	85 d2                	test   %edx,%edx
     ca3:	74 9d                	je     c42 <sys_kexec_load+0x42>
     ca5:	48 c7 45 a0 00 00 00 	movq   $0x0,-0x60(%rbp)
     cac:	00 
     cad:	44 89 e8             	mov    %r13d,%eax
     cb0:	83 e0 01             	and    $0x1,%eax
     cb3:	89 45 94             	mov    %eax,-0x6c(%rbp)
     cb6:	48 c7 c0 00 00 00 00 	mov    $0x0,%rax
     cbd:	48 0f 44 45 a0       	cmove  -0x60(%rbp),%rax
     cc2:	45 31 e4             	xor    %r12d,%r12d
     cc5:	48 89 45 a0          	mov    %rax,-0x60(%rbp)
     cc9:	48 85 db             	test   %rbx,%rbx
     ccc:	0f 84 04 03 00 00    	je     fd6 <sys_kexec_load+0x3d6>
     cd2:	41 f6 c5 01          	test   $0x1,%r13b
     cd6:	0f 84 fd 03 00 00    	je     10d9 <sys_kexec_load+0x4d9>
     cdc:	31 c0                	xor    %eax,%eax
     cde:	83 7d 94 00          	cmpl   $0x0,-0x6c(%rbp)
     ce2:	0f 85 75 01 00 00    	jne    e5d <sys_kexec_load+0x25d>
     ce8:	49 89 c4             	mov    %rax,%r12
     ceb:	41 80 e5 02          	and    $0x2,%r13b
     cef:	74 09                	je     cfa <sys_kexec_load+0xfa>
     cf1:	41 80 8c 24 78 02 00 	orb    $0x2,0x278(%r12)
     cf8:	00 02 
     cfa:	4c 89 e7             	mov    %r12,%rdi
     cfd:	e8 00 00 00 00       	callq  d02 <sys_kexec_load+0x102>
     d02:	85 c0                	test   %eax,%eax
     d04:	0f 85 95 01 00 00    	jne    e9f <sys_kexec_load+0x29f>
     d0a:	4d 89 e5             	mov    %r12,%r13
     d0d:	48 c7 45 98 00 00 00 	movq   $0x0,-0x68(%rbp)
     d14:	00 
     d15:	48 89 5d 80          	mov    %rbx,-0x80(%rbp)
     d19:	41 f6 84 24 78 02 00 	testb  $0x1,0x278(%r12)
     d20:	00 01 
     d22:	0f 85 bc 02 00 00    	jne    fe4 <sys_kexec_load+0x3e4>
     d28:	49 8b 45 40          	mov    0x40(%r13),%rax
     d2c:	4c 89 e7             	mov    %r12,%rdi
     d2f:	48 89 45 b8          	mov    %rax,-0x48(%rbp)
     d33:	49 8b 45 48          	mov    0x48(%r13),%rax
     d37:	48 89 45 b0          	mov    %rax,-0x50(%rbp)
     d3b:	4d 8b 75 50          	mov    0x50(%r13),%r14
     d3f:	4d 8b 7d 58          	mov    0x58(%r13),%r15
     d43:	4c 89 f3             	mov    %r14,%rbx
     d46:	48 81 e3 00 f0 ff ff 	and    $0xfffffffffffff000,%rbx
     d4d:	48 89 de             	mov    %rbx,%rsi
     d50:	48 83 ce 01          	or     $0x1,%rsi
     d54:	e8 c7 f8 ff ff       	callq  620 <kimage_add_entry>
     d59:	83 f8 00             	cmp    $0x0,%eax
     d5c:	0f 85 15 04 00 00    	jne    1177 <sys_kexec_load+0x577>
     d62:	49 89 5c 24 18       	mov    %rbx,0x18(%r12)
     d67:	4c 89 6d a8          	mov    %r13,-0x58(%rbp)
     d6b:	4d 85 ff             	test   %r15,%r15
     d6e:	0f 84 1a 02 00 00    	je     f8e <sys_kexec_load+0x38e>
     d74:	4c 89 f2             	mov    %r14,%rdx
     d77:	be d2 00 02 00       	mov    $0x200d2,%esi
     d7c:	4c 89 e7             	mov    %r12,%rdi
     d7f:	e8 dc f5 ff ff       	callq  360 <kimage_alloc_page>
     d84:	48 85 c0             	test   %rax,%rax
     d87:	0f 84 39 03 00 00    	je     10c6 <sys_kexec_load+0x4c6>
     d8d:	48 bb 00 00 00 00 00 	movabs $0x160000000000,%rbx
     d94:	16 00 00 
     d97:	4c 89 e7             	mov    %r12,%rdi
     d9a:	48 8d 1c 18          	lea    (%rax,%rbx,1),%rbx
     d9e:	48 c1 fb 06          	sar    $0x6,%rbx
     da2:	48 c1 e3 0c          	shl    $0xc,%rbx
     da6:	48 89 de             	mov    %rbx,%rsi
     da9:	48 83 ce 08          	or     $0x8,%rsi
     dad:	e8 6e f8 ff ff       	callq  620 <kimage_add_entry>
     db2:	83 f8 00             	cmp    $0x0,%eax
     db5:	0f 85 cd 01 00 00    	jne    f88 <sys_kexec_load+0x388>
     dbb:	49 81 44 24 18 00 10 	addq   $0x1000,0x18(%r12)
     dc2:	00 00 
     dc4:	31 d2                	xor    %edx,%edx
     dc6:	be 32 00 00 00       	mov    $0x32,%esi
     dcb:	48 c7 c7 00 00 00 00 	mov    $0x0,%rdi
     dd2:	e8 00 00 00 00       	callq  dd7 <sys_kexec_load+0x1d7>
     dd7:	48 b8 00 00 00 00 00 	movabs $0xffff880000000000,%rax
     dde:	88 ff ff 
     de1:	48 8d 04 03          	lea    (%rbx,%rax,1),%rax
     de5:	bb 00 10 00 00       	mov    $0x1000,%ebx
     dea:	48 89 c7             	mov    %rax,%rdi
     ded:	48 89 85 78 ff ff ff 	mov    %rax,-0x88(%rbp)
     df4:	e8 00 00 00 00       	callq  df9 <sys_kexec_load+0x1f9>
     df9:	4c 8b 6d b0          	mov    -0x50(%rbp),%r13
     dfd:	4c 89 f7             	mov    %r14,%rdi
     e00:	81 e7 ff 0f 00 00    	and    $0xfff,%edi
     e06:	48 29 fb             	sub    %rdi,%rbx
     e09:	48 89 bd 70 ff ff ff 	mov    %rdi,-0x90(%rbp)
     e10:	4c 39 fb             	cmp    %r15,%rbx
     e13:	49 0f 47 df          	cmova  %r15,%rbx
     e17:	48 3b 5d b0          	cmp    -0x50(%rbp),%rbx
     e1b:	4c 0f 46 eb          	cmovbe %rbx,%r13
     e1f:	e8 00 00 00 00       	callq  e24 <sys_kexec_load+0x224>
     e24:	48 8b 85 78 ff ff ff 	mov    -0x88(%rbp),%rax
     e2b:	48 8b bd 70 ff ff ff 	mov    -0x90(%rbp),%rdi
     e32:	44 89 ea             	mov    %r13d,%edx
     e35:	48 8d 3c 38          	lea    (%rax,%rdi,1),%rdi
     e39:	48 8b 75 b8          	mov    -0x48(%rbp),%rsi
     e3d:	e8 00 00 00 00       	callq  e42 <sys_kexec_load+0x242>
     e42:	85 c0                	test   %eax,%eax
     e44:	0f 85 12 01 00 00    	jne    f5c <sys_kexec_load+0x35c>
     e4a:	4c 29 6d b0          	sub    %r13,-0x50(%rbp)
     e4e:	49 01 de             	add    %rbx,%r14
     e51:	48 01 5d b8          	add    %rbx,-0x48(%rbp)
     e55:	49 29 df             	sub    %rbx,%r15
     e58:	e9 0e ff ff ff       	jmpq   d6b <sys_kexec_load+0x16b>
     e5d:	4c 89 e7             	mov    %r12,%rdi
     e60:	48 87 3d 00 00 00 00 	xchg   %rdi,0x0(%rip)        # e67 <sys_kexec_load+0x267>
     e67:	e8 f4 f3 ff ff       	callq  260 <kimage_free>
     e6c:	48 c7 45 c8 00 00 00 	movq   $0x0,-0x38(%rbp)
     e73:	00 
     e74:	b8 9d ff ff ff       	mov    $0xffffff9d,%eax
     e79:	4c 3b 35 00 00 00 00 	cmp    0x0(%rip),%r14        # e80 <sys_kexec_load+0x280>
     e80:	73 44                	jae    ec6 <sys_kexec_load+0x2c6>
     e82:	89 85 78 ff ff ff    	mov    %eax,-0x88(%rbp)
     e88:	48 8b 7d c8          	mov    -0x38(%rbp),%rdi
     e8c:	45 31 e4             	xor    %r12d,%r12d
     e8f:	e8 00 00 00 00       	callq  e94 <sys_kexec_load+0x294>
     e94:	e8 00 00 00 00       	callq  e99 <sys_kexec_load+0x299>
     e99:	8b 85 78 ff ff ff    	mov    -0x88(%rbp),%eax
     e9f:	89 85 78 ff ff ff    	mov    %eax,-0x88(%rbp)
     ea5:	48 c7 c7 00 00 00 00 	mov    $0x0,%rdi
     eac:	e8 00 00 00 00       	callq  eb1 <sys_kexec_load+0x2b1>
     eb1:	4c 89 e7             	mov    %r12,%rdi
     eb4:	e8 a7 f3 ff ff       	callq  260 <kimage_free>
     eb9:	8b 85 78 ff ff ff    	mov    -0x88(%rbp),%eax
     ebf:	48 98                	cltq   
     ec1:	e9 7c fd ff ff       	jmpq   c42 <sys_kexec_load+0x42>
     ec6:	4c 3b 35 00 00 00 00 	cmp    0x0(%rip),%r14        # ecd <sys_kexec_load+0x2cd>
     ecd:	77 b3                	ja     e82 <sys_kexec_load+0x282>
     ecf:	48 8d 7d c8          	lea    -0x38(%rbp),%rdi
     ed3:	4c 89 f9             	mov    %r15,%rcx
     ed6:	48 89 da             	mov    %rbx,%rdx
     ed9:	4c 89 f6             	mov    %r14,%rsi
     edc:	e8 1f f8 ff ff       	callq  700 <do_kimage_alloc>
     ee1:	85 c0                	test   %eax,%eax
     ee3:	75 9d                	jne    e82 <sys_kexec_load+0x282>
     ee5:	4c 8b 65 c8          	mov    -0x38(%rbp),%r12
     ee9:	48 8b 0d 00 00 00 00 	mov    0x0(%rip),%rcx        # ef0 <sys_kexec_load+0x2f0>
     ef0:	4c 89 e0             	mov    %r12,%rax
     ef3:	41 80 8c 24 78 02 00 	orb    $0x1,0x278(%r12)
     efa:	00 01 
     efc:	49 89 8c 24 70 02 00 	mov    %rcx,0x270(%r12)
     f03:	00 
     f04:	48 8b 3d 00 00 00 00 	mov    0x0(%rip),%rdi        # f0b <sys_kexec_load+0x30b>
     f0b:	31 d2                	xor    %edx,%edx
     f0d:	48 8b 70 50          	mov    0x50(%rax),%rsi
     f11:	4c 8b 40 58          	mov    0x58(%rax),%r8
     f15:	48 39 f1             	cmp    %rsi,%rcx
     f18:	77 4c                	ja     f66 <sys_kexec_load+0x366>
     f1a:	4a 8d 74 06 ff       	lea    -0x1(%rsi,%r8,1),%rsi
     f1f:	48 39 fe             	cmp    %rdi,%rsi
     f22:	77 42                	ja     f66 <sys_kexec_load+0x366>
     f24:	48 ff c2             	inc    %rdx
     f27:	48 83 c0 20          	add    $0x20,%rax
     f2b:	48 39 d3             	cmp    %rdx,%rbx
     f2e:	77 dd                	ja     f0d <sys_kexec_load+0x30d>
     f30:	4c 89 e7             	mov    %r12,%rdi
     f33:	be 01 00 00 00       	mov    $0x1,%esi
     f38:	e8 00 00 00 00       	callq  f3d <sys_kexec_load+0x33d>
     f3d:	49 89 44 24 28       	mov    %rax,0x28(%r12)
     f42:	4c 8b 65 c8          	mov    -0x38(%rbp),%r12
     f46:	49 83 7c 24 28 00    	cmpq   $0x0,0x28(%r12)
     f4c:	74 22                	je     f70 <sys_kexec_load+0x370>
     f4e:	e8 00 00 00 00       	callq  f53 <sys_kexec_load+0x353>
     f53:	e9 93 fd ff ff       	jmpq   ceb <sys_kexec_load+0xeb>
     f58:	4c 8b 65 a8          	mov    -0x58(%rbp),%r12
     f5c:	b8 f2 ff ff ff       	mov    $0xfffffff2,%eax
     f61:	e9 39 ff ff ff       	jmpq   e9f <sys_kexec_load+0x29f>
     f66:	b8 9d ff ff ff       	mov    $0xffffff9d,%eax
     f6b:	e9 12 ff ff ff       	jmpq   e82 <sys_kexec_load+0x282>
     f70:	48 c7 c7 00 00 00 00 	mov    $0x0,%rdi
     f77:	31 c0                	xor    %eax,%eax
     f79:	e8 00 00 00 00       	callq  f7e <sys_kexec_load+0x37e>
     f7e:	b8 f4 ff ff ff       	mov    $0xfffffff4,%eax
     f83:	e9 fa fe ff ff       	jmpq   e82 <sys_kexec_load+0x282>
     f88:	0f 8d 36 fe ff ff    	jge    dc4 <sys_kexec_load+0x1c4>
     f8e:	4c 8b 6d a8          	mov    -0x58(%rbp),%r13
     f92:	85 c0                	test   %eax,%eax
     f94:	0f 85 05 ff ff ff    	jne    e9f <sys_kexec_load+0x29f>
     f9a:	48 ff 45 98          	incq   -0x68(%rbp)
     f9e:	49 83 c5 20          	add    $0x20,%r13
     fa2:	48 8b 45 98          	mov    -0x68(%rbp),%rax
     fa6:	48 39 45 80          	cmp    %rax,-0x80(%rbp)
     faa:	0f 87 69 fd ff ff    	ja     d19 <sys_kexec_load+0x119>
     fb0:	49 8b 44 24 08       	mov    0x8(%r12),%rax
     fb5:	48 83 38 00          	cmpq   $0x0,(%rax)
     fb9:	74 09                	je     fc4 <sys_kexec_load+0x3c4>
     fbb:	48 83 c0 08          	add    $0x8,%rax
     fbf:	49 89 44 24 08       	mov    %rax,0x8(%r12)
     fc4:	48 c7 00 04 00 00 00 	movq   $0x4,(%rax)
     fcb:	83 7d 94 00          	cmpl   $0x0,-0x6c(%rbp)
     fcf:	74 05                	je     fd6 <sys_kexec_load+0x3d6>
     fd1:	e8 00 00 00 00       	callq  fd6 <sys_kexec_load+0x3d6>
     fd6:	48 8b 45 a0          	mov    -0x60(%rbp),%rax
     fda:	4c 87 20             	xchg   %r12,(%rax)
     fdd:	31 c0                	xor    %eax,%eax
     fdf:	e9 bb fe ff ff       	jmpq   e9f <sys_kexec_load+0x29f>
     fe4:	49 8b 45 40          	mov    0x40(%r13),%rax
     fe8:	48 89 45 b0          	mov    %rax,-0x50(%rbp)
     fec:	4d 8b 75 48          	mov    0x48(%r13),%r14
     ff0:	49 8b 5d 58          	mov    0x58(%r13),%rbx
     ff4:	49 8b 45 50          	mov    0x50(%r13),%rax
     ff8:	4c 89 65 a8          	mov    %r12,-0x58(%rbp)
     ffc:	48 89 45 b8          	mov    %rax,-0x48(%rbp)
    1000:	48 85 db             	test   %rbx,%rbx
    1003:	0f 84 c7 00 00 00    	je     10d0 <sys_kexec_load+0x4d0>
    1009:	4c 8b 65 b8          	mov    -0x48(%rbp),%r12
    100d:	48 b8 00 00 00 00 00 	movabs $0xffffea0000000000,%rax
    1014:	ea ff ff 
    1017:	49 c1 ec 0c          	shr    $0xc,%r12
    101b:	49 c1 e4 06          	shl    $0x6,%r12
    101f:	49 8d 04 04          	lea    (%r12,%rax,1),%rax
    1023:	48 85 c0             	test   %rax,%rax
    1026:	0f 84 96 00 00 00    	je     10c2 <sys_kexec_load+0x4c2>
    102c:	31 d2                	xor    %edx,%edx
    102e:	be 32 00 00 00       	mov    $0x32,%esi
    1033:	48 c7 c7 00 00 00 00 	mov    $0x0,%rdi
    103a:	41 bf 00 10 00 00    	mov    $0x1000,%r15d
    1040:	e8 00 00 00 00       	callq  1045 <sys_kexec_load+0x445>
    1045:	4c 89 e2             	mov    %r12,%rdx
    1048:	48 b8 00 00 00 00 00 	movabs $0xffff880000000000,%rax
    104f:	88 ff ff 
    1052:	48 c1 e2 06          	shl    $0x6,%rdx
    1056:	48 01 c2             	add    %rax,%rdx
    1059:	48 8b 45 b8          	mov    -0x48(%rbp),%rax
    105d:	25 ff 0f 00 00       	and    $0xfff,%eax
    1062:	48 01 c2             	add    %rax,%rdx
    1065:	49 29 c7             	sub    %rax,%r15
    1068:	48 89 55 88          	mov    %rdx,-0x78(%rbp)
    106c:	49 39 df             	cmp    %rbx,%r15
    106f:	4c 0f 47 fb          	cmova  %rbx,%r15
    1073:	4d 89 fc             	mov    %r15,%r12
    1076:	4d 39 f7             	cmp    %r14,%r15
    1079:	76 17                	jbe    1092 <sys_kexec_load+0x492>
    107b:	48 8b 7d 88          	mov    -0x78(%rbp),%rdi
    107f:	4c 89 fa             	mov    %r15,%rdx
    1082:	4c 01 f7             	add    %r14,%rdi
    1085:	4c 29 f2             	sub    %r14,%rdx
    1088:	31 f6                	xor    %esi,%esi
    108a:	4d 89 f4             	mov    %r14,%r12
    108d:	e8 00 00 00 00       	callq  1092 <sys_kexec_load+0x492>
    1092:	e8 00 00 00 00       	callq  1097 <sys_kexec_load+0x497>
    1097:	44 89 e2             	mov    %r12d,%edx
    109a:	48 8b 75 b0          	mov    -0x50(%rbp),%rsi
    109e:	48 8b 7d 88          	mov    -0x78(%rbp),%rdi
    10a2:	e8 00 00 00 00       	callq  10a7 <sys_kexec_load+0x4a7>
    10a7:	85 c0                	test   %eax,%eax
    10a9:	0f 85 a9 fe ff ff    	jne    f58 <sys_kexec_load+0x358>
    10af:	4d 29 e6             	sub    %r12,%r14
    10b2:	4c 01 7d b8          	add    %r15,-0x48(%rbp)
    10b6:	4c 01 7d b0          	add    %r15,-0x50(%rbp)
    10ba:	4c 29 fb             	sub    %r15,%rbx
    10bd:	e9 3e ff ff ff       	jmpq   1000 <sys_kexec_load+0x400>
    10c2:	4c 8b 65 a8          	mov    -0x58(%rbp),%r12
    10c6:	b8 f4 ff ff ff       	mov    $0xfffffff4,%eax
    10cb:	e9 cf fd ff ff       	jmpq   e9f <sys_kexec_load+0x29f>
    10d0:	4c 8b 65 a8          	mov    -0x58(%rbp),%r12
    10d4:	e9 c1 fe ff ff       	jmpq   f9a <sys_kexec_load+0x39a>
    10d9:	48 c7 45 c8 00 00 00 	movq   $0x0,-0x38(%rbp)
    10e0:	00 
    10e1:	48 8d 7d c8          	lea    -0x38(%rbp),%rdi
    10e5:	4c 89 f9             	mov    %r15,%rcx
    10e8:	48 89 da             	mov    %rbx,%rdx
    10eb:	4c 89 f6             	mov    %r14,%rsi
    10ee:	e8 0d f6 ff ff       	callq  700 <do_kimage_alloc>
    10f3:	85 c0                	test   %eax,%eax
    10f5:	75 51                	jne    1148 <sys_kexec_load+0x548>
    10f7:	4c 8b 65 c8          	mov    -0x38(%rbp),%r12
    10fb:	be 01 00 00 00       	mov    $0x1,%esi
    1100:	4c 89 e7             	mov    %r12,%rdi
    1103:	e8 00 00 00 00       	callq  1108 <sys_kexec_load+0x508>
    1108:	49 89 44 24 28       	mov    %rax,0x28(%r12)
    110d:	4c 8b 75 c8          	mov    -0x38(%rbp),%r14
    1111:	49 83 7e 28 00       	cmpq   $0x0,0x28(%r14)
    1116:	74 4a                	je     1162 <sys_kexec_load+0x562>
    1118:	31 f6                	xor    %esi,%esi
    111a:	4c 89 f7             	mov    %r14,%rdi
    111d:	e8 00 00 00 00       	callq  1122 <sys_kexec_load+0x522>
    1122:	49 89 46 30          	mov    %rax,0x30(%r14)
    1126:	48 8b 45 c8          	mov    -0x38(%rbp),%rax
    112a:	48 83 78 30 00       	cmpq   $0x0,0x30(%rax)
    112f:	0f 85 b3 fb ff ff    	jne    ce8 <sys_kexec_load+0xe8>
    1135:	48 c7 c7 00 00 00 00 	mov    $0x0,%rdi
    113c:	31 c0                	xor    %eax,%eax
    113e:	e8 00 00 00 00       	callq  1143 <sys_kexec_load+0x543>
    1143:	b8 f4 ff ff ff       	mov    $0xfffffff4,%eax
    1148:	89 85 78 ff ff ff    	mov    %eax,-0x88(%rbp)
    114e:	48 8b 7d c8          	mov    -0x38(%rbp),%rdi
    1152:	e8 00 00 00 00       	callq  1157 <sys_kexec_load+0x557>
    1157:	8b 85 78 ff ff ff    	mov    -0x88(%rbp),%eax
    115d:	e9 3d fd ff ff       	jmpq   e9f <sys_kexec_load+0x29f>
    1162:	48 c7 c7 00 00 00 00 	mov    $0x0,%rdi
    1169:	31 c0                	xor    %eax,%eax
    116b:	e8 00 00 00 00       	callq  1170 <sys_kexec_load+0x570>
    1170:	b8 f4 ff ff ff       	mov    $0xfffffff4,%eax
    1175:	eb d1                	jmp    1148 <sys_kexec_load+0x548>
    1177:	0f 8d ea fb ff ff    	jge    d67 <sys_kexec_load+0x167>
    117d:	0f 1f 00             	nopl   (%rax)
    1180:	e9 0d fe ff ff       	jmpq   f92 <sys_kexec_load+0x392>
    1185:	66 66 2e 0f 1f 84 00 	data32 nopw %cs:0x0(%rax,%rax,1)
    118c:	00 00 00 00 

0000000000000040 <machine_kexec_prepare>:
  40:	55                   	push   %rbp
  41:	48 b9 00 00 00 00 00 	movabs $0x160000000000,%rcx
  48:	16 00 00 
  4b:	48 89 e5             	mov    %rsp,%rbp
  4e:	48 89 c8             	mov    %rcx,%rax
  51:	41 57                	push   %r15
  53:	48 ba 00 00 00 00 00 	movabs $0xffff880000000000,%rdx
  5a:	88 ff ff 
  5d:	41 56                	push   %r14
  5f:	41 55                	push   %r13
  61:	41 54                	push   %r12
  63:	53                   	push   %rbx
  64:	48 83 ec 58          	sub    $0x58,%rsp
  68:	48 89 7d c0          	mov    %rdi,-0x40(%rbp)
  6c:	48 03 47 28          	add    0x28(%rdi),%rax
  70:	48 c1 f8 06          	sar    $0x6,%rax
  74:	48 c1 e0 0c          	shl    $0xc,%rax
  78:	48 01 d0             	add    %rdx,%rax
  7b:	48 89 45 98          	mov    %rax,-0x68(%rbp)
  7f:	48 8b 05 00 00 00 00 	mov    0x0(%rip),%rax        # 86 <machine_kexec_prepare+0x46>
  86:	48 c1 e0 0c          	shl    $0xc,%rax
  8a:	48 89 45 b8          	mov    %rax,-0x48(%rbp)
  8e:	48 85 c0             	test   %rax,%rax
  91:	0f 84 b1 07 00 00    	je     848 <machine_kexec_prepare+0x808>
  97:	48 8b 7d 98          	mov    -0x68(%rbp),%rdi
  9b:	48 c7 45 a8 00 00 00 	movq   $0x0,-0x58(%rbp)
  a2:	00 
  a3:	48 89 7d a0          	mov    %rdi,-0x60(%rbp)
  a7:	31 f6                	xor    %esi,%esi
  a9:	48 8b 7d c0          	mov    -0x40(%rbp),%rdi
  ad:	e8 00 00 00 00       	callq  b2 <machine_kexec_prepare+0x72>
  b2:	48 85 c0             	test   %rax,%rax
  b5:	0f 84 c1 05 00 00    	je     67c <machine_kexec_prepare+0x63c>
  bb:	48 ba 00 00 00 00 00 	movabs $0x160000000000,%rdx
  c2:	16 00 00 
  c5:	48 bf 00 00 00 00 00 	movabs $0xffff880000000000,%rdi
  cc:	88 ff ff 
  cf:	48 01 d0             	add    %rdx,%rax
  d2:	4c 8b 75 a8          	mov    -0x58(%rbp),%r14
  d6:	48 c1 f8 06          	sar    $0x6,%rax
  da:	49 81 e6 00 f0 ff ff 	and    $0xfffffffffffff000,%r14
  e1:	48 c1 e0 0c          	shl    $0xc,%rax
  e5:	48 01 c7             	add    %rax,%rdi
  e8:	48 b8 00 00 00 00 80 	movabs $0x8000000000,%rax
  ef:	00 00 00 
  f2:	48 89 7d 90          	mov    %rdi,-0x70(%rbp)
  f6:	4c 01 f0             	add    %r14,%rax
  f9:	48 89 7d c8          	mov    %rdi,-0x38(%rbp)
  fd:	48 89 45 b0          	mov    %rax,-0x50(%rbp)
 101:	49 39 c6             	cmp    %rax,%r14
 104:	0f 83 22 01 00 00    	jae    22c <machine_kexec_prepare+0x1ec>
 10a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
 110:	4c 39 75 b8          	cmp    %r14,-0x48(%rbp)
 114:	0f 86 12 01 00 00    	jbe    22c <machine_kexec_prepare+0x1ec>
 11a:	31 f6                	xor    %esi,%esi
 11c:	48 8b 7d c0          	mov    -0x40(%rbp),%rdi
 120:	e8 00 00 00 00       	callq  125 <machine_kexec_prepare+0xe5>
 125:	48 85 c0             	test   %rax,%rax
 128:	0f 84 4e 05 00 00    	je     67c <machine_kexec_prepare+0x63c>
 12e:	49 bf 00 00 00 00 00 	movabs $0x160000000000,%r15
 135:	16 00 00 
 138:	48 ba 00 00 00 00 00 	movabs $0xffff880000000000,%rdx
 13f:	88 ff ff 
 142:	4e 8d 3c 38          	lea    (%rax,%r15,1),%r15
 146:	4c 89 f3             	mov    %r14,%rbx
 149:	49 c1 ff 06          	sar    $0x6,%r15
 14d:	48 81 e3 00 f0 ff ff 	and    $0xfffffffffffff000,%rbx
 154:	49 c1 e7 0c          	shl    $0xc,%r15
 158:	4c 8d ab 00 00 00 40 	lea    0x40000000(%rbx),%r13
 15f:	49 01 d7             	add    %rdx,%r15
 162:	4c 39 eb             	cmp    %r13,%rbx
 165:	73 6b                	jae    1d2 <machine_kexec_prepare+0x192>
 167:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 16f <machine_kexec_prepare+0x12f>
 16e:	00 
 16f:	0f 84 1b 05 00 00    	je     690 <machine_kexec_prepare+0x650>
 175:	48 89 df             	mov    %rbx,%rdi
 178:	4d 89 fc             	mov    %r15,%r12
 17b:	48 81 cf e3 01 00 00 	or     $0x1e3,%rdi
 182:	eb 20                	jmp    1a4 <machine_kexec_prepare+0x164>
 184:	0f 1f 40 00          	nopl   0x0(%rax)
 188:	49 83 c4 08          	add    $0x8,%r12
 18c:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 194 <machine_kexec_prepare+0x154>
 193:	00 
 194:	0f 84 f6 04 00 00    	je     690 <machine_kexec_prepare+0x650>
 19a:	48 89 df             	mov    %rbx,%rdi
 19d:	48 81 cf e3 01 00 00 	or     $0x1e3,%rdi
 1a4:	ff 14 25 00 00 00 00 	callq  *0x0
 1ab:	48 89 c6             	mov    %rax,%rsi
 1ae:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 1b6 <machine_kexec_prepare+0x176>
 1b5:	00 
 1b6:	0f 84 d6 04 00 00    	je     692 <machine_kexec_prepare+0x652>
 1bc:	4c 89 e7             	mov    %r12,%rdi
 1bf:	ff 14 25 00 00 00 00 	callq  *0x0
 1c6:	48 81 c3 00 00 20 00 	add    $0x200000,%rbx
 1cd:	49 39 dd             	cmp    %rbx,%r13
 1d0:	77 b6                	ja     188 <machine_kexec_prepare+0x148>
 1d2:	4c 89 ff             	mov    %r15,%rdi
 1d5:	e8 00 00 00 00       	callq  1da <machine_kexec_prepare+0x19a>
 1da:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 1e2 <machine_kexec_prepare+0x1a2>
 1e1:	00 
 1e2:	0f 84 5e 06 00 00    	je     846 <machine_kexec_prepare+0x806>
 1e8:	48 89 c7             	mov    %rax,%rdi
 1eb:	48 83 cf 63          	or     $0x63,%rdi
 1ef:	ff 14 25 00 00 00 00 	callq  *0x0
 1f6:	48 89 c6             	mov    %rax,%rsi
 1f9:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 201 <machine_kexec_prepare+0x1c1>
 200:	00 
 201:	0f 84 28 06 00 00    	je     82f <machine_kexec_prepare+0x7ef>
 207:	48 83 45 c8 08       	addq   $0x8,-0x38(%rbp)
 20c:	48 8b 7d c8          	mov    -0x38(%rbp),%rdi
 210:	48 83 ef 08          	sub    $0x8,%rdi
 214:	ff 14 25 00 00 00 00 	callq  *0x0
 21b:	49 81 c6 00 00 00 40 	add    $0x40000000,%r14
 222:	4c 39 75 b0          	cmp    %r14,-0x50(%rbp)
 226:	0f 87 e4 fe ff ff    	ja     110 <machine_kexec_prepare+0xd0>
 22c:	4c 39 75 b0          	cmp    %r14,-0x50(%rbp)
 230:	76 65                	jbe    297 <machine_kexec_prepare+0x257>
 232:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 23a <machine_kexec_prepare+0x1fa>
 239:	00 
 23a:	0f 84 06 06 00 00    	je     846 <machine_kexec_prepare+0x806>
 240:	48 8b 5d c8          	mov    -0x38(%rbp),%rbx
 244:	48 8b 55 c8          	mov    -0x38(%rbp),%rdx
 248:	48 83 c3 08          	add    $0x8,%rbx
 24c:	4c 8b 65 b0          	mov    -0x50(%rbp),%r12
 250:	eb 15                	jmp    267 <machine_kexec_prepare+0x227>
 252:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 25a <machine_kexec_prepare+0x21a>
 259:	00 
 25a:	0f 84 e6 05 00 00    	je     846 <machine_kexec_prepare+0x806>
 260:	48 89 da             	mov    %rbx,%rdx
 263:	48 83 c3 08          	add    $0x8,%rbx
 267:	31 ff                	xor    %edi,%edi
 269:	ff 14 25 00 00 00 00 	callq  *0x0
 270:	48 89 c6             	mov    %rax,%rsi
 273:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 27b <machine_kexec_prepare+0x23b>
 27a:	00 
 27b:	0f 84 ae 05 00 00    	je     82f <machine_kexec_prepare+0x7ef>
 281:	48 89 d7             	mov    %rdx,%rdi
 284:	ff 14 25 00 00 00 00 	callq  *0x0
 28b:	49 81 c6 00 00 00 40 	add    $0x40000000,%r14
 292:	4d 39 f4             	cmp    %r14,%r12
 295:	77 bb                	ja     252 <machine_kexec_prepare+0x212>
 297:	48 8b 7d 90          	mov    -0x70(%rbp),%rdi
 29b:	e8 00 00 00 00       	callq  2a0 <machine_kexec_prepare+0x260>
 2a0:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 2a8 <machine_kexec_prepare+0x268>
 2a7:	00 
 2a8:	0f 84 96 05 00 00    	je     844 <machine_kexec_prepare+0x804>
 2ae:	48 89 c6             	mov    %rax,%rsi
 2b1:	48 83 ce 63          	or     $0x63,%rsi
 2b5:	48 89 f7             	mov    %rsi,%rdi
 2b8:	ff 14 25 00 00 00 00 	callq  *0x0
 2bf:	48 89 c6             	mov    %rax,%rsi
 2c2:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 2ca <machine_kexec_prepare+0x28a>
 2c9:	00 
 2ca:	0f 84 8d 05 00 00    	je     85d <machine_kexec_prepare+0x81d>
 2d0:	48 83 45 a0 08       	addq   $0x8,-0x60(%rbp)
 2d5:	48 8b 7d a0          	mov    -0x60(%rbp),%rdi
 2d9:	48 83 ef 08          	sub    $0x8,%rdi
 2dd:	ff 14 25 00 00 00 00 	callq  *0x0
 2e4:	48 b8 00 00 00 00 80 	movabs $0x8000000000,%rax
 2eb:	00 00 00 
 2ee:	48 ba ff ff ff ff ff 	movabs $0xffffffffffff,%rdx
 2f5:	ff 00 00 
 2f8:	48 01 45 a8          	add    %rax,-0x58(%rbp)
 2fc:	48 39 55 a8          	cmp    %rdx,-0x58(%rbp)
 300:	77 0e                	ja     310 <machine_kexec_prepare+0x2d0>
 302:	48 8b 7d a8          	mov    -0x58(%rbp),%rdi
 306:	48 39 7d b8          	cmp    %rdi,-0x48(%rbp)
 30a:	0f 87 97 fd ff ff    	ja     a7 <machine_kexec_prepare+0x67>
 310:	48 8b 5d a0          	mov    -0x60(%rbp),%rbx
 314:	49 bd ff ff ff ff ff 	movabs $0xffffffffffff,%r13
 31b:	ff 00 00 
 31e:	45 31 e4             	xor    %r12d,%r12d
 321:	49 be 00 00 00 00 80 	movabs $0x8000000000,%r14
 328:	00 00 00 
 32b:	4c 8b 7d a8          	mov    -0x58(%rbp),%r15
 32f:	eb 3a                	jmp    36b <machine_kexec_prepare+0x32b>
 331:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 339 <machine_kexec_prepare+0x2f9>
 338:	00 
 339:	0f 84 05 05 00 00    	je     844 <machine_kexec_prepare+0x804>
 33f:	4c 89 e7             	mov    %r12,%rdi
 342:	ff 14 25 00 00 00 00 	callq  *0x0
 349:	48 89 c6             	mov    %rax,%rsi
 34c:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 354 <machine_kexec_prepare+0x314>
 353:	00 
 354:	0f 84 03 05 00 00    	je     85d <machine_kexec_prepare+0x81d>
 35a:	48 89 df             	mov    %rbx,%rdi
 35d:	ff 14 25 00 00 00 00 	callq  *0x0
 364:	4d 01 f7             	add    %r14,%r15
 367:	48 83 c3 08          	add    $0x8,%rbx
 36b:	4d 39 ef             	cmp    %r13,%r15
 36e:	76 c1                	jbe    331 <machine_kexec_prepare+0x2f1>
 370:	48 8b 45 c0          	mov    -0x40(%rbp),%rax
 374:	48 8b 58 20          	mov    0x20(%rax),%rbx
 378:	48 81 e3 00 00 e0 ff 	and    $0xffffffffffe00000,%rbx
 37f:	49 89 dc             	mov    %rbx,%r12
 382:	49 c1 ec 24          	shr    $0x24,%r12
 386:	41 81 e4 f8 0f 00 00 	and    $0xff8,%r12d
 38d:	4c 03 65 98          	add    -0x68(%rbp),%r12
 391:	41 f6 04 24 01       	testb  $0x1,(%r12)
 396:	0f 84 16 04 00 00    	je     7b2 <machine_kexec_prepare+0x772>
 39c:	49 8b 04 24          	mov    (%r12),%rax
 3a0:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 3a8 <machine_kexec_prepare+0x368>
 3a7:	00 
 3a8:	0f 84 02 04 00 00    	je     7b0 <machine_kexec_prepare+0x770>
 3ae:	48 89 c7             	mov    %rax,%rdi
 3b1:	ff 14 25 00 00 00 00 	callq  *0x0
 3b8:	49 bd 00 00 00 00 00 	movabs $0xffff880000000000,%r13
 3bf:	88 ff ff 
 3c2:	48 89 da             	mov    %rbx,%rdx
 3c5:	48 b9 00 f0 ff ff ff 	movabs $0x3ffffffff000,%rcx
 3cc:	3f 00 00 
 3cf:	48 c1 ea 1b          	shr    $0x1b,%rdx
 3d3:	48 21 c8             	and    %rcx,%rax
 3d6:	81 e2 f8 0f 00 00    	and    $0xff8,%edx
 3dc:	4c 01 ea             	add    %r13,%rdx
 3df:	4c 8d 24 02          	lea    (%rdx,%rax,1),%r12
 3e3:	41 f6 04 24 01       	testb  $0x1,(%r12)
 3e8:	0f 84 46 03 00 00    	je     734 <machine_kexec_prepare+0x6f4>
 3ee:	49 8b 04 24          	mov    (%r12),%rax
 3f2:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 3fa <machine_kexec_prepare+0x3ba>
 3f9:	00 
 3fa:	0f 84 32 03 00 00    	je     732 <machine_kexec_prepare+0x6f2>
 400:	48 89 c7             	mov    %rax,%rdi
 403:	ff 14 25 00 00 00 00 	callq  *0x0
 40a:	48 b9 00 00 00 00 00 	movabs $0xffff880000000000,%rcx
 411:	88 ff ff 
 414:	48 89 da             	mov    %rbx,%rdx
 417:	48 c1 ea 12          	shr    $0x12,%rdx
 41b:	81 e2 f8 0f 00 00    	and    $0xff8,%edx
 421:	48 01 ca             	add    %rcx,%rdx
 424:	48 b9 00 f0 ff ff ff 	movabs $0x3ffffffff000,%rcx
 42b:	3f 00 00 
 42e:	48 21 c8             	and    %rcx,%rax
 431:	48 01 c2             	add    %rax,%rdx
 434:	f6 02 01             	testb  $0x1,(%rdx)
 437:	0f 84 57 02 00 00    	je     694 <machine_kexec_prepare+0x654>
 43d:	48 8b 55 c0          	mov    -0x40(%rbp),%rdx
 441:	49 c7 c4 00 00 00 00 	mov    $0x0,%r12
 448:	48 b8 00 00 00 00 00 	movabs $0x160000000000,%rax
 44f:	16 00 00 
 452:	4c 89 e3             	mov    %r12,%rbx
 455:	48 03 42 28          	add    0x28(%rdx),%rax
 459:	48 c1 eb 24          	shr    $0x24,%rbx
 45d:	48 c1 f8 06          	sar    $0x6,%rax
 461:	48 ba 00 00 00 00 00 	movabs $0xffff880000000000,%rdx
 468:	88 ff ff 
 46b:	48 c1 e0 0c          	shl    $0xc,%rax
 46f:	81 e3 f8 0f 00 00    	and    $0xff8,%ebx
 475:	48 8d bc 10 00 10 00 	lea    0x1000(%rax,%rdx,1),%rdi
 47c:	00 
 47d:	e8 00 00 00 00       	callq  482 <machine_kexec_prepare+0x442>
 482:	48 03 5d 98          	add    -0x68(%rbp),%rbx
 486:	49 89 c5             	mov    %rax,%r13
 489:	f6 03 01             	testb  $0x1,(%rbx)
 48c:	75 60                	jne    4ee <machine_kexec_prepare+0x4ae>
 48e:	bf d0 00 00 00       	mov    $0xd0,%edi
 493:	e8 00 00 00 00       	callq  498 <machine_kexec_prepare+0x458>
 498:	48 85 c0             	test   %rax,%rax
 49b:	0f 84 90 03 00 00    	je     831 <machine_kexec_prepare+0x7f1>
 4a1:	48 8b 55 c0          	mov    -0x40(%rbp),%rdx
 4a5:	48 89 c7             	mov    %rax,%rdi
 4a8:	48 89 82 80 02 00 00 	mov    %rax,0x280(%rdx)
 4af:	e8 00 00 00 00       	callq  4b4 <machine_kexec_prepare+0x474>
 4b4:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 4bc <machine_kexec_prepare+0x47c>
 4bb:	00 
 4bc:	0f 84 82 03 00 00    	je     844 <machine_kexec_prepare+0x804>
 4c2:	48 89 c6             	mov    %rax,%rsi
 4c5:	48 83 ce 63          	or     $0x63,%rsi
 4c9:	48 89 f7             	mov    %rsi,%rdi
 4cc:	ff 14 25 00 00 00 00 	callq  *0x0
 4d3:	48 89 c6             	mov    %rax,%rsi
 4d6:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 4de <machine_kexec_prepare+0x49e>
 4dd:	00 
 4de:	0f 84 79 03 00 00    	je     85d <machine_kexec_prepare+0x81d>
 4e4:	48 89 df             	mov    %rbx,%rdi
 4e7:	ff 14 25 00 00 00 00 	callq  *0x0
 4ee:	48 8b 03             	mov    (%rbx),%rax
 4f1:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 4f9 <machine_kexec_prepare+0x4b9>
 4f8:	00 
 4f9:	0f 84 b1 02 00 00    	je     7b0 <machine_kexec_prepare+0x770>
 4ff:	48 89 c7             	mov    %rax,%rdi
 502:	ff 14 25 00 00 00 00 	callq  *0x0
 509:	48 b9 00 00 00 00 00 	movabs $0xffff880000000000,%rcx
 510:	88 ff ff 
 513:	4c 89 e2             	mov    %r12,%rdx
 516:	48 c1 ea 1b          	shr    $0x1b,%rdx
 51a:	81 e2 f8 0f 00 00    	and    $0xff8,%edx
 520:	48 01 ca             	add    %rcx,%rdx
 523:	48 b9 00 f0 ff ff ff 	movabs $0x3ffffffff000,%rcx
 52a:	3f 00 00 
 52d:	48 21 c8             	and    %rcx,%rax
 530:	48 8d 1c 02          	lea    (%rdx,%rax,1),%rbx
 534:	f6 03 01             	testb  $0x1,(%rbx)
 537:	75 60                	jne    599 <machine_kexec_prepare+0x559>
 539:	bf d0 00 00 00       	mov    $0xd0,%edi
 53e:	e8 00 00 00 00       	callq  543 <machine_kexec_prepare+0x503>
 543:	48 85 c0             	test   %rax,%rax
 546:	0f 84 e5 02 00 00    	je     831 <machine_kexec_prepare+0x7f1>
 54c:	48 8b 55 c0          	mov    -0x40(%rbp),%rdx
 550:	48 89 c7             	mov    %rax,%rdi
 553:	48 89 82 88 02 00 00 	mov    %rax,0x288(%rdx)
 55a:	e8 00 00 00 00       	callq  55f <machine_kexec_prepare+0x51f>
 55f:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 567 <machine_kexec_prepare+0x527>
 566:	00 
 567:	0f 84 d9 02 00 00    	je     846 <machine_kexec_prepare+0x806>
 56d:	48 89 c6             	mov    %rax,%rsi
 570:	48 83 ce 63          	or     $0x63,%rsi
 574:	48 89 f7             	mov    %rsi,%rdi
 577:	ff 14 25 00 00 00 00 	callq  *0x0
 57e:	48 89 c6             	mov    %rax,%rsi
 581:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 589 <machine_kexec_prepare+0x549>
 588:	00 
 589:	0f 84 a0 02 00 00    	je     82f <machine_kexec_prepare+0x7ef>
 58f:	48 89 df             	mov    %rbx,%rdi
 592:	ff 14 25 00 00 00 00 	callq  *0x0
 599:	48 8b 03             	mov    (%rbx),%rax
 59c:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 5a4 <machine_kexec_prepare+0x564>
 5a3:	00 
 5a4:	0f 84 88 01 00 00    	je     732 <machine_kexec_prepare+0x6f2>
 5aa:	48 89 c7             	mov    %rax,%rdi
 5ad:	ff 14 25 00 00 00 00 	callq  *0x0
 5b4:	48 b9 00 00 00 00 00 	movabs $0xffff880000000000,%rcx
 5bb:	88 ff ff 
 5be:	4c 89 e2             	mov    %r12,%rdx
 5c1:	48 c1 ea 12          	shr    $0x12,%rdx
 5c5:	81 e2 f8 0f 00 00    	and    $0xff8,%edx
 5cb:	48 01 ca             	add    %rcx,%rdx
 5ce:	48 b9 00 f0 ff ff ff 	movabs $0x3ffffffff000,%rcx
 5d5:	3f 00 00 
 5d8:	48 21 c8             	and    %rcx,%rax
 5db:	48 8d 1c 02          	lea    (%rdx,%rax,1),%rbx
 5df:	f6 03 01             	testb  $0x1,(%rbx)
 5e2:	0f 84 e9 00 00 00    	je     6d1 <machine_kexec_prepare+0x691>
 5e8:	48 8b 13             	mov    (%rbx),%rdx
 5eb:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 5f3 <machine_kexec_prepare+0x5b3>
 5f2:	00 
 5f3:	0f 84 d6 00 00 00    	je     6cf <machine_kexec_prepare+0x68f>
 5f9:	48 89 d7             	mov    %rdx,%rdi
 5fc:	ff 14 25 00 00 00 00 	callq  *0x0
 603:	48 89 c2             	mov    %rax,%rdx
 606:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 60e <machine_kexec_prepare+0x5ce>
 60d:	00 
 60e:	48 8b 05 00 00 00 00 	mov    0x0(%rip),%rax        # 615 <machine_kexec_prepare+0x5d5>
 615:	0f 84 b2 00 00 00    	je     6cd <machine_kexec_prepare+0x68d>
 61b:	4c 89 ee             	mov    %r13,%rsi
 61e:	25 63 01 00 00       	and    $0x163,%eax
 623:	48 81 e6 00 f0 ff ff 	and    $0xfffffffffffff000,%rsi
 62a:	48 09 c6             	or     %rax,%rsi
 62d:	48 89 f7             	mov    %rsi,%rdi
 630:	ff 14 25 00 00 00 00 	callq  *0x0
 637:	48 89 c6             	mov    %rax,%rsi
 63a:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 642 <machine_kexec_prepare+0x602>
 641:	00 
 642:	0f 84 83 00 00 00    	je     6cb <machine_kexec_prepare+0x68b>
 648:	49 c1 ec 09          	shr    $0x9,%r12
 64c:	48 b8 00 f0 ff ff ff 	movabs $0x3ffffffff000,%rax
 653:	3f 00 00 
 656:	41 81 e4 f8 0f 00 00 	and    $0xff8,%r12d
 65d:	48 21 c2             	and    %rax,%rdx
 660:	48 bf 00 00 00 00 00 	movabs $0xffff880000000000,%rdi
 667:	88 ff ff 
 66a:	49 8d 3c 3c          	lea    (%r12,%rdi,1),%rdi
 66e:	48 01 d7             	add    %rdx,%rdi
 671:	ff 14 25 00 00 00 00 	callq  *0x0
 678:	31 c0                	xor    %eax,%eax
 67a:	eb 05                	jmp    681 <machine_kexec_prepare+0x641>
 67c:	b8 f4 ff ff ff       	mov    $0xfffffff4,%eax
 681:	48 83 c4 58          	add    $0x58,%rsp
 685:	5b                   	pop    %rbx
 686:	41 5c                	pop    %r12
 688:	41 5d                	pop    %r13
 68a:	41 5e                	pop    %r14
 68c:	41 5f                	pop    %r15
 68e:	c9                   	leaveq 
 68f:	c3                   	retq   
 690:	0f 0b                	ud2    
 692:	0f 0b                	ud2    
 694:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 69c <machine_kexec_prepare+0x65c>
 69b:	00 
 69c:	74 f2                	je     690 <machine_kexec_prepare+0x650>
 69e:	48 81 cb e3 01 00 00 	or     $0x1e3,%rbx
 6a5:	48 89 df             	mov    %rbx,%rdi
 6a8:	ff 14 25 00 00 00 00 	callq  *0x0
 6af:	48 89 c6             	mov    %rax,%rsi
 6b2:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 6ba <machine_kexec_prepare+0x67a>
 6b9:	00 
 6ba:	74 d6                	je     692 <machine_kexec_prepare+0x652>
 6bc:	48 89 d7             	mov    %rdx,%rdi
 6bf:	ff 14 25 00 00 00 00 	callq  *0x0
 6c6:	e9 72 fd ff ff       	jmpq   43d <machine_kexec_prepare+0x3fd>
 6cb:	0f 0b                	ud2    
 6cd:	0f 0b                	ud2    
 6cf:	0f 0b                	ud2    
 6d1:	bf d0 00 00 00       	mov    $0xd0,%edi
 6d6:	e8 00 00 00 00       	callq  6db <machine_kexec_prepare+0x69b>
 6db:	48 85 c0             	test   %rax,%rax
 6de:	0f 84 4d 01 00 00    	je     831 <machine_kexec_prepare+0x7f1>
 6e4:	48 8b 55 c0          	mov    -0x40(%rbp),%rdx
 6e8:	48 89 c7             	mov    %rax,%rdi
 6eb:	48 89 82 90 02 00 00 	mov    %rax,0x290(%rdx)
 6f2:	e8 00 00 00 00       	callq  6f7 <machine_kexec_prepare+0x6b7>
 6f7:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 6ff <machine_kexec_prepare+0x6bf>
 6fe:	00 
 6ff:	74 8f                	je     690 <machine_kexec_prepare+0x650>
 701:	48 89 c6             	mov    %rax,%rsi
 704:	48 83 ce 63          	or     $0x63,%rsi
 708:	48 89 f7             	mov    %rsi,%rdi
 70b:	ff 14 25 00 00 00 00 	callq  *0x0
 712:	48 89 c6             	mov    %rax,%rsi
 715:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 71d <machine_kexec_prepare+0x6dd>
 71c:	00 
 71d:	0f 84 6f ff ff ff    	je     692 <machine_kexec_prepare+0x652>
 723:	48 89 df             	mov    %rbx,%rdi
 726:	ff 14 25 00 00 00 00 	callq  *0x0
 72d:	e9 b6 fe ff ff       	jmpq   5e8 <machine_kexec_prepare+0x5a8>
 732:	0f 0b                	ud2    
 734:	31 f6                	xor    %esi,%esi
 736:	48 8b 7d c0          	mov    -0x40(%rbp),%rdi
 73a:	e8 00 00 00 00       	callq  73f <machine_kexec_prepare+0x6ff>
 73f:	48 85 c0             	test   %rax,%rax
 742:	0f 84 34 ff ff ff    	je     67c <machine_kexec_prepare+0x63c>
 748:	48 ba 00 00 00 00 00 	movabs $0x160000000000,%rdx
 74f:	16 00 00 
 752:	48 01 d0             	add    %rdx,%rax
 755:	48 c1 f8 06          	sar    $0x6,%rax
 759:	48 c1 e0 0c          	shl    $0xc,%rax
 75d:	4e 8d 2c 28          	lea    (%rax,%r13,1),%r13
 761:	4c 89 ef             	mov    %r13,%rdi
 764:	e8 00 00 00 00       	callq  769 <machine_kexec_prepare+0x729>
 769:	4c 89 ef             	mov    %r13,%rdi
 76c:	e8 00 00 00 00       	callq  771 <machine_kexec_prepare+0x731>
 771:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 779 <machine_kexec_prepare+0x739>
 778:	00 
 779:	0f 84 c7 00 00 00    	je     846 <machine_kexec_prepare+0x806>
 77f:	48 89 c6             	mov    %rax,%rsi
 782:	48 83 ce 63          	or     $0x63,%rsi
 786:	48 89 f7             	mov    %rsi,%rdi
 789:	ff 14 25 00 00 00 00 	callq  *0x0
 790:	48 89 c6             	mov    %rax,%rsi
 793:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 79b <machine_kexec_prepare+0x75b>
 79a:	00 
 79b:	0f 84 8e 00 00 00    	je     82f <machine_kexec_prepare+0x7ef>
 7a1:	4c 89 e7             	mov    %r12,%rdi
 7a4:	ff 14 25 00 00 00 00 	callq  *0x0
 7ab:	e9 3e fc ff ff       	jmpq   3ee <machine_kexec_prepare+0x3ae>
 7b0:	0f 0b                	ud2    
 7b2:	31 f6                	xor    %esi,%esi
 7b4:	48 89 c7             	mov    %rax,%rdi
 7b7:	e8 00 00 00 00       	callq  7bc <machine_kexec_prepare+0x77c>
 7bc:	48 85 c0             	test   %rax,%rax
 7bf:	0f 84 b7 fe ff ff    	je     67c <machine_kexec_prepare+0x63c>
 7c5:	48 ba 00 00 00 00 00 	movabs $0x160000000000,%rdx
 7cc:	16 00 00 
 7cf:	49 bd 00 00 00 00 00 	movabs $0xffff880000000000,%r13
 7d6:	88 ff ff 
 7d9:	48 01 d0             	add    %rdx,%rax
 7dc:	48 c1 f8 06          	sar    $0x6,%rax
 7e0:	48 c1 e0 0c          	shl    $0xc,%rax
 7e4:	4e 8d 2c 28          	lea    (%rax,%r13,1),%r13
 7e8:	4c 89 ef             	mov    %r13,%rdi
 7eb:	e8 00 00 00 00       	callq  7f0 <machine_kexec_prepare+0x7b0>
 7f0:	4c 89 ef             	mov    %r13,%rdi
 7f3:	e8 00 00 00 00       	callq  7f8 <machine_kexec_prepare+0x7b8>
 7f8:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 800 <machine_kexec_prepare+0x7c0>
 7ff:	00 
 800:	74 42                	je     844 <machine_kexec_prepare+0x804>
 802:	48 89 c6             	mov    %rax,%rsi
 805:	48 83 ce 63          	or     $0x63,%rsi
 809:	48 89 f7             	mov    %rsi,%rdi
 80c:	ff 14 25 00 00 00 00 	callq  *0x0
 813:	48 89 c6             	mov    %rax,%rsi
 816:	48 83 3d 00 00 00 00 	cmpq   $0x0,0x0(%rip)        # 81e <machine_kexec_prepare+0x7de>
 81d:	00 
 81e:	74 3d                	je     85d <machine_kexec_prepare+0x81d>
 820:	4c 89 e7             	mov    %r12,%rdi
 823:	ff 14 25 00 00 00 00 	callq  *0x0
 82a:	e9 6d fb ff ff       	jmpq   39c <machine_kexec_prepare+0x35c>
 82f:	0f 0b                	ud2    
 831:	48 8b 7d c0          	mov    -0x40(%rbp),%rdi
 835:	e8 c6 f7 ff ff       	callq  0 <free_transition_pgtable>
 83a:	b8 f4 ff ff ff       	mov    $0xfffffff4,%eax
 83f:	e9 3d fe ff ff       	jmpq   681 <machine_kexec_prepare+0x641>
 844:	0f 0b                	ud2    
 846:	0f 0b                	ud2    
 848:	48 8b 45 98          	mov    -0x68(%rbp),%rax
 84c:	48 c7 45 a8 00 00 00 	movq   $0x0,-0x58(%rbp)
 853:	00 
 854:	48 89 45 a0          	mov    %rax,-0x60(%rbp)
 858:	e9 b3 fa ff ff       	jmpq   310 <machine_kexec_prepare+0x2d0>
 85d:	0f 0b                	ud2    
 85f:	90                   	nop



More information about the kexec mailing list