On Mon, 2007-02-19 at 20:01 +0530, Pradeep Singh, TLS-Chennai wrote:
>
> hi all,
hi.
> I installed Xen on my Gentoo machine successfully from source.
> Now i am going through the code.
> instead of banging aimlessly for a week or so i thought i should ask
> the mailing list the following small doubts.
>
> I noticed that following directories are there in my
> xen-3.0.3_0-src directories.
>
> 1. linux-2.6.-xen-sparse
'sparse tree' patched into the
> 2. pristine-linux-2.6.16.29
plain, vanilla, well, pristine linux-2.6. renamed to this after untar.
> 3. linux-2.6.16.29-xen
the hybrid kernel. see ./README
> 4. ref-linux-2.6.16.29
pristine, patched up to hold xen subarches.
> 5. linux-2.6.16.29-xen0
dom0 source + build
> 6. linux-2.6.16.29-xenU
domU source + build
> 7. xen
the hypervisor itself
> 8. unmodified_drivers
got me. i've been asking this myself lately and didn't really bother
yet.
> only these directories look like holding the source.
> As it looks from the directories i assumed that the xen dom0 patched
> code must be residing in the linux-2.6.16.29-xen0 directory and that
> of patched xen domU in linux-2.6.16.29-xen0.
> Am i right? or i am missing something?
unless you build a hybrid domO/U kernel (-xen), true. again, see
the ./README.
but these are not really source trees, i.e. rebuilt after distribution.
> What exactly does the other directories signify?
docs/
obvious.
run 'make pdf' in there, or whatever your preferred format
is. watch out for missing tools. (latex, etc.)
tools/
python/
supplementary pytyon code, xend, xm.
simple language made hard to read. >:)
libxc/
xenctrl. domain control from dom0 userland.
supplementing xend et al.
important stuff for studies.
extra/mini-os
a very small operating system,
used for verifying/testing/demo purposes
> Secondly , if i want to start studying the Xen code what would be the
> correct path to follow.
> By path i mean is which the directory i should start digging first?
start with docs/. no, really :) reading the interface manual should get
you a good introduction.
follow the xen code, presumably by tracking some hypercall paths from
arch/x86//entry.S. branch from there to whatever you see fit. for
hypercalls, see docs//interface.pdf.
before or after, see tools/console/daemon for a considerably simple
example on how domains and xen are typically wired in between.
learn about the basic data structures. see what a vcpu and a domain
means. then follow common/event_channel.c from some point of signal
emission down to reception by the domain handling.
if you know linux, lookup the entries in the linux kernel (path layout
should be stunningly similar). if you prefer a more comprehensive
example, take a look around mini-os.
these all assume paravirtual guests are your focus. if you need to learn
about hardware VMs, the path might look different, but i suppose i'd
recommend to see paravirtualization first in any case.
> If a doc about code organisation of the Xen can be given that will be
> great.
>
> Any other links or pointer'll be appreciated.
>
> Thanks in Advance
>
> pradeep
>
regards,
daniel
--
Daniel Stodden
LRR - Lehrstuhl für Rechnertechnik und Rechnerorganisation
Institut für Informatik der TU München D-85748 Garching
http://www.lrr.in.tum.de/~stodden mailto:stodden@xxxxxxxxxx
PGP Fingerprint: F5A4 1575 4C56 E26A 0B33 3D80 457E 82AE B0D8 735B
signature.asc
Description: This is a digitally signed message part
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|