From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NxiNF-0007HD-BK for qemu-devel@nongnu.org; Fri, 02 Apr 2010 11:01:29 -0400 Received: from [140.186.70.92] (port=52700 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NxiNB-0007CM-24 for qemu-devel@nongnu.org; Fri, 02 Apr 2010 11:01:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NxiN8-0004ap-Fn for qemu-devel@nongnu.org; Fri, 02 Apr 2010 11:01:24 -0400 Received: from mail-ew0-f227.google.com ([209.85.219.227]:45948) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NxiN8-0004a7-6U for qemu-devel@nongnu.org; Fri, 02 Apr 2010 11:01:22 -0400 Received: by ewy27 with SMTP id 27so613660ewy.10 for ; Fri, 02 Apr 2010 08:01:21 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <4BB606BE.9000508@redhat.com> Date: Fri, 02 Apr 2010 17:01:18 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <4BB4FED5.2080508@codemonkey.ws> In-Reply-To: Content-Type: multipart/mixed; boundary="------------010502030906000205010006" Subject: [Qemu-devel] Re: [PATCH 1/2] Move KVM init to arch_init.c, compile vl.c once List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Blue Swirl Cc: qemu-devel This is a multi-part message in MIME format. --------------010502030906000205010006 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 04/01/2010 10:27 PM, Blue Swirl wrote: > It will not be safe to use kvm_enabled() in vl.c, so there needs to be > a target dependent helper. The call to kvm_init could remain in vl.c, > likewise it's not strictly needed to move kvm_allowed to arch_init.c. Not really, because kvm_allowed _can_ be used from once-compiled files. The attached patch makes kvm-all.c be compiled always, even if !CONFIG_KVM; functions that require kvm are almost always omitted for now (so checking kvm_enabled() is required to call them). However, kvm_init is stubbed so that vl.c can call it. In the future we could add more stubbing and ultimately do this unconditionally: #define kvm_enabled() kvm_allowed With this patch vl.c can already be compiled once, but I did not include it because it would conflict with my balloon.c series; I'm doing enough rebasing these days. Also, qemu-kvm is a bit behind qemu and all these patches are nightmares for the merges, so it's better IMO if things are left to calm down a bit. > They just caused problems with the poisoning check in patch 2/2. Poisoning kvm_enabled is right, but poisoning kvm_allowed is overkill. Paolo --------------010502030906000205010006 Content-Type: text/plain; name="0001-provide-a-stub-version-of-kvm-all.c-if-CONFIG_KVM.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-provide-a-stub-version-of-kvm-all.c-if-CONFIG_KVM.patch" RnJvbSBlOWJkMjE4OTM2MzMzNjU1NjdiN2MwZDQ2OGE5OTcxYWIwMmU0NmYwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYW9sbyBCb256aW5pIDxwYm9uemluaUByZWRoYXQu Y29tPgpEYXRlOiBGcmksIDIgQXByIDIwMTAgMDk6Mjk6NTQgKzAyMDAKU3ViamVjdDogW1BB VENIXSBwcm92aWRlIGEgc3R1YiB2ZXJzaW9uIG9mIGt2bS1hbGwuYyBpZiAhQ09ORklHX0tW TQoKVGhpcyBhbGxvd3MgbGltaXRlZCB1c2Ugb2Yga3ZtIGZ1bmN0aW9ucyAod2hpY2ggd2ls bCByZXR1cm4gRU5PU1lTKQpldmVuIGluIG9uY2UtY29tcGlsZWQgbW9kdWxlcy4gIFRoZSBw YXRjaCBhbHNvIGltcHJvdmVzIGEgYml0IHRoZSBlcnJvcgptZXNzYWdlcyBmb3IgS1ZNIGlu aXRpYWxpemF0aW9uLgoKU2lnbmVkLW9mZi1ieTogUGFvbG8gQm9uemluaSA8cGJvbnppbmlA cmVkaGF0LmNvbT4KLS0tCiBNYWtlZmlsZS50YXJnZXQgfCAgICA0ICsrLS0KIGt2bS1hbGwu YyAgICAgICB8ICAgMTYgKysrKysrKysrKysrKystLQoga3ZtLmggICAgICAgICAgIHwgICAg NCArKystCiB2bC5jICAgICAgICAgICAgfCAgIDE2ICsrKysrKystLS0tLS0tLS0KIDQgZmls ZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvTWFrZWZpbGUudGFyZ2V0IGIvTWFrZWZpbGUudGFyZ2V0CmluZGV4IDE2N2ZjOGQu LjM5NDNkZTEgMTAwNjQ0Ci0tLSBhL01ha2VmaWxlLnRhcmdldAorKysgYi9NYWtlZmlsZS50 YXJnZXQKQEAgLTE2OCw4ICsxNjgsOCBAQCBvYmoteSArPSB2aXJ0aW8tYmxrLm8gdmlydGlv LWJhbGxvb24ubyB2aXJ0aW8tbmV0Lm8gdmlydGlvLXBjaS5vIHZpcnRpby1zZXJpYWwtYgog b2JqLXkgKz0gZXZlbnRfbm90aWZpZXIubwogb2JqLXkgKz0gdmhvc3RfbmV0Lm8KIG9iai0k KENPTkZJR19WSE9TVF9ORVQpICs9IHZob3N0Lm8KLW9iai15ICs9IHJ3aGFuZGxlci5vCi1v YmotJChDT05GSUdfS1ZNKSArPSBrdm0ubyBrdm0tYWxsLm8KK29iai15ICs9IHJ3aGFuZGxl ci5vIGt2bS1hbGwubworb2JqLSQoQ09ORklHX0tWTSkgKz0ga3ZtLm8KIExJQlMrPS1segog CiBRRU1VX0NGTEFHUyArPSAkKFZOQ19UTFNfQ0ZMQUdTKQpkaWZmIC0tZ2l0IGEva3ZtLWFs bC5jIGIva3ZtLWFsbC5jCmluZGV4IDdhYTVlNTcuLjUzZjU4YTYgMTAwNjQ0Ci0tLSBhL2t2 bS1hbGwuYworKysgYi9rdm0tYWxsLmMKQEAgLTEzLDE0ICsxMywxNiBAQAogICoKICAqLwog CisjaW5jbHVkZSAicWVtdS1jb21tb24uaCIKICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KICNp bmNsdWRlIDxzeXMvaW9jdGwuaD4KICNpbmNsdWRlIDxzeXMvbW1hbi5oPgogI2luY2x1ZGUg PHN0ZGFyZy5oPgogCisjaWZkZWYgQ09ORklHX0tWTQogI2luY2x1ZGUgPGxpbnV4L2t2bS5o PgorI2VuZGlmCiAKLSNpbmNsdWRlICJxZW11LWNvbW1vbi5oIgogI2luY2x1ZGUgInFlbXUt YmFycmllci5oIgogI2luY2x1ZGUgInN5c2VtdS5oIgogI2luY2x1ZGUgImh3L2h3LmgiCkBA IC03Myw2ICs3NSw3IEBAIHN0cnVjdCBLVk1TdGF0ZQogCiBzdGF0aWMgS1ZNU3RhdGUgKmt2 bV9zdGF0ZTsKIAorI2lmZGVmIENPTkZJR19LVk0KIHN0YXRpYyBLVk1TbG90ICprdm1fYWxs b2Nfc2xvdChLVk1TdGF0ZSAqcykKIHsKICAgICBpbnQgaTsKQEAgLTI4Miw3ICsyODUsNyBA QCBzdGF0aWMgaW50IGt2bV9zZXRfbWlncmF0aW9uX2xvZyhpbnQgZW5hYmxlKQogICAgIHJl dHVybiAwOwogfQogCi1zdGF0aWMgaW50IHRlc3RfbGVfYml0KHVuc2lnbmVkIGxvbmcgbnIs IHVuc2lnbmVkIGNoYXIgKmFkZHIpCitzdGF0aWMgaW5saW5lIGludCB0ZXN0X2xlX2JpdCh1 bnNpZ25lZCBsb25nIG5yLCB1bnNpZ25lZCBjaGFyICphZGRyKQogewogICAgIHJldHVybiAo YWRkcltuciA+PiAzXSA+PiAobnIgJiA3KSkgJiAxOwogfQpAQCAtNTYxLDkgKzU2NCwxMSBA QCBzdGF0aWMgQ1BVUGh5c01lbW9yeUNsaWVudCBrdm1fY3B1X3BoeXNfbWVtb3J5X2NsaWVu dCA9IHsKIAkuc3luY19kaXJ0eV9iaXRtYXAgPSBrdm1fY2xpZW50X3N5bmNfZGlydHlfYml0 bWFwLAogCS5taWdyYXRpb25fbG9nID0ga3ZtX2NsaWVudF9taWdyYXRpb25fbG9nLAogfTsK KyNlbmRpZgogCiBpbnQga3ZtX2luaXQoaW50IHNtcF9jcHVzKQogeworI2lmZGVmIENPTkZJ R19LVk0KICAgICBzdGF0aWMgY29uc3QgY2hhciB1cGdyYWRlX25vdGVbXSA9CiAgICAgICAg ICJQbGVhc2UgdXBncmFkZSB0byBhdCBsZWFzdCBrZXJuZWwgMi42LjI5IG9yIHJlY2VudCBr dm0ta21vZFxuIgogICAgICAgICAiKHNlZSBodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2pl Y3RzL2t2bSkuXG4iOwpAQCAtNjgzLDggKzY4OCwxMiBAQCBlcnI6CiAgICAgcWVtdV9mcmVl KHMpOwogCiAgICAgcmV0dXJuIHJldDsKKyNlbHNlCisgICAgcmV0dXJuIC1FTk9TWVM7Cisj ZW5kaWYKIH0KIAorI2lmZGVmIENPTkZJR19LVk0KIHN0YXRpYyBpbnQga3ZtX2hhbmRsZV9p byh1aW50MTZfdCBwb3J0LCB2b2lkICpkYXRhLCBpbnQgZGlyZWN0aW9uLCBpbnQgc2l6ZSwK ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBjb3VudCkKIHsKQEAgLTg2Niw2 ICs4NzUsNyBAQCBpbnQga3ZtX2NwdV9leGVjKENQVVN0YXRlICplbnYpCiAKICAgICByZXR1 cm4gcmV0OwogfQorI2VuZGlmCiAKIGludCBrdm1faW9jdGwoS1ZNU3RhdGUgKnMsIGludCB0 eXBlLCAuLi4pCiB7CkBAIC0xMTM5LDYgKzExNDksNyBAQCB2b2lkIGt2bV9yZW1vdmVfYWxs X2JyZWFrcG9pbnRzKENQVVN0YXRlICpjdXJyZW50X2VudikKIH0KICNlbmRpZiAvKiAhS1ZN X0NBUF9TRVRfR1VFU1RfREVCVUcgKi8KIAorI2lmZGVmIENPTkZJR19LVk0KIGludCBrdm1f c2V0X3NpZ25hbF9tYXNrKENQVVN0YXRlICplbnYsIGNvbnN0IHNpZ3NldF90ICpzaWdzZXQp CiB7CiAgICAgc3RydWN0IGt2bV9zaWduYWxfbWFzayAqc2lnbWFzazsKQEAgLTExNTYsNiAr MTE2Nyw3IEBAIGludCBrdm1fc2V0X3NpZ25hbF9tYXNrKENQVVN0YXRlICplbnYsIGNvbnN0 IHNpZ3NldF90ICpzaWdzZXQpCiAKICAgICByZXR1cm4gcjsKIH0KKyNlbmRpZgogCiAjaWZk ZWYgS1ZNX0lPRVZFTlRGRAogaW50IGt2bV9zZXRfaW9ldmVudGZkX3Bpb193b3JkKGludCBm ZCwgdWludDE2X3QgYWRkciwgdWludDE2X3QgdmFsLCBib29sIGFzc2lnbikKZGlmZiAtLWdp dCBhL2t2bS5oIGIva3ZtLmgKaW5kZXggMWU1YmUyNy4uMjQ3N2NmZCAxMDA2NDQKLS0tIGEv a3ZtLmgKKysrIGIva3ZtLmgKQEAgLTE4LDEzICsxOCwxNSBAQAogI2luY2x1ZGUgPGVycm5v Lmg+CiAjaW5jbHVkZSAiY29uZmlnLWhvc3QuaCIKICNpbmNsdWRlICJxZW11LXF1ZXVlLmgi CisjaW5jbHVkZSAiY3B1LWNvbW1vbi5oIgogCiAjaWZkZWYgQ09ORklHX0tWTQogI2luY2x1 ZGUgPGxpbnV4L2t2bS5oPgogI2VuZGlmCiAKLSNpZmRlZiBDT05GSUdfS1ZNCiBleHRlcm4g aW50IGt2bV9hbGxvd2VkOworCisjaWZkZWYgQ09ORklHX0tWTQogI2RlZmluZSBrdm1fZW5h YmxlZCgpIChrdm1fYWxsb3dlZCkKICNlbHNlCiAjZGVmaW5lIGt2bV9lbmFibGVkKCkgKDAp CmRpZmYgLS1naXQgYS92bC5jIGIvdmwuYwppbmRleCA2NzY4Y2YxLi45ZmU0NjgyIDEwMDY0 NAotLS0gYS92bC5jCisrKyBiL3ZsLmMKQEAgLTMyMzUsMTAgKzMyMzUsNiBAQCBpbnQgbWFp bihpbnQgYXJnYywgY2hhciAqKmFyZ3YsIGNoYXIgKiplbnZwKQogICAgICAgICAgICAgICAg IGRvX3NtYmlvc19vcHRpb24ob3B0YXJnKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAg ICAgICAgICAgIGNhc2UgUUVNVV9PUFRJT05fZW5hYmxlX2t2bToKLSAgICAgICAgICAgICAg ICBpZiAoIShrdm1fYXZhaWxhYmxlKCkpKSB7Ci0gICAgICAgICAgICAgICAgICAgIHByaW50 ZigiT3B0aW9uICVzIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgdGFyZ2V0XG4iLCBwb3B0LT5u YW1lKTsKLSAgICAgICAgICAgICAgICAgICAgZXhpdCgxKTsKLSAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAga3ZtX2FsbG93ZWQgPSAxOwogICAgICAgICAgICAgICAgIGJy ZWFrOwogICAgICAgICAgICAgY2FzZSBRRU1VX09QVElPTl91c2I6CkBAIC0zNTg1LDEyICsz NTgxLDE0IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndiwgY2hhciAqKmVudnAp CiAgICAgICAgIGV4aXQoMSk7CiAgICAgfQogCi0gICAgaWYgKGt2bV9lbmFibGVkKCkpIHsK LSAgICAgICAgaW50IHJldDsKLQotICAgICAgICByZXQgPSBrdm1faW5pdChzbXBfY3B1cyk7 CisgICAgaWYgKGt2bV9hbGxvd2VkKSB7CisgICAgICAgIGludCByZXQgPSBrdm1faW5pdChz bXBfY3B1cyk7CiAgICAgICAgIGlmIChyZXQgPCAwKSB7Ci0gICAgICAgICAgICBmcHJpbnRm KHN0ZGVyciwgImZhaWxlZCB0byBpbml0aWFsaXplIEtWTVxuIik7CisgICAgICAgICAgICBp ZiAoIWt2bV9hdmFpbGFibGUoKSkgeworICAgICAgICAgICAgICAgIHByaW50ZigiS1ZNIG5v dCBzdXBwb3J0ZWQgZm9yIHRoaXMgdGFyZ2V0XG4iKTsKKyAgICAgICAgICAgIH0gZWxzZSB7 CisgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJmYWlsZWQgdG8gaW5pdGlhbGl6 ZSBLVk06ICVzXG4iLCBzdHJlcnJvcigtcmV0KSk7CisgICAgICAgICAgICB9CiAgICAgICAg ICAgICBleGl0KDEpOwogICAgICAgICB9CiAgICAgfQotLSAKMS42LjYuMQoK --------------010502030906000205010006--