From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MmkUN-0005a4-2U for qemu-devel@nongnu.org; Sun, 13 Sep 2009 04:31:15 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MmkUH-0005Y7-IH for qemu-devel@nongnu.org; Sun, 13 Sep 2009 04:31:13 -0400 Received: from [199.232.76.173] (port=44192 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MmkUH-0005Y4-C9 for qemu-devel@nongnu.org; Sun, 13 Sep 2009 04:31:09 -0400 Received: from mail-ew0-f221.google.com ([209.85.219.221]:34568) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MmkUG-00013W-Mj for qemu-devel@nongnu.org; Sun, 13 Sep 2009 04:31:09 -0400 Received: by ewy21 with SMTP id 21so2043689ewy.8 for ; Sun, 13 Sep 2009 01:31:07 -0700 (PDT) MIME-Version: 1.0 From: Blue Swirl Date: Sun, 13 Sep 2009 11:30:47 +0300 Message-ID: Content-Type: multipart/mixed; boundary=00504502ca31e059be0473715e02 Subject: [Qemu-devel] Strange qdev related crash (m48t59 ISA qdev conversion) List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel --00504502ca31e059be0473715e02 Content-Type: text/plain; charset=UTF-8 Hi, I get a strange crash when trying to add an ISA bus version of m48t59: gdb --args ./obj-amd64/sparc-softmmu/qemu-system-sparc -L pc-bios GNU gdb 6.8-debian Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu"... (gdb) r [Thread debugging using libthread_db enabled] [New Thread 0x7fbc7a7b9700 (LWP 10616)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fbc7a7b9700 (LWP 10616)] 0x000000000047c1ac in qdev_create (bus=0xf3b770, name=0x578e80 "m48t59") at /src/qemu/hw/qdev.c:102 102 qdev_prop_set_defaults(dev, dev->parent_bus->info->props); (gdb) p dev->parent_bus $1 = (BusState *) 0xffffffff00000000 (gdb) p bus $2 = (BusState *) 0x26da770 (gdb) l 97 98 dev = qemu_mallocz(info->size); 99 dev->info = info; 100 dev->parent_bus = bus; 101 qdev_prop_set_defaults(dev, dev->info->props); 102 qdev_prop_set_defaults(dev, dev->parent_bus->info->props); 103 qdev_prop_set_compat(dev); 104 QLIST_INSERT_HEAD(&bus->children, dev, sibling); 105 return dev; 106 } Line 100 should make sure that dev->parent_bus is OK. Note that the patch should not affect the SysBus version used by Sparc32 very much. Recompiling qdev.c with CFLAGS=-g does not change anything. --00504502ca31e059be0473715e02 Content-Type: application/mbox; name="0001-Add-an-ISA-bus-version-of-m48t59.patch" Content-Disposition: attachment; filename="0001-Add-an-ISA-bus-version-of-m48t59.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fzjiv3p80 RnJvbSA3YjAzODRkYTdhOTI0MzQ4ZWJjMTY4N2NjYzViZTJkYWRiZTcxYWFhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCbHVlIFN3aXJsIDxibGF1d2lyYmVsQGdtYWlsLmNvbT4KRGF0 ZTogU3VuLCAxMyBTZXAgMjAwOSAwODoxMDowMCArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBh biBJU0EgYnVzIHZlcnNpb24gb2YgbTQ4dDU5CgpCUk9LRU4KClNpZ25lZC1vZmYtYnk6IEJsdWUg U3dpcmwgPGJsYXV3aXJiZWxAZ21haWwuY29tPgotLS0KIGh3L200OHQ1OS5jIHwgICA4NyArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCiBo dy9udnJhbS5oICB8ICAgIDEgKwogaHcvc3VuNHUuYyAgfCAgICAzICstCiAzIGZpbGVzIGNoYW5n ZWQsIDc3IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2h3L200 OHQ1OS5jIGIvaHcvbTQ4dDU5LmMKaW5kZXggMGZjZjRmOC4uYTdjZmIyZiAxMDA2NDQKLS0tIGEv aHcvbTQ4dDU5LmMKKysrIGIvaHcvbTQ4dDU5LmMKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRl ICJxZW11LXRpbWVyLmgiCiAjaW5jbHVkZSAic3lzZW11LmgiCiAjaW5jbHVkZSAic3lzYnVzLmgi CisjaW5jbHVkZSAiaXNhLmgiCiAKIC8vI2RlZmluZSBERUJVR19OVlJBTQogCkBAIC00MSw3ICs0 Miw2IEBACiAgKiBQUEMgcGxhdGZvcm0gdGhlcmUgaXMgYWxzbyBhIG52cmFtIGxvY2sgZnVuY3Rp b24uCiAgKi8KIHN0cnVjdCBtNDh0NTlfdCB7Ci0gICAgU3lzQnVzRGV2aWNlIGJ1c2RldjsKICAg ICAvKiBNb2RlbCBwYXJhbWV0ZXJzICovCiAgICAgdWludDMyX3QgdHlwZTsgLy8gMiA9IG00OHQw MiwgOCA9IG00OHQwOCwgNTkgPSBtNDh0NTkKICAgICAvKiBIYXJkd2FyZSBwYXJhbWV0ZXJzICov CkBAIC02MSw2ICs2MSwxNiBAQCBzdHJ1Y3QgbTQ4dDU5X3QgewogICAgIHVpbnQ4X3QgKmJ1ZmZl cjsKIH07CiAKK3R5cGVkZWYgc3RydWN0IE00OHQ1OUlTQVN0YXRlIHsKKyAgICBJU0FEZXZpY2Ug YnVzZGV2OworICAgIG00OHQ1OV90IHN0YXRlOworfSBNNDh0NTlJU0FTdGF0ZTsKKwordHlwZWRl ZiBzdHJ1Y3QgTTQ4dDU5U3lzQnVzU3RhdGUgeworICAgIFN5c0J1c0RldmljZSBidXNkZXY7Cisg ICAgbTQ4dDU5X3Qgc3RhdGU7Cit9IE00OHQ1OVN5c0J1c1N0YXRlOworCiAvKiBGYWtlIHRpbWVy IGZ1bmN0aW9ucyAqLwogLyogR2VuZXJpYyBoZWxwZXJzIGZvciBCQ0QgKi8KIHN0YXRpYyBpbmxp bmUgdWludDhfdCB0b0JDRCAodWludDhfdCB2YWx1ZSkKQEAgLTYyMCw3ICs2MzAsNyBAQCBtNDh0 NTlfdCAqbTQ4dDU5X2luaXQgKHFlbXVfaXJxIElSUSwgdGFyZ2V0X3BoeXNfYWRkcl90IG1lbV9i YXNlLAogewogICAgIERldmljZVN0YXRlICpkZXY7CiAgICAgU3lzQnVzRGV2aWNlICpzOwotICAg IG00OHQ1OV90ICpkOworICAgIE00OHQ1OVN5c0J1c1N0YXRlICpkOwogCiAgICAgZGV2ID0gcWRl dl9jcmVhdGUoTlVMTCwgIm00OHQ1OSIpOwogICAgIHFkZXZfcHJvcF9zZXRfdWludDMyKGRldiwg InR5cGUiLCB0eXBlKTsKQEAgLTYzNywyMiArNjQ3LDM2IEBAIG00OHQ1OV90ICptNDh0NTlfaW5p dCAocWVtdV9pcnEgSVJRLCB0YXJnZXRfcGh5c19hZGRyX3QgbWVtX2Jhc2UsCiAgICAgICAgIHN5 c2J1c19tbWlvX21hcChzLCAwLCBtZW1fYmFzZSk7CiAgICAgfQogCi0gICAgZCA9IEZST01fU1lT QlVTKG00OHQ1OV90LCBzKTsKKyAgICBkID0gRlJPTV9TWVNCVVMoTTQ4dDU5U3lzQnVzU3RhdGUs IHMpOwogCi0gICAgcmV0dXJuIGQ7CisgICAgcmV0dXJuICZkLT5zdGF0ZTsKIH0KIAotc3RhdGlj IGludCBtNDh0NTlfaW5pdDEoU3lzQnVzRGV2aWNlICpkZXYpCittNDh0NTlfdCAqbTQ4dDU5X2lu aXRfaXNhKHVpbnQzMl90IGlvX2Jhc2UsIHVpbnQxNl90IHNpemUsIGludCB0eXBlKQogewotICAg IG00OHQ1OV90ICpzID0gRlJPTV9TWVNCVVMobTQ4dDU5X3QsIGRldik7Ci0gICAgaW50IG1lbV9p bmRleDsKKyAgICBNNDh0NTlJU0FTdGF0ZSAqZDsKKyAgICBJU0FEZXZpY2UgKmRldjsKKyAgICBt NDh0NTlfdCAqczsKKworICAgIGRldiA9IGlzYV9jcmVhdGUoIm00OHQ1OV9pc2EiKTsKKyAgICBx ZGV2X3Byb3Bfc2V0X3VpbnQzMigmZGV2LT5xZGV2LCAidHlwZSIsIHR5cGUpOworICAgIHFkZXZf cHJvcF9zZXRfdWludDMyKCZkZXYtPnFkZXYsICJzaXplIiwgc2l6ZSk7CisgICAgcWRldl9wcm9w X3NldF91aW50MzIoJmRldi0+cWRldiwgImlvX2Jhc2UiLCBpb19iYXNlKTsKKyAgICBxZGV2X2lu aXQoJmRldi0+cWRldik7CisgICAgZCA9IERPX1VQQ0FTVChNNDh0NTlJU0FTdGF0ZSwgYnVzZGV2 LCBkZXYpOworICAgIHMgPSAmZC0+c3RhdGU7CiAKLSAgICBzLT5idWZmZXIgPSBxZW11X21hbGxv Y3oocy0+c2l6ZSk7Ci0gICAgc3lzYnVzX2luaXRfaXJxKGRldiwgJnMtPklSUSk7CisgICAgaWYg KGlvX2Jhc2UgIT0gMCkgeworICAgICAgICByZWdpc3Rlcl9pb3BvcnRfcmVhZChpb19iYXNlLCAw eDA0LCAxLCBOVlJBTV9yZWFkYiwgcyk7CisgICAgICAgIHJlZ2lzdGVyX2lvcG9ydF93cml0ZShp b19iYXNlLCAweDA0LCAxLCBOVlJBTV93cml0ZWIsIHMpOworICAgIH0KIAotICAgIG1lbV9pbmRl eCA9IGNwdV9yZWdpc3Rlcl9pb19tZW1vcnkobnZyYW1fcmVhZCwgbnZyYW1fd3JpdGUsIHMpOwot ICAgIHN5c2J1c19pbml0X21taW8oZGV2LCBzLT5zaXplLCBtZW1faW5kZXgpOworICAgIHJldHVy biBzOworfQogCitzdGF0aWMgdm9pZCBtNDh0NTlfaW5pdF9jb21tb24obTQ4dDU5X3QgKnMpCit7 CisgICAgcy0+YnVmZmVyID0gcWVtdV9tYWxsb2N6KHMtPnNpemUpOwogICAgIGlmIChzLT50eXBl ID09IDU5KSB7CiAgICAgICAgIHMtPmFscm1fdGltZXIgPSBxZW11X25ld190aW1lcih2bV9jbG9j aywgJmFsYXJtX2NiLCBzKTsKICAgICAgICAgcy0+d2RfdGltZXIgPSBxZW11X25ld190aW1lcih2 bV9jbG9jaywgJndhdGNoZG9nX2NiLCBzKTsKQEAgLTY2MSwxMyArNjg1LDUxIEBAIHN0YXRpYyBp bnQgbTQ4dDU5X2luaXQxKFN5c0J1c0RldmljZSAqZGV2KQogCiAgICAgcWVtdV9yZWdpc3Rlcl9y ZXNldChtNDh0NTlfcmVzZXQsIHMpOwogICAgIHJlZ2lzdGVyX3NhdmV2bSgibTQ4dDU5IiwgLTEs IDEsIG00OHQ1OV9zYXZlLCBtNDh0NTlfbG9hZCwgcyk7Cit9CisKK3N0YXRpYyBpbnQgbTQ4dDU5 X2luaXRfaXNhMShJU0FEZXZpY2UgKmRldikKK3sKKyAgICBNNDh0NTlJU0FTdGF0ZSAqZCA9IERP X1VQQ0FTVChNNDh0NTlJU0FTdGF0ZSwgYnVzZGV2LCBkZXYpOworICAgIG00OHQ1OV90ICpzID0g JmQtPnN0YXRlOworCisgICAgaXNhX2luaXRfaXJxKGRldiwgJnMtPklSUSwgOCk7CisgICAgbTQ4 dDU5X2luaXRfY29tbW9uKHMpOworCiAgICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgbTQ4 dDU5X2luaXQxKFN5c0J1c0RldmljZSAqZGV2KQoreworICAgIE00OHQ1OVN5c0J1c1N0YXRlICpk ID0gRlJPTV9TWVNCVVMoTTQ4dDU5U3lzQnVzU3RhdGUsIGRldik7CisgICAgbTQ4dDU5X3QgKnMg PSAmZC0+c3RhdGU7CisgICAgaW50IG1lbV9pbmRleDsKKworICAgIHN5c2J1c19pbml0X2lycShk ZXYsICZzLT5JUlEpOworCisgICAgbWVtX2luZGV4ID0gY3B1X3JlZ2lzdGVyX2lvX21lbW9yeShu dnJhbV9yZWFkLCBudnJhbV93cml0ZSwgcyk7CisgICAgc3lzYnVzX2luaXRfbW1pbyhkZXYsIHMt PnNpemUsIG1lbV9pbmRleCk7CisgICAgbTQ4dDU5X2luaXRfY29tbW9uKHMpOworCisgICAgcmV0 dXJuIDA7Cit9CisKK3N0YXRpYyBJU0FEZXZpY2VJbmZvIG00OHQ1OV9pc2FfaW5mbyA9IHsKKyAg ICAuaW5pdCA9IG00OHQ1OV9pbml0X2lzYTEsCisgICAgLnFkZXYubmFtZSA9ICJtNDh0NTlfaXNh IiwKKyAgICAucWRldi5zaXplID0gc2l6ZW9mKE00OHQ1OUlTQVN0YXRlKSwKKyAgICAucWRldi5u b191c2VyID0gMSwKKyAgICAucWRldi5wcm9wcyA9IChQcm9wZXJ0eVtdKSB7CisgICAgICAgIERF RklORV9QUk9QX1VJTlQzMigic2l6ZSIsICAgIG00OHQ1OV90LCBzaXplLCAgICAtMSksCisgICAg ICAgIERFRklORV9QUk9QX1VJTlQzMigidHlwZSIsICAgIG00OHQ1OV90LCB0eXBlLCAgICAtMSks CisgICAgICAgIERFRklORV9QUk9QX0hFWDMyKCAiaW9fYmFzZSIsIG00OHQ1OV90LCBpb19iYXNl LCAgMCksCisgICAgICAgIERFRklORV9QUk9QX0VORF9PRl9MSVNUKCksCisgICAgfQorfTsKKwog c3RhdGljIFN5c0J1c0RldmljZUluZm8gbTQ4dDU5X2luZm8gPSB7CiAgICAgLmluaXQgPSBtNDh0 NTlfaW5pdDEsCiAgICAgLnFkZXYubmFtZSAgPSAibTQ4dDU5IiwKLSAgICAucWRldi5zaXplICA9 IHNpemVvZihtNDh0NTlfdCksCisgICAgLnFkZXYuc2l6ZSA9IHNpemVvZihNNDh0NTlTeXNCdXNT dGF0ZSksCiAgICAgLnFkZXYucHJvcHMgPSAoUHJvcGVydHlbXSkgewogICAgICAgICBERUZJTkVf UFJPUF9VSU5UMzIoInNpemUiLCAgICBtNDh0NTlfdCwgc2l6ZSwgICAgLTEpLAogICAgICAgICBE RUZJTkVfUFJPUF9VSU5UMzIoInR5cGUiLCAgICBtNDh0NTlfdCwgdHlwZSwgICAgLTEpLApAQCAt Njc5LDYgKzc0MSw3IEBAIHN0YXRpYyBTeXNCdXNEZXZpY2VJbmZvIG00OHQ1OV9pbmZvID0gewog c3RhdGljIHZvaWQgbTQ4dDU5X3JlZ2lzdGVyX2RldmljZXModm9pZCkKIHsKICAgICBzeXNidXNf cmVnaXN0ZXJfd2l0aHByb3AoJm00OHQ1OV9pbmZvKTsKKyAgICBpc2FfcWRldl9yZWdpc3Rlcigm bTQ4dDU5X2lzYV9pbmZvKTsKIH0KIAogZGV2aWNlX2luaXQobTQ4dDU5X3JlZ2lzdGVyX2Rldmlj ZXMpCmRpZmYgLS1naXQgYS9ody9udnJhbS5oIGIvaHcvbnZyYW0uaAppbmRleCBiMzQ2ODIyLi5j NjNmZDVmIDEwMDY0NAotLS0gYS9ody9udnJhbS5oCisrKyBiL2h3L252cmFtLmgKQEAgLTM0LDYg KzM0LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgbTQ4dDU5X3QgbTQ4dDU5X3Q7CiB2b2lkIG00OHQ1OV93 cml0ZSAodm9pZCAqcHJpdmF0ZSwgdWludDMyX3QgYWRkciwgdWludDMyX3QgdmFsKTsKIHVpbnQz Ml90IG00OHQ1OV9yZWFkICh2b2lkICpwcml2YXRlLCB1aW50MzJfdCBhZGRyKTsKIHZvaWQgbTQ4 dDU5X3RvZ2dsZV9sb2NrICh2b2lkICpwcml2YXRlLCBpbnQgbG9jayk7CittNDh0NTlfdCAqbTQ4 dDU5X2luaXRfaXNhKHVpbnQzMl90IGlvX2Jhc2UsIHVpbnQxNl90IHNpemUsIGludCB0eXBlKTsK IG00OHQ1OV90ICptNDh0NTlfaW5pdCAocWVtdV9pcnEgSVJRLCB0YXJnZXRfcGh5c19hZGRyX3Qg bWVtX2Jhc2UsCiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlvX2Jhc2UsIHVpbnQx Nl90IHNpemUsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCB0eXBlKTsKZGlmZiAtLWdpdCBh L2h3L3N1bjR1LmMgYi9ody9zdW40dS5jCmluZGV4IGZmZGE0Y2QuLjQyN2VlNzYgMTAwNjQ0Ci0t LSBhL2h3L3N1bjR1LmMKKysrIGIvaHcvc3VuNHUuYwpAQCAtNjIzLDggKzYyMyw3IEBAIHN0YXRp YyB2b2lkIHN1bjR1dl9pbml0KHJhbV9hZGRyX3QgUkFNX3NpemUsCiAgICAgICAgIGZkW2ldID0g ZGluZm8gPyBkaW5mby0+YmRydiA6IE5VTEw7CiAgICAgfQogICAgIGZkY3RybF9pbml0X2lzYShm ZCk7Ci0gICAgLyogRklYTUU6IHdpcmUgdXAgaW50ZXJydXB0cy4gICovCi0gICAgbnZyYW0gPSBt NDh0NTlfaW5pdChOVUxMLyo4Ki8sIDAsIDB4MDA3NCwgTlZSQU1fU0laRSwgNTkpOworICAgIG52 cmFtID0gbTQ4dDU5X2luaXRfaXNhKDB4MDA3NCwgTlZSQU1fU0laRSwgNTkpOwogCiAgICAgaW5p dHJkX3NpemUgPSAwOwogICAgIGtlcm5lbF9zaXplID0gc3VuNHVfbG9hZF9rZXJuZWwoa2VybmVs X2ZpbGVuYW1lLCBpbml0cmRfZmlsZW5hbWUsCi0tIAoxLjUuNi41Cgo= --00504502ca31e059be0473715e02--