From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jiageng Yu Subject: Re: [PATCH] libxl: Support linux-stubdom in libxl Date: Thu, 2 Jun 2011 14:40:05 +0100 Message-ID: References: <1306933116.775.237.camel@zakaz.uk.xensource.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1883392027==" Return-path: In-Reply-To: <1306933116.775.237.camel@zakaz.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Ian Campbell Cc: Samuel Thibault , "Xen-devel@lists.xensource.com" , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org --===============1883392027== Content-Type: multipart/alternative; boundary=bcaec520eab157567904a4bac6a9 --bcaec520eab157567904a4bac6a9 Content-Type: text/plain; charset=UTF-8 That is new patch for libxl. diff -r 37c77bacb52a tools/libxl/libxl.c --- a/tools/libxl/libxl.c Mon May 23 17:38:28 2011 +0100 +++ b/tools/libxl/libxl.c Wed Jun 01 03:24:57 2011 +0100 @@ -2078,7 +2078,8 @@ *need_memkb = b_info->target_memkb; if (b_info->hvm) { *need_memkb += b_info->shadow_memkb + LIBXL_HVM_EXTRA_MEMORY; - if (dm_info->device_model_stubdomain) + if (dm_info->device_model_stubdomain || + dm_info->device_model_linux_stubdomain) *need_memkb += 32 * 1024; } else *need_memkb += b_info->shadow_memkb + LIBXL_PV_EXTRA_MEMORY; diff -r 37c77bacb52a tools/libxl/libxl.idl --- a/tools/libxl/libxl.idl Mon May 23 17:38:28 2011 +0100 +++ b/tools/libxl/libxl.idl Wed Jun 01 03:24:57 2011 +0100 @@ -196,6 +196,7 @@ ("dom_name", string), ("device_model_version", libxl_device_model_version), ("device_model_stubdomain", bool), + ("device_model_linux_stubdomain", bool), ("device_model", string, False, "if you set this you must set device_model_version too"), ("saved_state", string), ("type", libxl_domain_type), diff -r 37c77bacb52a tools/libxl/libxl_create.c --- a/tools/libxl/libxl_create.c Mon May 23 17:38:28 2011 +0100 +++ b/tools/libxl/libxl_create.c Wed Jun 01 03:24:57 2011 +0100 @@ -110,6 +110,7 @@ dm_info->dom_name = strdup(c_info->name); dm_info->device_model_version = LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL; dm_info->device_model_stubdomain = false; + dm_info->device_model_linux_stubdomain = false; dm_info->device_model = NULL; dm_info->target_ram = libxl__sizekb_to_mb(b_info->target_memkb); dm_info->videoram = libxl__sizekb_to_mb(b_info->video_memkb); diff -r 37c77bacb52a tools/libxl/libxl_dm.c --- a/tools/libxl/libxl_dm.c Mon May 23 17:38:28 2011 +0100 +++ b/tools/libxl/libxl_dm.c Wed Jun 01 03:24:57 2011 +0100 @@ -44,7 +44,8 @@ libxl_ctx *ctx = libxl__gc_owner(gc); const char *dm; - if (info->device_model_stubdomain) + if (info->device_model_stubdomain || + info->device_model_linux_stubdomain) return NULL; if (info->device_model) { @@ -571,7 +572,7 @@ libxl_domain_build_info b_info; libxl__domain_build_state state; uint32_t domid; - char **args; + char **args=NULL; struct xs_permissions perm[2]; xs_transaction_t t; libxl__device_model_starting *dm_starting = 0; @@ -581,7 +582,12 @@ goto out; } - args = libxl__build_device_model_args(gc, "stubdom-dm", info, + if(info->device_model_stubdomain) + args = libxl__build_device_model_args(gc, "stubdom-dm", info, + disks, num_disks, + vifs, num_vifs); + if(info->device_model_linux_stubdomain) + args = libxl__build_device_model_args(gc, "linux-stubdom", info, disks, num_disks, vifs, num_vifs); if (!args) { @@ -599,13 +605,22 @@ b_info.max_vcpus = 1; b_info.max_memkb = 32 * 1024; b_info.target_memkb = b_info.max_memkb; - b_info.u.pv.kernel.path = libxl__abs_path(gc, "ioemu-stubdom.gz", - libxl_xenfirmwaredir_path()); b_info.u.pv.cmdline = libxl__sprintf(gc, " -d %d", info->domid); - b_info.u.pv.ramdisk.path = ""; b_info.u.pv.features = ""; b_info.hvm = 0; + if(info->device_model_linux_stubdomain){ + b_info.u.pv.kernel.path = libxl__abs_path(gc, "vmlinuz-ioemu", + libxl_xenfirmwaredir_path()); + b_info.u.pv.ramdisk.path = libxl__abs_path(gc, "ramdisk-ioemu", + libxl_xenfirmwaredir_path()); + } else if(info->device_model_stubdomain){ + b_info.u.pv.kernel.path = libxl__abs_path(gc, "ioemu-stubdom.gz", + libxl_xenfirmwaredir_path()); + b_info.u.pv.ramdisk.path = ""; + } + /* fixme: this function can leak the stubdom if it fails */ ret = libxl__domain_make(gc, &c_info, &domid); @@ -745,7 +760,8 @@ char **pass_stuff; const char *dm; - if (info->device_model_stubdomain) { + if (info->device_model_stubdomain || + info->device_model_linux_stubdomain) { libxl_device_vfb vfb; libxl_device_vkb vkb; diff -r 37c77bacb52a tools/libxl/xl_cmdimpl.c --- a/tools/libxl/xl_cmdimpl.c Mon May 23 17:38:28 2011 +0100 +++ b/tools/libxl/xl_cmdimpl.c Wed Jun 01 03:24:57 2011 +0100 @@ -1109,6 +1109,8 @@ fprintf(stderr, "WARNING: device model override given without specific DM version\n"); if (!xlu_cfg_get_long (config, "device_model_stubdomain_override", &l)) dm_info->device_model_stubdomain = l; + if (!xlu_cfg_get_long (config, "device_model_linux_stubdomain_override", &l)) + dm_info->device_model_linux_stubdomain = l; if (!xlu_cfg_get_long (config, "stdvga", &l)) dm_info->stdvga = l; if (!xlu_cfg_get_long (config, "vnc", &l)) --bcaec520eab157567904a4bac6a9 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 VGhhdCBpcyBuZXcgcGF0Y2ggZm9yIGxpYnhsLjxicj48YnI+PGJyPmRpZmYgLXIgMzdjNzdiYWNi NTJhIHRvb2xzL2xpYnhsL2xpYnhsLmM8YnI+LS0tIGEvdG9vbHMvbGlieGwvbGlieGwuY8KgwqDC oCBNb24gTWF5IDIzIDE3OjM4OjI4IDIwMTEgKzAxMDA8YnI+KysrIGIvdG9vbHMvbGlieGwvbGli eGwuY8KgwqDCoCBXZWQgSnVuIDAxIDAzOjI0OjU3IDIwMTEgKzAxMDA8YnI+CkBAIC0yMDc4LDcg KzIwNzgsOCBAQDxicj7CoMKgwqDCoCAqbmVlZF9tZW1rYiA9IGJfaW5mby0mZ3Q7dGFyZ2V0X21l bWtiOzxicj7CoMKgwqDCoCBpZiAoYl9pbmZvLSZndDtodm0pIHs8YnI+wqDCoMKgwqDCoMKgwqDC oCAqbmVlZF9tZW1rYiArPSBiX2luZm8tJmd0O3NoYWRvd19tZW1rYiArIExJQlhMX0hWTV9FWFRS QV9NRU1PUlk7PGJyPi3CoMKgwqDCoMKgwqDCoCBpZiAoZG1faW5mby0mZ3Q7ZGV2aWNlX21vZGVs X3N0dWJkb21haW4pPGJyPgo8ZGl2IGlkPSI6NXkiPgorwqDCoMKgwqDCoMKgIGlmIChkbV9pbmZv LSZndDtkZXZpY2VfbW9kZWxfc3R1YmRvbWFpbiB8fCA8YnI+K8KgwqDCoCDCoMKgwqAgwqDCoMKg IMKgwqDCoCBkbV9pbmZvLSZndDtkZXZpY2VfbW9kZWxfbGludXhfc3R1YmRvbWFpbik8YnI+wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgICpuZWVkX21lbWtiICs9IDMyICogMTAyNDs8YnI+wqDCoMKg wqAgfSBlbHNlPGJyPsKgwqDCoMKgwqDCoMKgwqAgKm5lZWRfbWVta2IgKz0gYl9pbmZvLSZndDtz aGFkb3dfbWVta2IgKyBMSUJYTF9QVl9FWFRSQV9NRU1PUlk7PGJyPgoKZGlmZiAtciAzN2M3N2Jh Y2I1MmEgdG9vbHMvbGlieGwvbGlieGwuaWRsPGJyPi0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmlk bMKgwqDCoCBNb24gTWF5IDIzIDE3OjM4OjI4IDIwMTEgKzAxMDA8YnI+KysrIGIvdG9vbHMvbGli eGwvbGlieGwuaWRswqDCoMKgIFdlZCBKdW4gMDEgMDM6MjQ6NTcgMjAxMSArMDEwMDxicj5AQCAt MTk2LDYgKzE5Niw3IEBAPGJyPsKgwqDCoMKgICgmcXVvdDtkb21fbmFtZSZxdW90OyzCoMKgwqDC oMKgwqDCoMKgIHN0cmluZyksPGJyPgoKwqDCoMKgwqAgKCZxdW90O2RldmljZV9tb2RlbF92ZXJz aW9uJnF1b3Q7LCBsaWJ4bF9kZXZpY2VfbW9kZWxfdmVyc2lvbiksPGJyPsKgwqDCoMKgICgmcXVv dDtkZXZpY2VfbW9kZWxfc3R1YmRvbWFpbiZxdW90OywgYm9vbCksPGJyPivCoMKgICgmcXVvdDtk ZXZpY2VfbW9kZWxfbGludXhfc3R1YmRvbWFpbiZxdW90OywgYm9vbCksPGJyPsKgwqDCoMKgICgm cXVvdDtkZXZpY2VfbW9kZWwmcXVvdDsswqDCoMKgwqAgc3RyaW5nLCBGYWxzZSwgJnF1b3Q7aWYg eW91IHNldCB0aGlzIHlvdSBtdXN0IHNldCBkZXZpY2VfbW9kZWxfdmVyc2lvbiB0b28mcXVvdDsp LDxicj4KCsKgwqDCoMKgICgmcXVvdDtzYXZlZF9zdGF0ZSZxdW90OyzCoMKgwqDCoMKgIHN0cmlu ZyksPGJyPsKgwqDCoMKgICgmcXVvdDt0eXBlJnF1b3Q7LMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBsaWJ4bF9kb21haW5fdHlwZSksPGJyPmRpZmYgLXIgMzdjNzdiYWNiNTJhIHRvb2xzL2xpYnhs L2xpYnhsX2NyZWF0ZS5jPGJyPi0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jwqDCoMKg IE1vbiBNYXkgMjMgMTc6Mzg6MjggMjAxMSArMDEwMDxicj4KCisrKyBiL3Rvb2xzL2xpYnhsL2xp YnhsX2NyZWF0ZS5jwqDCoMKgIFdlZCBKdW4gMDEgMDM6MjQ6NTcgMjAxMSArMDEwMDxicj5AQCAt MTEwLDYgKzExMCw3IEBAPGJyPsKgwqDCoMKgIGRtX2luZm8tJmd0O2RvbV9uYW1lID0gc3RyZHVw KGNfaW5mby0mZ3Q7bmFtZSk7PGJyPsKgwqDCoMKgIGRtX2luZm8tJmd0O2RldmljZV9tb2RlbF92 ZXJzaW9uID0gTElCWExfREVWSUNFX01PREVMX1ZFUlNJT05fUUVNVV9YRU5fVFJBRElUSU9OQUw7 PGJyPgoKwqDCoMKgwqAgZG1faW5mby0mZ3Q7ZGV2aWNlX21vZGVsX3N0dWJkb21haW4gPSBmYWxz ZTs8YnI+K8KgwqAgZG1faW5mby0mZ3Q7ZGV2aWNlX21vZGVsX2xpbnV4X3N0dWJkb21haW4gPSBm YWxzZTs8YnI+wqDCoMKgwqAgZG1faW5mby0mZ3Q7ZGV2aWNlX21vZGVsID0gTlVMTDs8YnI+wqDC oMKgwqAgZG1faW5mby0mZ3Q7dGFyZ2V0X3JhbSA9IGxpYnhsX19zaXpla2JfdG9fbWIoYl9pbmZv LSZndDt0YXJnZXRfbWVta2IpOzxicj4KCsKgwqDCoMKgIGRtX2luZm8tJmd0O3ZpZGVvcmFtID0g bGlieGxfX3NpemVrYl90b19tYihiX2luZm8tJmd0O3ZpZGVvX21lbWtiKTs8ZGl2IGNsYXNzPSJp bSI+PGJyPmRpZmYgLXIgMzdjNzdiYWNiNTJhIHRvb2xzL2xpYnhsL2xpYnhsX2RtLmM8YnI+LS0t IGEvdG9vbHMvbGlieGwvbGlieGxfZG0uY8KgwqDCoCBNb24gTWF5IDIzIDE3OjM4OjI4IDIwMTEg KzAxMDA8YnI+PC9kaXY+KysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG0uY8KgwqDCoCBXZWQgSnVu IDAxIDAzOjI0OjU3IDIwMTEgKzAxMDA8YnI+CgpAQCAtNDQsNyArNDQsOCBAQDxicj7CoMKgwqDC oCBsaWJ4bF9jdHggKmN0eCA9IGxpYnhsX19nY19vd25lcihnYyk7PGJyPsKgwqDCoMKgIGNvbnN0 IGNoYXIgKmRtOzxicj7CoDxicj4twqDCoMKgIGlmIChpbmZvLSZndDtkZXZpY2VfbW9kZWxfc3R1 YmRvbWFpbik8YnI+K8KgwqAgaWYgKGluZm8tJmd0O2RldmljZV9tb2RlbF9zdHViZG9tYWluIHx8 PGJyPivCoMKgwqAgwqDCoMKgIMKgwqAgaW5mby0mZ3Q7ZGV2aWNlX21vZGVsX2xpbnV4X3N0dWJk b21haW4pPGJyPgoKwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gTlVMTDs8YnI+wqA8YnI+wqDCoMKg wqAgaWYgKGluZm8tJmd0O2RldmljZV9tb2RlbCkgezxicj5AQCAtNTcxLDcgKzU3Miw3IEBAPGJy PsKgwqDCoMKgIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvIGJfaW5mbzs8YnI+wqDCoMKgwqAgbGli eGxfX2RvbWFpbl9idWlsZF9zdGF0ZSBzdGF0ZTs8YnI+wqDCoMKgwqAgdWludDMyX3QgZG9taWQ7 PGJyPi3CoMKgwqAgY2hhciAqKmFyZ3M7PGJyPivCoMKgIGNoYXIgKiphcmdzPU5VTEw7PGJyPgoK wqDCoMKgwqAgc3RydWN0IHhzX3Blcm1pc3Npb25zIHBlcm1bMl07PGJyPsKgwqDCoMKgIHhzX3Ry YW5zYWN0aW9uX3QgdDs8YnI+wqDCoMKgwqAgbGlieGxfX2RldmljZV9tb2RlbF9zdGFydGluZyAq ZG1fc3RhcnRpbmcgPSAwOzxicj5AQCAtNTgxLDcgKzU4MiwxMiBAQDxkaXYgY2xhc3M9ImltIj48 YnI+wqDCoMKgwqDCoMKgwqDCoCBnb3RvIG91dDs8YnI+wqDCoMKgwqAgfTxicj7CoDxicj4twqDC oMKgIGFyZ3MgPSBsaWJ4bF9fYnVpbGRfZGV2aWNlX21vZGVsX2FyZ3MoZ2MsICZxdW90O3N0dWJk b20tZG0mcXVvdDssIGluZm8sPGJyPgo8L2Rpdj4KK8KgwqAgaWYoaW5mby0mZ3Q7ZGV2aWNlX21v ZGVsX3N0dWJkb21haW4pPGJyPivCoMKgwqAgwqDCoMKgIGFyZ3MgPSBsaWJ4bF9fYnVpbGRfZGV2 aWNlX21vZGVsX2FyZ3MoZ2MsICZxdW90O3N0dWJkb20tZG0mcXVvdDssIGluZm8sPGJyPivCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRpc2tzLCBudW1fZGlza3MsPGJyPivCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHZpZnMsIG51bV92aWZzKTs8YnI+CgorwqDCoCBpZihpbmZvLSZndDtkZXZp Y2VfbW9kZWxfbGludXhfc3R1YmRvbWFpbik8YnI+K8KgwqDCoCDCoMKgwqAgYXJncyA9IGxpYnhs X19idWlsZF9kZXZpY2VfbW9kZWxfYXJncyhnYywgJnF1b3Q7bGludXgtc3R1YmRvbSZxdW90Oywg aW5mbyw8ZGl2IGNsYXNzPSJpbSI+PGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkaXNr cywgbnVtX2Rpc2tzLDxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdmlmcywgbnVtX3Zp ZnMpOzxicj4KPC9kaXY+CsKgwqDCoMKgIGlmICghYXJncykgezxicj5AQCAtNTk5LDEzICs2MDUs MjIgQEA8ZGl2IGNsYXNzPSJpbSI+PGJyPsKgwqDCoMKgIGJfaW5mby5tYXhfdmNwdXMgPSAxOzxi cj7CoMKgwqDCoCBiX2luZm8ubWF4X21lbWtiID0gMzIgKiAxMDI0Ozxicj7CoMKgwqDCoCBiX2lu Zm8udGFyZ2V0X21lbWtiID0gYl9pbmZvLm1heF9tZW1rYjs8YnI+LcKgwqDCoCBiX2luZm8udS5w di5rZXJuZWwucGF0aCA9IGxpYnhsX19hYnNfcGF0aChnYywgJnF1b3Q7aW9lbXUtc3R1YmRvbS5n eiZxdW90Oyw8YnI+CgotwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGxpYnhsX3hl bmZpcm13YXJlZGlyX3BhdGgoKSk7PGJyPsKgwqDCoMKgIGJfaW5mby51LnB2LmNtZGxpbmUgPSBs aWJ4bF9fc3ByaW50ZihnYywgJnF1b3Q7IC1kICVkJnF1b3Q7LCBpbmZvLSZndDtkb21pZCk7PGJy Pi3CoMKgwqAgYl9pbmZvLnUucHYucmFtZGlzay5wYXRoID0gJnF1b3Q7JnF1b3Q7Ozxicj7CoMKg wqDCoCBiX2luZm8udS5wdi5mZWF0dXJlcyA9ICZxdW90OyZxdW90Ozs8YnI+CgrCoMKgwqDCoCBi X2luZm8uaHZtID0gMDs8YnI+wqA8YnI+PC9kaXY+K8KgwqAgaWYoaW5mby0mZ3Q7ZGV2aWNlX21v ZGVsX2xpbnV4X3N0dWJkb21haW4pezxicj4rwqDCoMKgIMKgwqDCoCDCoGJfaW5mby51LnB2Lmtl cm5lbC5wYXRoID0gbGlieGxfX2Fic19wYXRoKGdjLCAmcXVvdDt2bWxpbnV6LWlvZW11JnF1b3Q7 LDxicj48ZGl2IGNsYXNzPSJpbSI+K8KgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAg wqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGxpYnhsX3hlbmZp cm13YXJlZGlyX3BhdGgoKSk7PGJyPgoKK8KgwqDCoCDCoMKgwqAgwqBiX2luZm8udS5wdi5yYW1k aXNrLnBhdGggPSBsaWJ4bF9fYWJzX3BhdGgoZ2MsICZxdW90O3JhbWRpc2staW9lbXUmcXVvdDss PGJyPivCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDC oMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgwqAgbGlieGxfeGVuZmlybXdhcmVkaXJfcGF0aCgpKTs8 YnI+PC9kaXY+K8KgwqAgfSBlbHNlIGlmKGluZm8tJmd0O2RldmljZV9tb2RlbF9zdHViZG9tYWlu KXs8YnI+CivCoMKgwqAgwqDCoMKgIMKgYl9pbmZvLnUucHYua2VybmVsLnBhdGggPSBsaWJ4bF9f YWJzX3BhdGgoZ2MsICZxdW90O2lvZW11LXN0dWJkb20uZ3omcXVvdDssPGJyPjxkaXYgY2xhc3M9 ImltIj4KK8KgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDC oMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBsaWJ4bF94ZW5maXJtd2FyZWRpcl9wYXRoKCkp Ozxicj4rwqDCoMKgIMKgwqDCoCDCoGJfaW5mby51LnB2LnJhbWRpc2sucGF0aCA9ICZxdW90OyZx dW90Ozs8YnI+K8KgwqDCoCDCoH08YnI+Kzxicj7CoMKgwqDCoCAvKiBmaXhtZTogdGhpcyBmdW5j dGlvbiBjYW4gbGVhayB0aGUgc3R1YmRvbSBpZiBpdCBmYWlscyAqLzxicj7CoDxicj4KCsKgwqDC oMKgIHJldCA9IGxpYnhsX19kb21haW5fbWFrZShnYywgJmFtcDtjX2luZm8sICZhbXA7ZG9taWQp Ozxicj48L2Rpdj5AQCAtNzQ1LDcgKzc2MCw4IEBAPGJyPsKgwqDCoMKgIGNoYXIgKipwYXNzX3N0 dWZmOzxicj7CoMKgwqDCoCBjb25zdCBjaGFyICpkbTs8YnI+wqA8YnI+LcKgwqDCoCBpZiAoaW5m by0mZ3Q7ZGV2aWNlX21vZGVsX3N0dWJkb21haW4pIHs8YnI+K8KgwqAgaWYgKGluZm8tJmd0O2Rl dmljZV9tb2RlbF9zdHViZG9tYWluIHx8PGJyPgoKK8KgwqDCoCDCoMKgwqAgwqDCoMKgIGluZm8t Jmd0O2RldmljZV9tb2RlbF9saW51eF9zdHViZG9tYWluKSB7PGJyPsKgwqDCoMKgwqDCoMKgwqAg bGlieGxfZGV2aWNlX3ZmYiB2ZmI7PGJyPsKgwqDCoMKgwqDCoMKgwqAgbGlieGxfZGV2aWNlX3Zr YiB2a2I7PGRpdiBjbGFzcz0iaW0iPjxicj7CoDxicj5kaWZmIC1yIDM3Yzc3YmFjYjUyYSB0b29s cy9saWJ4bC94bF9jbWRpbXBsLmM8YnI+LS0tIGEvdG9vbHMvbGlieGwveGxfY21kaW1wbC5jwqDC oMKgIE1vbiBNYXkgMjMgMTc6Mzg6MjggMjAxMSArMDEwMDxicj4KPC9kaXY+CisrKyBiL3Rvb2xz L2xpYnhsL3hsX2NtZGltcGwuY8KgwqDCoCBXZWQgSnVuIDAxIDAzOjI0OjU3IDIwMTEgKzAxMDA8 YnI+QEAgLTExMDksNiArMTEwOSw4IEBAPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmcHJp bnRmKHN0ZGVyciwgJnF1b3Q7V0FSTklORzogZGV2aWNlIG1vZGVsIG92ZXJyaWRlIGdpdmVuIHdp dGhvdXQgc3BlY2lmaWMgRE0gdmVyc2lvblxuJnF1b3Q7KTs8YnI+wqDCoMKgwqDCoMKgwqDCoCBp ZiAoIXhsdV9jZmdfZ2V0X2xvbmcgKGNvbmZpZywgJnF1b3Q7ZGV2aWNlX21vZGVsX3N0dWJkb21h aW5fb3ZlcnJpZGUmcXVvdDssICZhbXA7bCkpPGJyPgoKwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGRtX2luZm8tJmd0O2RldmljZV9tb2RlbF9zdHViZG9tYWluID0gbDs8YnI+K8KgwqDCoMKgwqDC oCBpZiAoIXhsdV9jZmdfZ2V0X2xvbmcgKGNvbmZpZywgJnF1b3Q7ZGV2aWNlX21vZGVsX2xpbnV4 X3N0dWJkb21haW5fb3ZlcnJpZGUmcXVvdDssICZhbXA7bCkpPGJyPivCoMKgwqDCoMKgwqDCoMKg wqDCoCBkbV9pbmZvLSZndDtkZXZpY2VfbW9kZWxfbGludXhfc3R1YmRvbWFpbiA9IGw7PGJyPgoK wqDCoMKgwqDCoMKgwqDCoCBpZiAoIXhsdV9jZmdfZ2V0X2xvbmcgKGNvbmZpZywgJnF1b3Q7c3Rk dmdhJnF1b3Q7LCAmYW1wO2wpKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZG1faW5mby0m Z3Q7c3RkdmdhID0gbDs8YnI+wqDCoMKgwqDCoMKgwqDCoCBpZiAoIXhsdV9jZmdfZ2V0X2xvbmcg KGNvbmZpZywgJnF1b3Q7dm5jJnF1b3Q7LCAmYW1wO2wpKTwvZGl2Pgo= --bcaec520eab157567904a4bac6a9-- --===============1883392027== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --===============1883392027==--