From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JljRc-0002vd-IV for qemu-devel@nongnu.org; Tue, 15 Apr 2008 07:35:24 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JljRa-0002uk-Az for qemu-devel@nongnu.org; Tue, 15 Apr 2008 07:35:23 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JljRZ-0002uT-Qy for qemu-devel@nongnu.org; Tue, 15 Apr 2008 07:35:21 -0400 Received: from ug-out-1314.google.com ([66.249.92.172]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JljRZ-0006oZ-8m for qemu-devel@nongnu.org; Tue, 15 Apr 2008 07:35:21 -0400 Received: by ug-out-1314.google.com with SMTP id m2so686669uge.4 for ; Tue, 15 Apr 2008 04:35:17 -0700 (PDT) Message-ID: Date: Tue, 15 Apr 2008 13:35:17 +0200 From: "andrzej zaborowski" MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_12853_6520992.1208259317389" Subject: [Qemu-devel] IO_MEM_NB_ENTRIES limit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Qemu mailing list ------=_Part_12853_6520992.1208259317389 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi, the maximum number of memory-mapped IO regions in qemu is IO_MEM_NB_ENTRIES which is defined using TARGET_PAGE_BITS. Due to tiny pages available on ARM, IO_MEM_NB_ENTRIES is only 64 there. OMAP2 cpu has many more logical IO regions than 64 and it makes sense to register them as separate. To be able to set IO_MEM_NB_ENTRIES higher, the io region index and the address bits would have to be stored in separate fields in PhysPageDesc and in CPUTLBEntry structs, instead of io index being stored in the lower bits of addresses. This would double the size of both structs. I'd like to hear if there are any other ideas for removing the upper limit for IO_MEM_NB_ENTRIES. I merged the main part of N800 machine support, which uses a OMAP2, and it currently doesn't work in the form it's in SVN due to this limitation. I use the patch which is attached to the mail to remove the IO_MEM_NB_ENTRIES dependency on TARGET_PAGE_BITS, but this is a bad hack. It likely breaks IO_MEM_ROMD. Regards -- Please do not print this email unless absolutely necessary. Spread environmental awareness. ------=_Part_12853_6520992.1208259317389 Content-Type: text/x-patch; name=iomemhack.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_ff2eazjl Content-Disposition: attachment; filename=iomemhack.patch ZGlmZiAtLWdpdCBhL2NwdS1hbGwuaCBiL2NwdS1hbGwuaAppbmRleCAzZGYwZmI4Li44MjExMThm IDEwMDY0NAotLS0gYS9jcHUtYWxsLmgKKysrIGIvY3B1LWFsbC5oCkBAIC04MTAsNyArODEwLDcg QEAgZXh0ZXJuIHVpbnQ4X3QgKnBoeXNfcmFtX2RpcnR5OwogLyogcGh5c2ljYWwgbWVtb3J5IGFj Y2VzcyAqLwogI2RlZmluZSBUTEJfSU5WQUxJRF9NQVNLICAgKDEgPDwgMykKICNkZWZpbmUgSU9f TUVNX1NISUZUICAgICAgIDQKLSNkZWZpbmUgSU9fTUVNX05CX0VOVFJJRVMgICgxIDw8IChUQVJH RVRfUEFHRV9CSVRTICAtIElPX01FTV9TSElGVCkpCisjZGVmaW5lIElPX01FTV9OQl9FTlRSSUVT ICAxMDI0CiAKICNkZWZpbmUgSU9fTUVNX1JBTSAgICAgICAgICgwIDw8IElPX01FTV9TSElGVCkg LyogaGFyZGNvZGVkIG9mZnNldCAqLwogI2RlZmluZSBJT19NRU1fUk9NICAgICAgICAgKDEgPDwg SU9fTUVNX1NISUZUKSAvKiBoYXJkY29kZWQgb2Zmc2V0ICovCmRpZmYgLS1naXQgYS9leGVjLmMg Yi9leGVjLmMKaW5kZXggYWIzZjljMS4uMTg1MDU3MiAxMDA2NDQKLS0tIGEvZXhlYy5jCisrKyBi L2V4ZWMuYwpAQCAtMTY1Nyw3ICsxNjU3LDcgQEAgaW50IHRsYl9zZXRfcGFnZV9leGVjKENQVVN0 YXRlICplbnYsIHRhcmdldF91bG9uZyB2YWRkciwKICAgICB7CiAgICAgICAgIGlmICgocGQgJiB+ VEFSR0VUX1BBR0VfTUFTSykgPiBJT19NRU1fUk9NICYmICEocGQgJiBJT19NRU1fUk9NRCkpIHsK ICAgICAgICAgICAgIC8qIElPIG1lbW9yeSBjYXNlICovCi0gICAgICAgICAgICBhZGRyZXNzID0g dmFkZHIgfCBwZDsKKyAgICAgICAgICAgIGFkZHJlc3MgPSB2YWRkciB8IChwZCAmIH5UQVJHRVRf UEFHRV9NQVNLKTsKICAgICAgICAgICAgIGFkZGVuZCA9IHBhZGRyOwogICAgICAgICB9IGVsc2Ug ewogICAgICAgICAgICAgLyogc3RhbmRhcmQgbWVtb3J5ICovCkBAIC0xNjkxLDcgKzE2OTEsOSBA QCBpbnQgdGxiX3NldF9wYWdlX2V4ZWMoQ1BVU3RhdGUgKmVudiwgdGFyZ2V0X3Vsb25nIHZhZGRy LAogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgdGUtPmFkZHJfcmVhZCA9IC0xOwogICAg ICAgICB9Ci0gICAgICAgIGlmIChwcm90ICYgUEFHRV9FWEVDKSB7CisgICAgICAgIGlmICgocGQg JiB+VEFSR0VUX1BBR0VfTUFTSykgPiBJT19NRU1fUk9NICYmICEocGQgJiBJT19NRU1fUk9NRCkp IHsKKyAgICAgICAgICAgIHRlLT5hZGRyX2NvZGUgPSBwZDsKKyAgICAgICAgfSBlbHNlIGlmIChw cm90ICYgUEFHRV9FWEVDKSB7CiAgICAgICAgICAgICB0ZS0+YWRkcl9jb2RlID0gYWRkcmVzczsK ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHRlLT5hZGRyX2NvZGUgPSAtMTsKQEAgLTI0 ODYsNyArMjQ4OCw5IEBAIGludCBjcHVfcmVnaXN0ZXJfaW9fbWVtb3J5KGludCBpb19pbmRleCwK ICAgICBpZiAoaW9faW5kZXggPD0gMCkgewogICAgICAgICBpZiAoaW9fbWVtX25iID49IElPX01F TV9OQl9FTlRSSUVTKQogICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICBpb19pbmRleCA9 IGlvX21lbV9uYisrOworICAgICAgICBkbyBpb19pbmRleCA9IGlvX21lbV9uYisrOworICAgICAg ICB3aGlsZSAoKChpb19pbmRleCA8PCBJT19NRU1fU0hJRlQpICYgflRBUkdFVF9QQUdFX01BU0sp CisgICAgICAgICAgICAgICA8PSBJT19NRU1fTk9URElSVFkpOwogICAgIH0gZWxzZSB7CiAgICAg ICAgIGlmIChpb19pbmRleCA+PSBJT19NRU1fTkJfRU5UUklFUykKICAgICAgICAgICAgIHJldHVy biAtMTsKZGlmZiAtLWdpdCBhL3NvZnRtbXVfdGVtcGxhdGUuaCBiL3NvZnRtbXVfdGVtcGxhdGUu aAppbmRleCA0NWZjZDRlLi5lOTc1YTUyIDEwMDY0NAotLS0gYS9zb2Z0bW11X3RlbXBsYXRlLmgK KysrIGIvc29mdG1tdV90ZW1wbGF0ZS5oCkBAIC01MSwxMiArNTEsMTUgQEAgc3RhdGljIERBVEFf VFlQRSBnbHVlKGdsdWUoc2xvd19sZCwgU1VGRklYKSwgTU1VU1VGRklYKSh0YXJnZXRfdWxvbmcg YWRkciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW50IG1tdV9pZHgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHZvaWQgKnJldGFkZHIpOwogc3RhdGljIGlubGluZSBEQVRBX1RZ UEUgZ2x1ZShpb19yZWFkLCBTVUZGSVgpKHRhcmdldF9waHlzX2FkZHJfdCBwaHlzYWRkciwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfdWxvbmcg dGxiX2FkZHIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dGFyZ2V0X3Vsb25nIHRsYl9hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHRhcmdldF91bG9uZyB0bGJfaW8pCiB7CiAgICAgREFUQV9UWVBFIHJlczsK ICAgICBpbnQgaW5kZXg7CiAKLSAgICBpbmRleCA9ICh0bGJfYWRkciA+PiBJT19NRU1fU0hJRlQp ICYgKElPX01FTV9OQl9FTlRSSUVTIC0gMSk7CisgICAgaW5kZXggPSAodGxiX2FkZHIgJiB+VEFS R0VUX1BBR0VfTUFTSykgPj4gSU9fTUVNX1NISUZUOworICAgIGlmIChpbmRleCA+IDQpCisgICAg ICAgIGluZGV4ID0gKHRsYl9pbyA+PiBJT19NRU1fU0hJRlQpICYgKElPX01FTV9OQl9FTlRSSUVT IC0gMSk7CiAjaWYgU0hJRlQgPD0gMgogICAgIHJlcyA9IGlvX21lbV9yZWFkW2luZGV4XVtTSElG VF0oaW9fbWVtX29wYXF1ZVtpbmRleF0sIHBoeXNhZGRyKTsKICNlbHNlCkBAIC05NSw3ICs5OCw5 IEBAIERBVEFfVFlQRSBSRUdQQVJNKDEpIGdsdWUoZ2x1ZShfX2xkLCBTVUZGSVgpLCBNTVVTVUZG SVgpKHRhcmdldF91bG9uZyBhZGRyLAogICAgICAgICAgICAgLyogSU8gYWNjZXNzICovCiAgICAg ICAgICAgICBpZiAoKGFkZHIgJiAoREFUQV9TSVpFIC0gMSkpICE9IDApCiAgICAgICAgICAgICAg ICAgZ290byBkb191bmFsaWduZWRfYWNjZXNzOwotICAgICAgICAgICAgcmVzID0gZ2x1ZShpb19y ZWFkLCBTVUZGSVgpKHBoeXNhZGRyLCB0bGJfYWRkcik7CisgICAgICAgICAgICByZXMgPSBnbHVl KGlvX3JlYWQsIFNVRkZJWCkocGh5c2FkZHIsIHRsYl9hZGRyLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGVudi0+dGxiX3RhYmxlW21tdV9pZHhdCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luZGV4XS5hZGRyX2NvZGUpOwogICAgICAg ICB9IGVsc2UgaWYgKCgoYWRkciAmIH5UQVJHRVRfUEFHRV9NQVNLKSArIERBVEFfU0laRSAtIDEp ID49IFRBUkdFVF9QQUdFX1NJWkUpIHsKICAgICAgICAgICAgIC8qIHNsb3cgdW5hbGlnbmVkIGFj Y2VzcyAoaXQgc3BhbnMgdHdvIHBhZ2VzIG9yIElPKSAqLwogICAgICAgICBkb191bmFsaWduZWRf YWNjZXNzOgpAQCAtMTQ3LDcgKzE1Miw5IEBAIHN0YXRpYyBEQVRBX1RZUEUgZ2x1ZShnbHVlKHNs b3dfbGQsIFNVRkZJWCksIE1NVVNVRkZJWCkodGFyZ2V0X3Vsb25nIGFkZHIsCiAgICAgICAgICAg ICAvKiBJTyBhY2Nlc3MgKi8KICAgICAgICAgICAgIGlmICgoYWRkciAmIChEQVRBX1NJWkUgLSAx KSkgIT0gMCkKICAgICAgICAgICAgICAgICBnb3RvIGRvX3VuYWxpZ25lZF9hY2Nlc3M7Ci0gICAg ICAgICAgICByZXMgPSBnbHVlKGlvX3JlYWQsIFNVRkZJWCkocGh5c2FkZHIsIHRsYl9hZGRyKTsK KyAgICAgICAgICAgIHJlcyA9IGdsdWUoaW9fcmVhZCwgU1VGRklYKShwaHlzYWRkciwgdGxiX2Fk ZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52LT50bGJfdGFi bGVbbW11X2lkeF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5k ZXhdLmFkZHJfY29kZSk7CiAgICAgICAgIH0gZWxzZSBpZiAoKChhZGRyICYgflRBUkdFVF9QQUdF X01BU0spICsgREFUQV9TSVpFIC0gMSkgPj0gVEFSR0VUX1BBR0VfU0laRSkgewogICAgICAgICBk b191bmFsaWduZWRfYWNjZXNzOgogICAgICAgICAgICAgLyogc2xvdyB1bmFsaWduZWQgYWNjZXNz IChpdCBzcGFucyB0d28gcGFnZXMpICovCkBAIC0xODYsMTEgKzE5MywxNCBAQCBzdGF0aWMgdm9p ZCBnbHVlKGdsdWUoc2xvd19zdCwgU1VGRklYKSwgTU1VU1VGRklYKSh0YXJnZXRfdWxvbmcgYWRk ciwKIHN0YXRpYyBpbmxpbmUgdm9pZCBnbHVlKGlvX3dyaXRlLCBTVUZGSVgpKHRhcmdldF9waHlz X2FkZHJfdCBwaHlzYWRkciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIERBVEFfVFlQRSB2YWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB0YXJnZXRfdWxvbmcgdGxiX2FkZHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2b2lkICpyZXRhZGRyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdm9pZCAqcmV0YWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHRhcmdldF91bG9uZyB0bGJfaW8pCiB7CiAgICAgaW50IGluZGV4Owog Ci0gICAgaW5kZXggPSAodGxiX2FkZHIgPj4gSU9fTUVNX1NISUZUKSAmIChJT19NRU1fTkJfRU5U UklFUyAtIDEpOworICAgIGluZGV4ID0gKHRsYl9hZGRyICYgflRBUkdFVF9QQUdFX01BU0spID4+ IElPX01FTV9TSElGVDsKKyAgICBpZiAoaW5kZXggPiA0KQorICAgICAgICBpbmRleCA9ICh0bGJf aW8gPj4gSU9fTUVNX1NISUZUKSAmIChJT19NRU1fTkJfRU5UUklFUyAtIDEpOwogICAgIGVudi0+ bWVtX3dyaXRlX3ZhZGRyID0gdGxiX2FkZHI7CiAgICAgZW52LT5tZW1fd3JpdGVfcGMgPSAodW5z aWduZWQgbG9uZylyZXRhZGRyOwogI2lmIFNISUZUIDw9IDIKQEAgLTIyOCw3ICsyMzgsOCBAQCB2 b2lkIFJFR1BBUk0oMikgZ2x1ZShnbHVlKF9fc3QsIFNVRkZJWCksIE1NVVNVRkZJWCkodGFyZ2V0 X3Vsb25nIGFkZHIsCiAgICAgICAgICAgICBpZiAoKGFkZHIgJiAoREFUQV9TSVpFIC0gMSkpICE9 IDApCiAgICAgICAgICAgICAgICAgZ290byBkb191bmFsaWduZWRfYWNjZXNzOwogICAgICAgICAg ICAgcmV0YWRkciA9IEdFVFBDKCk7Ci0gICAgICAgICAgICBnbHVlKGlvX3dyaXRlLCBTVUZGSVgp KHBoeXNhZGRyLCB2YWwsIHRsYl9hZGRyLCByZXRhZGRyKTsKKyAgICAgICAgICAgIGdsdWUoaW9f d3JpdGUsIFNVRkZJWCkocGh5c2FkZHIsIHZhbCwgdGxiX2FkZHIsIHJldGFkZHIsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudi0+dGxiX3RhYmxlW21tdV9pZHhdW2luZGV4 XS5hZGRyX2NvZGUpOwogICAgICAgICB9IGVsc2UgaWYgKCgoYWRkciAmIH5UQVJHRVRfUEFHRV9N QVNLKSArIERBVEFfU0laRSAtIDEpID49IFRBUkdFVF9QQUdFX1NJWkUpIHsKICAgICAgICAgZG9f dW5hbGlnbmVkX2FjY2VzczoKICAgICAgICAgICAgIHJldGFkZHIgPSBHRVRQQygpOwpAQCAtMjc4 LDcgKzI4OSw4IEBAIHN0YXRpYyB2b2lkIGdsdWUoZ2x1ZShzbG93X3N0LCBTVUZGSVgpLCBNTVVT VUZGSVgpKHRhcmdldF91bG9uZyBhZGRyLAogICAgICAgICAgICAgLyogSU8gYWNjZXNzICovCiAg ICAgICAgICAgICBpZiAoKGFkZHIgJiAoREFUQV9TSVpFIC0gMSkpICE9IDApCiAgICAgICAgICAg ICAgICAgZ290byBkb191bmFsaWduZWRfYWNjZXNzOwotICAgICAgICAgICAgZ2x1ZShpb193cml0 ZSwgU1VGRklYKShwaHlzYWRkciwgdmFsLCB0bGJfYWRkciwgcmV0YWRkcik7CisgICAgICAgICAg ICBnbHVlKGlvX3dyaXRlLCBTVUZGSVgpKHBoeXNhZGRyLCB2YWwsIHRsYl9hZGRyLCByZXRhZGRy LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnYtPnRsYl90YWJsZVttbXVf aWR4XVtpbmRleF0uYWRkcl9jb2RlKTsKICAgICAgICAgfSBlbHNlIGlmICgoKGFkZHIgJiB+VEFS R0VUX1BBR0VfTUFTSykgKyBEQVRBX1NJWkUgLSAxKSA+PSBUQVJHRVRfUEFHRV9TSVpFKSB7CiAg ICAgICAgIGRvX3VuYWxpZ25lZF9hY2Nlc3M6CiAgICAgICAgICAgICAvKiBYWFg6IG5vdCBlZmZp Y2llbnQsIGJ1dCBzaW1wbGUgKi8K ------=_Part_12853_6520992.1208259317389--