From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JvysX-0008J5-MN for qemu-devel@nongnu.org; Tue, 13 May 2008 14:05:33 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JvysW-0008IA-60 for qemu-devel@nongnu.org; Tue, 13 May 2008 14:05:33 -0400 Received: from [199.232.76.173] (port=59328 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JvysW-0008I7-1R for qemu-devel@nongnu.org; Tue, 13 May 2008 14:05:32 -0400 Received: from fk-out-0910.google.com ([209.85.128.191]:43638) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JvysV-00046j-Nv for qemu-devel@nongnu.org; Tue, 13 May 2008 14:05:32 -0400 Received: by fk-out-0910.google.com with SMTP id 18so2445646fks.2 for ; Tue, 13 May 2008 11:05:30 -0700 (PDT) Message-ID: Date: Tue, 13 May 2008 21:05:29 +0300 From: "Blue Swirl" Subject: Re: [Qemu-devel] [PATCH] Re: phys_ram_base, direct access to guest memory In-Reply-To: <4829C9C7.2090007@bellard.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_9482_29223965.1210701930016" 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> <4829C9C7.2090007@bellard.org> 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_9482_29223965.1210701930016 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline On 5/13/08, Fabrice Bellard wrote: > Blue Swirl wrote: > > > 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? > > > > OK for the kernel loading, but not for the BIOS loading : there is no > reason all the BIOS is mapped at a particular physical address (because this > address is selectable by specific chipset bits), so it must really be loaded > at ram addresses, not at physical addresses. > > IMHO, it still makes sense to allow loading of data at a particular ram > address. I removed the BIOS loading parts. But is it possible to adjust VGA BIOS and option ROM addresses by chipset? Their sizes are also limited because wrong size files are rejected. ------=_Part_9482_29223965.1210701930016 Content-Type: plain/text; name=phys_mem_pconly_ij.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fg6smgl5 Content-Disposition: attachment; filename=phys_mem_pconly_ij.diff SW5kZXg6IHFlbXUvaHcvcGMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvcGMuYwkyMDA4 LTA1LTEzIDE2OjEyOjM0LjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS9ody9wYy5jCTIwMDgtMDUt MTMgMTc6Mjk6NDguMDAwMDAwMDAwICswMDAwCkBAIC01MDcsNyArNTA3LDcgQEAKICAgICBpbnQg 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 KzB4MjA7CS8qIENTICovCiAgICAgbWVtc2V0KGdwciwgMCwgc2l6ZW9mIGdwcik7Cg== ------=_Part_9482_29223965.1210701930016--