On Fri, 16 Jan 2015 12:15:45 +0100 Bruno Prémont wrote:
> On Fri, 16 Jan 2015 11:03:44 +0100 Bruno Prémont wrote:
> > I have a few systems that don't boot on some VMWare nodes using EFI stub.
> >
> > Kernel boots on VMWare ESXi 5.1 but has trouble on ESXi 5.5.
> >
> > From behavior it seems very much related to memory layout as just
> > adding a few efi_printk() into EFI stub gets the otherwise same kernel
> > to boot. Also the kernel does boot on another VMWare node.
> >
> > Kernel I'm using: 3.18.2
> >
> > I've take a snapshot that i converted to core dump. Poking at it with
> > gdb it looks like kernel gets stuck in misc.o somewhere during zlib
> > decompression.
> >
> >
> > Register dump:
> > rax 0x1000 4096
> > rbx 0x23f78cb 37714123
> > rcx 0x0 0
> > rdx 0x0 0
> > rsi 0x0 0
> > rdi 0x23f7863 37714019
> > rbp 0x1a363b4 0x1a363b4
> > rsp 0x2404b20 0x2404b20
> > r8 0x2404ee0 37768928
> > r9 0x4 4
> > r10 0x3 3
> > r11 0x9 9
> > r12 0x13dcbbc 20827068
> > r13 0x1e000000 503316480 (this seems to point to
> > decompressed kernel)
> > r14 0x9b8ea7 10194599
> > r15 0x23f8bc0 37718976
> > rip 0x23f21f9 0x23f21f9
> > eflags 0x46 [ PF ZF ]
> > cs 0x18 24
> > ss 0x0 0
> > ds 0x0 0
> > es 0x0 0
> > fs 0x0 0
> > gs 0x0 0
> >
> >
> > Code disassembly:
> > Dump of assembler code from 0x23f21d0 to 0x23f22f8:
> > 0x00000000023f21d0: 53 push %rbx
> > 0x00000000023f21d1: 48 89 fb mov %rdi,%rbx
> > 0x00000000023f21d4: 48 8d 3d 85 56 00 00 lea 0x5685(%rip),%rdi
> > # 0x23f7860
> > 0x00000000023f21db: e8 50 fe ff ff callq 0x23f2030
> > 0x00000000023f21e0: 48 89 df mov %rbx,%rdi
> > 0x00000000023f21e3: e8 48 fe ff ff callq 0x23f2030
> > 0x00000000023f21e8: 48 8d 3d 74 56 00 00 lea 0x5674(%rip),%rdi
> > # 0x23f7863
> > 0x00000000023f21ef: e8 3c fe ff ff callq 0x23f2030
> > 0x00000000023f21f4: 0f 1f 40 00 nopl 0x0(%rax)
> > 0x00000000023f21f8: f4 hlt
> > => 0x00000000023f21f9: eb fd jmp 0x23f21f8
> > 0x00000000023f21fb: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
> > 0x00000000023f2200: 41 57 push %r15
> > 0x00000000023f2202: 4d 89 c7 mov %r8,%r15
> > 0x00000000023f2205: 41 56 push %r14
> > 0x00000000023f2207: 49 89 ce mov %rcx,%r14
> > 0x00000000023f220a: 41 55 push %r13
> > 0x00000000023f220c: 49 89 fd mov %rdi,%r13
> > 0x00000000023f220f: 41 54 push %r12
> > 0x00000000023f2211: 4d 89 cc mov %r9,%r12
> > 0x00000000023f2214: 55 push %rbp
> > 0x00000000023f2215: 48 89 d5 mov %rdx,%rbp
> > 0x00000000023f2218: 53 push %rbx
> > 0x00000000023f2219: 48 89 f3 mov %rsi,%rbx
> > 0x00000000023f221c: 48 83 ec 48 sub $0x48,%rsp
> > 0x00000000023f2220: 80 bf ef 01 00 00 00 cmpb $0x0,0x1ef(%rdi)
> > 0x00000000023f2227: 48 8b 05 8a 68 00 00 mov 0x688a(%rip),%rax
> > # 0x23f8ab8
> > 0x00000000023f222e: 48 89 38 mov %rdi,(%rax)
> > 0x00000000023f2231: 74 69 je 0x23f229c
> > 0x00000000023f2233: 48 8d bf c0 00 00 00 lea 0xc0(%rdi),%rdi
> > 0x00000000023f223a: ba 00 01 00 00 mov $0x100,%edx
> > 0x00000000023f223f: 31 f6 xor %esi,%esi
> > 0x00000000023f2241: e8 0a 08 00 00 callq 0x23f2a50
> > 0x00000000023f2246: 49 8d bd eb 01 00 00 lea 0x1eb(%r13),%rdi
> > 0x00000000023f224d: ba 06 00 00 00 mov $0x6,%edx
> > 0x00000000023f2252: 31 f6 xor %esi,%esi
> > 0x00000000023f2254: e8 f7 07 00 00 callq 0x23f2a50
> > 0x00000000023f2259: 49 8d bd 68 02 00 00 lea 0x268(%r13),%rdi
> > 0x00000000023f2260: ba 28 00 00 00 mov $0x28,%edx
> > 0x00000000023f2265: 31 f6 xor %esi,%esi
> > 0x00000000023f2267: e8 e4 07 00 00 callq 0x23f2a50
> > 0x00000000023f226c: 49 8d bd d0 0c 00 00 lea 0xcd0(%r13),%rdi
> > 0x00000000023f2273: ba 30 00 00 00 mov $0x30,%edx
> > 0x00000000023f2278: 31 f6 xor %esi,%esi
> > 0x00000000023f227a: e8 d1 07 00 00 callq 0x23f2a50
> > 0x00000000023f227f: 49 8d bd ec 0e 00 00 lea 0xeec(%r13),%rdi
> > 0x00000000023f2286: ba 14 01 00 00 mov $0x114,%edx
> > 0x00000000023f228b: 31 f6 xor %esi,%esi
> > 0x00000000023f228d: e8 be 07 00 00 callq 0x23f2a50
> > 0x00000000023f2292: 48 8b 05 1f 68 00 00 mov 0x681f(%rip),%rax
> > # 0x23f8ab8
> > 0x00000000023f2299: 4c 8b 28 mov (%rax),%r13
> > 0x00000000023f229c: 41 80 7d 06 07 cmpb $0x7,0x6(%r13)
> > 0x00000000023f22a1: 0f 84 69 01 00 00 je 0x23f2410
> > 0x00000000023f22a7: 48 c7 05 2e 29 01 00 00 80 0b 00 movq
> > $0xb8000,0x1292e(%rip) # 0x2404be0
> > 0x00000000023f22b2: c7 05 1c 29 01 00 d4 03 00 00 movl
> > $0x3d4,0x1291c(%rip) # 0x2404bd8
> > 0x00000000023f22bc: 41 0f b6 45 0e movzbl 0xe(%r13),%eax
> > 0x00000000023f22c1: 89 05 0d 29 01 00 mov %eax,0x1290d(%rip)
> > # 0x2404bd4
> > 0x00000000023f22c7: 41 0f b6 45 07 movzbl 0x7(%r13),%eax
> > 0x00000000023f22cc: 89 05 fe 28 01 00 mov %eax,0x128fe(%rip)
> > # 0x2404bd0
> > 0x00000000023f22d2: e8 b9 0b 00 00 callq 0x23f2e90
> > 0x00000000023f22d7: 48 8d 3d 9a 56 00 00 lea 0x569a(%rip),%rdi
> > # 0x23f7978
> > 0x00000000023f22de: e8 4d fd ff ff callq 0x23f2030
> > 0x00000000023f22e3: 48 8b 05 de 67 00 00 mov 0x67de(%rip),%rax
> > # 0x23f8ac8
> > 0x00000000023f22ea: 4c 39 a4 24 80 00 00 00 cmp %r12,0x80(%rsp)
> > 0x00000000023f22f2: 4c 89 e1 mov %r12,%rcx
> > 0x00000000023f22f5: 48 0f 43 8c 24 80 00 00 00 cmovae
> > 0x80(%rsp),%rcx
> >
> > Objdump of arch/x86/boot/compressed/misc.o:
> > 0000000000002de0 <error>:
> > 2de0: 53 push %rbx
> > 2de1: 48 89 fb mov %rdi,%rbx
> > 2de4: 48 8d 3d 00 00 00 00 lea 0x0(%rip),%rdi # 2deb
> > <zlib_updatewindow+0x2d7b>
> > 2deb: e8 00 00 00 00 callq 2df0
> > <zlib_updatewindow+0x2d80>
> > 2df0: 48 89 df mov %rbx,%rdi
> > 2df3: e8 00 00 00 00 callq 2df8
> > <zlib_updatewindow+0x2d88>
> > 2df8: 48 8d 3d 00 00 00 00 lea 0x0(%rip),%rdi # 2dff
> > <zlib_updatewindow+0x2d8f>
> > 2dff: e8 00 00 00 00 callq 2e04
> > <zlib_updatewindow+0x2d94>
> > 2e04: 0f 1f 40 00 nopl 0x0(%rax)
> > 2e08: f4 hlt
> > => 2e09: eb fd jmp 2e08
> > <zlib_updatewindow+0x2d98>
> > 2e0b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
> >
> > 0000000000002e10 <decompress_kernel>:
> > 2e10: 41 57 push %r15
> > 2e12: 4d 89 c7 mov %r8,%r15
> > 2e15: 41 56 push %r14
> > 2e17: 49 89 ce mov %rcx,%r14
> > 2e1a: 41 55 push %r13
> > 2e1c: 49 89 fd mov %rdi,%r13
> > 2e1f: 41 54 push %r12
> > 2e21: 4d 89 cc mov %r9,%r12
> > 2e24: 55 push %rbp
> > 2e25: 48 89 d5 mov %rdx,%rbp
> > 2e28: 53 push %rbx
> > 2e29: 48 89 f3 mov %rsi,%rbx
> > 2e2c: 48 83 ec 48 sub $0x48,%rsp
> > 2e30: 80 bf ef 01 00 00 00 cmpb $0x0,0x1ef(%rdi)
> > 2e37: 48 8b 05 00 00 00 00 mov 0x0(%rip),%rax # 2e3e
> > <zlib_updatewindow+0x2dce>
>
> Analyzing this some more it seems to be:
> error_putstr("\n\n");
> error_putstr(x); // x, if rbx, is "read error"
> error_putstr("\n\n -- System halted");
> while (1)
> asm("hlt");
>
>
> Such an error("read error") call is present in lib/decompress_inflate.c
> on line 135
>
> while (rc == Z_OK) {
> if (strm->avail_in == 0) {
> /* TODO: handle case where both pos and fill are set
> */
> len = fill(zbuf, GZIP_IOBUF_SIZE);
> if (len < 0) {
> rc = -1;
> => error("read error");
> break;
> }
> strm->next_in = zbuf;
> strm->avail_in = len;
> }
> rc = zlib_inflate(strm, 0);
>
> /* Write any data generated */
> if (flush && strm->next_out > out_buf) {
> long l = strm->next_out - out_buf;
> if (l != flush(out_buf, l)) {
> rc = -1;
> error("write error");
> break;
> }
> strm->next_out = out_buf;
> strm->avail_out = out_len;
> }
>
> /* after Z_FINISH, only Z_STREAM_END is "we unpacked it all"
> */
> if (rc == Z_STREAM_END) {
> rc = 0;
> break;
> } else if (rc != Z_OK) {
> error("uncompression error");
> rc = -1;
> }
> }
>
>
> From my understanding of the ASM&C code I get for misc.o len should be stored
> in
> RAX (which has a value of 0x1000 which for a long should not be negative?)
> unless
> RAX go overwritten during callq instruction (or one of the later callq).
I've been digging some more through the memory and determined the following:
- bzImage loaded at 0x1a32200 though first 0x3e00 are zeroed
Dumping sizeof(bzImage) bytes starting at 0x1a32200 and comparing it
with original bzImage I get (offset relative to bzImage start):
0x00003e00 .. 0x0016cfff matches
0x0016d000 .. 0x009bcfff mis-match
0x009bd000 .. 0x009c687f matches
.. 0x009c69af partial mis-match
memory mis-match (bzImage has data in there):
0016d000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
... (zeroed bytes)
009b4fe0 00 00 00 00 00 00 00 00 70 68 64 30 20 80 00 00 |........phd0 ...|
009b4ff0 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
009b5000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
... (zeroed bytes)
009bcff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
partial mis-match data:
================= m e m o r y =================
================ b z I m a g e =================
009c6820 0e 20 41 c6 0e 18 42 cc 0e 10 42 cd 0e 08 47 0b |.
A...B...B...G.| == | 009c6820 0e 20 41 c6 0e 18 42 cc 0e 10 42 cd 0e
08 47 0b |. A...B...B...G.|
009c6830 54 00 00 00 b4 0a 00 00 38 d2 ff ff 0b 0e 00 00
|T.......8.......| == | 009c6830 54 00 00 00 b4 0a 00 00 38 d2 ff ff
0b 0e 00 00 |T.......8.......|
009c6840 00 42 0e 10 8f 02 4c 0e 18 8e 03 42 0e 20 8d 04 |.B....L....B.
..| == | 009c6840 00 42 0e 10 8f 02 4c 0e 18 8e 03 42 0e 20 8d 04
|.B....L....B. ..|
009c6850 42 0e 28 8c 05 41 0e 30 86 06 41 0e 38 83 07 47
|B.(..A.0..A.8..G| == | 009c6850 42 0e 28 8c 05 41 0e 30 86 06 41 0e
38 83 07 47 |B.(..A.0..A.8..G|
009c6860 0e e0 01 03 0c 06 0a 0e 38 41 c3 0e 30 41 c6 0e
|........8A..0A..| == | 009c6860 0e e0 01 03 0c 06 0a 0e 38 41 c3 0e
30 41 c6 0e |........8A..0A..|
009c6870 28 42 cc 0e 20 42 cd 0e 18 42 ce 0e 10 42 cf 0e |(B..
B...B...B..| == | 009c6870 28 42 cc 0e 20 42 cd 0e 18 42 ce 0e 10 42
cf 0e |(B.. B...B...B..|
009c6880 08 47 0b 00 00 00 00 00 00 60 a3 01 00 00 00 00
|.G.......`......| != | 009c6880 08 47 0b 00 00 00 00 00 00 00 00 00
00 00 00 00 |.G..............|
009c6890 00 60 a3 01 00 00 00 00 00 60 a3 01 00 00 00 00
|.`.......`......| != | 009c6890 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 |................|
009c68a0 e0 4e 40 02 00 00 00 00 a0 4e 40 02 00 00 00 00
|[email protected]@.....| != | 009c68a0 e0 ee 9c 00 00 00 00 00 a0 ee 9c 00
00 00 00 00 |................|
009c68b0 d4 4e 40 02 00 00 00 00 80 4e 40 02 00 00 00 00
|[email protected]@.....| != | 009c68b0 d4 ee 9c 00 00 00 00 00 80 ee 9c 00
00 00 00 00 |................|
009c68c0 88 4e 40 02 00 00 00 00 90 4e 40 02 00 00 00 00
|[email protected]@.....| != | 009c68c0 88 ee 9c 00 00 00 00 00 90 ee 9c 00
00 00 00 00 |................|
009c68d0 30 00 d0 2a 9c 00 00 00 00 00 00 00 00 00 00 00
|0..*............| == | 009c68d0 30 00 d0 2a 9c 00 00 00 00 00 00 00
00 00 00 00 |0..*............|
009c68e0 ff ff 00 00 00 9a af 00 ff ff 00 00 00 92 cf 00
|................| == | 009c68e0 ff ff 00 00 00 9a af 00 ff ff 00 00
00 92 cf 00 |................|
009c68f0 00 00 00 00 00 89 80 00 00 00 00 00 00 00 00 00
|................| == | 009c68f0 00 00 00 00 00 89 80 00 00 00 00 00
00 00 00 00 |................|
009c6900 08 69 9c 1c 00 00 00 00 98 88 ee 1d 00 00 00 00
|.i..............| != | 009c6900 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 |................|
009c6910 18 0f f9 1f 00 00 00 00 15 7c fe 1f 00 00 00 00
|.........|......| != | *
009c6920 fd 73 fe 1f 00 00 00 00 c8 70 fe 1f 00 00 00 00
|.s.......p......| != | *
009c6930 31 7a fe 1f 00 00 00 00 73 73 fe 1f 00 00 00 00
|1z......ss......| != | *
009c6940 fe f7 fd 1f 00 00 00 00 f9 ed fd 1f 00 00 00 00
|................| != | *
009c6950 68 84 fd 1f 00 00 00 00 50 a8 dd 1e 00 00 00 00
|h.......P.......| != | *
009c6960 80 48 9c 1c 00 00 00 00 01 00 00 00 00 00 00 00
|.H..............| != | 009c6960 80 0a 9c 00 00 00 00 00 01 00 00 00
00 00 00 00 |................|
009c6970 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00
|................| == | 009c6970 00 00 10 00 00 00 00 00 00 00 00 00
00 00 00 00 |................|
009c6980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|................| == | 009c6980 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 |................|
*
== | *
009c69a0 00 00 00 00 00 00 00 00 00 00 00 00 76 32 8b ed
|............v2..| == | 009c69a0 00 00 00 00 00 00 00 00 00 00 00 00
76 32 8b ed |............v2..|
009c69b0
Now my question is, what does the zeroed area correspond to?
The start of zeroed area in memory would be:
0x1b9f200 .. 0x23ef1ff
For both starting kernels this fully fits into mem04.
So I'm wondering why the data does not match!
Just to get this kind of issues detected at a time it's possible to render some
error
message, could the stub check its payload (CRC or better hash) before calling
exit_boot
so a efi_printk() would still be possible?
> > Possibly of interest, on the VMWare node where the kernel boots I get this
> > memory mapping:
> > [ 0.000000] efi: EFI v2.30 by VMware, Inc.
> > [ 0.000000] efi: SMBIOS=0x1ffa8000 ACPI 2.0=0x1ff99000
> > [ 0.000000] efi: mem00: [ACPI Memory NVS | | | | |
> > |WB|WT|WC|UC] range=[0x0000000000000000-0x0000000000001000) (0MB)
> > [ 0.000000] efi: mem01: [Loader Data | | | | |
> > |WB|WT|WC|UC] range=[0x0000000000001000-0x0000000000007000) (0MB)
> > [ 0.000000] efi: mem02: [Conventional Memory| | | | |
> > |WB|WT|WC|UC] range=[0x0000000000007000-0x00000000000a0000) (0MB)
> > [ 0.000000] efi: mem03: [Conventional Memory| | | | |
> > |WB|WT|WC|UC] range=[0x0000000000100000-0x0000000001000000) (15MB)
> > [ 0.000000] efi: mem04: [Loader Data | | | | |
> > |WB|WT|WC|UC] range=[0x0000000001000000-0x000000000240b000) (20MB)
> > [ 0.000000] efi: mem05: [Conventional Memory| | | | |
> > |WB|WT|WC|UC] range=[0x000000000240b000-0x000000001b1bc000) (397MB)
> > [ 0.000000] efi: mem06: [Loader Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001b1bc000-0x000000001d5c7000) (36MB)
> > [ 0.000000] efi: mem07: [Conventional Memory| | | | |
> > |WB|WT|WC|UC] range=[0x000000001d5c7000-0x000000001df83000) (9MB)
> > [ 0.000000] efi: mem08: [Loader Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001df83000-0x000000001df8e000) (0MB)
> > [ 0.000000] efi: mem09: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001df8e000-0x000000001dfaf000) (0MB)
> > [ 0.000000] efi: mem10: [Loader Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001dfaf000-0x000000001dfb2000) (0MB)
> > [ 0.000000] efi: mem11: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001dfb2000-0x000000001dfc4000) (0MB)
> > [ 0.000000] efi: mem12: [Loader Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001dfc4000-0x000000001dfc5000) (0MB)
> > [ 0.000000] efi: mem13: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001dfc5000-0x000000001e61a000) (6MB)
> > [ 0.000000] efi: mem14: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e61a000-0x000000001e6d8000) (0MB)
> > [ 0.000000] efi: mem15: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e6d8000-0x000000001e6e7000) (0MB)
> > [ 0.000000] efi: mem16: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e6e7000-0x000000001e6ed000) (0MB)
> > [ 0.000000] efi: mem17: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e6ed000-0x000000001e6ee000) (0MB)
> > [ 0.000000] efi: mem18: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e6ee000-0x000000001e71b000) (0MB)
> > [ 0.000000] efi: mem19: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e71b000-0x000000001e71e000) (0MB)
> > [ 0.000000] efi: mem20: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e71e000-0x000000001e724000) (0MB)
> > [ 0.000000] efi: mem21: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e724000-0x000000001e725000) (0MB)
> > [ 0.000000] efi: mem22: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e725000-0x000000001e729000) (0MB)
> > [ 0.000000] efi: mem23: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e729000-0x000000001e72a000) (0MB)
> > [ 0.000000] efi: mem24: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e72a000-0x000000001e751000) (0MB)
> > [ 0.000000] efi: mem25: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e751000-0x000000001e754000) (0MB)
> > [ 0.000000] efi: mem26: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e754000-0x000000001e755000) (0MB)
> > [ 0.000000] efi: mem27: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e755000-0x000000001e756000) (0MB)
> > [ 0.000000] efi: mem28: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e756000-0x000000001e75e000) (0MB)
> > [ 0.000000] efi: mem29: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e75e000-0x000000001e760000) (0MB)
> > [ 0.000000] efi: mem30: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e760000-0x000000001e76f000) (0MB)
> > [ 0.000000] efi: mem31: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e76f000-0x000000001ee83000) (7MB)
> > [ 0.000000] efi: mem32: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001ee83000-0x000000001ee8c000) (0MB)
> > [ 0.000000] efi: mem33: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001ee8c000-0x000000001fe30000) (15MB)
> > [ 0.000000] efi: mem34: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001fe30000-0x000000001fe43000) (0MB)
> > [ 0.000000] efi: mem35: [Runtime Code |RUN| | | |
> > |WB|WT|WC|UC] range=[0x000000001fe43000-0x000000001fe48000) (0MB)
> > [ 0.000000] efi: mem36: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001fe48000-0x000000001ff20000) (0MB)
> > [ 0.000000] efi: mem37: [Runtime Code |RUN| | | |
> > |WB|WT|WC|UC] range=[0x000000001ff20000-0x000000001ff40000) (0MB)
> > [ 0.000000] efi: mem38: [Runtime Data |RUN| | | |
> > |WB|WT|WC|UC] range=[0x000000001ff40000-0x000000001ff8a000) (0MB)
> > [ 0.000000] efi: mem39: [Runtime Data |RUN| | | |
> > |WB|WT|WC|UC] range=[0x000000001ff8a000-0x000000001ff90000) (0MB)
> > [ 0.000000] efi: mem40: [ACPI Reclaim Memory| | | | |
> > |WB|WT|WC|UC] range=[0x000000001ff90000-0x000000001ff99000) (0MB)
> > [ 0.000000] efi: mem41: [ACPI Reclaim Memory| | | | |
> > |WB|WT|WC|UC] range=[0x000000001ff99000-0x000000001ffa8000) (0MB)
> > [ 0.000000] efi: mem42: [ACPI Memory NVS | | | | |
> > |WB|WT|WC|UC] range=[0x000000001ffa8000-0x000000001ffaa000) (0MB)
> > [ 0.000000] efi: mem43: [Conventional Memory| | | | |
> > |WB|WT|WC|UC] range=[0x000000001ffaa000-0x000000001ffaf000) (0MB)
> > [ 0.000000] efi: mem44: [ACPI Memory NVS | | | | |
> > |WB|WT|WC|UC] range=[0x000000001ffaf000-0x000000001ffb0000) (0MB)
> > [ 0.000000] efi: mem45: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001ffb0000-0x0000000020000000) (0MB)
> > [ 0.000000] efi: mem46: [Memory Mapped I/O |RUN| | | | | | | |
> > ] range=[0x00000000ffc00000-0x00000000ffc18000) (0MB)
> > [ 0.000000] SMBIOS 2.6 present.
> > [ 0.000000] DMI: VMware, Inc. VMware7,1/440BX Desktop Reference
> > Platform, BIOS VMW71.00V.0.B64.1309111724 09/11/2013
> >
> > while on the failing one I get (just enough efi_printk to cause kernel to
> > boot):
> > [ 0.000000] efi: EFI v2.30 by VMware, Inc.
> > [ 0.000000] efi: SMBIOS=0x1ffaf000 ACPI 2.0=0x1ff9f000
> > [ 0.000000] efi: mem00: [ACPI Memory NVS | | | | |
> > |WB|WT|WC|UC] range=[0x0000000000000000-0x0000000000001000) (0MB)
> > [ 0.000000] efi: mem01: [Loader Data | | | | |
> > |WB|WT|WC|UC] range=[0x0000000000001000-0x0000000000007000) (0MB)
> > [ 0.000000] efi: mem02: [Conventional Memory| | | | |
> > |WB|WT|WC|UC] range=[0x0000000000007000-0x00000000000a0000) (0MB)
> > [ 0.000000] efi: mem03: [Conventional Memory| | | | |
> > |WB|WT|WC|UC] range=[0x0000000000100000-0x0000000001000000) (15MB)
> > [ 0.000000] efi: mem04: [Loader Data | | | | |
> > |WB|WT|WC|UC] range=[0x0000000001000000-0x000000000240b000) (20MB)
> > [ 0.000000] efi: mem05: [Conventional Memory| | | | |
> > |WB|WT|WC|UC] range=[0x000000000240b000-0x000000001ae96000) (394MB)
> > [ 0.000000] efi: mem06: [Loader Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001ae96000-0x000000001d2a1000) (36MB)
> > [ 0.000000] efi: mem07: [Conventional Memory| | | | |
> > |WB|WT|WC|UC] range=[0x000000001d2a1000-0x000000001dc68000) (9MB)
> > [ 0.000000] efi: mem08: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001dc68000-0x000000001dcb3000) (0MB)
> > [ 0.000000] efi: mem09: [Conventional Memory| | | | |
> > |WB|WT|WC|UC] range=[0x000000001dcb3000-0x000000001dcdb000) (0MB)
> > [ 0.000000] efi: mem10: [Loader Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001dcdb000-0x000000001dce9000) (0MB)
> > [ 0.000000] efi: mem11: [Conventional Memory| | | | |
> > |WB|WT|WC|UC] range=[0x000000001dce9000-0x000000001dcea000) (0MB)
> > [ 0.000000] efi: mem12: [Loader Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001dcea000-0x000000001dcec000) (0MB)
> > [ 0.000000] efi: mem13: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001dcec000-0x000000001dcfb000) (0MB)
> > [ 0.000000] efi: mem14: [Loader Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001dcfb000-0x000000001dcfc000) (0MB)
> > [ 0.000000] efi: mem15: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001dcfc000-0x000000001dcfd000) (0MB)
> > [ 0.000000] efi: mem16: [Loader Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001dcfd000-0x000000001dcfe000) (0MB)
> > [ 0.000000] efi: mem17: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001dcfe000-0x000000001ddd8000) (0MB)
> > [ 0.000000] efi: mem18: [Loader Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001ddd8000-0x000000001deb0000) (0MB)
> > [ 0.000000] efi: mem19: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001deb0000-0x000000001decf000) (0MB)
> > [ 0.000000] efi: mem20: [Loader Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001decf000-0x000000001dee0000) (0MB)
> > [ 0.000000] efi: mem21: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001dee0000-0x000000001dee6000) (0MB)
> > [ 0.000000] efi: mem22: [Loader Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001dee6000-0x000000001dee8000) (0MB)
> > [ 0.000000] efi: mem23: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001dee8000-0x000000001e547000) (6MB)
> > [ 0.000000] efi: mem24: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e547000-0x000000001e58b000) (0MB)
> > [ 0.000000] efi: mem25: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e58b000-0x000000001e58c000) (0MB)
> > [ 0.000000] efi: mem26: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e58c000-0x000000001e590000) (0MB)
> > [ 0.000000] efi: mem27: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e590000-0x000000001e591000) (0MB)
> > [ 0.000000] efi: mem28: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e591000-0x000000001e5a0000) (0MB)
> > [ 0.000000] efi: mem29: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e5a0000-0x000000001e5a2000) (0MB)
> > [ 0.000000] efi: mem30: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e5a2000-0x000000001e602000) (0MB)
> > [ 0.000000] efi: mem31: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e602000-0x000000001e604000) (0MB)
> > [ 0.000000] efi: mem32: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e604000-0x000000001e613000) (0MB)
> > [ 0.000000] efi: mem33: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e613000-0x000000001e614000) (0MB)
> > [ 0.000000] efi: mem34: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e614000-0x000000001e645000) (0MB)
> > [ 0.000000] efi: mem35: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e645000-0x000000001e648000) (0MB)
> > [ 0.000000] efi: mem36: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e648000-0x000000001e64f000) (0MB)
> > [ 0.000000] efi: mem37: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e64f000-0x000000001e651000) (0MB)
> > [ 0.000000] efi: mem38: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e651000-0x000000001e656000) (0MB)
> > [ 0.000000] efi: mem39: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e656000-0x000000001e657000) (0MB)
> > [ 0.000000] efi: mem40: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e657000-0x000000001e66c000) (0MB)
> > [ 0.000000] efi: mem41: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e66c000-0x000000001e66d000) (0MB)
> > [ 0.000000] efi: mem42: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e66d000-0x000000001e69c000) (0MB)
> > [ 0.000000] efi: mem43: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e69c000-0x000000001e6a2000) (0MB)
> > [ 0.000000] efi: mem44: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e6a2000-0x000000001e6ad000) (0MB)
> > [ 0.000000] efi: mem45: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e6ad000-0x000000001e9b3000) (3MB)
> > [ 0.000000] efi: mem46: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e9b3000-0x000000001e9c2000) (0MB)
> > [ 0.000000] efi: mem47: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001e9c2000-0x000000001edd3000) (4MB)
> > [ 0.000000] efi: mem48: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001edd3000-0x000000001eddc000) (0MB)
> > [ 0.000000] efi: mem49: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001eddc000-0x000000001fe31000) (16MB)
> > [ 0.000000] efi: mem50: [Conventional Memory| | | | |
> > |WB|WT|WC|UC] range=[0x000000001fe31000-0x000000001fe33000) (0MB)
> > [ 0.000000] efi: mem51: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001fe33000-0x000000001fe3c000) (0MB)
> > [ 0.000000] efi: mem52: [Runtime Code |RUN| | | |
> > |WB|WT|WC|UC] range=[0x000000001fe3c000-0x000000001fe44000) (0MB)
> > [ 0.000000] efi: mem53: [Boot Code | | | | |
> > |WB|WT|WC|UC] range=[0x000000001fe44000-0x000000001ff21000) (0MB)
> > [ 0.000000] efi: mem54: [Runtime Code |RUN| | | |
> > |WB|WT|WC|UC] range=[0x000000001ff21000-0x000000001ff41000) (0MB)
> > [ 0.000000] efi: mem55: [Runtime Data |RUN| | | |
> > |WB|WT|WC|UC] range=[0x000000001ff41000-0x000000001ff8b000) (0MB)
> > [ 0.000000] efi: mem56: [Runtime Data |RUN| | | |
> > |WB|WT|WC|UC] range=[0x000000001ff8b000-0x000000001ff91000) (0MB)
> > [ 0.000000] efi: mem57: [ACPI Reclaim Memory| | | | |
> > |WB|WT|WC|UC] range=[0x000000001ff91000-0x000000001ff9f000) (0MB)
> > [ 0.000000] efi: mem58: [ACPI Reclaim Memory| | | | |
> > |WB|WT|WC|UC] range=[0x000000001ff9f000-0x000000001ffad000) (0MB)
> > [ 0.000000] efi: mem59: [ACPI Memory NVS | | | | |
> > |WB|WT|WC|UC] range=[0x000000001ffad000-0x000000001ffae000) (0MB)
> > [ 0.000000] efi: mem60: [ACPI Memory NVS | | | | |
> > |WB|WT|WC|UC] range=[0x000000001ffae000-0x000000001ffb1000) (0MB)
> > [ 0.000000] efi: mem61: [Boot Data | | | | |
> > |WB|WT|WC|UC] range=[0x000000001ffb1000-0x0000000020000000) (0MB)
> > [ 0.000000] efi: mem62: [Memory Mapped I/O |RUN| | | | | | | |
> > ] range=[0x00000000ffc00000-0x00000000ffc18000) (0MB)
> > [ 0.000000] SMBIOS 2.6 present.
> > [ 0.000000] DMI: VMware, Inc. VMware7,1/440BX Desktop Reference
> > Platform, BIOS VMW71.00V.0.B64.1404140612 04/14/2014
> >
> > Size of bzImage: 10250672
> > Size of vmlinus: 28188076
> > Big size is due to included initrd.
> >
> > Any idea where to search further or how to gather some more useful data
> > with GDB?
> >
> > Thanks,
> > Bruno
--
To unsubscribe from this list: send the line "unsubscribe linux-efi" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html