From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jvx6T-00083D-Ts for qemu-devel@nongnu.org; Tue, 13 May 2008 12:11:50 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jvx6R-00082E-Qr for qemu-devel@nongnu.org; Tue, 13 May 2008 12:11:49 -0400 Received: from [199.232.76.173] (port=32959 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jvx6R-000820-IP for qemu-devel@nongnu.org; Tue, 13 May 2008 12:11:47 -0400 Received: from mu-out-0910.google.com ([209.85.134.188]:62208) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Jvx6P-0000Jf-ST for qemu-devel@nongnu.org; Tue, 13 May 2008 12:11:46 -0400 Received: by mu-out-0910.google.com with SMTP id g7so1549967muf.2 for ; Tue, 13 May 2008 09:11:43 -0700 (PDT) Message-ID: Date: Tue, 13 May 2008 19:11:43 +0300 From: "Blue Swirl" Subject: Re: [Qemu-devel] [PATCH] Re: phys_ram_base, direct access to guest memory In-Reply-To: <20080505040116.GC15189@hall.aurel32.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_9018_15008950.1210695103384" References: <18398.33922.132796.510683@mariner.uk.xensource.com> <47DEA908.4040907@qumranet.com> <18398.37844.354219.321675@mariner.uk.xensource.com> <18408.56889.160376.558448@mariner.uk.xensource.com> <20080408184634.GA11492@volta.aurel32.net> <20080505040116.GC15189@hall.aurel32.net> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org ------=_Part_9018_15008950.1210695103384 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline On 5/5/08, Aurelien Jarno wrote: > On Fri, May 02, 2008 at 05:52:07PM +0300, Blue Swirl wrote: > > On 4/8/08, Aurelien Jarno wrote: > > > On Tue, Mar 25, 2008 at 11:12:57AM +0000, Ian Jackson wrote: > > > > I wrote: > > > > > In the attached patch, I remove all the direct uses of phys_ram_base > > > > > from hw/pc.c, except for those presently needed to construct the > > > > > arguments to the vga init functions. > > > > > > > > Is there something wrong with my patch or the general approach ? > > > > > > > > > It simply doesn't work. After applying it, I get: > > > > > > > > > qemu: fatal: Trying to execute code outside RAM or ROM at 0x000a0000 > > > > I fixed the bug in the patch, cpu_physical_memory_write_rom must be > > used instead of cpu_physical_memory_write. I also made the same > > changes to Sparc32/64, they run fine. Does this version work for PC > > targets? > > > Unfortunately the problem is still there, with the same error message. There were two additional problems, the offset was incorrect and the memory was written before it was mapped. This version seems to work. Any objections? May I commit this version? ------=_Part_9018_15008950.1210695103384 Content-Type: plain/text; name=phys_mem_pconly_ij.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fg6ojfyw Content-Disposition: attachment; filename=phys_mem_pconly_ij.diff SW5kZXg6IHFlbXUvaHcvcGMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvcGMuYwkyMDA4 LTA1LTEyIDE2OjM4OjA2LjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS9ody9wYy5jCTIwMDgtMDUt MTMgMTY6MDM6MjYuMDAwMDAwMDAwICswMDAwCkBAIC01MDcsNyArNTA3LDcgQEAKICAgICBpbnQg c2V0dXBfc2l6ZSwga2VybmVsX3NpemUsIGluaXRyZF9zaXplLCBjbWRsaW5lX3NpemU7CiAgICAg dWludDMyX3QgaW5pdHJkX21heDsKICAgICB1aW50OF90IGhlYWRlclsxMDI0XTsKLSAgICB1aW50 OF90ICpyZWFsX2FkZHIsICpwcm90X2FkZHIsICpjbWRsaW5lX2FkZHIsICppbml0cmRfYWRkcjsK KyAgICB0YXJnZXRfcGh5c19hZGRyX3QgcmVhbF9hZGRyLCBwcm90X2FkZHIsIGNtZGxpbmVfYWRk ciwgaW5pdHJkX2FkZHI7CiAgICAgRklMRSAqZiwgKmZpOwogCiAgICAgLyogQWxpZ24gdG8gMTYg Ynl0ZXMgYXMgYSBwYXJhbm9pYSBtZWFzdXJlICovCkBAIC01MzMsMTkgKzUzMywxOSBAQAogCiAg ICAgaWYgKHByb3RvY29sIDwgMHgyMDAgfHwgIShoZWFkZXJbMHgyMTFdICYgMHgwMSkpIHsKIAkv KiBMb3cga2VybmVsICovCi0JcmVhbF9hZGRyICAgID0gcGh5c19yYW1fYmFzZSArIDB4OTAwMDA7 Ci0JY21kbGluZV9hZGRyID0gcGh5c19yYW1fYmFzZSArIDB4OWEwMDAgLSBjbWRsaW5lX3NpemU7 Ci0JcHJvdF9hZGRyICAgID0gcGh5c19yYW1fYmFzZSArIDB4MTAwMDA7CisJcmVhbF9hZGRyICAg ID0gMHg5MDAwMDsKKwljbWRsaW5lX2FkZHIgPSAweDlhMDAwIC0gY21kbGluZV9zaXplOworCXBy b3RfYWRkciAgICA9IDB4MTAwMDA7CiAgICAgfSBlbHNlIGlmIChwcm90b2NvbCA8IDB4MjAyKSB7 CiAJLyogSGlnaCBidXQgYW5jaWVudCBrZXJuZWwgKi8KLQlyZWFsX2FkZHIgICAgPSBwaHlzX3Jh bV9iYXNlICsgMHg5MDAwMDsKLQljbWRsaW5lX2FkZHIgPSBwaHlzX3JhbV9iYXNlICsgMHg5YTAw MCAtIGNtZGxpbmVfc2l6ZTsKLQlwcm90X2FkZHIgICAgPSBwaHlzX3JhbV9iYXNlICsgMHgxMDAw MDA7CisJcmVhbF9hZGRyICAgID0gMHg5MDAwMDsKKwljbWRsaW5lX2FkZHIgPSAweDlhMDAwIC0g Y21kbGluZV9zaXplOworCXByb3RfYWRkciAgICA9IDB4MTAwMDAwOwogICAgIH0gZWxzZSB7CiAJ LyogSGlnaCBhbmQgcmVjZW50IGtlcm5lbCAqLwotCXJlYWxfYWRkciAgICA9IHBoeXNfcmFtX2Jh c2UgKyAweDEwMDAwOwotCWNtZGxpbmVfYWRkciA9IHBoeXNfcmFtX2Jhc2UgKyAweDIwMDAwOwot CXByb3RfYWRkciAgICA9IHBoeXNfcmFtX2Jhc2UgKyAweDEwMDAwMDsKKwlyZWFsX2FkZHIgICAg PSAweDEwMDAwOworCWNtZGxpbmVfYWRkciA9IDB4MjAwMDA7CisJcHJvdF9hZGRyICAgID0gMHgx MDAwMDA7CiAgICAgfQogCiAjaWYgMApAQCAtNTUzLDkgKzU1Myw5IEBACiAJICAgICJxZW11OiBy ZWFsX2FkZHIgICAgID0gJSN6eFxuIgogCSAgICAicWVtdTogY21kbGluZV9hZGRyICA9ICUjenhc biIKIAkgICAgInFlbXU6IHByb3RfYWRkciAgICAgPSAlI3p4XG4iLAotCSAgICByZWFsX2FkZHIt cGh5c19yYW1fYmFzZSwKLQkgICAgY21kbGluZV9hZGRyLXBoeXNfcmFtX2Jhc2UsCi0JICAgIHBy b3RfYWRkci1waHlzX3JhbV9iYXNlKTsKKwkgICAgcmVhbF9hZGRyLAorCSAgICBjbWRsaW5lX2Fk ZHIsCisJICAgIHByb3RfYWRkcik7CiAjZW5kaWYKIAogICAgIC8qIGhpZ2hlc3QgYWRkcmVzcyBm b3IgbG9hZGluZyB0aGUgaW5pdHJkICovCkBAIC01NjgsMTAgKzU2OCwxMCBAQAogCWluaXRyZF9t YXggPSByYW1fc2l6ZS1BQ1BJX0RBVEFfU0laRS0xOwogCiAgICAgLyoga2VybmVsIGNvbW1hbmQg bGluZSAqLwotICAgIHBzdHJjcHkoKGNoYXIqKWNtZGxpbmVfYWRkciwgNDA5Niwga2VybmVsX2Nt ZGxpbmUpOworICAgIHBzdHJjcHlfdGFyZ3BoeXMoY21kbGluZV9hZGRyLCA0MDk2LCBrZXJuZWxf Y21kbGluZSk7CiAKICAgICBpZiAocHJvdG9jb2wgPj0gMHgyMDIpIHsKLQlzdGxfcChoZWFkZXIr MHgyMjgsIGNtZGxpbmVfYWRkci1waHlzX3JhbV9iYXNlKTsKKwlzdGxfcChoZWFkZXIrMHgyMjgs IGNtZGxpbmVfYWRkcik7CiAgICAgfSBlbHNlIHsKIAlzdHdfcChoZWFkZXIrMHgyMCwgMHhBMzNG KTsKIAlzdHdfcChoZWFkZXIrMHgyMiwgY21kbGluZV9hZGRyLXJlYWxfYWRkcik7CkBAIC02MDUs MjQgKzYwNSwyNCBAQAogCX0KIAogCWluaXRyZF9zaXplID0gZ2V0X2ZpbGVfc2l6ZShmaSk7Ci0J aW5pdHJkX2FkZHIgPSBwaHlzX3JhbV9iYXNlICsgKChpbml0cmRfbWF4LWluaXRyZF9zaXplKSAm IH40MDk1KTsKKwlpbml0cmRfYWRkciA9IChpbml0cmRfbWF4LWluaXRyZF9zaXplKSAmIH40MDk1 OwogCiAJZnByaW50ZihzdGRlcnIsICJxZW11OiBsb2FkaW5nIGluaXRyZCAoJSN4IGJ5dGVzKSBh dCAlI3p4XG4iLAotCQlpbml0cmRfc2l6ZSwgaW5pdHJkX2FkZHItcGh5c19yYW1fYmFzZSk7CisJ CWluaXRyZF9zaXplLCBpbml0cmRfYWRkcik7CiAKLQlpZiAoZnJlYWQoaW5pdHJkX2FkZHIsIDEs IGluaXRyZF9zaXplLCBmaSkgIT0gaW5pdHJkX3NpemUpIHsKKwlpZiAoIWZyZWFkX3RhcmdwaHlz X29rKGluaXRyZF9hZGRyLCBpbml0cmRfc2l6ZSwgZmkpKSB7CiAJICAgIGZwcmludGYoc3RkZXJy LCAicWVtdTogcmVhZCBlcnJvciBvbiBpbml0aWFsIHJhbSBkaXNrICclcydcbiIsCiAJCSAgICBp bml0cmRfZmlsZW5hbWUpOwogCSAgICBleGl0KDEpOwogCX0KIAlmY2xvc2UoZmkpOwogCi0Jc3Rs X3AoaGVhZGVyKzB4MjE4LCBpbml0cmRfYWRkci1waHlzX3JhbV9iYXNlKTsKKwlzdGxfcChoZWFk ZXIrMHgyMTgsIGluaXRyZF9hZGRyKTsKIAlzdGxfcChoZWFkZXIrMHgyMWMsIGluaXRyZF9zaXpl KTsKICAgICB9CiAKICAgICAvKiBzdG9yZSB0aGUgZmluYWxpemVkIGhlYWRlciBhbmQgbG9hZCB0 aGUgcmVzdCBvZiB0aGUga2VybmVsICovCi0gICAgbWVtY3B5KHJlYWxfYWRkciwgaGVhZGVyLCAx MDI0KTsKKyAgICBjcHVfcGh5c2ljYWxfbWVtb3J5X3dyaXRlKHJlYWxfYWRkciwgaGVhZGVyLCAx MDI0KTsKIAogICAgIHNldHVwX3NpemUgPSBoZWFkZXJbMHgxZjFdOwogICAgIGlmIChzZXR1cF9z aXplID09IDApCkBAIC02MzEsOCArNjMxLDggQEAKICAgICBzZXR1cF9zaXplID0gKHNldHVwX3Np emUrMSkqNTEyOwogICAgIGtlcm5lbF9zaXplIC09IHNldHVwX3NpemU7CS8qIFNpemUgb2YgcHJv dGVjdGVkLW1vZGUgY29kZSAqLwogCi0gICAgaWYgKGZyZWFkKHJlYWxfYWRkcisxMDI0LCAxLCBz ZXR1cF9zaXplLTEwMjQsIGYpICE9IHNldHVwX3NpemUtMTAyNCB8fAotCWZyZWFkKHByb3RfYWRk ciwgMSwga2VybmVsX3NpemUsIGYpICE9IGtlcm5lbF9zaXplKSB7CisgICAgaWYgKCFmcmVhZF90 YXJncGh5c19vayhyZWFsX2FkZHIrMTAyNCwgc2V0dXBfc2l6ZS0xMDI0LCBmKSB8fAorCSFmcmVh ZF90YXJncGh5c19vayhwcm90X2FkZHIsIGtlcm5lbF9zaXplLCBmKSkgewogCWZwcmludGYoc3Rk ZXJyLCAicWVtdTogcmVhZCBlcnJvciBvbiBrZXJuZWwgJyVzJ1xuIiwKIAkJa2VybmVsX2ZpbGVu YW1lKTsKIAlleGl0KDEpOwpAQCAtNjQwLDcgKzY0MCw3IEBACiAgICAgZmNsb3NlKGYpOwogCiAg ICAgLyogZ2VuZXJhdGUgYm9vdHNlY3RvciB0byBzZXQgdXAgdGhlIGluaXRpYWwgcmVnaXN0ZXIg c3RhdGUgKi8KLSAgICByZWFsX3NlZyA9IChyZWFsX2FkZHItcGh5c19yYW1fYmFzZSkgPj4gNDsK KyAgICByZWFsX3NlZyA9IHJlYWxfYWRkciA+PiA0OwogICAgIHNlZ1swXSA9IHNlZ1syXSA9IHNl Z1szXSA9IHNlZ1s0XSA9IHNlZ1s0XSA9IHJlYWxfc2VnOwogICAgIHNlZ1sxXSA9IHJlYWxfc2Vn KzB4MjA7CS8qIENTICovCiAgICAgbWVtc2V0KGdwciwgMCwgc2l6ZW9mIGdwcik7CkBAIC03OTgs NyArNzk4LDE0IEBACiAgICAgICAgIGdvdG8gYmlvc19lcnJvcjsKICAgICB9CiAgICAgYmlvc19v ZmZzZXQgPSBxZW11X3JhbV9hbGxvYyhiaW9zX3NpemUpOwotICAgIHJldCA9IGxvYWRfaW1hZ2Uo YnVmLCBwaHlzX3JhbV9iYXNlICsgYmlvc19vZmZzZXQpOworICAgIC8qIG1hcCB0aGUgbGFzdCAx MjhLQiBvZiB0aGUgQklPUyBpbiBJU0Egc3BhY2UgKi8KKyAgICBpc2FfYmlvc19zaXplID0gYmlv c19zaXplOworICAgIGlmIChpc2FfYmlvc19zaXplID4gKDEyOCAqIDEwMjQpKQorICAgICAgICBp c2FfYmlvc19zaXplID0gMTI4ICogMTAyNDsKKyAgICBjcHVfcmVnaXN0ZXJfcGh5c2ljYWxfbWVt b3J5KDB4MTAwMDAwIC0gaXNhX2Jpb3Nfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGlzYV9iaW9zX3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo Ymlvc19vZmZzZXQgKyBiaW9zX3NpemUgLSBpc2FfYmlvc19zaXplKSB8IElPX01FTV9ST00pOwor ICAgIHJldCA9IGxvYWRfaW1hZ2VfdGFyZ3BoeXMoYnVmLCAweDEwMDAwMCAtIGlzYV9iaW9zX3Np emUsIGJpb3Nfc2l6ZSk7CiAgICAgaWYgKHJldCAhPSBiaW9zX3NpemUpIHsKICAgICBiaW9zX2Vy cm9yOgogICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInFlbXU6IGNvdWxkIG5vdCBsb2FkIFBDIEJJ T1MgJyVzJ1xuIiwgYnVmKTsKQEAgLTgxNSw4ICs4MjIsMTAgQEAKICAgICBpZiAodmdhX2Jpb3Nf c2l6ZSA8PSAwIHx8IHZnYV9iaW9zX3NpemUgPiA2NTUzNikKICAgICAgICAgZ290byB2Z2FfYmlv c19lcnJvcjsKICAgICB2Z2FfYmlvc19vZmZzZXQgPSBxZW11X3JhbV9hbGxvYyg2NTUzNik7Cisg ICAgY3B1X3JlZ2lzdGVyX3BoeXNpY2FsX21lbW9yeSgweGMwMDAwLCAweDEwMDAwLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmdhX2Jpb3Nfb2Zmc2V0IHwgSU9fTUVNX1JPTSk7 CiAKLSAgICByZXQgPSBsb2FkX2ltYWdlKGJ1ZiwgcGh5c19yYW1fYmFzZSArIHZnYV9iaW9zX29m ZnNldCk7CisgICAgcmV0ID0gbG9hZF9pbWFnZV90YXJncGh5cyhidWYsIDB4YzAwMDAsIHZnYV9i aW9zX3NpemUpOwogICAgIGlmIChyZXQgIT0gdmdhX2Jpb3Nfc2l6ZSkgewogICAgIHZnYV9iaW9z X2Vycm9yOgogICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInFlbXU6IGNvdWxkIG5vdCBsb2FkIFZH QSBCSU9TICclcydcbiIsIGJ1Zik7CkBAIC04MjQsMTggKzgzMyw4IEBACiAgICAgfQogCiAgICAg Lyogc2V0dXAgYmFzaWMgbWVtb3J5IGFjY2VzcyAqLwotICAgIGNwdV9yZWdpc3Rlcl9waHlzaWNh bF9tZW1vcnkoMHhjMDAwMCwgMHgxMDAwMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHZnYV9iaW9zX29mZnNldCB8IElPX01FTV9ST00pOwotCi0gICAgLyogbWFwIHRoZSBsYXN0 IDEyOEtCIG9mIHRoZSBCSU9TIGluIElTQSBzcGFjZSAqLwotICAgIGlzYV9iaW9zX3NpemUgPSBi aW9zX3NpemU7Ci0gICAgaWYgKGlzYV9iaW9zX3NpemUgPiAoMTI4ICogMTAyNCkpCi0gICAgICAg IGlzYV9iaW9zX3NpemUgPSAxMjggKiAxMDI0OwogICAgIGNwdV9yZWdpc3Rlcl9waHlzaWNhbF9t ZW1vcnkoMHhkMDAwMCwgKDE5MiAqIDEwMjQpIC0gaXNhX2Jpb3Nfc2l6ZSwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElPX01FTV9VTkFTU0lHTkVEKTsKLSAgICBjcHVfcmVnaXN0 ZXJfcGh5c2ljYWxfbWVtb3J5KDB4MTAwMDAwIC0gaXNhX2Jpb3Nfc2l6ZSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGlzYV9iaW9zX3NpemUsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoYmlvc19vZmZzZXQgKyBiaW9zX3NpemUgLSBpc2FfYmlvc19zaXplKSB8 IElPX01FTV9ST00pOwogCiAgICAgewogICAgICAgICByYW1fYWRkcl90IG9wdGlvbl9yb21fb2Zm c2V0OwpAQCAtODUyLDE1ICs4NTEsMTUgQEAKICAgICAgICAgICAgIGlmIChzaXplID4gKDB4MTAw MDAgLSBvZmZzZXQpKQogICAgICAgICAgICAgICAgIGdvdG8gb3B0aW9uX3JvbV9lcnJvcjsKICAg ICAgICAgICAgIG9wdGlvbl9yb21fb2Zmc2V0ID0gcWVtdV9yYW1fYWxsb2Moc2l6ZSk7Ci0gICAg ICAgICAgICByZXQgPSBsb2FkX2ltYWdlKG9wdGlvbl9yb21baV0sIHBoeXNfcmFtX2Jhc2UgKyBv cHRpb25fcm9tX29mZnNldCk7CisgICAgICAgICAgICBjcHVfcmVnaXN0ZXJfcGh5c2ljYWxfbWVt b3J5KDB4ZDAwMDAgKyBvZmZzZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNpemUsIG9wdGlvbl9yb21fb2Zmc2V0IHwgSU9fTUVNX1JPTSk7CisgICAgICAgICAg ICByZXQgPSBsb2FkX2ltYWdlX3RhcmdwaHlzKG9wdGlvbl9yb21baV0sIDB4ZDAwMDAgKyBvZmZz ZXQsIHNpemUpOwogICAgICAgICAgICAgaWYgKHJldCAhPSBzaXplKSB7CiAgICAgICAgICAgICBv cHRpb25fcm9tX2Vycm9yOgogICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiVG9vIG1h bnkgb3B0aW9uIFJPTVNcbiIpOwogICAgICAgICAgICAgICAgIGV4aXQoMSk7CiAgICAgICAgICAg ICB9CiAgICAgICAgICAgICBzaXplID0gKHNpemUgKyA0MDk1KSAmIH40MDk1OwotICAgICAgICAg ICAgY3B1X3JlZ2lzdGVyX3BoeXNpY2FsX21lbW9yeSgweGQwMDAwICsgb2Zmc2V0LAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplLCBvcHRpb25fcm9tX29mZnNl dCB8IElPX01FTV9ST00pOwogICAgICAgICAgICAgb2Zmc2V0ICs9IHNpemU7CiAgICAgICAgIH0K ICAgICB9Cg== ------=_Part_9018_15008950.1210695103384--