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

[Xen-devel] Bootstrap in mini-os

Hi i hope this is the right mailing list for discussing stuff on Mini-OS.

1] I have been looking through its sources and I wanted to know what is the 
bootstrap code comprised of in Mini-os.

2] The start_info pages seem to contain bootstrap pages in them and also the 
mini-os kernel text loads itself at virtual address 0x00 as directed by the lds 
script so does the bootstrap code come from Xen loader.

3] Also I guess the start pfn begins after the bootstrap pfn as mentioned here??

 /* First page follows page table pages and 3 more pages (store page etc) */
    start_pfn = PFN_UP(to_phys(start_info.pt_base)) +
                start_info.nr_pt_frames + 3;

If so why is the text virtual address being deducted from bootstrap page in 
to_phys ??

#define VIRT_START                 ((unsigned long)&_text)
#define to_phys(x)                 ((unsigned long)(x)-VIRT_START)

4] So kernel text will reside before bootstrap code? Which is why I'm curious 
to know if this is part of bootloader code.

5] What is being achieved by deducting the kernel text virtual address from the 
bootstrap virtual address? I mean why do we not want to account for that space 
while organizing mini-os memory?
i.e. if text were to be loaded at 1MB and bootstrap was at 2 MB we will have 
start pfn at 1 MB according to the calculations above and not at 2MB. Why is 
that so?

6] Why are we Oring 7 with shared info page while mapping it with the 
                (unsigned long)shared_info, __pte(pa | 7), UVMF_INVLPG)

7] Will this virtual address be listed in the mfn_list, the page frame list for 
this VM before this hypercall?


Xen-devel mailing list



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