From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7428 invoked by alias); 8 Nov 2013 17:44:05 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 17143 invoked by uid 89); 8 Nov 2013 17:36:57 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=1.6 required=5.0 tests=AWL,BAYES_50,RDNS_NONE,URIBL_BLOCKED autolearn=no version=3.3.2 X-HELO: multi.imgtec.com Received: from Unknown (HELO multi.imgtec.com) (194.200.65.239) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Fri, 08 Nov 2013 17:36:56 +0000 From: Andrew Bennett To: "gdb-patches@sourceware.org" Subject: [PATCH] Add MIPS UFR support Date: Fri, 08 Nov 2013 17:44:00 -0000 Message-ID: <0DA23CC379F5F945ACB41CF394B982774C8579@LEMAIL01.le.imgtec.org> Content-Type: multipart/mixed; boundary="_002_0DA23CC379F5F945ACB41CF394B982774C8579LEMAIL01leimgteco_" MIME-Version: 1.0 X-SEF-Processed: 7_3_0_01192__2013_11_08_17_36_48 X-IsSubscribed: yes X-SW-Source: 2013-11/txt/msg00247.txt.bz2 --_002_0DA23CC379F5F945ACB41CF394B982774C8579LEMAIL01leimgteco_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-length: 2182 Hi, This patch adds support to the MIPS backend to deal with changing the FR mo= de in user mode (which I will now refer to as UFR). The technical details are explained in= the following paragraph. The read only field UFR (at bit 28) in the floating point implementation re= gister (CP1 control register 0)=20 represents if the CPU supports UFR. The UFR field (bit 2) in configuration= register 5 (CP0 register 16,=20 select 5) allows user mode to enable or disable UFR support. The current v= alue of the FR mode can be=20 obtained if a read is made from the UFR register (CP1 control register 1), = and UFR support is enabled.=20=20 If register zero is written to the UFR register, and UFR support is enabled= , then the FR mode is set to 0.=20=20 If register zero is written to the UNFR register (CP1 control register 4), = and the UFR support is enabled,=20 then the FR mode is set to 1.=20=20 To implement this I have firstly added the config 5 register to the simulat= or model, and added support to=20 read and write to it. Secondly, I have added support for the CTC1 and CFC1= instructions to write/read=20 to/from the UFR and UNFR registers. I have also added a testcase to validate the implementation. To run the te= stcase you will need to apply=20 the following binutils patch: https://sourceware.org/ml/binutils/2013-11/msg00065.html The simulator patch is attached to this email and the ChangeLog is shown be= low.=20=20 This is my first patch to gdb, so I am unsure the protocol on committing. = Would someone be able to clarify? Many thanks, Andrew 2013-11-08 Andrew Bennett sim/mips/ * interp.c (ColdReset): Reset the config 5 register and set FCR0 to allow user mode FR switching instructions. (decode_coproc): Add support for reading and setting the config 5 register. * mips.igen (CTC1c): Add UFR support. (CFC1c): Likewise. * sim-main.h (_sim_cpu): Add config 5 register and support macros. sim/testsuite/sim/mips/ * basic.exp: Added ufr testcase. * ufr.s: New. Andrew Bennett Software Design Engineer, MIPS Processor IP Imagination Technologies Limited t: +44 (0)113 2429814 www.imgtec.com --_002_0DA23CC379F5F945ACB41CF394B982774C8579LEMAIL01leimgteco_ Content-Type: application/octet-stream; name="gnusim-ufr.patch" Content-Description: gnusim-ufr.patch Content-Disposition: attachment; filename="gnusim-ufr.patch"; size=4859; creation-date="Fri, 08 Nov 2013 17:28:52 GMT"; modification-date="Fri, 08 Nov 2013 17:28:41 GMT" Content-Transfer-Encoding: base64 Content-length: 6588 RnJvbSA4NzEyZDUxZjMyNWNlMGU5N2M3NTcxNmRjNjk1NzkyODhhZGVkYjM2 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgQmVubmV0 dCA8YW5kcmV3LmJlbm5ldHRAaW1ndGVjLmNvbT4KRGF0ZTogVGh1LCA3IE5v diAyMDEzIDE1OjAxOjM1ICswMDAwClN1YmplY3Q6IFtQQVRDSF0gQWRkIHN1 cHBvcnQgZm9yIE1JUFMgVUZSLgoKLS0tCiBzaW0vbWlwcy9pbnRlcnAuYyAg ICAgICAgICAgICAgICB8ICAgMTcgKysrKysrKysrKysrKysrKwogc2ltL21p cHMvbWlwcy5pZ2VuICAgICAgICAgICAgICAgfCAgIDI3ICsrKysrKysrKysr KysrKysrKysrKysrLS0KIHNpbS9taXBzL3NpbS1tYWluLmggICAgICAgICAg ICAgIHwgICAgNSArKysrKwogc2ltL3Rlc3RzdWl0ZS9zaW0vbWlwcy9iYXNp Yy5leHAgfCAgICAyICsrCiBzaW0vdGVzdHN1aXRlL3NpbS9taXBzL3Vmci5z ICAgICB8ICAgNDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKIDUgZmlsZXMgY2hhbmdlZCwgODkgaW5zZXJ0aW9ucygrKSwgMiBk ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzaW0vdGVzdHN1aXRl L3NpbS9taXBzL3Vmci5zCgpkaWZmIC0tZ2l0IGEvc2ltL21pcHMvaW50ZXJw LmMgYi9zaW0vbWlwcy9pbnRlcnAuYwppbmRleCAwMzI1NzBhLi5iNTk1OGFj IDEwMDY0NAotLS0gYS9zaW0vbWlwcy9pbnRlcnAuYworKysgYi9zaW0vbWlw cy9pbnRlcnAuYwpAQCAtMTgxMCw2ICsxODEwLDEyIEBAIENvbGRSZXNldCAo U0lNX0RFU0Mgc2QpCiAJfQogICAgICAgaWYgKEJpZ0VuZGlhbk1lbSkKIAlD MF9DT05GSUcgfD0gMHgwMDAwODAwMDsJLyogQmlnIEVuZGlhbiAqLworCisg ICAgICAvKiBJbml0aWFsaXNlIHRoZSBDb25maWc1IHJlZ2lzdGVyLiAqLwor ICAgICAgQzVfQ09ORklHID0gMDsKKworICAgICAgLyogVXNlciBtb2RlIEZS IHN3aXRjaGluZyBpbnN0cnVjdGlvbnMgc3VwcG9ydGVkICovCisgICAgICBG Q1IwIHw9IHN0YXR1c19VRlJQOwogICAgIH0KIH0KIApAQCAtMjM0OSw2ICsy MzU1LDE3IEBAIGRlY29kZV9jb3Byb2MgKFNJTV9ERVNDIHNkLAogI2VuZGlm CiAJICAgICAgfQogCSAgfQorCS8qIFRoaXMgY292ZXJzIHRoZSBjYXNlIG9m IHJlYWRpbmcgYW5kIHNldHRpbmcgdGhlIENvbmZpZzUgcmVnaXN0ZXIgKi8K KwllbHNlIGlmICgoKGNvZGUgPT0gMHgwMCkgfHwgKGNvZGUgPT0gMHgwNCkp ICAvKiBNRkMwIG9yIE1UQzAgcmVnaXN0ZXIgMTYgc2VsZWN0IDUgKi8KKwkg ICAgICAgICAmJiByZCA9PSAxNiAgJiYgKCh0YWlsICYgMHgwNykgPT0gNSkp CisJICB7CisJICAgIGlmIChjb2RlID09IDB4MDApCisJICAgICAgR1BSW3J0 XSA9IEM1X0NPTkZJRzsKKwkgICAgZWxzZSBpZiAoRkNSMCAmIHN0YXR1c19V RlJQKQorCSAgICAgIEM1X0NPTkZJRyA9IEdQUltydF07CisJICAgIGVsc2UK KwkgICAgICBDNV9DT05GSUcgPSAoR1BSW3J0XSAmIH5jb25maWc1X1VGUik7 CisJICB9CiAJZWxzZSBpZiAoKGNvZGUgPT0gMHgwMCB8fCBjb2RlID09IDB4 MDEpCiAJCSAmJiByZCA9PSAxNikKIAkgIHsKZGlmZiAtLWdpdCBhL3NpbS9t aXBzL21pcHMuaWdlbiBiL3NpbS9taXBzL21pcHMuaWdlbgppbmRleCA1YTYz MjZmLi41ZjI3MWI4IDEwMDY0NAotLS0gYS9zaW0vbWlwcy9taXBzLmlnZW4K KysrIGIvc2ltL21pcHMvbWlwcy5pZ2VuCkBAIC00NTIwLDcgKzQ1MjAsMTUg QEAKICAgICAgIFRSQUNFX0FMVV9JTlBVVDEgKGZjcik7CiAgICAgICBHUFJb UlRdID0gZmNyOwogICAgIH0KLSAgLyogZWxzZSBOT1AgKi8KKyAgZWxzZSBp ZiAoKEZTID09IDEpICYmIChGQ1IwICYgc3RhdHVzX1VGUlApKQorICAgIHsK KyAgICAgIGlmIChDNV9DT05GSUcgJiBjb25maWc1X1VGUikKKyAgICAgICAg R1BSW1JUXSA9ICh1bnNpZ25lZDMyKSAoKFNSICYgc3RhdHVzX0ZSKSA+PiAy Nik7CisgICAgICBlbHNlCisgICAgICAgIFNpZ25hbEV4Y2VwdGlvbiAoUmVz ZXJ2ZWRJbnN0cnVjdGlvbiwgaW5zdHJ1Y3Rpb25fMCk7CisgICAgfQorICBl bHNlCisgICAgVW5wcmVkaWN0YWJsZSAoKTsKICAgVFJBQ0VfQUxVX1JFU1VM VCAoR1BSW1JUXSk7CiB9CiAKQEAgLTQ1NjIsNyArNDU3MCwyMiBAQAogICBU UkFDRV9BTFVfSU5QVVQxIChHUFJbUlRdKTsKICAgaWYgKEZTID09IDI1IHx8 IEZTID09IDI2IHx8IEZTID09IDI4IHx8IEZTID09IDMxKQogICAgICAgU3Rv cmVGQ1IgKEZTLCBHUFJbUlRdKTsKLSAgLyogZWxzZSBOT1AgKi8KKyAgZWxz ZSBpZiAoKEZTID09IDEpICYmIChSVCA9PSAwKSAmJiAoRkNSMCAmIHN0YXR1 c19VRlJQKSkKKyAgICB7CisgICAgICBpZiAoQzVfQ09ORklHICYgY29uZmln NV9VRlIpCisgICAgICAgIFNSICY9IH5zdGF0dXNfRlI7CisgICAgICBlbHNl CisgICAgICAgIFNpZ25hbEV4Y2VwdGlvbiAoUmVzZXJ2ZWRJbnN0cnVjdGlv biwgaW5zdHJ1Y3Rpb25fMCk7CisgICAgfQorICBlbHNlIGlmICgoRlMgPT0g NCkgJiYgKFJUID09IDApICYmIChGQ1IwICYgc3RhdHVzX1VGUlApKQorICAg IHsKKyAgICAgIGlmIChDNV9DT05GSUcgJiBjb25maWc1X1VGUikKKyAgICAg ICAgU1IgfD0gc3RhdHVzX0ZSOworICAgICAgZWxzZQorICAgICAgICBTaWdu YWxFeGNlcHRpb24gKFJlc2VydmVkSW5zdHJ1Y3Rpb24sIGluc3RydWN0aW9u XzApOworICAgIH0KKyAgZWxzZQorICAgIFVucHJlZGljdGFibGUoKTsKIH0K IAogCmRpZmYgLS1naXQgYS9zaW0vbWlwcy9zaW0tbWFpbi5oIGIvc2ltL21p cHMvc2ltLW1haW4uaAppbmRleCBiOGM3NWM5Li5jNTIwYWZlIDEwMDY0NAot LS0gYS9zaW0vbWlwcy9zaW0tbWFpbi5oCisrKyBiL3NpbS9taXBzL3NpbS1t YWluLmgKQEAgLTQwNyw2ICs0MDcsMTAgQEAgc3RydWN0IF9zaW1fY3B1IHsK ICAgdW5zaWduZWRfd29yZCBjMF9jb25maWdfcmVnOwogI2RlZmluZSBDMF9D T05GSUcgKChDUFUpLT5jMF9jb25maWdfcmVnKQogCisgIHVuc2lnbmVkX3dv cmQgYzVfY29uZmlnX3JlZzsKKyNkZWZpbmUgQzVfQ09ORklHICgoQ1BVKS0+ YzVfY29uZmlnX3JlZykKKyNkZWZpbmUgY29uZmlnNV9VRlIJKDEgPDwgMikg CS8qIEFsbG93IHVzZXIgbW9kZSBhY2Nlc3MgdG8gU3RhdHVzRlIgKi8KKwog LyogVGhlIGZvbGxvd2luZyBhcmUgcHNldWRvbnltcyBmb3Igc3RhbmRhcmQg cmVnaXN0ZXJzICovCiAjZGVmaW5lIFpFUk8gICAgKFJFR0lTVEVSU1swXSkK ICNkZWZpbmUgVjAgICAgICAoUkVHSVNURVJTWzJdKQpAQCAtNTUxLDYgKzU1 NSw3IEBAIHN0cnVjdCBzaW1fc3RhdGUgewogI2RlZmluZSBzdGF0dXNfQ1Ux ICAgICAgICgxIDw8IDI5KSAgICAgIC8qIENvcHJvY2Vzc29yIDEgdXNhYmxl ICovCiAjZGVmaW5lIHN0YXR1c19DVTIgICAgICAgKDEgPDwgMzApICAgICAg LyogQ29wcm9jZXNzb3IgMiB1c2FibGUgKi8KICNkZWZpbmUgc3RhdHVzX0NV MyAgICAgICAoMSA8PCAzMSkgICAgICAvKiBDb3Byb2Nlc3NvciAzIHVzYWJs ZSAqLworI2RlZmluZSBzdGF0dXNfVUZSUCAgICAgICgxIDw8IDI4KSAgICAg IC8qIFVzZXIgbW9kZSBGUiBzd2l0Y2hpbmcgaW5zdHJ1Y3Rpb25zOiAwID0g bm90IHN1cHBvcnRlZCwgMSA9IHN1cHBvcnRlZCAqLwogLyogQml0cyByZXNl cnZlZCBmb3IgaW1wbGVtZW50YXRpb25zOiAgKi8KICNkZWZpbmUgc3RhdHVz X1NCWCAgICAgICAoMSA8PCAxNikgICAgICAvKiBFbmFibGUgU2lCeXRlIFNC LTEgZXh0ZW5zaW9ucy4gICovCiAKZGlmZiAtLWdpdCBhL3NpbS90ZXN0c3Vp dGUvc2ltL21pcHMvYmFzaWMuZXhwIGIvc2ltL3Rlc3RzdWl0ZS9zaW0vbWlw cy9iYXNpYy5leHAKaW5kZXggMWM3OGM4Ny4uYmU3Mjg0YSAxMDA2NDQKLS0t IGEvc2ltL3Rlc3RzdWl0ZS9zaW0vbWlwcy9iYXNpYy5leHAKKysrIGIvc2lt L3Rlc3RzdWl0ZS9zaW0vbWlwcy9iYXNpYy5leHAKQEAgLTg2LDQgKzg2LDYg QEAgaWYge1tpc3RhcmdldCBtaXBzKi0qLWVsZl19IHsKIAogICAgIHJ1bl9z aW1fdGVzdCBtaXBzMzItZHNwLnMgJGRzcG1vZGVscwogICAgIHJ1bl9zaW1f dGVzdCBtaXBzMzItZHNwMi5zICRkc3Btb2RlbHMKKworICAgIHJ1bl9zaW1f dGVzdCB1ZnIucyAkc3VibW9kZWxzCiB9CmRpZmYgLS1naXQgYS9zaW0vdGVz dHN1aXRlL3NpbS9taXBzL3Vmci5zIGIvc2ltL3Rlc3RzdWl0ZS9zaW0vbWlw cy91ZnIucwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4x ODcwODI3Ci0tLSAvZGV2L251bGwKKysrIGIvc2ltL3Rlc3RzdWl0ZS9zaW0v bWlwcy91ZnIucwpAQCAtMCwwICsxLDQwIEBACisjIG1pcHMgdGVzdCB1ZnIs IGV4cGVjdGVkIHRvIHBhc3MuCisjIG1hY2g6CSBtaXBzMzJyMiBtaXBzNjRy MgorIyBhczoJCS1tYWJpPWVhYmkKKyMgbGQ6CQktTiAtVHRleHQ9MHg4MDAx MDAwMAorI291dHB1dDoJKlxcbnBhc3NcXG4KKworCS5pbmNsdWRlICJ0ZXN0 dXRpbHMuaW5jIgorCisJc2V0dXAKKworCS5zZXQgbm9yZW9yZGVyCisKKwku ZW50IERJQUcKK0RJQUc6CisJd3JpdGVtc2cgIlsxXSBFbmFibGUgd3JpdGlu ZyB0byBGUiIKKwlsaSAkMiwgMHg0CisJbWZjMCAkMywgJDE2LCA1CisJb3Ig JDMsICQzLCAkMgorCW10YzAgJDMsICQxNiwgNQorCW1mYzAgJDMsICQxNiwg NQorCWFuZCAkMywgJDMsICQyCisJYmVxICQzLCAkMCwgX2ZhaWwKKwlub3AK KworCXdyaXRlbXNnICJbMl0gQ2hhbmdlIHRvIEZSIDAgbW9kZSIKKwl1ZnIg MAorCWNmYzEgJDIsICRmMQorCWJuZSAkMiwgJDAsIF9mYWlsCisJbm9wCisK Kwl3cml0ZW1zZyAiWzNdIENoYW5nZSB0byBGUiAxIG1vZGUiCisJdWZyIDEK KwljZmMxICQyLCAkZjEKKwlsaSAkMywgMQorCWJuZSAkMiwgJDMsIF9mYWls CisJbm9wCisKKwlwYXNzCisKKwkuZW5kIERJQUcKLS0gCjEuNy4xMC4xCgo= --_002_0DA23CC379F5F945ACB41CF394B982774C8579LEMAIL01leimgteco_--