ia64/xen-unstable
changeset 2851:0956f3af9fd3
bitkeeper revision 1.1159.1.352 (4188f61ewtUImmubGZcL4WKujNUhMg)
Merge freefall.cl.cam.ac.uk:/auto/groups/xeno/BK/xeno.bk
into freefall.cl.cam.ac.uk:/local/scratch/kaf24/xeno
Merge freefall.cl.cam.ac.uk:/auto/groups/xeno/BK/xeno.bk
into freefall.cl.cam.ac.uk:/local/scratch/kaf24/xeno
author | kaf24@freefall.cl.cam.ac.uk |
---|---|
date | Wed Nov 03 15:15:42 2004 +0000 (2004-11-03) |
parents | 00560d53e611 a67d12405a6f |
children | 123bec0b692a 119930e9e60c |
files | .rootkeys README tools/check/check_ssl_lib xen/arch/x86/domain.c xen/common/page_alloc.c xen/include/asm-x86/apic.h |
line diff
1.1 --- a/.rootkeys Wed Nov 03 15:04:51 2004 +0000 1.2 +++ b/.rootkeys Wed Nov 03 15:15:42 2004 +0000 1.3 @@ -299,7 +299,6 @@ 4124b307HDX972-zihuZWXB7R8Vd0w tools/che 1.4 4124b307P3bZBkTFm6r-3XTbf0phAA tools/check/check_curl_lib 1.5 4124b307u-FeKvFP9kZnh0rLV0XjGg tools/check/check_logging 1.6 4124b307tRTjLqzRy60QrUoqN2Fhuw tools/check/check_python 1.7 -4124b307KcYJMtZ7r48AF-wyhyw-SQ tools/check/check_ssl_lib 1.8 4124b307XdznSNCv97lrT3RpOdMM1A tools/check/check_twisted 1.9 4124b307lnAATmulpXYa0M-dzxLBDA tools/check/check_zlib_devel 1.10 4124b308ly20ptMKQoiztPyP_X68Mw tools/check/check_zlib_lib
2.1 --- a/README Wed Nov 03 15:04:51 2004 +0000 2.2 +++ b/README Wed Nov 03 15:15:42 2004 +0000 2.3 @@ -8,25 +8,74 @@ 2.4 ############################### 2.5 2.6 University of Cambridge Computer Laboratory 2.7 -29 October 2004 2.8 +3 November 2004 2.9 2.10 http://www.cl.cam.ac.uk/netos/xen/ 2.11 2.12 -About the Xen Virtual Machine Monitor 2.13 -===================================== 2.14 +What is Xen? 2.15 +============ 2.16 2.17 Xen is a Virtual Machine Monitor (VMM) originally developed by the 2.18 Systems Research Group of the University of Cambridge Computer 2.19 Laboratory, as part of the UK-EPSRC funded XenoServers project. 2.20 +Xen is freely-distributable Open Source software, released under the 2.21 +GNU GPL. 2.22 2.23 The 2.0 release offers excellent performance, hardware support and 2.24 enterprise-grade features such as live migration. Linux 2.6, 2.4 and 2.25 NetBSD 2.0 are already available for Xen, with more operating system 2.26 ports on the way. 2.27 2.28 -Xen is freely-distributable Open Source software, released under the 2.29 -GNU GPL. 2.30 +This file contains some quick-start instructions to install Xen on 2.31 +your system. For full documentation, see the Xen User Manual. If this 2.32 +is a pre-built release then you can find the manual at: 2.33 + dist/install/usr/share/doc/xen/pdf/user.pdf 2.34 +If you have a source release, then 'make -C docs' will build the 2.35 +manual at docs/pdf/user.pdf. 2.36 + 2.37 +Quick-Start Guide - Pre-Built Binary Release 2.38 +============================================ 2.39 + 2.40 +[NB. Unless noted otherwise, all the following steps should be 2.41 +performed with root privileges.] 2.42 + 2.43 +1. Install the binary distribution onto your filesystem: 2.44 + # sh ./install.sh 2.45 + Amongst other things, this will install Xen and XenLinux kernel 2.46 + files in /boot, kernel modules and Python packages in /lib, and 2.47 + various control tools in standard 'bin' directories. 2.48 2.49 -For full documentation, see the Xen User Manual in docs/pdf/user.pdf 2.50 -(after running make -C docs) or the Documentation page on the Xen 2.51 -website. 2.52 +2. Configure your bootloader to boot Xen and an initial Linux virtual 2.53 + machine. Note that Xen currently only works with GRUB: less common 2.54 + alternatives such as LILO are *not* supported. You can most likely 2.55 + find your GRUB menu file at /boot/grub/menu.lst: edit this file to 2.56 + include an entry like the following: 2.57 + # title Xen 2.0 / XenLinux 2.6.9 2.58 + # kernel /boot/xen.gz dom0_mem=<mem-kb> console=vga 2.59 + # module /boot/vmlinuz-2.6.9-xen0 root=<root-dev> ro console=tty0 2.60 + For <mem-kb> you should specify the amount of memory, in kilobytes, 2.61 + to allocate for use by your initial XenLinux virtual machine. Note 2.62 + that Xen itself reserves about 32MB memory for internal use, which 2.63 + is not available for allocation to virtual machines. 2.64 + For <root-dev>, specify your usual root partition (e.g., /dev/hda1). 2.65 + 2.66 +3. Reboot your system and select the "Xen 2.0 / XenLinux 2.6.9" menu 2.67 + option. After booting Xen, XenLinux will start and your 2.68 + initialisation scripts should execute in the usual way. 2.69 + 2.70 +Quick-Start Guide - Source Release 2.71 +================================== 2.72 + 2.73 +First, there are a number of prerequisites for building a Xen source 2.74 +release. Make sure you have all the following installed, either by 2.75 +visiting the project webpage or installing a pre-built package 2.76 +provided by your Linux distributor: 2.77 + * GCC (preferably v3.2.x or v3.3.x; older versions are unsupported) 2.78 + * GNU Make 2.79 + * GNU Binutils 2.80 + * Development install of libcurl (e.g., libcurl-dev) 2.81 + * Development install of zlib (e.g., zlib-dev) 2.82 + * Development install of Python v2.2 or later (e.g., python-dev) 2.83 + 2.84 +[NB. Unless noted otherwise, all the following steps should be 2.85 +performed with root privileges.]
3.1 --- a/tools/check/check_ssl_lib Wed Nov 03 15:04:51 2004 +0000 3.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 3.3 @@ -1,10 +0,0 @@ 3.4 -#!/bin/bash 3.5 -# CHECK-BUILD CHECK-INSTALL 3.6 - 3.7 -function error { 3.8 - echo "Check for ssl library failed." 3.9 - exit 1 3.10 -} 3.11 - 3.12 -set -e 3.13 -ldconfig -p | grep libssl.so || error 3.14 \ No newline at end of file
4.1 --- a/xen/arch/x86/domain.c Wed Nov 03 15:04:51 2004 +0000 4.2 +++ b/xen/arch/x86/domain.c Wed Nov 03 15:15:42 2004 +0000 4.3 @@ -699,7 +699,25 @@ int construct_dom0(struct domain *p, 4.4 } 4.5 4.6 /* Paranoia: scrub DOM0's memory allocation. */ 4.7 - memset((void *)alloc_start, 0, alloc_end - alloc_start); 4.8 + printk("Scrubbing DOM0 RAM: "); 4.9 + dst = (char *)alloc_start; 4.10 + while ( dst < (char *)alloc_end ) 4.11 + { 4.12 +#define SCRUB_BYTES (100 * 1024 * 1024) /* 100MB */ 4.13 + printk("."); 4.14 + touch_nmi_watchdog(); 4.15 + if ( ((char *)alloc_end - dst) > SCRUB_BYTES ) 4.16 + { 4.17 + memset(dst, 0, SCRUB_BYTES); 4.18 + dst += SCRUB_BYTES; 4.19 + } 4.20 + else 4.21 + { 4.22 + memset(dst, 0, (char *)alloc_end - dst); 4.23 + break; 4.24 + } 4.25 + } 4.26 + printk("done.\n"); 4.27 4.28 /* Construct a frame-allocation list for the initial domain. */ 4.29 for ( mfn = (alloc_start>>PAGE_SHIFT);
5.1 --- a/xen/common/page_alloc.c Wed Nov 03 15:04:51 2004 +0000 5.2 +++ b/xen/common/page_alloc.c Wed Nov 03 15:15:42 2004 +0000 5.3 @@ -293,8 +293,17 @@ void scrub_heap_pages(void) 5.4 void *p; 5.5 unsigned long pfn, flags; 5.6 5.7 + printk("Scrubbing Free RAM: "); 5.8 + 5.9 for ( pfn = 0; pfn < (bitmap_size * 8); pfn++ ) 5.10 { 5.11 + /* Every 100MB, print a progress dot and appease the watchdog. */ 5.12 + if ( (pfn % ((100*1024*1024)/PAGE_SIZE)) == 0 ) 5.13 + { 5.14 + printk("."); 5.15 + touch_nmi_watchdog(); 5.16 + } 5.17 + 5.18 /* Quick lock-free check. */ 5.19 if ( allocated_in_map(pfn) ) 5.20 continue; 5.21 @@ -311,6 +320,8 @@ void scrub_heap_pages(void) 5.22 5.23 spin_unlock_irqrestore(&heap_lock, flags); 5.24 } 5.25 + 5.26 + printk("done.\n"); 5.27 } 5.28 5.29
6.1 --- a/xen/include/asm-x86/apic.h Wed Nov 03 15:04:51 2004 +0000 6.2 +++ b/xen/include/asm-x86/apic.h Wed Nov 03 15:15:42 2004 +0000 6.3 @@ -77,7 +77,8 @@ extern void init_apic_mappings (void); 6.4 extern void smp_local_timer_interrupt (struct xen_regs * regs); 6.5 extern void setup_APIC_clocks (void); 6.6 extern void setup_apic_nmi_watchdog (void); 6.7 -extern inline void nmi_watchdog_tick (struct xen_regs * regs); 6.8 +extern void nmi_watchdog_tick (struct xen_regs * regs); 6.9 +extern void touch_nmi_watchdog(void); 6.10 extern int APIC_init_uniprocessor (void); 6.11 extern void disable_APIC_timer(void); 6.12 extern void enable_APIC_timer(void);