From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lx7qp-0007cs-0W for qemu-devel@nongnu.org; Thu, 23 Apr 2009 18:57:03 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lx7qk-0007b7-KC for qemu-devel@nongnu.org; Thu, 23 Apr 2009 18:57:02 -0400 Received: from [199.232.76.173] (port=54620 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lx7qk-0007b4-Bk for qemu-devel@nongnu.org; Thu, 23 Apr 2009 18:56:58 -0400 Received: from mail-bw0-f223.google.com ([209.85.218.223]:46130) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Lx7qj-00058f-Ad for qemu-devel@nongnu.org; Thu, 23 Apr 2009 18:56:57 -0400 Received: by bwz23 with SMTP id 23so789747bwz.34 for ; Thu, 23 Apr 2009 15:56:51 -0700 (PDT) MIME-Version: 1.0 Date: Fri, 24 Apr 2009 02:56:51 +0400 Message-ID: From: Igor Kovalenko Content-Type: multipart/mixed; boundary=001485ecf70ab5a945046840cb87 Subject: [Qemu-devel] [PATCH] sparc64 support TSB related MMU registers List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --001485ecf70ab5a945046840cb87 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hi! This change allows reading ultrasparc I/D MMU TSB tag target register and TSB pointer register (8k and 64k). Linux kernel uses TSB for memory management, and with this change it now can use early allocation routines. I'm testing with linux-2.6.29.1 minimalistic sparc64 uniprocessor build, now kernel is able to start build device tree. Without the change kernel was not able to handle D-MMU miss while creating first device tree node. Currently it stops shortly after building device tree, trying to find out path to console. (PS with openbios instance-to-path method fails in client interface call, in the same way it fails without loading kernel when I try invoking get-instance-path on stdin handle from command prompt. there fmove invokes memmove() with size argument looking like some pointer which leads to unhandled D-MMU fault) -- Kind regards, Igor V. Kovalenko --001485ecf70ab5a945046840cb87 Content-Type: application/octet-stream; name="qemu-sparc64-tsb-asi.patch" Content-Disposition: attachment; filename="qemu-sparc64-tsb-asi.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ftw1j7wk0 SW5kZXg6IHRhcmdldC1zcGFyYy9vcF9oZWxwZXIuYwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0YXJnZXQtc3Bh cmMvb3BfaGVscGVyLmMJKHJldmlzaW9uIDcyMzUpCisrKyB0YXJnZXQtc3BhcmMvb3BfaGVscGVy LmMJKHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDU1IEBACiAjZW5kaWYKICNlbmRpZgogCisv LyBDYWxjdWxhdGVzIFRTQiBwb2ludGVyIHZhbHVlIGZvciBmYXVsdCBwYWdlIHNpemUgOGsgb3Ig NjRrCitzdGF0aWMgdWludDY0X3QgdWx0cmFzcGFyY190c2JfcG9pbnRlcl92YWx1ZSh1aW50NjRf dCB0c2JfcmVnaXN0ZXIsIHVpbnQ2NF90IHRhZ19hY2Nlc3NfcmVnaXN0ZXIsIGludCBwYWdlX3Np emUpCit7CisKKyAgICB1aW50NjRfdCB0c2JfYmFzZSA9IHRzYl9yZWdpc3RlciAmIH4weDFmZmZV TEw7CisgICAgaW50IHRzYl9zcGxpdCA9IChlbnYtPmRtbXVyZWdzWzVdICYgMHgxMDAwVUxMKT8x OjA7CisgICAgaW50IHRzYl9zaXplICA9IGVudi0+ZG1tdXJlZ3NbNV0gJiAweGY7CisKKyAgICAv L3VpbnQ2NF90IHRhZ19hY2Nlc3NfY29udGV4dCA9IHRhZ19hY2Nlc3NfcmVnaXN0ZXIgJiAweDFm ZmZVTEw7CisgICAgdWludDY0X3QgdGFnX2FjY2Vzc192YSA9IHRhZ19hY2Nlc3NfcmVnaXN0ZXIg JiB+MHgxZmZmVUxMOworCisgICAgLy8gbm93IHJlb3JkZXIgYml0cworICAgIHVpbnQ2NF90IHRz Yl9iYXNlX21hc2sgPSB+MHgxZmZmVUxMOworICAgIHVpbnQ2NF90IHZhID0gdGFnX2FjY2Vzc192 YTsKKworICAgIC8vIG1vdmUgdmEgYml0cyB0byBjb3JyZWN0IHBvc2l0aW9uCisgICAgaWYgKHBh Z2Vfc2l6ZSA9PSA4KjEwMjQpIHsKKyAgICAgICAgLy8gVkE8MjErTjoxMz4gMDAwMAorICAgICAg ICB2YSA+Pj0gOTsKKyAgICB9IGVsc2UgaWYgKHBhZ2Vfc2l6ZSA9PSA2NCoxMDI0KSB7CisgICAg ICAgIC8vIFZBPDI0K046MTY+IDAwMDAKKyAgICAgICAgdmEgPj49IDEyOworICAgIH0KKworICAg IGlmICh0c2Jfc2l6ZSkKKyAgICAgICAgdHNiX2Jhc2VfbWFzayA8PD0gdHNiX3NpemU7CisKKyAg ICAvLyBjYWxjdWxhdGUgdHNiX2Jhc2UgbWFzayBhbmQgYWRqdXN0IHZhIGlmIHNwbGl0IGlzIGlu IHVzZQorICAgIGlmICh0c2Jfc3BsaXQpIHsKKyAgICAvL0ZvciBhIHNwbGl0IFRTQiAoVFNCIHJl Z2lzdGVyIHNwbGl0IGZpZWxkPTEpOgorICAgICAgICBpZiAocGFnZV9zaXplID09IDgqMTAyNCkg eworICAgICAgICAgICAgLy84S19QT0lOVEVSID0gVFNCX0Jhc2U8NjM6MTQrTj4gMCBWQTwyMStO OjEzPiAwMDAwCisgICAgICAgICAgICB2YSAmPSB+KDFVTEwgPDwgKDEzICsgdHNiX3NpemUpKTsK KyAgICAgICAgfSBlbHNlIGlmIChwYWdlX3NpemUgPT0gNjQqMTAyNCkgeworICAgICAgICAgICAg Ly82NEtfUE9JTlRFUiA9IFRTQl9CYXNlPDYzOjE0K04+IDEgVkE8MjQrTjoxNj4gMDAwMAorICAg ICAgICAgICAgdmEgfD0gKDFVTEwgPDwgKDEzICsgdHNiX3NpemUpKTsKKyAgICAgICAgfQorICAg ICAgICB0c2JfYmFzZV9tYXNrIDw8PSAxOworICAgIH0KKworICAgIHJldHVybiAoKHRzYl9iYXNl ICYgdHNiX2Jhc2VfbWFzaykgfCAodmEgJiB+dHNiX2Jhc2VfbWFzaykpICYgfjB4ZlVMTDsKK30K KworLy8gQ2FsY3VsYXRlcyB0YWcgdGFyZ2V0IHJlZ2lzdGVyIHZhbHVlIGJ5IHJlb3JkZXJpbmcg Yml0cyBpbiB0YWcgYWNjZXNzIHJlZ2lzdGVyCitzdGF0aWMgdWludDY0X3QgdWx0cmFzcGFyY190 YWdfdGFyZ2V0X3ZhbHVlKHVpbnQ2NF90IHRhZ19hY2Nlc3NfcmVnaXN0ZXIpCit7CisgICAgcmV0 dXJuICgoKHRhZ19hY2Nlc3NfcmVnaXN0ZXIgJiAweDFmZmYpPDw0OCl8KHRhZ19hY2Nlc3NfcmVn aXN0ZXIgPj4gMjIpKTsKK30KKwogc3RhdGljIGlubGluZSB2b2lkIGFkZHJlc3NfbWFzayhDUFVT dGF0ZSAqZW52MSwgdGFyZ2V0X3Vsb25nICphZGRyKQogewogI2lmZGVmIFRBUkdFVF9TUEFSQzY0 CkBAIC0xNjUyLDEzICsxNzAxLDMyIEBACiAgICAgICAgIHsKICAgICAgICAgICAgIGludCByZWcg PSAoYWRkciA+PiAzKSAmIDB4ZjsKIAotICAgICAgICAgICAgcmV0ID0gZW52LT5pbW11cmVnc1ty ZWddOworICAgICAgICAgICAgaWYgKHJlZyA9PSAwKQorICAgICAgICAgICAgeworICAgICAgICAg ICAgICAgIC8vIEktVFNCIFRhZyBUYXJnZXQgcmVnaXN0ZXIKKyAgICAgICAgICAgICAgICByZXQg PSB1bHRyYXNwYXJjX3RhZ190YXJnZXRfdmFsdWUoZW52LT5pbW11cmVnc1s2XSk7CisgICAgICAg ICAgICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg cmV0ID0gZW52LT5pbW11cmVnc1tyZWddOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBi cmVhazsKICAgICAgICAgfQogICAgIGNhc2UgMHg1MTogLy8gSS1NTVUgOGsgVFNCIHBvaW50ZXIK KyAgICAgICAgeworICAgICAgICAgICAgLy8gZW52LT5pbW11cmVnc1s1XSBob2xkcyBJLU1NVSBU U0IgcmVnaXN0ZXIgdmFsdWUKKyAgICAgICAgICAgIC8vIGVudi0+aW1tdXJlZ3NbNl0gaG9sZHMg SS1NTVUgVGFnIEFjY2VzcyByZWdpc3RlciB2YWx1ZQorICAgICAgICAgICAgcmV0ID0gdWx0cmFz cGFyY190c2JfcG9pbnRlcl92YWx1ZShlbnYtPmltbXVyZWdzWzVdLCBlbnYtPmltbXVyZWdzWzZd LCA4KjEwMjQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICBjYXNlIDB4NTI6 IC8vIEktTU1VIDY0ayBUU0IgcG9pbnRlcgotICAgICAgICAvLyBYWFgKLSAgICAgICAgYnJlYWs7 CisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIGVudi0+aW1tdXJlZ3NbNV0gaG9sZHMgSS1NTVUg VFNCIHJlZ2lzdGVyIHZhbHVlCisgICAgICAgICAgICAvLyBlbnYtPmltbXVyZWdzWzZdIGhvbGRz IEktTU1VIFRhZyBBY2Nlc3MgcmVnaXN0ZXIgdmFsdWUKKyAgICAgICAgICAgIHJldCA9IHVsdHJh c3BhcmNfdHNiX3BvaW50ZXJfdmFsdWUoZW52LT5pbW11cmVnc1s1XSwgZW52LT5pbW11cmVnc1s2 XSwgNjQqMTAyNCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgIGNhc2UgMHg1 NTogLy8gSS1NTVUgZGF0YSBhY2Nlc3MKICAgICAgICAgewogICAgICAgICAgICAgaW50IHJlZyA9 IChhZGRyID4+IDMpICYgMHgzZjsKQEAgLTE2NzcsOSArMTc0NSwzMSBAQAogICAgICAgICB7CiAg ICAgICAgICAgICBpbnQgcmVnID0gKGFkZHIgPj4gMykgJiAweGY7CiAKLSAgICAgICAgICAgIHJl dCA9IGVudi0+ZG1tdXJlZ3NbcmVnXTsKKyAgICAgICAgICAgIGlmIChyZWcgPT0gMCkKKyAgICAg ICAgICAgIHsKKyAgICAgICAgICAgICAgICAvLyBELVRTQiBUYWcgVGFyZ2V0IHJlZ2lzdGVyCisg ICAgICAgICAgICAgICAgcmV0ID0gdWx0cmFzcGFyY190YWdfdGFyZ2V0X3ZhbHVlKGVudi0+ZG1t dXJlZ3NbNl0pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg eworICAgICAgICAgICAgICAgIHJldCA9IGVudi0+ZG1tdXJlZ3NbcmVnXTsKKyAgICAgICAgICAg IH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisgICAgY2FzZSAweDU5OiAvLyBELU1N VSA4ayBUU0IgcG9pbnRlcgorICAgICAgICB7CisgICAgICAgICAgICAvLyBlbnYtPmRtbXVyZWdz WzVdIGhvbGRzIEQtTU1VIFRTQiByZWdpc3RlciB2YWx1ZQorICAgICAgICAgICAgLy8gZW52LT5k bW11cmVnc1s2XSBob2xkcyBELU1NVSBUYWcgQWNjZXNzIHJlZ2lzdGVyIHZhbHVlCisgICAgICAg ICAgICByZXQgPSB1bHRyYXNwYXJjX3RzYl9wb2ludGVyX3ZhbHVlKGVudi0+ZG1tdXJlZ3NbNV0s IGVudi0+ZG1tdXJlZ3NbNl0sIDgqMTAyNCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg fQorICAgIGNhc2UgMHg1YTogLy8gRC1NTVUgNjRrIFRTQiBwb2ludGVyCisgICAgICAgIHsKKyAg ICAgICAgICAgIC8vIGVudi0+ZG1tdXJlZ3NbNV0gaG9sZHMgRC1NTVUgVFNCIHJlZ2lzdGVyIHZh bHVlCisgICAgICAgICAgICAvLyBlbnYtPmRtbXVyZWdzWzZdIGhvbGRzIEQtTU1VIFRhZyBBY2Nl c3MgcmVnaXN0ZXIgdmFsdWUKKyAgICAgICAgICAgIHJldCA9IHVsdHJhc3BhcmNfdHNiX3BvaW50 ZXJfdmFsdWUoZW52LT5kbW11cmVnc1s1XSwgZW52LT5kbW11cmVnc1s2XSwgNjQqMTAyNCk7Cisg ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgIGNhc2UgMHg1ZDogLy8gRC1NTVUgZGF0 YSBhY2Nlc3MKICAgICAgICAgewogICAgICAgICAgICAgaW50IHJlZyA9IChhZGRyID4+IDMpICYg MHgzZjsKQEAgLTE3MDcsOCArMTc5Nyw2IEBACiAgICAgY2FzZSAweDc2OiAvLyBFLWNhY2hlIHRh ZwogICAgIGNhc2UgMHg3ZTogLy8gRS1jYWNoZSB0YWcKICAgICAgICAgYnJlYWs7Ci0gICAgY2Fz ZSAweDU5OiAvLyBELU1NVSA4ayBUU0IgcG9pbnRlcgotICAgIGNhc2UgMHg1YTogLy8gRC1NTVUg NjRrIFRTQiBwb2ludGVyCiAgICAgY2FzZSAweDViOiAvLyBELU1NVSBkYXRhIHBvaW50ZXIKICAg ICBjYXNlIDB4NDg6IC8vIEludGVycnVwdCBkaXNwYXRjaCwgUk8KICAgICBjYXNlIDB4NDk6IC8v IEludGVycnVwdCBkYXRhIHJlY2VpdmUK --001485ecf70ab5a945046840cb87--