From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7501 invoked by alias); 12 Mar 2003 12:07:48 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 7494 invoked from network); 12 Mar 2003 12:07:47 -0000 Received: from unknown (HELO goldunix1001.propagation.net) (66.221.163.1) by 172.16.49.205 with SMTP; 12 Mar 2003 12:07:47 -0000 Received: from there (AFontenayssB-108-1-1-162.abo.wanadoo.fr [80.11.179.162]) by goldunix1001.propagation.net (8.11.6/8.11.6) with SMTP id h2CC7gJ09861 for ; Wed, 12 Mar 2003 06:07:42 -0600 Message-Id: <200303121207.h2CC7gJ09861@goldunix1001.propagation.net> From: Vadim Lebedev Organization: 7Chips To: gdb-patches@sources.redhat.com Subject: patch to add semihosting control for remote arm targets Date: Wed, 12 Mar 2003 12:07:00 -0000 MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="------------Boundary-00=_UOXMG4DW2GH0R24DRTLZ" X-SW-Source: 2003-03/txt/msg00273.txt.bz2 --------------Boundary-00=_UOXMG4DW2GH0R24DRTLZ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Content-length: 729 When debugging remote arm targets using devices such as JEENI from epitools the semihosting function slows execution by the target of SWI instruction nearly 100-fold. This is especially annoying when you try to debug linux kernel on the target as it uses SWI to implement system calls. The attached patch adds a set rdisemihosting {on/off/1/0/true/false} command to the gdb which allows one to enable or disable semihosting suppport. the command shoud be executed before target rdi .... command The patch is against gdb 5.3 but i think will apply to older versions cleanly too. Chang log entry Wed Mar 12 13:00:00 2003 Vadim Lebedev (vadim at 7chips.com) * remote-rdi.c add set rdisemihosting command --------------Boundary-00=_UOXMG4DW2GH0R24DRTLZ Content-Type: text/x-diff; charset="iso-8859-1"; name="gdb-rdi-semihosting.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="gdb-rdi-semihosting.patch" Content-length: 2949 LS0tIHJlbW90ZS1yZGkuYy5vcmlnCVdlZCBNYXIgMTIgMTE6NTk6NTUgMjAw MworKysgcmVtb3RlLXJkaS5jCVdlZCBNYXIgMTIgMTI6MDI6MjMgMjAwMwpA QCAtMTE4LDYgKzExOCwxMCBAQCBzdGF0aWMgaW50IHJkaV9oZWFydGJlYXQg PSAwOwogLyogVGFyZ2V0IGhhcyBST00gYXQgYWRkcmVzcyAwLiAqLwogc3Rh dGljIGludCByb21fYXRfemVybyA9IDA7CiAKKworLyogdGFyZ2V0IGhhcyBz ZW1paG9zdGluZyBlbmFibGVkICovCitzdGF0aWMgaW50IHJkaV9zZW1paG9z dGluZyA9IDE7CisKIC8qIEVuYWJsZSBsb2dnaW5nPyAqLwogc3RhdGljIGlu dCBsb2dfZW5hYmxlID0gMDsKIApAQCAtMzE5LDEwICszMjMsMTkgQEAgZGV2 aWNlIGlzIGF0dGFjaGVkIHRvIHRoZSByZW1vdGUgc3lzdGVtIAogCiAgIHJz bHQgPSBhbmdlbF9SRElfaW5mbyAoUkRJVmVjdG9yX0NhdGNoLCAmYXJnMSwg JmFyZzIpOwogICBpZiAocnNsdCAhPSBSRElFcnJvcl9Ob0Vycm9yKQotICAg IHsKLSAgICAgIHByaW50Zl9maWx0ZXJlZCAoIlJESV9pbmZvOiAlc1xuIiwg cmRpX2Vycm9yX21lc3NhZ2UgKHJzbHQpKTsKLSAgICB9CisgIHsKKwkgIHBy aW50Zl9maWx0ZXJlZCAoIlJESV9pbmZvOiAlc1xuIiwgcmRpX2Vycm9yX21l c3NhZ2UgKHJzbHQpKTsKKyAgfQorCisgIGFyZzEgPSByZGlfc2VtaWhvc3Rp bmcgPyAxIDogMDsKKyAgCisgIHJzbHQgPSBhbmdlbF9SRElfaW5mbyhSRElT ZW1pSG9zdGluZ19TZXRTdGF0ZSwgICZhcmcxLCAmYXJnMik7CisgIGlmIChy c2x0ICE9IFJESUVycm9yX05vRXJyb3IpCisgIHsKKwkgIHByaW50Zl9maWx0 ZXJlZCAoIlJESV9pbmZvOiAlc1xuIiwgcmRpX2Vycm9yX21lc3NhZ2UgKHJz bHQpKTsKKyAgfQogCisgIAogICBhcmcxID0gKHVuc2lnbmVkIGxvbmcpICIi OwogICByc2x0ID0gYW5nZWxfUkRJX2luZm8gKFJESVNldF9DbWRsaW5lLCAm YXJnMSwgJmFyZzIpOwogICBpZiAocnNsdCAhPSBSRElFcnJvcl9Ob0Vycm9y KQpAQCAtMTA1MSwxNCArMTA2NCwyNCBAQCBfaW5pdGlhbGl6ZV9yZW1vdGVf cmRpICh2b2lkKQogICAgICAmc2V0bGlzdCwgJnNob3dsaXN0KTsKIAogICBh ZGRfc2V0c2hvd19ib29sZWFuX2NtZAotICAgICgicmRpaGVhcnRiZWF0Iiwg bm9fY2xhc3MsICZyZGlfaGVhcnRiZWF0LAotICAgICAiU2V0IGVuYWJsZSBm b3IgQURQIGhlYXJ0YmVhdCBwYWNrZXRzLlxuIgotICAgICAiSSBkb24ndCBr bm93IHdoeSB5b3Ugd291bGQgd2FudCB0aGlzLiBJZiB5b3UgZW5hYmxlIHRo ZW0sXG4iCi0gICAgICJpdCB3aWxsIGNvbmZ1c2UgQVJNIGFuZCBFUEkgSlRB RyBpbnRlcmZhY2UgYm94ZXMgYXMgd2VsbFxuIgotICAgICAiYXMgdGhlIEFu Z2VsIE1vbml0b3IuXG4iLAotICAgICAiU2hvdyBlbmFibGUgZm9yIEFEUCBo ZWFydGJlYXQgcGFja2V0cy5cbiIsCi0gICAgIE5VTEwsIE5VTEwsCi0gICAg ICZzZXRsaXN0LCAmc2hvd2xpc3QpOworCQkgICgicmRpaGVhcnRiZWF0Iiwg bm9fY2xhc3MsICZyZGlfaGVhcnRiZWF0LAorCQkgICAiU2V0IGVuYWJsZSBm b3IgQURQIGhlYXJ0YmVhdCBwYWNrZXRzLlxuIgorCQkgICAiSSBkb24ndCBr bm93IHdoeSB5b3Ugd291bGQgd2FudCB0aGlzLiBJZiB5b3UgZW5hYmxlIHRo ZW0sXG4iCisJCSAgICJpdCB3aWxsIGNvbmZ1c2UgQVJNIGFuZCBFUEkgSlRB RyBpbnRlcmZhY2UgYm94ZXMgYXMgd2VsbFxuIgorCQkgICAiYXMgdGhlIEFu Z2VsIE1vbml0b3IuXG4iLAorCQkgICAiU2hvdyBlbmFibGUgZm9yIEFEUCBo ZWFydGJlYXQgcGFja2V0cy5cbiIsCisJCSAgIE5VTEwsIE5VTEwsCisJCSAg ICZzZXRsaXN0LCAmc2hvd2xpc3QpOworCisgIGFkZF9zZXRzaG93X2Jvb2xl YW5fY21kCisJCSAgKCJyZGlzZW1paG9zdGluZyIsIG5vX2NsYXNzLCAmcmRp X3NlbWlob3N0aW5nLAorCQkgICAiU2V0IHNlbWlob3N0aW5nIHN1cHBvcnQu XG4iCisJCSAgICJBIHRydWUgdmFsdWUgYWN0aXZhdGVzIHNlbWlob3N0aW5n IGZhbHNlIHZhbHVlIGRlYWN0aXZhdGVzIGl0LlxuIiwKKwkJICAgIlNob3cg ZW5hYmxlIGZvciBzZW1paG9zdGluZy5cbiIsCisJCSAgIE5VTEwsIE5VTEws CisJCSAgICZzZXRsaXN0LCAmc2hvd2xpc3QpOworCisgIAogfQogCiAvKiBB IGxpdHRsZSBkdW1teSB0byBtYWtlIGxpbmtpbmcgd2l0aCB0aGUgbGlicmFy eSBzdWNjZWVkLiAqLwo= --------------Boundary-00=_UOXMG4DW2GH0R24DRTLZ--