kaf24@firebug.cl.cam.ac.uk d67f8a3d01 bitkeeper revision 1.1732 (42ba7fc5JvRaJiT14LMkB8SUdohfeA)
The attached patch now allows x86_64 xenlinux to run 32-bit x86 binaries
as the native x86_64 Linux does. I checked LTP using 32-bit binaries,
and got the same results on the native x86_64 Linux. At this point, 'int
0x80' is used for system calls, as it's unlikely that the fast systems
(sysenter or syscall) are significantly faster under the current
trampoline mechanism. However, it should be easy to replace
vsyscall-int80 with the fast system calls if one wants to do so (look at
USE_INT80 in the patch).

I found bugs with LDT handling in x86_64 Xen/XenLinux (exposed by 32-bit
LTP testcases fork05 and modify_ldt02), and the bugs have been fixed by
a separate patch in the next email:=20
[PATCH] [x86_64] Fixing LDT handling with x86_64 Xen

Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
2005-06-23 09:24:21 +00:00

###############################
__  __            ____    ___
\ \/ /___ _ __   |___ \  / _ \
 \  // _ \ '_ \    __) || | | |
 /  \  __/ | | |  / __/ | |_| |
/_/\_\___|_| |_| |_____(_)___/

###############################

University of Cambridge Computer Laboratory
3 November 2004

http://www.cl.cam.ac.uk/netos/xen/

What is Xen?
============

Xen is a Virtual Machine Monitor (VMM) originally developed by the
Systems Research Group of the University of Cambridge Computer
Laboratory, as part of the UK-EPSRC funded XenoServers project.
Xen is freely-distributable Open Source software, released under the
GNU GPL.

The 2.0 release offers excellent performance, hardware support and
enterprise-grade features such as live migration. Linux 2.6, 2.4 and
NetBSD 2.0 are already available for Xen, with more operating system
ports on the way.

This file contains some quick-start instructions to install Xen on
your system. For full documentation, see the Xen User Manual. If this
is a pre-built release then you can find the manual at:
 dist/install/usr/share/doc/xen/pdf/user.pdf
If you have a source release, then 'make -C docs' will build the
manual at docs/pdf/user.pdf.

Quick-Start Guide - Pre-Built Binary Release
============================================

[NB. Unless noted otherwise, all the following steps should be
performed with root privileges.]

1. Install the binary distribution onto your filesystem:
    # sh ./install.sh
   Amongst other things, this will install Xen and XenLinux kernel
   files in /boot, kernel modules and Python packages in /lib, and
   various control tools in standard 'bin' directories.

2. Configure your bootloader to boot Xen and an initial Linux virtual
   machine. Note that Xen currently only works with GRUB: less common
   alternatives such as LILO are *not* supported. You can most likely
   find your GRUB menu file at /boot/grub/menu.lst: edit this file to
   include an entry like the following:
    # title Xen 2.0 / XenLinux 2.6
    #   kernel /boot/xen-2.0.gz dom0_mem=<mem-kb> console=vga
    #   module /boot/vmlinuz-2.6-xen0 root=<root-dev> ro console=tty0
   For <mem-kb> you should specify the amount of memory, in kilobytes,
   to allocate for use by your initial XenLinux virtual machine. Note
   that Xen itself reserves about 32MB memory for internal use, which
   is not available for allocation to virtual machines.
   For <root-dev>, specify your usual root partition (e.g., /dev/hda1).

3. Reboot your system and select the "Xen 2.0 / XenLinux 2.6" menu
   option. After booting Xen, XenLinux will start and your
   initialisation scripts should execute in the usual way.

Quick-Start Guide - Source Release
==================================

First, there are a number of prerequisites for building a Xen source
release. Make sure you have all the following installed, either by
visiting the project webpage or installing a pre-built package
provided by your Linux distributor:
    * GCC (preferably v3.2.x or v3.3.x; older versions are unsupported) 
    * GNU Make
    * GNU Binutils
    * Development install of libcurl (e.g., libcurl-dev)
    * Development install of zlib (e.g., zlib-dev)
    * Development install of Python v2.2 or later (e.g., python-dev)

[NB. Unless noted otherwise, all the following steps should be
performed with root privileges.]
Languages
C 91.8%
Python 1.7%
Assembly 1.7%
Makefile 1.1%
Shell 1%
Other 2.4%