Should Xen be a sub-arch or a build option?

Dag-Erling Smørgrav des at des.no
Mon Oct 22 05:08:14 PDT 2007


"Kip Macy" <kip.macy at gmail.com> writes:
> Let me say in advance that this is not an invitation to discuss the
> technical merits of xen. This is purely a request to discuss how one
> would structure the tree were one to import it into CVS.
>
> Hypothetically speaking, if one were to import Xen support into CVS
> what would be the best way to go about it?
>
> There are a number of choices when doing it as a sub-arch:
>   - A separate directory for i386 and amd64
>       - sys/xen-i386
>       - sys/xen-amd64
>  - A shared directory as most of the bits will be shared:
>       - sys/xen          - common bits
>       - sys/xen/i386   - i386 specific bits
>       - sys/xen/amd64 - amd64 specific bits
>
> It could, in principle, also be done as a build option. I'm not sure
> how well it would mesh with the existing build tools as there are a
> number of files that I would not want to compile in (e.g. code that
> talked directly to the BIOS) that is normally built by default. In
> that case I would structure it:
>
>       - sys/i386/xen     - xen specific bits for i386
>       - sys/amd64/xen - xen specific bits for amd64

I'd say a kernel option would be the best choice; code that isn't
relevant for Xen but is otherwise compiled by default can be bracketed
with #ifndef XEN.

> There is also a question of where the drivers should be put. I propose
> that they would be put under sys/dev/xen, so you would have e.g.
> sys/dev/xen/xennet, sys/dev/xen/xenblk etc.

Sounds reasonable.

DES
-- 
Dag-Erling Smørgrav - des at des.no


More information about the freebsd-arch mailing list