From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KCB02-0002JO-Ac for qemu-devel@nongnu.org; Fri, 27 Jun 2008 06:16:14 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KCAzv-0002IE-VM for qemu-devel@nongnu.org; Fri, 27 Jun 2008 06:16:10 -0400 Received: from [199.232.76.173] (port=54963 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KCAzu-0002HW-TO for qemu-devel@nongnu.org; Fri, 27 Jun 2008 06:16:07 -0400 Received: from rv-out-0708.google.com ([209.85.198.243]:20608) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KCAzt-0007Jk-IC for qemu-devel@nongnu.org; Fri, 27 Jun 2008 06:16:06 -0400 Received: by rv-out-0708.google.com with SMTP id f25so340512rvb.22 for ; Fri, 27 Jun 2008 03:15:59 -0700 (PDT) Message-ID: <761ea48b0806270315o207bffe1gb8ed97a038470d7d@mail.gmail.com> Date: Fri, 27 Jun 2008 12:15:59 +0200 From: "Laurent Desnogues" MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_9806_1492544.1214561759477" Subject: [Qemu-devel] [PATCH] Some fixes for ARM 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_9806_1492544.1214561759477 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hello, Here are some updates for ARM target: helper.c - copy reference c0_c2 to runtime c0_c2 and not c0_c1 op_helper.c - remove old code (PARAM1, probably some left over from old dyngen) that broke do_[us]sat translate.c - gen_smul_dual should sign-extend from 16 bit to 32 bit and not from 8 to 32 - disas_arm_insn: * smlalxy: that was completely wrong; now the addition is performed as for smlald * pkhtb: optional ASR not taken into account (similar to [us]sat) * pkhtb/pkhbt: tmp2 is dead * smlald, smlsld, smuad, smusd, smlad, smlsd: rd and rn swapped Except for the c0_c2 modification, these changes were tested: - small unit tests which results were "manually" compared to hardware - check FFmpeg now correctly decodes the first frame of a video Laurent ------=_Part_9806_1492544.1214561759477 Content-Type: text/x-patch; name=arm-new.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_fhymor2s0 Content-Disposition: attachment; filename=arm-new.patch ZGlmZiAtcnUgLXggLnN2biBzdm4tcmVmL3RhcmdldC1hcm0vaGVscGVyLmMgc3ZuL3RhcmdldC1h cm0vaGVscGVyLmMKLS0tIHN2bi1yZWYvdGFyZ2V0LWFybS9oZWxwZXIuYwkyMDA4LTA2LTA5IDA4 OjUyOjQ4LjAwMDAwMDAwMCArMDIwMAorKysgc3ZuL3RhcmdldC1hcm0vaGVscGVyLmMJMjAwOC0w Ni0wOSAwODo1ODozMC4wMDAwMDAwMDAgKzAyMDAKQEAgLTY0LDcgKzY0LDcgQEAKICAgICAgICAg ZW52LT52ZnAueHJlZ3NbQVJNX1ZGUF9NVkZSMF0gPSAweDExMTExMTExOwogICAgICAgICBlbnYt PnZmcC54cmVnc1tBUk1fVkZQX01WRlIxXSA9IDB4MDAwMDAwMDA7CiAgICAgICAgIG1lbWNweShl bnYtPmNwMTUuYzBfYzEsIGFybTExMzZfY3AxNV9jMF9jMSwgOCAqIHNpemVvZih1aW50MzJfdCkp OwotICAgICAgICBtZW1jcHkoZW52LT5jcDE1LmMwX2MxLCBhcm0xMTM2X2NwMTVfYzBfYzIsIDgg KiBzaXplb2YodWludDMyX3QpKTsKKyAgICAgICAgbWVtY3B5KGVudi0+Y3AxNS5jMF9jMiwgYXJt MTEzNl9jcDE1X2MwX2MyLCA4ICogc2l6ZW9mKHVpbnQzMl90KSk7CiAgICAgICAgIGVudi0+Y3Ax NS5jMF9jYWNoZXR5cGUgPSAweDFkZDIwZDI7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQVJN X0NQVUlEX0FSTTExTVBDT1JFOgpAQCAtNzYsNyArNzYsNyBAQAogICAgICAgICBlbnYtPnZmcC54 cmVnc1tBUk1fVkZQX01WRlIwXSA9IDB4MTExMTExMTE7CiAgICAgICAgIGVudi0+dmZwLnhyZWdz W0FSTV9WRlBfTVZGUjFdID0gMHgwMDAwMDAwMDsKICAgICAgICAgbWVtY3B5KGVudi0+Y3AxNS5j MF9jMSwgbXBjb3JlX2NwMTVfYzBfYzEsIDggKiBzaXplb2YodWludDMyX3QpKTsKLSAgICAgICAg bWVtY3B5KGVudi0+Y3AxNS5jMF9jMSwgbXBjb3JlX2NwMTVfYzBfYzIsIDggKiBzaXplb2YodWlu dDMyX3QpKTsKKyAgICAgICAgbWVtY3B5KGVudi0+Y3AxNS5jMF9jMiwgbXBjb3JlX2NwMTVfYzBf YzIsIDggKiBzaXplb2YodWludDMyX3QpKTsKICAgICAgICAgZW52LT5jcDE1LmMwX2NhY2hldHlw ZSA9IDB4MWRkMjBkMjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBBUk1fQ1BVSURfQ09SVEVY QTg6CkBAIC05Miw3ICs5Miw3IEBACiAgICAgICAgIGVudi0+dmZwLnhyZWdzW0FSTV9WRlBfTVZG UjBdID0gMHgxMTExMDIyMjsKICAgICAgICAgZW52LT52ZnAueHJlZ3NbQVJNX1ZGUF9NVkZSMV0g PSAweDAwMDExMTAwOwogICAgICAgICBtZW1jcHkoZW52LT5jcDE1LmMwX2MxLCBjb3J0ZXhhOF9j cDE1X2MwX2MxLCA4ICogc2l6ZW9mKHVpbnQzMl90KSk7Ci0gICAgICAgIG1lbWNweShlbnYtPmNw MTUuYzBfYzEsIGNvcnRleGE4X2NwMTVfYzBfYzIsIDggKiBzaXplb2YodWludDMyX3QpKTsKKyAg ICAgICAgbWVtY3B5KGVudi0+Y3AxNS5jMF9jMiwgY29ydGV4YThfY3AxNV9jMF9jMiwgOCAqIHNp emVvZih1aW50MzJfdCkpOwogICAgICAgICBlbnYtPmNwMTUuYzBfY2FjaGV0eXBlID0gMHgxZGQy MGQyOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEFSTV9DUFVJRF9DT1JURVhNMzoKZGlmZiAt cnUgLXggLnN2biBzdm4tcmVmL3RhcmdldC1hcm0vb3BfaGVscGVyLmMgc3ZuL3RhcmdldC1hcm0v b3BfaGVscGVyLmMKLS0tIHN2bi1yZWYvdGFyZ2V0LWFybS9vcF9oZWxwZXIuYwkyMDA4LTA2LTA5 IDA4OjUyOjQ4LjAwMDAwMDAwMCArMDIwMAorKysgc3ZuL3RhcmdldC1hcm0vb3BfaGVscGVyLmMJ MjAwOC0wNi0yNiAxNTo0NzoyNS4wMDAwMDAwMDAgKzAyMDAKQEAgLTE4NSw3ICsxODUsNiBAQAog ICAgIGludDMyX3QgdG9wOwogICAgIHVpbnQzMl90IG1hc2s7CiAKLSAgICBzaGlmdCA9IFBBUkFN MTsKICAgICB0b3AgPSB2YWwgPj4gc2hpZnQ7CiAgICAgbWFzayA9ICgxdSA8PCBzaGlmdCkgLSAx OwogICAgIGlmICh0b3AgPiAwKSB7CkBAIC0yMDMsNyArMjAyLDYgQEAKIHsKICAgICB1aW50MzJf dCBtYXg7CiAKLSAgICBzaGlmdCA9IFBBUkFNMTsKICAgICBtYXggPSAoMXUgPDwgc2hpZnQpIC0g MTsKICAgICBpZiAodmFsIDwgMCkgewogICAgICAgICBlbnYtPlFGID0gMTsKZGlmZiAtcnUgLXgg LnN2biBzdm4tcmVmL3RhcmdldC1hcm0vdHJhbnNsYXRlLmMgc3ZuL3RhcmdldC1hcm0vdHJhbnNs YXRlLmMKLS0tIHN2bi1yZWYvdGFyZ2V0LWFybS90cmFuc2xhdGUuYwkyMDA4LTA2LTA5IDA4OjUy OjQ4LjAwMDAwMDAwMCArMDIwMAorKysgc3ZuL3RhcmdldC1hcm0vdHJhbnNsYXRlLmMJMjAwOC0w Ni0yNiAxNTo1MjoxMi4wMDAwMDAwMDAgKzAyMDAKQEAgLTI0Nyw4ICsyNDcsOCBAQAogewogICAg IFRDR3YgdG1wMSA9IG5ld190bXAoKTsKICAgICBUQ0d2IHRtcDIgPSBuZXdfdG1wKCk7Ci0gICAg dGNnX2dlbl9leHQ4c19pMzIodG1wMSwgYSk7Ci0gICAgdGNnX2dlbl9leHQ4c19pMzIodG1wMiwg Yik7CisgICAgdGNnX2dlbl9leHQxNnNfaTMyKHRtcDEsIGEpOworICAgIHRjZ19nZW5fZXh0MTZz X2kzMih0bXAyLCBiKTsKICAgICB0Y2dfZ2VuX211bF9pMzIodG1wMSwgdG1wMSwgdG1wMik7CiAg ICAgZGVhZF90bXAodG1wMik7CiAgICAgdGNnX2dlbl9zYXJpX2kzMihhLCBhLCAxNik7CkBAIC01 OTg2LDEwICs1OTg2LDExIEBACiAgICAgICAgICAgICAgICAgZ2VuX211bHh5KHRtcCwgdG1wMiwg c2ggJiAyLCBzaCAmIDQpOwogICAgICAgICAgICAgICAgIGRlYWRfdG1wKHRtcDIpOwogICAgICAg ICAgICAgICAgIGlmIChvcDEgPT0gMikgewotICAgICAgICAgICAgICAgICAgICB0bXAgPSB0Y2df dGVtcF9uZXcoVENHX1RZUEVfSTY0KTsKLSAgICAgICAgICAgICAgICAgICAgdGNnX2dlbl9leHRf aTMyX2k2NCh0bXAsIGNwdV9UWzBdKTsKLSAgICAgICAgICAgICAgICAgICAgZ2VuX2FkZHEocywg dG1wLCBybiwgcmQpOwotICAgICAgICAgICAgICAgICAgICBnZW5fc3RvcmVxX3JlZyhzLCBybiwg cmQsIHRtcCk7CisgICAgICAgICAgICAgICAgICAgIHRtcDIgPSB0Y2dfdGVtcF9uZXcoVENHX1RZ UEVfSTY0KTsKKyAgICAgICAgICAgICAgICAgICAgdGNnX2dlbl9leHRfaTMyX2k2NCh0bXAyLCB0 bXApOworICAgICAgICAgICAgICAgICAgICBkZWFkX3RtcCh0bXApOworICAgICAgICAgICAgICAg ICAgICBnZW5fYWRkcShzLCB0bXAyLCBybiwgcmQpOworICAgICAgICAgICAgICAgICAgICBnZW5f c3RvcmVxX3JlZyhzLCBybiwgcmQsIHRtcDIpOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAg ICAgICAgICAgICAgICAgICAgIGlmIChvcDEgPT0gMCkgewogICAgICAgICAgICAgICAgICAgICAg ICAgdG1wMiA9IGxvYWRfcmVnKHMsIHJuKTsKQEAgLTYzNjAsMTggKzYzNjEsMjIgQEAKICAgICAg ICAgICAgICAgICAgICAgICAgIHRtcCA9IGxvYWRfcmVnKHMsIHJuKTsKICAgICAgICAgICAgICAg ICAgICAgICAgIHRtcDIgPSBsb2FkX3JlZyhzLCBybSk7CiAgICAgICAgICAgICAgICAgICAgICAg ICBzaGlmdCA9IChpbnNuID4+IDcpICYgMHgxZjsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlm IChzaGlmdCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Y2dfZ2VuX3NobGlfaTMyKHRt cDIsIHRtcDIsIHNoaWZ0KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbnNuICYgKDEg PDwgNikpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBwa2h0YiAqLworICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGlmIChzaGlmdCA9PSAwKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzaGlmdCA9IDMxOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRj Z19nZW5fc2FyaV9pMzIodG1wMiwgdG1wMiwgc2hpZnQpOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHRjZ19nZW5fYW5kaV9pMzIodG1wLCB0bXAsIDB4ZmZmZjAwMDApOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHRjZ19nZW5fZXh0MTZ1X2kzMih0bXAyLCB0bXAyKTsKICAgICAg ICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LyogcGtoYnQgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2hpZnQpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRjZ19nZW5fc2hsaV9pMzIodG1wMiwgdG1wMiwg c2hpZnQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRjZ19nZW5fZXh0MTZ1X2kzMih0 bXAsIHRtcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGNnX2dlbl9hbmRpX2kzMih0 bXAyLCB0bXAyLCAweGZmZmYwMDAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgIHRjZ19nZW5fb3JfaTMyKHRtcCwgdG1wLCB0bXAyKTsKKyAgICAg ICAgICAgICAgICAgICAgICAgIGRlYWRfdG1wKHRtcDIpOwogICAgICAgICAgICAgICAgICAgICAg ICAgc3RvcmVfcmVnKHMsIHJkLCB0bXApOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYg KChpbnNuICYgMHgwMDIwMDAyMCkgPT0gMHgwMDIwMDAwMCkgewogICAgICAgICAgICAgICAgICAg ICAgICAgLyogW3VzXXNhdCAqLwpAQCAtNjQ5OCwxNyArNjUwMywxNyBAQAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHRtcDIgPSB0Y2dfdGVtcF9uZXcoVENHX1RZUEVfSTY0KTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB0Y2dfZ2VuX2V4dF9pMzJfaTY0KHRtcDIsIHRtcCk7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVhZF90bXAodG1wKTsKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICBnZW5fYWRkcShzLCB0bXAyLCBybiwgcmQpOwotICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGdlbl9zdG9yZXFfcmVnKHMsIHJuLCByZCwgdG1wMik7CisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZ2VuX2FkZHEocywgdG1wMiwgcmQsIHJuKTsKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICBnZW5fc3RvcmVxX3JlZyhzLCByZCwgcm4sIHRtcDIpOwogICAgICAg ICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv KiBzbXVhZCwgc211c2QsIHNtbGFkLCBzbWxzZCAqLwotICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGlmIChybiAhPSAxNSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmQgIT0g MTUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHRtcDIgPSBsb2FkX3JlZyhzLCBybik7CisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHRtcDIgPSBsb2FkX3JlZyhzLCByZCk7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGdlbl9oZWxwZXJfYWRkX3NldHEodG1wLCB0bXAsIHRtcDIpOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkZWFkX3RtcCh0bXAyKTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZV9yZWco cywgcmQsIHRtcCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmVfcmVnKHMsIHJu LCB0bXApOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo= ------=_Part_9806_1492544.1214561759477--