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

Re: [Xen-devel] Confused about start of day setup



Keir Fraser <Keir.Fraser@xxxxxxxxxxxx> writes:

> On 25/9/07 01:52, "Goswin von Brederlow"
> <brederlo@xxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
>
>> And once more I answere myself. I thought it was the stack being wrong
>> because the return value of a function was stored in the
>> phys_to_machine_mapping. But actualy it the variable this value gets
>> saved in that is there.
>> 
>> What decides where the phys_to_machine_mapping frames ends up?
>> 
>> As it is I get it at [0x121000 - 0x127000], which happens to be
>> overlapping with my bss section:
>
> The domain builder accounts for BSS space, so it sounds like you have a
> broken domU kernel image that does not specify enough BSS space in its
> program header. If you 'objdump -l' your kernel's image file, does the
> 'MemSiz' plus the load address entirely cover your BSS?
>
>  -- Keir

I think you ment readelf -l and no. MemSize says 1200f0 and then
121000 is the next page.

But it is not something I did wrong. The Mini-OS example kernel is
already broken in this way:

mrvn@book:~/src/xen/xen-3-3.1.0/extras/mini-os% readelf -l mini-os       

Elf file type is EXEC (Executable file)
Entry point 0x0
There are 2 program headers, starting at offset 64

Program Headers:
  Type           Offset             VirtAddr           PhysAddr
                 FileSiz            MemSiz              Flags  Align
  LOAD           0x00000000000000c0 0x0000000000000000 0x0000000000000000
                 0x00000000000105d0 0x0000000000023f88  RWE    20
  GNU_STACK      0x0000000000000000 0x0000000000000000 0x0000000000000000
                 0x0000000000000000 0x0000000000000000  RWE    8

 Section to Segment mapping:
  Segment Sections...
   00     .text .rodata .data .data.rel.ro.local .data.rel .data.rel.local .got 
.got.plt 
   01     

mrvn@book:~/src/xen/xen-3-3.1.0/extras/mini-os% objdump -t mini-os | sort
...
0000000000012000 l    d  .bss   0000000000000000 .bss
...
0000000000024960 g     O .bss   0000000000000020 xen_features
0000000000024980 g     O .bss   0000000000000008 HYPERVISOR_shared_info
00000000000249a0 g     O .bss   0000000000001000 tx_buffers
00000000000259a0 g     O .bss   0000000000000008 phys_to_machine_mapping
00000000000259a8 g       *ABS*  0000000000000000 _end
0000000080000000 l       *ABS*  0000000000000000 NMI_MASK
SYMBOL TABLE:
mini-os:     file format elf64-x86-64


So the MemSize only covers part of the bss segment. Why would ld do that?

MfG
        Goswin

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.