ia64/xen-unstable

annotate COPYING @ 18447:f2bd9bbb0593

xc_save: ignore the first suspend event channel notification

I've noticed that the suspend event channel becomes pending as soon as
it is bound. I'm not sure why or whether this is intentional, but it
means that the suspend function will return before the domain has
completed suspending unless the first notification is cleared. Without
this patch, xc_domain_save may find that the guest has not suspended
and sleep in 10ms chunks until it does. Typically this is several
milliseconds of wasted time.

From: Brendan Cully <brendan@cs.ubc.ca>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Mon Sep 08 11:16:23 2008 +0100 (2008-09-08)
parents 1712c62b913c
children 7a215fae6f1f
rev   line source
kaf24@2697 1
kaf24@2697 2 GNU General Public License
kaf24@2697 3 --------------------------
kaf24@2697 4
kaf24@2697 5 Most files in this repository are licensed under the terms of the GNU
kaf24@2697 6 General Public License (GPL), a copy of which is attached at the end
kaf24@2697 7 of this notice. Note that the only valid version of the GPL as far as
kaf24@2697 8 the files in this repository are concerned is _this_ particular
kaf24@2697 9 version of the license (i.e., *only* v2, not v2.2 or v3.x or
kaf24@2697 10 whatever), unless explicitly otherwise stated.
kaf24@2697 11
kaf24@2697 12 Licensing Exceptions (the relaxed BSD-style license)
kaf24@2697 13 ----------------------------------------------------
kaf24@2697 14
kaf24@2697 15 For the convenience of users and those who are porting OSes to run as
kaf24@2697 16 Xen guests, certain files in this repository are not subject to the
kaf24@2697 17 GPL when distributed separately or included in software packages
kaf24@2697 18 outside this repository. Instead we specify a much more relaxed
kaf24@2697 19 BSD-style license. Affected files include the Xen interface headers
kaf24@2789 20 (xen/include/public/COPYING), and various drivers, support functions
ian@15259 21 and header files within the Linux source trees on
ian@15259 22 http://xenbits.xensource.com/linux-2.6.X-xen.hg. In all such cases,
ian@15259 23 license terms are stated at the top of the file or in a COPYING file
ian@15259 24 in the same directory. Note that _any_ file that is modified and then
ian@15259 25 distributed within a Linux kernel is still subject to the GNU GPL.
kaf24@2697 26
kaf24@2697 27 -- Keir Fraser (on behalf of the Xen team)
kaf24@2697 28
kaf24@2697 29 =====================================================================
kaf24@2697 30
kaf24@2697 31 GNU GENERAL PUBLIC LICENSE
kaf24@2697 32 Version 2, June 1991
kaf24@2697 33
kaf24@2697 34 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
kaf24@2697 35 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
kaf24@2697 36 Everyone is permitted to copy and distribute verbatim copies
kaf24@2697 37 of this license document, but changing it is not allowed.
kaf24@2697 38
kaf24@2697 39 Preamble
kaf24@2697 40
kaf24@2697 41 The licenses for most software are designed to take away your
kaf24@2697 42 freedom to share and change it. By contrast, the GNU General Public
kaf24@2697 43 License is intended to guarantee your freedom to share and change free
kaf24@2697 44 software--to make sure the software is free for all its users. This
kaf24@2697 45 General Public License applies to most of the Free Software
kaf24@2697 46 Foundation's software and to any other program whose authors commit to
kaf24@2697 47 using it. (Some other Free Software Foundation software is covered by
kaf24@2697 48 the GNU Library General Public License instead.) You can apply it to
kaf24@2697 49 your programs, too.
kaf24@2697 50
kaf24@2697 51 When we speak of free software, we are referring to freedom, not
kaf24@2697 52 price. Our General Public Licenses are designed to make sure that you
kaf24@2697 53 have the freedom to distribute copies of free software (and charge for
kaf24@2697 54 this service if you wish), that you receive source code or can get it
kaf24@2697 55 if you want it, that you can change the software or use pieces of it
kaf24@2697 56 in new free programs; and that you know you can do these things.
kaf24@2697 57
kaf24@2697 58 To protect your rights, we need to make restrictions that forbid
kaf24@2697 59 anyone to deny you these rights or to ask you to surrender the rights.
kaf24@2697 60 These restrictions translate to certain responsibilities for you if you
kaf24@2697 61 distribute copies of the software, or if you modify it.
kaf24@2697 62
kaf24@2697 63 For example, if you distribute copies of such a program, whether
kaf24@2697 64 gratis or for a fee, you must give the recipients all the rights that
kaf24@2697 65 you have. You must make sure that they, too, receive or can get the
kaf24@2697 66 source code. And you must show them these terms so they know their
kaf24@2697 67 rights.
kaf24@2697 68
kaf24@2697 69 We protect your rights with two steps: (1) copyright the software, and
kaf24@2697 70 (2) offer you this license which gives you legal permission to copy,
kaf24@2697 71 distribute and/or modify the software.
kaf24@2697 72
kaf24@2697 73 Also, for each author's protection and ours, we want to make certain
kaf24@2697 74 that everyone understands that there is no warranty for this free
kaf24@2697 75 software. If the software is modified by someone else and passed on, we
kaf24@2697 76 want its recipients to know that what they have is not the original, so
kaf24@2697 77 that any problems introduced by others will not reflect on the original
kaf24@2697 78 authors' reputations.
kaf24@2697 79
kaf24@2697 80 Finally, any free program is threatened constantly by software
kaf24@2697 81 patents. We wish to avoid the danger that redistributors of a free
kaf24@2697 82 program will individually obtain patent licenses, in effect making the
kaf24@2697 83 program proprietary. To prevent this, we have made it clear that any
kaf24@2697 84 patent must be licensed for everyone's free use or not licensed at all.
kaf24@2697 85
kaf24@2697 86 The precise terms and conditions for copying, distribution and
kaf24@2697 87 modification follow.
kaf24@2697 88
kaf24@2697 89 GNU GENERAL PUBLIC LICENSE
kaf24@2697 90 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
kaf24@2697 91
kaf24@2697 92 0. This License applies to any program or other work which contains
kaf24@2697 93 a notice placed by the copyright holder saying it may be distributed
kaf24@2697 94 under the terms of this General Public License. The "Program", below,
kaf24@2697 95 refers to any such program or work, and a "work based on the Program"
kaf24@2697 96 means either the Program or any derivative work under copyright law:
kaf24@2697 97 that is to say, a work containing the Program or a portion of it,
kaf24@2697 98 either verbatim or with modifications and/or translated into another
kaf24@2697 99 language. (Hereinafter, translation is included without limitation in
kaf24@2697 100 the term "modification".) Each licensee is addressed as "you".
kaf24@2697 101
kaf24@2697 102 Activities other than copying, distribution and modification are not
kaf24@2697 103 covered by this License; they are outside its scope. The act of
kaf24@2697 104 running the Program is not restricted, and the output from the Program
kaf24@2697 105 is covered only if its contents constitute a work based on the
kaf24@2697 106 Program (independent of having been made by running the Program).
kaf24@2697 107 Whether that is true depends on what the Program does.
kaf24@2697 108
kaf24@2697 109 1. You may copy and distribute verbatim copies of the Program's
kaf24@2697 110 source code as you receive it, in any medium, provided that you
kaf24@2697 111 conspicuously and appropriately publish on each copy an appropriate
kaf24@2697 112 copyright notice and disclaimer of warranty; keep intact all the
kaf24@2697 113 notices that refer to this License and to the absence of any warranty;
kaf24@2697 114 and give any other recipients of the Program a copy of this License
kaf24@2697 115 along with the Program.
kaf24@2697 116
kaf24@2697 117 You may charge a fee for the physical act of transferring a copy, and
kaf24@2697 118 you may at your option offer warranty protection in exchange for a fee.
kaf24@2697 119
kaf24@2697 120 2. You may modify your copy or copies of the Program or any portion
kaf24@2697 121 of it, thus forming a work based on the Program, and copy and
kaf24@2697 122 distribute such modifications or work under the terms of Section 1
kaf24@2697 123 above, provided that you also meet all of these conditions:
kaf24@2697 124
kaf24@2697 125 a) You must cause the modified files to carry prominent notices
kaf24@2697 126 stating that you changed the files and the date of any change.
kaf24@2697 127
kaf24@2697 128 b) You must cause any work that you distribute or publish, that in
kaf24@2697 129 whole or in part contains or is derived from the Program or any
kaf24@2697 130 part thereof, to be licensed as a whole at no charge to all third
kaf24@2697 131 parties under the terms of this License.
kaf24@2697 132
kaf24@2697 133 c) If the modified program normally reads commands interactively
kaf24@2697 134 when run, you must cause it, when started running for such
kaf24@2697 135 interactive use in the most ordinary way, to print or display an
kaf24@2697 136 announcement including an appropriate copyright notice and a
kaf24@2697 137 notice that there is no warranty (or else, saying that you provide
kaf24@2697 138 a warranty) and that users may redistribute the program under
kaf24@2697 139 these conditions, and telling the user how to view a copy of this
kaf24@2697 140 License. (Exception: if the Program itself is interactive but
kaf24@2697 141 does not normally print such an announcement, your work based on
kaf24@2697 142 the Program is not required to print an announcement.)
kaf24@2697 143
kaf24@2697 144 These requirements apply to the modified work as a whole. If
kaf24@2697 145 identifiable sections of that work are not derived from the Program,
kaf24@2697 146 and can be reasonably considered independent and separate works in
kaf24@2697 147 themselves, then this License, and its terms, do not apply to those
kaf24@2697 148 sections when you distribute them as separate works. But when you
kaf24@2697 149 distribute the same sections as part of a whole which is a work based
kaf24@2697 150 on the Program, the distribution of the whole must be on the terms of
kaf24@2697 151 this License, whose permissions for other licensees extend to the
kaf24@2697 152 entire whole, and thus to each and every part regardless of who wrote it.
kaf24@2697 153
kaf24@2697 154 Thus, it is not the intent of this section to claim rights or contest
kaf24@2697 155 your rights to work written entirely by you; rather, the intent is to
kaf24@2697 156 exercise the right to control the distribution of derivative or
kaf24@2697 157 collective works based on the Program.
kaf24@2697 158
kaf24@2697 159 In addition, mere aggregation of another work not based on the Program
kaf24@2697 160 with the Program (or with a work based on the Program) on a volume of
kaf24@2697 161 a storage or distribution medium does not bring the other work under
kaf24@2697 162 the scope of this License.
kaf24@2697 163
kaf24@2697 164 3. You may copy and distribute the Program (or a work based on it,
kaf24@2697 165 under Section 2) in object code or executable form under the terms of
kaf24@2697 166 Sections 1 and 2 above provided that you also do one of the following:
kaf24@2697 167
kaf24@2697 168 a) Accompany it with the complete corresponding machine-readable
kaf24@2697 169 source code, which must be distributed under the terms of Sections
kaf24@2697 170 1 and 2 above on a medium customarily used for software interchange; or,
kaf24@2697 171
kaf24@2697 172 b) Accompany it with a written offer, valid for at least three
kaf24@2697 173 years, to give any third party, for a charge no more than your
kaf24@2697 174 cost of physically performing source distribution, a complete
kaf24@2697 175 machine-readable copy of the corresponding source code, to be
kaf24@2697 176 distributed under the terms of Sections 1 and 2 above on a medium
kaf24@2697 177 customarily used for software interchange; or,
kaf24@2697 178
kaf24@2697 179 c) Accompany it with the information you received as to the offer
kaf24@2697 180 to distribute corresponding source code. (This alternative is
kaf24@2697 181 allowed only for noncommercial distribution and only if you
kaf24@2697 182 received the program in object code or executable form with such
kaf24@2697 183 an offer, in accord with Subsection b above.)
kaf24@2697 184
kaf24@2697 185 The source code for a work means the preferred form of the work for
kaf24@2697 186 making modifications to it. For an executable work, complete source
kaf24@2697 187 code means all the source code for all modules it contains, plus any
kaf24@2697 188 associated interface definition files, plus the scripts used to
kaf24@2697 189 control compilation and installation of the executable. However, as a
kaf24@2697 190 special exception, the source code distributed need not include
kaf24@2697 191 anything that is normally distributed (in either source or binary
kaf24@2697 192 form) with the major components (compiler, kernel, and so on) of the
kaf24@2697 193 operating system on which the executable runs, unless that component
kaf24@2697 194 itself accompanies the executable.
kaf24@2697 195
kaf24@2697 196 If distribution of executable or object code is made by offering
kaf24@2697 197 access to copy from a designated place, then offering equivalent
kaf24@2697 198 access to copy the source code from the same place counts as
kaf24@2697 199 distribution of the source code, even though third parties are not
kaf24@2697 200 compelled to copy the source along with the object code.
kaf24@2697 201
kaf24@2697 202 4. You may not copy, modify, sublicense, or distribute the Program
kaf24@2697 203 except as expressly provided under this License. Any attempt
kaf24@2697 204 otherwise to copy, modify, sublicense or distribute the Program is
kaf24@2697 205 void, and will automatically terminate your rights under this License.
kaf24@2697 206 However, parties who have received copies, or rights, from you under
kaf24@2697 207 this License will not have their licenses terminated so long as such
kaf24@2697 208 parties remain in full compliance.
kaf24@2697 209
kaf24@2697 210 5. You are not required to accept this License, since you have not
kaf24@2697 211 signed it. However, nothing else grants you permission to modify or
kaf24@2697 212 distribute the Program or its derivative works. These actions are
kaf24@2697 213 prohibited by law if you do not accept this License. Therefore, by
kaf24@2697 214 modifying or distributing the Program (or any work based on the
kaf24@2697 215 Program), you indicate your acceptance of this License to do so, and
kaf24@2697 216 all its terms and conditions for copying, distributing or modifying
kaf24@2697 217 the Program or works based on it.
kaf24@2697 218
kaf24@2697 219 6. Each time you redistribute the Program (or any work based on the
kaf24@2697 220 Program), the recipient automatically receives a license from the
kaf24@2697 221 original licensor to copy, distribute or modify the Program subject to
kaf24@2697 222 these terms and conditions. You may not impose any further
kaf24@2697 223 restrictions on the recipients' exercise of the rights granted herein.
kaf24@2697 224 You are not responsible for enforcing compliance by third parties to
kaf24@2697 225 this License.
kaf24@2697 226
kaf24@2697 227 7. If, as a consequence of a court judgment or allegation of patent
kaf24@2697 228 infringement or for any other reason (not limited to patent issues),
kaf24@2697 229 conditions are imposed on you (whether by court order, agreement or
kaf24@2697 230 otherwise) that contradict the conditions of this License, they do not
kaf24@2697 231 excuse you from the conditions of this License. If you cannot
kaf24@2697 232 distribute so as to satisfy simultaneously your obligations under this
kaf24@2697 233 License and any other pertinent obligations, then as a consequence you
kaf24@2697 234 may not distribute the Program at all. For example, if a patent
kaf24@2697 235 license would not permit royalty-free redistribution of the Program by
kaf24@2697 236 all those who receive copies directly or indirectly through you, then
kaf24@2697 237 the only way you could satisfy both it and this License would be to
kaf24@2697 238 refrain entirely from distribution of the Program.
kaf24@2697 239
kaf24@2697 240 If any portion of this section is held invalid or unenforceable under
kaf24@2697 241 any particular circumstance, the balance of the section is intended to
kaf24@2697 242 apply and the section as a whole is intended to apply in other
kaf24@2697 243 circumstances.
kaf24@2697 244
kaf24@2697 245 It is not the purpose of this section to induce you to infringe any
kaf24@2697 246 patents or other property right claims or to contest validity of any
kaf24@2697 247 such claims; this section has the sole purpose of protecting the
kaf24@2697 248 integrity of the free software distribution system, which is
kaf24@2697 249 implemented by public license practices. Many people have made
kaf24@2697 250 generous contributions to the wide range of software distributed
kaf24@2697 251 through that system in reliance on consistent application of that
kaf24@2697 252 system; it is up to the author/donor to decide if he or she is willing
kaf24@2697 253 to distribute software through any other system and a licensee cannot
kaf24@2697 254 impose that choice.
kaf24@2697 255
kaf24@2697 256 This section is intended to make thoroughly clear what is believed to
kaf24@2697 257 be a consequence of the rest of this License.
kaf24@2697 258
kaf24@2697 259 8. If the distribution and/or use of the Program is restricted in
kaf24@2697 260 certain countries either by patents or by copyrighted interfaces, the
kaf24@2697 261 original copyright holder who places the Program under this License
kaf24@2697 262 may add an explicit geographical distribution limitation excluding
kaf24@2697 263 those countries, so that distribution is permitted only in or among
kaf24@2697 264 countries not thus excluded. In such case, this License incorporates
kaf24@2697 265 the limitation as if written in the body of this License.
kaf24@2697 266
kaf24@2697 267 9. The Free Software Foundation may publish revised and/or new versions
kaf24@2697 268 of the General Public License from time to time. Such new versions will
kaf24@2697 269 be similar in spirit to the present version, but may differ in detail to
kaf24@2697 270 address new problems or concerns.
kaf24@2697 271
kaf24@2697 272 Each version is given a distinguishing version number. If the Program
kaf24@2697 273 specifies a version number of this License which applies to it and "any
kaf24@2697 274 later version", you have the option of following the terms and conditions
kaf24@2697 275 either of that version or of any later version published by the Free
kaf24@2697 276 Software Foundation. If the Program does not specify a version number of
kaf24@2697 277 this License, you may choose any version ever published by the Free Software
kaf24@2697 278 Foundation.
kaf24@2697 279
kaf24@2697 280 10. If you wish to incorporate parts of the Program into other free
kaf24@2697 281 programs whose distribution conditions are different, write to the author
kaf24@2697 282 to ask for permission. For software which is copyrighted by the Free
kaf24@2697 283 Software Foundation, write to the Free Software Foundation; we sometimes
kaf24@2697 284 make exceptions for this. Our decision will be guided by the two goals
kaf24@2697 285 of preserving the free status of all derivatives of our free software and
kaf24@2697 286 of promoting the sharing and reuse of software generally.
kaf24@2697 287
kaf24@2697 288 NO WARRANTY
kaf24@2697 289
kaf24@2697 290 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
kaf24@2697 291 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
kaf24@2697 292 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
kaf24@2697 293 PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
kaf24@2697 294 OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
kaf24@2697 295 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
kaf24@2697 296 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
kaf24@2697 297 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
kaf24@2697 298 REPAIR OR CORRECTION.
kaf24@2697 299
kaf24@2697 300 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
kaf24@2697 301 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
kaf24@2697 302 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
kaf24@2697 303 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
kaf24@2697 304 OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
kaf24@2697 305 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
kaf24@2697 306 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
kaf24@2697 307 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
kaf24@2697 308 POSSIBILITY OF SUCH DAMAGES.
kaf24@2697 309
kaf24@2697 310 END OF TERMS AND CONDITIONS
kaf24@2697 311
kaf24@2697 312 How to Apply These Terms to Your New Programs
kaf24@2697 313
kaf24@2697 314 If you develop a new program, and you want it to be of the greatest
kaf24@2697 315 possible use to the public, the best way to achieve this is to make it
kaf24@2697 316 free software which everyone can redistribute and change under these terms.
kaf24@2697 317
kaf24@2697 318 To do so, attach the following notices to the program. It is safest
kaf24@2697 319 to attach them to the start of each source file to most effectively
kaf24@2697 320 convey the exclusion of warranty; and each file should have at least
kaf24@2697 321 the "copyright" line and a pointer to where the full notice is found.
kaf24@2697 322
kaf24@2697 323 <one line to give the program's name and a brief idea of what it does.>
kaf24@2697 324 Copyright (C) <year> <name of author>
kaf24@2697 325
kaf24@2697 326 This program is free software; you can redistribute it and/or modify
kaf24@2697 327 it under the terms of the GNU General Public License as published by
kaf24@2697 328 the Free Software Foundation; either version 2 of the License, or
kaf24@2697 329 (at your option) any later version.
kaf24@2697 330
kaf24@2697 331 This program is distributed in the hope that it will be useful,
kaf24@2697 332 but WITHOUT ANY WARRANTY; without even the implied warranty of
kaf24@2697 333 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
kaf24@2697 334 GNU General Public License for more details.
kaf24@2697 335
kaf24@2697 336 You should have received a copy of the GNU General Public License
kaf24@2697 337 along with this program; if not, write to the Free Software
kaf24@2697 338 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
kaf24@2697 339
kaf24@2697 340
kaf24@2697 341 Also add information on how to contact you by electronic and paper mail.
kaf24@2697 342
kaf24@2697 343 If the program is interactive, make it output a short notice like this
kaf24@2697 344 when it starts in an interactive mode:
kaf24@2697 345
kaf24@2697 346 Gnomovision version 69, Copyright (C) year name of author
kaf24@2697 347 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
kaf24@2697 348 This is free software, and you are welcome to redistribute it
kaf24@2697 349 under certain conditions; type `show c' for details.
kaf24@2697 350
kaf24@2697 351 The hypothetical commands `show w' and `show c' should show the appropriate
kaf24@2697 352 parts of the General Public License. Of course, the commands you use may
kaf24@2697 353 be called something other than `show w' and `show c'; they could even be
kaf24@2697 354 mouse-clicks or menu items--whatever suits your program.
kaf24@2697 355
kaf24@2697 356 You should also get your employer (if you work as a programmer) or your
kaf24@2697 357 school, if any, to sign a "copyright disclaimer" for the program, if
kaf24@2697 358 necessary. Here is a sample; alter the names:
kaf24@2697 359
kaf24@2697 360 Yoyodyne, Inc., hereby disclaims all copyright interest in the program
kaf24@2697 361 `Gnomovision' (which makes passes at compilers) written by James Hacker.
kaf24@2697 362
kaf24@2697 363 <signature of Ty Coon>, 1 April 1989
kaf24@2697 364 Ty Coon, President of Vice
kaf24@2697 365
kaf24@2697 366 This General Public License does not permit incorporating your program into
kaf24@2697 367 proprietary programs. If your program is a subroutine library, you may
kaf24@2697 368 consider it more useful to permit linking proprietary applications with the
kaf24@2697 369 library. If this is what you want to do, use the GNU Library General
kaf24@2697 370 Public License instead of this License.