Mailing List Archive

New qemu-based ioemu for fully virtualised guests.
ChangeSet 1.1476, 2005/05/19 23:05:02+01:00, kaf24@firebug.cl.cam.ac.uk

New qemu-based ioemu for fully virtualised guests.
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Signed-off-by: Keir Fraser <keir@xensource.com>



b/tools/Makefile | 20
b/tools/ioemu/COPYING | 339 +
b/tools/ioemu/COPYING.LIB | 504 ++
b/tools/ioemu/Changelog | 295 +
b/tools/ioemu/Makefile | 147
b/tools/ioemu/Makefile.target | 392 +
b/tools/ioemu/README | 61
b/tools/ioemu/README.distrib | 16
b/tools/ioemu/TODO | 66
b/tools/ioemu/VERSION | 1
b/tools/ioemu/block-cloop.c | 167
b/tools/ioemu/block-cow.c | 263 +
b/tools/ioemu/block-qcow.c | 677 +++
b/tools/ioemu/block-vmdk.c | 279 +
b/tools/ioemu/block.c | 548 ++
b/tools/ioemu/block_int.h | 77
b/tools/ioemu/bswap.h | 202
b/tools/ioemu/configure | 585 ++
b/tools/ioemu/console.c | 731 +++
b/tools/ioemu/cpu-all.h | 688 +++
b/tools/ioemu/cpu-defs.h | 95
b/tools/ioemu/cpu.h | 69
b/tools/ioemu/create_keysym_header.sh | 77
b/tools/ioemu/exec-all.h | 579 ++
b/tools/ioemu/exec.c | 461 ++
b/tools/ioemu/hw/adb.c | 386 +
b/tools/ioemu/hw/adlib.c | 313 +
b/tools/ioemu/hw/cirrus_vga.c | 3115 +++++++++++++++
b/tools/ioemu/hw/cirrus_vga_rop.h | 78
b/tools/ioemu/hw/cirrus_vga_rop2.h | 260 +
b/tools/ioemu/hw/cuda.c | 614 +++
b/tools/ioemu/hw/dma.c | 535 ++
b/tools/ioemu/hw/fdc.c | 1719 ++++++++
b/tools/ioemu/hw/fmopl.c | 1390 ++++++
b/tools/ioemu/hw/fmopl.h | 174
b/tools/ioemu/hw/i8254.c | 505 ++
b/tools/ioemu/hw/i8259.c | 528 ++
b/tools/ioemu/hw/ide.c | 2318 +++++++++++
b/tools/ioemu/hw/iommu.c | 218 +
b/tools/ioemu/hw/lance.c | 468 ++
b/tools/ioemu/hw/m48t08.c | 391 +
b/tools/ioemu/hw/m48t08.h | 12
b/tools/ioemu/hw/m48t59.c | 602 ++
b/tools/ioemu/hw/m48t59.h | 13
b/tools/ioemu/hw/magic-load.c | 326 +
b/tools/ioemu/hw/mc146818rtc.c | 463 ++
b/tools/ioemu/hw/ne2000.c | 684 +++
b/tools/ioemu/hw/openpic.c | 1023 +++++
b/tools/ioemu/hw/pc.c | 575 ++
b/tools/ioemu/hw/pci.c | 1524 +++++++
b/tools/ioemu/hw/pckbd.c | 919 ++++
b/tools/ioemu/hw/ppc.c | 462 ++
b/tools/ioemu/hw/ppc_chrp.c | 233 +
b/tools/ioemu/hw/ppc_prep.c | 548 ++
b/tools/ioemu/hw/sb16.c | 1268 ++++++
b/tools/ioemu/hw/sched.c | 268 +
b/tools/ioemu/hw/serial.c | 279 +
b/tools/ioemu/hw/sun4m.c | 113
b/tools/ioemu/hw/tcx.c | 207 +
b/tools/ioemu/hw/timer.c | 97
b/tools/ioemu/hw/vga.c | 2059 ++++++++++
b/tools/ioemu/hw/vga_int.h | 168
b/tools/ioemu/hw/vga_template.h | 519 ++
b/tools/ioemu/i386-vl.ld | 140
b/tools/ioemu/i386.ld | 140
b/tools/ioemu/keyboard_rdesktop.c | 165
b/tools/ioemu/keymaps/ar | 98
b/tools/ioemu/keymaps/common | 157
b/tools/ioemu/keymaps/convert-map | 63
b/tools/ioemu/keymaps/da | 120
b/tools/ioemu/keymaps/de | 114
b/tools/ioemu/keymaps/de-ch | 169
b/tools/ioemu/keymaps/en-gb | 119
b/tools/ioemu/keymaps/en-us | 35
b/tools/ioemu/keymaps/es | 105
b/tools/ioemu/keymaps/et | 86
b/tools/ioemu/keymaps/fi | 124
b/tools/ioemu/keymaps/fo | 77
b/tools/ioemu/keymaps/fr | 181
b/tools/ioemu/keymaps/fr-be | 140
b/tools/ioemu/keymaps/fr-ca | 50
b/tools/ioemu/keymaps/fr-ch | 114
b/tools/ioemu/keymaps/hr | 125
b/tools/ioemu/keymaps/hu | 115
b/tools/ioemu/keymaps/is | 140
b/tools/ioemu/keymaps/it | 115
b/tools/ioemu/keymaps/ja | 104
b/tools/ioemu/keymaps/lt | 57
b/tools/ioemu/keymaps/lv | 128
b/tools/ioemu/keymaps/mk | 101
b/tools/ioemu/keymaps/modifiers | 17
b/tools/ioemu/keymaps/nl | 60
b/tools/ioemu/keymaps/nl-be | 3
b/tools/ioemu/keymaps/no | 119
b/tools/ioemu/keymaps/pl | 122
b/tools/ioemu/keymaps/pt | 113
b/tools/ioemu/keymaps/pt-br | 69
b/tools/ioemu/keymaps/ru | 109
b/tools/ioemu/keymaps/sl | 110
b/tools/ioemu/keymaps/sv | 82
b/tools/ioemu/keymaps/th | 131
b/tools/ioemu/keymaps/tr | 123
b/tools/ioemu/main.c | 250 +
b/tools/ioemu/monitor.c | 282 +
b/tools/ioemu/osdep.c | 499 ++
b/tools/ioemu/osdep.h | 50
b/tools/ioemu/path.c | 147
b/tools/ioemu/pc-bios/Makefile | 24
b/tools/ioemu/pc-bios/README | 13
b/tools/ioemu/pc-bios/bios.bin |binary
b/tools/ioemu/pc-bios/bios.diff | 108
b/tools/ioemu/pc-bios/linux_boot.S | 29
b/tools/ioemu/pc-bios/linux_boot.bin |binary
b/tools/ioemu/pc-bios/ppc_rom.bin |binary
b/tools/ioemu/pc-bios/proll.bin |binary
b/tools/ioemu/pc-bios/proll.patch | 36
b/tools/ioemu/pc-bios/vgabios-cirrus.bin |binary
b/tools/ioemu/pc-bios/vgabios.bin |binary
b/tools/ioemu/qemu-binfmt-conf.sh | 34
b/tools/ioemu/qemu-doc.html | 1793 ++++++++
b/tools/ioemu/qemu-doc.texi | 1296 ++++++
b/tools/ioemu/qemu-img.c | 698 +++
b/tools/ioemu/qemu-mkcow.1 | 105
b/tools/ioemu/qemu-tech.html | 1303 ++++++
b/tools/ioemu/qemu-tech.texi | 494 ++
b/tools/ioemu/qemu.1 | 457 ++
b/tools/ioemu/readline.c | 424 ++
b/tools/ioemu/sdl.c | 605 ++
b/tools/ioemu/target-i386-dm/device-model | 69
b/tools/ioemu/target-i386-dm/helper2.c | 434 ++
b/tools/ioemu/target-i386-dm/qemu-ifup | 10
b/tools/ioemu/target-i386-dm/qemu-vgaram-bin.gz |binary
b/tools/ioemu/tests/Makefile | 84
b/tools/ioemu/tests/hello-arm.c | 113
b/tools/ioemu/tests/hello-i386.c | 26
b/tools/ioemu/tests/linux-test.c | 536 ++
b/tools/ioemu/tests/pi_10.com |binary
b/tools/ioemu/tests/qruncom.c | 308 +
b/tools/ioemu/tests/runcom.c | 195
b/tools/ioemu/tests/sha1.c | 242 +
b/tools/ioemu/tests/test-i386-code16.S | 97
b/tools/ioemu/tests/test-i386-muldiv.h | 56
b/tools/ioemu/tests/test-i386-shift.h | 143
b/tools/ioemu/tests/test-i386-vm86.S | 104
b/tools/ioemu/tests/test-i386.c | 1706 ++++++++
b/tools/ioemu/tests/test-i386.h | 131
b/tools/ioemu/tests/test_path.c | 152
b/tools/ioemu/tests/testthread.c | 51
b/tools/ioemu/texi2pod.pl | 428 ++
b/tools/ioemu/thunk.c | 243 +
b/tools/ioemu/thunk.h | 158
b/tools/ioemu/vgafont.h | 4611 ++++++++++++++++++++++
b/tools/ioemu/vl.c | 2978 ++++++++++++++
b/tools/ioemu/vl.h | 786 +++
b/tools/ioemu/vnc.c | 501 ++
tools/ioemu/font/vga.bitmap.h | 288 -
tools/ioemu/gui/Makefile | 12
tools/ioemu/gui/Makefile.in | 561 --
tools/ioemu/gui/bitmaps/cdromd.h | 34
tools/ioemu/gui/bitmaps/cdromd.xpm | 41
tools/ioemu/gui/bitmaps/configbutton.h | 16
tools/ioemu/gui/bitmaps/configbutton.xpm | 41
tools/ioemu/gui/bitmaps/copy.h | 18
tools/ioemu/gui/bitmaps/copy.xpm | 41
tools/ioemu/gui/bitmaps/floppya.h | 34
tools/ioemu/gui/bitmaps/floppya.xpm | 41
tools/ioemu/gui/bitmaps/floppyb.h | 34
tools/ioemu/gui/bitmaps/floppyb.xpm | 41
tools/ioemu/gui/bitmaps/mouse.h | 34
tools/ioemu/gui/bitmaps/mouse.xpm | 41
tools/ioemu/gui/bitmaps/paste.h | 18
tools/ioemu/gui/bitmaps/paste.xpm | 41
tools/ioemu/gui/bitmaps/power.h | 20
tools/ioemu/gui/bitmaps/power.xpm | 41
tools/ioemu/gui/bitmaps/reset.h | 20
tools/ioemu/gui/bitmaps/reset.xpm | 41
tools/ioemu/gui/bitmaps/snapshot.h | 20
tools/ioemu/gui/bitmaps/snapshot.xpm | 41
tools/ioemu/gui/bitmaps/userbutton.h | 19
tools/ioemu/gui/bitmaps/userbutton.xpm | 40
tools/ioemu/gui/gui.cc | 601 --
tools/ioemu/gui/gui.h | 352 -
tools/ioemu/gui/icon_bochs.h | 40
tools/ioemu/gui/icon_bochs.xpm | 45
tools/ioemu/gui/keymap.cc | 330 -
tools/ioemu/gui/keymap.h | 77
tools/ioemu/gui/keymaps/convertmap.pl | 14
tools/ioemu/gui/keymaps/sdl-pc-de.map | 222 -
tools/ioemu/gui/keymaps/sdl-pc-us.map | 211 -
tools/ioemu/gui/keymaps/x11-pc-be.map | 220 -
tools/ioemu/gui/keymaps/x11-pc-da.map | 247 -
tools/ioemu/gui/keymaps/x11-pc-de.map | 247 -
tools/ioemu/gui/keymaps/x11-pc-es.map | 217 -
tools/ioemu/gui/keymaps/x11-pc-fr.map | 218 -
tools/ioemu/gui/keymaps/x11-pc-it.map | 207 -
tools/ioemu/gui/keymaps/x11-pc-se.map | 278 -
tools/ioemu/gui/keymaps/x11-pc-uk.map | 209 -
tools/ioemu/gui/keymaps/x11-pc-us.map | 205 -
tools/ioemu/gui/nogui.cc | 336 -
tools/ioemu/gui/rfb.cc | 1508 -------
tools/ioemu/gui/rfb.h | 35
tools/ioemu/gui/rfbproto.h | 675 ---
tools/ioemu/gui/sdl.h | 1038 -----
tools/ioemu/gui/sdlkeys.h | 257 -
tools/ioemu/gui/siminterface.cc | 1411 ------
tools/ioemu/gui/siminterface.h | 1460 -------
tools/ioemu/gui/svga.cc | 514 --
tools/ioemu/gui/term.cc | 843 ----
tools/ioemu/gui/textconfig.cc | 995 ----
tools/ioemu/gui/textconfig.h | 19
tools/ioemu/gui/x.cc | 1848 ---------
tools/ioemu/include/bochs.h | 771 ---
tools/ioemu/include/bxversion.h | 7
tools/ioemu/include/config.h | 919 ----
tools/ioemu/include/cpu/cpu.h | 116
tools/ioemu/include/extplugin.h | 51
tools/ioemu/include/instrument.h | 256 -
tools/ioemu/include/ltdl.h | 398 -
tools/ioemu/include/ltdlconf.h | 161
tools/ioemu/include/osdep.h | 176
tools/ioemu/include/pc_system.h | 226 -
tools/ioemu/include/plugin.h | 323 -
tools/ioemu/include/state_file.h | 61
tools/ioemu/iodev/Makefile | 23
tools/ioemu/iodev/aspi-win32.h | 210 -
tools/ioemu/iodev/biosdev.cc | 212 -
tools/ioemu/iodev/biosdev.h | 63
tools/ioemu/iodev/cdrom.cc | 1338 ------
tools/ioemu/iodev/cdrom.h | 67
tools/ioemu/iodev/cdrom_beos.h | 10
tools/ioemu/iodev/cmos.cc | 824 ----
tools/ioemu/iodev/cmos.h | 90
tools/ioemu/iodev/cpu.cc | 358 -
tools/ioemu/iodev/crc32.cc | 49
tools/ioemu/iodev/crc32.h | 25
tools/ioemu/iodev/devices.cc | 685 ---
tools/ioemu/iodev/dma.cc | 825 ----
tools/ioemu/iodev/dma.h | 114
tools/ioemu/iodev/eth.cc | 194
tools/ioemu/iodev/eth.h | 76
tools/ioemu/iodev/eth_arpback.cc | 214 -
tools/ioemu/iodev/eth_fbsd.cc | 385 -
tools/ioemu/iodev/eth_linux.cc | 286 -
tools/ioemu/iodev/eth_null.cc | 164
tools/ioemu/iodev/eth_packetmaker.cc | 184
tools/ioemu/iodev/eth_packetmaker.h | 135
tools/ioemu/iodev/eth_tap.cc | 370 -
tools/ioemu/iodev/eth_tuntap.cc | 401 -
tools/ioemu/iodev/extfpuirq.cc | 107
tools/ioemu/iodev/extfpuirq.h | 51
tools/ioemu/iodev/floppy.cc | 1633 --------
tools/ioemu/iodev/floppy.h | 138
tools/ioemu/iodev/gameport.cc | 242 -
tools/ioemu/iodev/gameport.h | 63
tools/ioemu/iodev/guest2host.h | 77
tools/ioemu/iodev/harddrv.cc | 4880 ------------------------
tools/ioemu/iodev/harddrv.h | 765 ---
tools/ioemu/iodev/ioapic.cc | 175
tools/ioemu/iodev/ioapic.h | 54
tools/ioemu/iodev/iodebug.cc | 354 -
tools/ioemu/iodev/iodebug.h | 35
tools/ioemu/iodev/iodev.h | 422 --
tools/ioemu/iodev/keyboard.cc | 1611 -------
tools/ioemu/iodev/keyboard.h | 234 -
tools/ioemu/iodev/load32bitOShack.cc | 322 -
tools/ioemu/iodev/logio.cc | 631 ---
tools/ioemu/iodev/main.cc | 4071 --------------------
tools/ioemu/iodev/ne2k.cc | 1608 -------
tools/ioemu/iodev/ne2k.h | 239 -
tools/ioemu/iodev/osdep.cc | 340 -
tools/ioemu/iodev/parallel.cc | 300 -
tools/ioemu/iodev/parallel.h | 78
tools/ioemu/iodev/pc_system.cc | 570 --
tools/ioemu/iodev/pci.cc | 467 --
tools/ioemu/iodev/pci.h | 90
tools/ioemu/iodev/pci2isa.cc | 294 -
tools/ioemu/iodev/pci2isa.h | 63
tools/ioemu/iodev/pciusb.cc | 668 ---
tools/ioemu/iodev/pciusb.h | 195
tools/ioemu/iodev/pcivga.cc | 248 -
tools/ioemu/iodev/pcivga.h | 48
tools/ioemu/iodev/pic.cc | 887 ----
tools/ioemu/iodev/pic.h | 97
tools/ioemu/iodev/pit.cc | 856 ----
tools/ioemu/iodev/pit.h | 103
tools/ioemu/iodev/pit82c54.cc | 930 ----
tools/ioemu/iodev/pit82c54.h | 143
tools/ioemu/iodev/pit_wrap.cc | 444 --
tools/ioemu/iodev/pit_wrap.h | 104
tools/ioemu/iodev/plugin.cc | 554 --
tools/ioemu/iodev/scancodes.cc | 770 ---
tools/ioemu/iodev/scancodes.h | 31
tools/ioemu/iodev/scsi_commands.h | 418 --
tools/ioemu/iodev/scsidefs.h | 286 -
tools/ioemu/iodev/scsipt.h | 144
tools/ioemu/iodev/serial.cc | 1001 ----
tools/ioemu/iodev/serial.h | 193
tools/ioemu/iodev/serial_raw.h | 23
tools/ioemu/iodev/slowdown_timer.cc | 182
tools/ioemu/iodev/slowdown_timer.h | 33
tools/ioemu/iodev/soundlnx.cc | 227 -
tools/ioemu/iodev/soundlnx.h | 69
tools/ioemu/iodev/soundwin.cc | 521 --
tools/ioemu/iodev/soundwin.h | 229 -
tools/ioemu/iodev/state_file.cc | 136
tools/ioemu/iodev/unmapped.cc | 305 -
tools/ioemu/iodev/unmapped.h | 64
tools/ioemu/iodev/vga.cc | 3116 ---------------
tools/ioemu/iodev/vga.h | 300 -
tools/ioemu/iodev/virt_timer.cc | 552 --
tools/ioemu/iodev/virt_timer.h | 131
tools/ioemu/memory/Makefile | 12
tools/ioemu/memory/memory.cc | 450 --
tools/ioemu/memory/memory.h | 104
tools/ioemu/memory/misc_mem.cc | 440 --
tools/ioemu/mk/helix.mk | 6
316 files changed, 59640 insertions(+), 62180 deletions(-)


diff -Nru a/tools/Makefile b/tools/Makefile
--- a/tools/Makefile 2005-05-19 19:06:43 -04:00
+++ b/tools/Makefile 2005-05-19 19:06:43 -04:00
@@ -10,30 +10,36 @@
SUBDIRS += python
SUBDIRS += xfrd
SUBDIRS += xcs
-ifndef XEN_NO_IOEMU
-SUBDIRS += ioemu
-endif
SUBDIRS += pygrub

-.PHONY: all install clean check check_clean
+.PHONY: all install clean check check_clean ioemu eioemuinstall ioemuclean
+
+ifndef XEN_NO_IOEMU
+ioemu ioemuinstall ioemuclean:
+ [ -f ioemu/config-host.h ] || \
+ (cd ioemu; ./configure --prefix=$(DESTDIR)/usr)
+ $(MAKE) -C ioemu $(patsubst ioemu%,%,$@)
+else
+ioemu ioemuinstall ioemuclean:
+endif

all: check
@set -e; for subdir in $(SUBDIRS); do \
- if [ -f $$subdir/configure ]; then \
- (cd $$subdir; ./configure --prefix=$(DESTDIR)/usr) \
- fi; \
$(MAKE) -C $$subdir $@; \
done
+ $(MAKE) ioemu

install: check
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
done
+ $(MAKE) ioemuinstall

clean: check_clean
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
done
+ $(MAKE) ioemuclean

check:
$(MAKE) -C check
diff -Nru a/tools/ioemu/COPYING b/tools/ioemu/COPYING
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/tools/ioemu/COPYING 2005-05-19 19:06:46 -04:00
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 675 Mass Ave, Cambridge, MA 02139, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xensource.com
http://lists.xensource.com/xen-changelog