Re: Boot with EFI stub fails on VMWare during decompression

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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  |.N@......N@.....|    !=    |  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  |.N@......N@.....|    !=    |  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  |.N@......N@.....|    !=    |  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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux