From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Bruce Rogers" Subject: Re: [PATCHl] localtime basis for paravirtualized guests Date: Tue, 20 Jun 2006 17:20:43 -0600 Message-ID: <44982E5D.092E.0048.1@novell.com> References: <4428F384.092E.0048.1@novell.com> <442D2D2D.092E.0048.1@novell.com> <268cbf4ac7bb43efa0994df4a124a19d@cl.cam.ac.uk> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=__PartEDC83CDB.1__=" Return-path: In-Reply-To: <268cbf4ac7bb43efa0994df4a124a19d@cl.cam.ac.uk> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: Ian Pratt List-Id: xen-devel@lists.xenproject.org --=__PartEDC83CDB.1__= Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline Attached please find a patch (against unstable tree) which provides some localtime support for paravirtualized guests. It is quite minimal in its approach, satisfying the purposes of the paravirtualized NetWare operating system as well as any others that expect the time base to be provided in localtime. I should point out however that this by itself does not allow a localtime time base to be used for xenolinux. That support would require additional changes to Linux (eg a Xen aware implementation of /dev/rtc & etc.), and should probably be based on a more flexible and thorough implementation of non-UTC guest time bases than what this patch provides. Nevertheless, this patch is functionaly equivalent to what is being done SLES 10's Xen implementation (but with SLES10 being based on testing tree), so I felt it should be submitted as is, with a more comprehensive approach submitted separately. Signed-off-by: Bruce Rogers - Bruce >>> On 4/5/2006 at 8:03 AM, in message <268cbf4ac7bb43efa0994df4a124a19d@cl.cam.ac.uk>, Keir Fraser wrote: > On 31 Mar 2006, at 21:22, Bruce Rogers wrote: > >> This patch allows the localtime parameter to be used for >> para-virtualized guests. >> Some paravirtualized guests may need to start with a local time basis >> instead of UTC. >> This patch provides for that need. Please review and apply. > > I've just checked in a patch to provide a clean wallclock update > interface from common Xen code. Please re-send based on that patch. > Your dom0_op implementation should modify d->time_offset_seconds > directly and then call update_domain_wallclock_time(d). > > Apart from that, the time_offset_seconds field in dom0_op.h should be > type int32_t (we don't use s32 in public headers). > > -- Keir > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel --=__PartEDC83CDB.1__= Content-Type: application/octet-stream; name="xen-localtime.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="xen-localtime.diff" LS0tIHhlbi11bnN0YWJsZS5vcmlnL3Rvb2xzL2xpYnhjL3hjX2RvbWFpbi5jCisrKyB4ZW4tdW5z dGFibGUvdG9vbHMvbGlieGMveGNfZG9tYWluLmMKQEAgLTI4Niw2ICsyODYsMTcgQEAgaW50IHhj X2RvbWFpbl9zZXRtYXhtZW0oaW50IHhjX2hhbmRsZSwKICAgICByZXR1cm4gZG9fZG9tMF9vcCh4 Y19oYW5kbGUsICZvcCk7CiB9CiAKK2ludCB4Y19kb21haW5fc2V0X3RpbWVfb2Zmc2V0KGludCB4 Y19oYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgdGltZV9vZmZzZXRfc2Vjb25k cykKK3sKKyAgICBERUNMQVJFX0RPTTBfT1A7CisgICAgb3AuY21kID0gRE9NMF9TRVRUSU1FT0ZG U0VUOworICAgIG9wLnUuc2V0dGltZW9mZnNldC5kb21haW4gPSAoZG9taWRfdClkb21pZDsKKyAg ICBvcC51LnNldHRpbWVvZmZzZXQudGltZV9vZmZzZXRfc2Vjb25kcyA9IHRpbWVfb2Zmc2V0X3Nl Y29uZHM7CisgICAgcmV0dXJuIGRvX2RvbTBfb3AoeGNfaGFuZGxlLCAmb3ApOworfQorCiBpbnQg eGNfZG9tYWluX21lbW9yeV9pbmNyZWFzZV9yZXNlcnZhdGlvbihpbnQgeGNfaGFuZGxlLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG5y X2V4dGVudHMsCi0tLSB4ZW4tdW5zdGFibGUub3JpZy90b29scy9saWJ4Yy94ZW5jdHJsLmgKKysr IHhlbi11bnN0YWJsZS90b29scy9saWJ4Yy94ZW5jdHJsLmgKQEAgLTQxMCw2ICs0MTAsMTAgQEAg aW50IHhjX2RvbWFpbl9zZXRtYXhtZW0oaW50IHhjX2hhbmRsZSwKICAgICAgICAgICAgICAgICAg ICAgICAgIHVpbnQzMl90IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg aW50IG1heF9tZW1rYik7CiAKK2ludCB4Y19kb21haW5fc2V0X3RpbWVfb2Zmc2V0KGludCB4Y19o YW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgdGltZV9vZmZzZXRfc2Vjb25kcyk7 CisKIGludCB4Y19kb21haW5fbWVtb3J5X2luY3JlYXNlX3Jlc2VydmF0aW9uKGludCB4Y19oYW5k bGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBk b21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGxvbmcgbnJfZXh0ZW50cywKLS0tIHhlbi11bnN0YWJsZS5vcmlnL3Rvb2xzL3B5dGhvbi94ZW4v eGVuZC9YZW5kRG9tYWluSW5mby5weQorKysgeGVuLXVuc3RhYmxlL3Rvb2xzL3B5dGhvbi94ZW4v eGVuZC9YZW5kRG9tYWluSW5mby5weQpAQCAtMTM1LDYgKzEzNSw3IEBACiAgICAgKCdib290bG9h ZGVyJywgc3RyKSwKICAgICAoJ2Jvb3Rsb2FkZXJfYXJncycsIHN0ciksCiAgICAgKCdmZWF0dXJl cycsIHN0ciksCisgICAgKCdsb2NhbHRpbWUnLCBpbnQpLAogICAgIF0KIAogUk9VTkRUUklQUElO R19DT05GSUdfRU5UUklFUyArPSBWTV9DT05GSUdfUEFSQU1TCkBAIC0xMjYwLDYgKzEyNjEsMTAg QEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5pbmZvWydpbWFn ZSddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmluZm9bJ2Rl dmljZSddKQogCisgICAgICAgICAgICBsb2NhbHRpbWUgPSBzZWxmLmluZm9bJ2xvY2FsdGltZSdd CisgICAgICAgICAgICBpZiBsb2NhbHRpbWUgaXMgbm90IE5vbmUgYW5kIGxvY2FsdGltZSA9PSAx OgorICAgICAgICAgICAgICAgIHhjLmRvbWFpbl9zZXRfdGltZV9vZmZzZXQoc2VsZi5kb21pZCkK KwogICAgICAgICAgICAgeGMuZG9tYWluX3NldGNwdXdlaWdodChzZWxmLmRvbWlkLCBzZWxmLmlu Zm9bJ2NwdV93ZWlnaHQnXSkKIAogICAgICAgICAgICAgIyByZXBpbiBkb21haW4gdmNwdXMgaWYg YSByZXN0cmljdGVkIGNwdXMgbGlzdCBpcyBwcm92aWRlZAotLS0geGVuLXVuc3RhYmxlLm9yaWcv dG9vbHMvcHl0aG9uL3hlbi94bS9jcmVhdGUucHkKKysrIHhlbi11bnN0YWJsZS90b29scy9weXRo b24veGVuL3htL2NyZWF0ZS5weQpAQCAtNjcyLDYgKzY3Miw4IEBACiAgICAgICAgIGNvbmZpZy5h cHBlbmQoWydiYWNrZW5kJywgWyduZXRpZiddXSkKICAgICBpZiB2YWxzLnRwbWlmOgogICAgICAg ICBjb25maWcuYXBwZW5kKFsnYmFja2VuZCcsIFsndHBtaWYnXV0pCisgICAgaWYgdmFscy5sb2Nh bHRpbWU6CisgICAgICAgIGNvbmZpZy5hcHBlbmQoWydsb2NhbHRpbWUnLCB2YWxzLmxvY2FsdGlt ZV0pCiAKICAgICBjb25maWdfaW1hZ2UgPSBjb25maWd1cmVfaW1hZ2UodmFscykKICAgICBpZiB2 YWxzLmJvb3Rsb2FkZXI6Ci0tLSB4ZW4tdW5zdGFibGUub3JpZy94ZW4vYXJjaC94ODYvdGltZS5j CisrKyB4ZW4tdW5zdGFibGUveGVuL2FyY2gveDg2L3RpbWUuYwkKQEAgLTY5OSw3ICs2OTksNyBA QAogewogICAgIHNwaW5fbG9jaygmd2NfbG9jayk7CiAgICAgdmVyc2lvbl91cGRhdGVfYmVnaW4o JmQtPnNoYXJlZF9pbmZvLT53Y192ZXJzaW9uKTsKLSAgICBkLT5zaGFyZWRfaW5mby0+d2Nfc2Vj ICA9IHdjX3NlYzsKKyAgICBkLT5zaGFyZWRfaW5mby0+d2Nfc2VjICA9IHdjX3NlYyArIGQtPnRp bWVfb2Zmc2V0X3NlY29uZHM7CiAgICAgZC0+c2hhcmVkX2luZm8tPndjX25zZWMgPSB3Y19uc2Vj OwogICAgIHZlcnNpb25fdXBkYXRlX2VuZCgmZC0+c2hhcmVkX2luZm8tPndjX3ZlcnNpb24pOwog ICAgIHNwaW5fdW5sb2NrKCZ3Y19sb2NrKTsKLS0tIHhlbi11bnN0YWJsZS5vcmlnL3hlbi9jb21t b24vZG9tMF9vcHMuYworKysgeGVuLXVuc3RhYmxlL3hlbi9jb21tb24vZG9tMF9vcHMuYwpAQCAt NjkzLDYgKzY5MywyMSBAQCBsb25nIGRvX2RvbTBfb3AoR1VFU1RfSEFORExFKGRvbTBfb3BfdCkg CiAgICAgYnJlYWs7CiAjZW5kaWYKIAorICAgIGNhc2UgRE9NMF9TRVRUSU1FT0ZGU0VUOgorICAg IHsKKyAgICAgICAgc3RydWN0IGRvbWFpbiAqZDsKKworICAgICAgICByZXQgPSAtRVNSQ0g7Cisg ICAgICAgIGQgPSBmaW5kX2RvbWFpbl9ieV9pZChvcC0+dS5zZXR0aW1lb2Zmc2V0LmRvbWFpbik7 CisgICAgICAgIGlmICggZCAhPSBOVUxMICkKKyAgICAgICAgeworICAgICAgICAgICAgZC0+dGlt ZV9vZmZzZXRfc2Vjb25kcyA9IG9wLT51LnNldHRpbWVvZmZzZXQudGltZV9vZmZzZXRfc2Vjb25k czsKKyAgICAgICAgICAgIHB1dF9kb21haW4oZCk7CisgICAgICAgICAgICByZXQgPSAwOworICAg ICAgICB9CisgICAgfQorICAgIGJyZWFrOworCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0ID0g YXJjaF9kb19kb20wX29wKG9wLCB1X2RvbTBfb3ApOwogICAgICAgICBicmVhazsKLS0tIHhlbi11 bnN0YWJsZS5vcmlnL3hlbi9pbmNsdWRlL3B1YmxpYy9kb20wX29wcy5oCisrKyB4ZW4tdW5zdGFi bGUveGVuL2luY2x1ZGUvcHVibGljL2RvbTBfb3BzLmgKQEAgLTUxNCw2ICs1MTQsMTQgQEAKIHR5 cGVkZWYgc3RydWN0IGRvbTBfaHlwZXJjYWxsX2luaXQgZG9tMF9oeXBlcmNhbGxfaW5pdF90Owog REVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoZG9tMF9oeXBlcmNhbGxfaW5pdF90KTsKIAorI2RlZmlu ZSBET00wX1NFVFRJTUVPRkZTRVQgICAgNDkKK3N0cnVjdCBkb20wX3NldHRpbWVvZmZzZXQgewor ICAgIGRvbWlkX3QgIGRvbWFpbjsKKyAgICBpbnQzMl90ICB0aW1lX29mZnNldF9zZWNvbmRzOyAv KiBhcHBsaWVkIHRvIGRvbWFpbiB3YWxsY2xvY2sgdGltZSAqLworfTsKK3R5cGVkZWYgc3RydWN0 IGRvbTBfc2V0dGltZW9mZnNldCBkb20wX3NldHRpbWVvZmZzZXRfdDsKK0RFRklORV9YRU5fR1VF U1RfSEFORExFKGRvbTBfc2V0dGltZW9mZnNldF90KTsKKwogc3RydWN0IGRvbTBfb3AgewogICAg IHVpbnQzMl90IGNtZDsKICAgICB1aW50MzJfdCBpbnRlcmZhY2VfdmVyc2lvbjsgLyogRE9NMF9J TlRFUkZBQ0VfVkVSU0lPTiAqLwpAQCAtNTU1LDYgKzU2Myw3IEBACiAgICAgICAgIHN0cnVjdCBk b20wX2lycV9wZXJtaXNzaW9uICAgIGlycV9wZXJtaXNzaW9uOwogICAgICAgICBzdHJ1Y3QgZG9t MF9pb21lbV9wZXJtaXNzaW9uICBpb21lbV9wZXJtaXNzaW9uOwogICAgICAgICBzdHJ1Y3QgZG9t MF9oeXBlcmNhbGxfaW5pdCAgICBoeXBlcmNhbGxfaW5pdDsKKyAgICAgICAgc3RydWN0IGRvbTBf c2V0dGltZW9mZnNldCAgICAgc2V0dGltZW9mZnNldDsKICAgICAgICAgdWludDhfdCAgICAgICAg ICAgICAgICAgICAgICAgcGFkWzEyOF07CiAgICAgfSB1OwogfTsKLS0tIHhlbi11bnN0YWJsZS5v cmlnL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC5oCisrKyB4ZW4tdW5zdGFibGUveGVuL2luY2x1ZGUv eGVuL3NjaGVkLmgKQEAgLTE1OSw2ICsxNTksNyBAQAogCiAgICAgLyogT1Byb2ZpbGUgc3VwcG9y dC4gKi8KICAgICBzdHJ1Y3QgeGVub3Byb2YgKnhlbm9wcm9mOworICAgIGludDMyX3QgdGltZV9v ZmZzZXRfc2Vjb25kczsKIH07CiAKIHN0cnVjdCBkb21haW5fc2V0dXBfaW5mbwotLS0geGVuLXVu c3RhYmxlLm9yaWcvdG9vbHMvcHl0aG9uL3hlbi9sb3dsZXZlbC94Yy94Yy5jCisrKyB4ZW4tdW5z dGFibGUvdG9vbHMvcHl0aG9uL3hlbi9sb3dsZXZlbC94Yy94Yy5jCkBAIC04NjksNiArODY5LDMw IEBAIHN0YXRpYyBQeU9iamVjdCAqcHl4Y19kb21haW5faW9tZW1fcGVybWkKICAgICByZXR1cm4g emVybzsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICpweXhjX2RvbWFpbl9zZXRfdGltZV9vZmZzZXQo WGNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIHVpbnQzMl90IGRvbTsKKyAg ICBpbnQzMl90IHRpbWVfb2Zmc2V0X3NlY29uZHM7CisgICAgdGltZV90IGNhbGVuZGFyX3RpbWU7 CisgICAgc3RydWN0IHRtIGxvY2FsX3RpbWU7CisgICAgc3RydWN0IHRtIHV0Y190aW1lOworCisg ICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpIiwgJmRvbSkpCisgICAgICAgIHJldHVy biBOVUxMOworCisgICAgY2FsZW5kYXJfdGltZSA9IHRpbWUoTlVMTCk7CisgICAgbG9jYWx0aW1l X3IoJmNhbGVuZGFyX3RpbWUsICZsb2NhbF90aW1lKTsKKyAgICBnbXRpbWVfcigmY2FsZW5kYXJf dGltZSwgJnV0Y190aW1lKTsKKyAgICAvKiBzZXQgdXAgdG8gZ2V0IGNhbGVuZGFyIHRpbWUgYmFz ZWQgb24gdXRjX3RpbWUsIHdpdGggbG9jYWwgZHN0IHNldHRpbmcgKi8KKyAgICB1dGNfdGltZS50 bV9pc2RzdCA9IGxvY2FsX3RpbWUudG1faXNkc3Q7CisgICAgdGltZV9vZmZzZXRfc2Vjb25kcyA9 IChpbnQzMl90KWRpZmZ0aW1lKGNhbGVuZGFyX3RpbWUsIG1rdGltZSgmdXRjX3RpbWUpKTsKKwor ICAgIGlmICh4Y19kb21haW5fc2V0X3RpbWVfb2Zmc2V0KHNlbGYtPnhjX2hhbmRsZSwgZG9tLCB0 aW1lX29mZnNldF9zZWNvbmRzKSAhPSAwKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIFB5 X0lOQ1JFRih6ZXJvKTsKKyAgICByZXR1cm4gemVybzsKK30KIAogc3RhdGljIFB5T2JqZWN0ICpk b21fb3AoWGNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLAogICAgICAgICAgICAgICAgICAg ICAgICAgaW50ICgqZm4pKGludCwgdWludDMyX3QpKQpAQCAtMTIwOCw2ICsxMjA4LDEzIEBAIHN0 YXRpYyBQeU1ldGhvZERlZiBweXhjX21ldGhvZHNbXSA9IHsKICAgICAgICJSZXR1cm5zOiBbaW50 XTogVGhlIHNpemUgaW4gS2lCIG9mIG1lbW9yeSBzcGFubmluZyB0aGUgZ2l2ZW4gbnVtYmVyICIK ICAgICAgICJvZiBwYWdlcy5cbiIgfSwKIAorICAgIHsgImRvbWFpbl9zZXRfdGltZV9vZmZzZXQi LAorICAgICAgKFB5Q0Z1bmN0aW9uKXB5eGNfZG9tYWluX3NldF90aW1lX29mZnNldCwKKyAgICAg IE1FVEhfVkFSQVJHUywgIlxuIgorICAgICAgIlNldCBhIGRvbWFpbidzIHRpbWUgb2Zmc2V0IHRv IERvbTAncyBsb2NhbHRpbWVcbiIKKyAgICAgICIgZG9tICAgICAgICBbaW50XTogRG9tYWluIHdo b3NlIHRpbWUgb2Zmc2V0IGlzIGJlaW5nIHNldC5cbiIKKyAgICAgICJSZXR1cm5zOiBbaW50XSAw IG9uIHN1Y2Nlc3M7IC0xIG9uIGVycm9yLlxuIiB9LAorCiAgICAgeyBOVUxMLCBOVUxMLCAwLCBO VUxMIH0KIH07CiAK --=__PartEDC83CDB.1__= 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 --=__PartEDC83CDB.1__=--