From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:54091) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RIoMl-0003ft-PE for qemu-devel@nongnu.org; Tue, 25 Oct 2011 17:17:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RIoMk-00074v-BW for qemu-devel@nongnu.org; Tue, 25 Oct 2011 17:16:59 -0400 Received: from mail-ey0-f173.google.com ([209.85.215.173]:33676) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RIoMk-00073U-2Z for qemu-devel@nongnu.org; Tue, 25 Oct 2011 17:16:58 -0400 Received: by mail-ey0-f173.google.com with SMTP id 6so1159998eyh.4 for ; Tue, 25 Oct 2011 14:16:57 -0700 (PDT) MIME-Version: 1.0 From: Blue Swirl Date: Tue, 25 Oct 2011 21:16:37 +0000 Message-ID: Content-Type: multipart/mixed; boundary=f46d04451a83335dbf04b0260f00 Subject: [Qemu-devel] [PATCH 8/9] Sparc: convert win_helper to trace framework List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel --f46d04451a83335dbf04b0260f00 Content-Type: text/plain; charset=UTF-8 Reviewed-by: Richard Henderson Signed-off-by: Blue Swirl --- target-sparc/win_helper.c | 30 ++++++++---------------------- trace-events | 8 ++++++++ 2 files changed, 16 insertions(+), 22 deletions(-) diff --git a/target-sparc/win_helper.c b/target-sparc/win_helper.c index f42d996..a68c649 100644 --- a/target-sparc/win_helper.c +++ b/target-sparc/win_helper.c @@ -19,15 +19,7 @@ #include "cpu.h" #include "helper.h" - -//#define DEBUG_PSTATE - -#ifdef DEBUG_PSTATE -#define DPRINTF_PSTATE(fmt, ...) \ - do { printf("PSTATE: " fmt , ## __VA_ARGS__); } while (0) -#else -#define DPRINTF_PSTATE(fmt, ...) do {} while (0) -#endif +#include "trace.h" static inline void memcpy32(target_ulong *dst, const target_ulong *src) { @@ -293,11 +285,7 @@ static inline uint64_t *get_gregset(CPUState *env, uint32_t pstate) { switch (pstate) { default: - DPRINTF_PSTATE("ERROR in get_gregset: active pstate bits=%x%s%s%s\n", - pstate, - (pstate & PS_IG) ? " IG" : "", - (pstate & PS_MG) ? " MG" : "", - (pstate & PS_AG) ? " AG" : ""); + trace_win_helper_gregset_error(pstate); /* pass through to normal set of global registers */ case 0: return env->bgregs; @@ -324,16 +312,15 @@ void cpu_change_pstate(CPUState *env, uint32_t new_pstate) new_pstate_regs = new_pstate & 0xc01; if (new_pstate_regs != pstate_regs) { - DPRINTF_PSTATE("change_pstate: switching regs old=%x new=%x\n", - pstate_regs, new_pstate_regs); + trace_win_helper_switch_pstate(pstate_regs, new_pstate_regs); + /* Switch global register bank */ src = get_gregset(env, new_pstate_regs); dst = get_gregset(env, pstate_regs); memcpy32(dst, env->gregs); memcpy32(env->gregs, src); } else { - DPRINTF_PSTATE("change_pstate: regs new=%x (unchanged)\n", - new_pstate_regs); + trace_win_helper_no_switch_pstate(new_pstate_regs); } env->pstate = new_pstate; } @@ -352,8 +339,7 @@ void helper_wrpstate(CPUState *env, target_ulong new_state) void helper_wrpil(CPUState *env, target_ulong new_pil) { #if !defined(CONFIG_USER_ONLY) - DPRINTF_PSTATE("helper_wrpil old=%x new=%x\n", - env->psrpil, (uint32_t)new_pil); + trace_win_helper_wrpil(env->psrpil, (uint32_t)new_pil); env->psrpil = new_pil; @@ -375,7 +361,7 @@ void helper_done(CPUState *env) cpu_put_cwp64(env, tsptr->tstate & 0xff); env->tl--; - DPRINTF_PSTATE("... helper_done tl=%d\n", env->tl); + trace_win_helper_done(env->tl); #if !defined(CONFIG_USER_ONLY) if (cpu_interrupts_enabled(env)) { @@ -396,7 +382,7 @@ void helper_retry(CPUState *env) cpu_put_cwp64(env, tsptr->tstate & 0xff); env->tl--; - DPRINTF_PSTATE("... helper_retry tl=%d\n", env->tl); + trace_win_helper_retry(env->tl); #if !defined(CONFIG_USER_ONLY) if (cpu_interrupts_enabled(env)) { diff --git a/trace-events b/trace-events index e55839b..78fec90 100644 --- a/trace-events +++ b/trace-events @@ -615,3 +615,11 @@ int_helper_clear_softint(uint32_t softint) "new %08x" int_helper_write_softint(uint32_t softint) "new %08x" int_helper_icache_freeze(void) "Instruction cache: freeze" int_helper_dcache_freeze(void) "Data cache: freeze" + +# target-sparc/win_helper.c +win_helper_gregset_error(uint32_t pstate) "ERROR in get_gregset: active pstate bits=%x" +win_helper_switch_pstate(uint32_t pstate_regs, uint32_t new_pstate_regs) "change_pstate: switching regs old=%x new=%x" +win_helper_no_switch_pstate(uint32_t new_pstate_regs) "change_pstate: regs new=%x (unchanged)" +win_helper_wrpil(uint32_t psrpil, uint32_t new_pil) "old=%x new=%x" +win_helper_done(uint32_t tl) "tl=%d" +win_helper_retry(uint32_t tl) "tl=%d" -- 1.6.2.4 --f46d04451a83335dbf04b0260f00 Content-Type: text/x-diff; charset=US-ASCII; name="0008-Sparc-convert-win_helper-to-trace-framework.patch" Content-Disposition: attachment; filename="0008-Sparc-convert-win_helper-to-trace-framework.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gu7eb2na0 RnJvbSA1MGQ2MTliNzE5MmI1MzU5NjkxZjZlN2FlNDcyZTUxYmM4NzRhMTJlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpNZXNzYWdlLUlkOiA8NTBkNjE5YjcxOTJiNTM1OTY5MWY2ZTdhZTQ3MmU1 MWJjODc0YTEyZS4xMzE5NTc3MjIzLmdpdC5ibGF1d2lyYmVsQGdtYWlsLmNvbT4KSW4tUmVwbHkt VG86IDw1ZTAyZTA1YzFjNzg4OGQ2OTI3MDZjZTViYmFlYTViNjRjOGIyMmE4LjEzMTk1NzcyMjMu Z2l0LmJsYXV3aXJiZWxAZ21haWwuY29tPgpSZWZlcmVuY2VzOiA8NWUwMmUwNWMxYzc4ODhkNjky NzA2Y2U1YmJhZWE1YjY0YzhiMjJhOC4xMzE5NTc3MjIzLmdpdC5ibGF1d2lyYmVsQGdtYWlsLmNv bT4KRnJvbTogQmx1ZSBTd2lybCA8YmxhdXdpcmJlbEBnbWFpbC5jb20+CkRhdGU6IFN1biwgMTEg U2VwIDIwMTEgMTU6NTM6MzUgKzAwMDAKU3ViamVjdDogW1BBVENIIDgvOV0gU3BhcmM6IGNvbnZl cnQgd2luX2hlbHBlciB0byB0cmFjZSBmcmFtZXdvcmsKClJldmlld2VkLWJ5OiBSaWNoYXJkIEhl bmRlcnNvbiA8cnRoQHR3aWRkbGUubmV0PgpTaWduZWQtb2ZmLWJ5OiBCbHVlIFN3aXJsIDxibGF1 d2lyYmVsQGdtYWlsLmNvbT4KLS0tCiB0YXJnZXQtc3BhcmMvd2luX2hlbHBlci5jIHwgICAzMCAr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHRyYWNlLWV2ZW50cyAgICAgICAgICAgICAg fCAgICA4ICsrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDIyIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3RhcmdldC1zcGFyYy93aW5faGVscGVyLmMgYi90YXJn ZXQtc3BhcmMvd2luX2hlbHBlci5jCmluZGV4IGY0MmQ5OTYuLmE2OGM2NDkgMTAwNjQ0Ci0tLSBh L3RhcmdldC1zcGFyYy93aW5faGVscGVyLmMKKysrIGIvdGFyZ2V0LXNwYXJjL3dpbl9oZWxwZXIu YwpAQCAtMTksMTUgKzE5LDcgQEAKIAogI2luY2x1ZGUgImNwdS5oIgogI2luY2x1ZGUgImhlbHBl ci5oIgotCi0vLyNkZWZpbmUgREVCVUdfUFNUQVRFCi0KLSNpZmRlZiBERUJVR19QU1RBVEUKLSNk ZWZpbmUgRFBSSU5URl9QU1RBVEUoZm10LCAuLi4pICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCi0gICAgZG8geyBwcmludGYoIlBTVEFURTogIiBmbXQgLCAjIyBfX1ZBX0FSR1NfXyk7 IH0gd2hpbGUgKDApCi0jZWxzZQotI2RlZmluZSBEUFJJTlRGX1BTVEFURShmbXQsIC4uLikgZG8g e30gd2hpbGUgKDApCi0jZW5kaWYKKyNpbmNsdWRlICJ0cmFjZS5oIgogCiBzdGF0aWMgaW5saW5l IHZvaWQgbWVtY3B5MzIodGFyZ2V0X3Vsb25nICpkc3QsIGNvbnN0IHRhcmdldF91bG9uZyAqc3Jj KQogewpAQCAtMjkzLDExICsyODUsNyBAQCBzdGF0aWMgaW5saW5lIHVpbnQ2NF90ICpnZXRfZ3Jl Z3NldChDUFVTdGF0ZSAqZW52LCB1aW50MzJfdCBwc3RhdGUpCiB7CiAgICAgc3dpdGNoIChwc3Rh dGUpIHsKICAgICBkZWZhdWx0OgotICAgICAgICBEUFJJTlRGX1BTVEFURSgiRVJST1IgaW4gZ2V0 X2dyZWdzZXQ6IGFjdGl2ZSBwc3RhdGUgYml0cz0leCVzJXMlc1xuIiwKLSAgICAgICAgICAgICAg ICAgICAgICAgcHN0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICAocHN0YXRlICYgUFNfSUcp ID8gIiBJRyIgOiAiIiwKLSAgICAgICAgICAgICAgICAgICAgICAgKHBzdGF0ZSAmIFBTX01HKSA/ ICIgTUciIDogIiIsCi0gICAgICAgICAgICAgICAgICAgICAgIChwc3RhdGUgJiBQU19BRykgPyAi IEFHIiA6ICIiKTsKKyAgICAgICAgdHJhY2Vfd2luX2hlbHBlcl9ncmVnc2V0X2Vycm9yKHBzdGF0 ZSk7CiAgICAgICAgIC8qIHBhc3MgdGhyb3VnaCB0byBub3JtYWwgc2V0IG9mIGdsb2JhbCByZWdp c3RlcnMgKi8KICAgICBjYXNlIDA6CiAgICAgICAgIHJldHVybiBlbnYtPmJncmVnczsKQEAgLTMy NCwxNiArMzEyLDE1IEBAIHZvaWQgY3B1X2NoYW5nZV9wc3RhdGUoQ1BVU3RhdGUgKmVudiwgdWlu dDMyX3QgbmV3X3BzdGF0ZSkKICAgICBuZXdfcHN0YXRlX3JlZ3MgPSBuZXdfcHN0YXRlICYgMHhj MDE7CiAKICAgICBpZiAobmV3X3BzdGF0ZV9yZWdzICE9IHBzdGF0ZV9yZWdzKSB7Ci0gICAgICAg IERQUklOVEZfUFNUQVRFKCJjaGFuZ2VfcHN0YXRlOiBzd2l0Y2hpbmcgcmVncyBvbGQ9JXggbmV3 PSV4XG4iLAotICAgICAgICAgICAgICAgICAgICAgICBwc3RhdGVfcmVncywgbmV3X3BzdGF0ZV9y ZWdzKTsKKyAgICAgICAgdHJhY2Vfd2luX2hlbHBlcl9zd2l0Y2hfcHN0YXRlKHBzdGF0ZV9yZWdz LCBuZXdfcHN0YXRlX3JlZ3MpOworCiAgICAgICAgIC8qIFN3aXRjaCBnbG9iYWwgcmVnaXN0ZXIg YmFuayAqLwogICAgICAgICBzcmMgPSBnZXRfZ3JlZ3NldChlbnYsIG5ld19wc3RhdGVfcmVncyk7 CiAgICAgICAgIGRzdCA9IGdldF9ncmVnc2V0KGVudiwgcHN0YXRlX3JlZ3MpOwogICAgICAgICBt ZW1jcHkzMihkc3QsIGVudi0+Z3JlZ3MpOwogICAgICAgICBtZW1jcHkzMihlbnYtPmdyZWdzLCBz cmMpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIERQUklOVEZfUFNUQVRFKCJjaGFuZ2VfcHN0YXRl OiByZWdzIG5ldz0leCAodW5jaGFuZ2VkKVxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgbmV3 X3BzdGF0ZV9yZWdzKTsKKyAgICAgICAgdHJhY2Vfd2luX2hlbHBlcl9ub19zd2l0Y2hfcHN0YXRl KG5ld19wc3RhdGVfcmVncyk7CiAgICAgfQogICAgIGVudi0+cHN0YXRlID0gbmV3X3BzdGF0ZTsK IH0KQEAgLTM1Miw4ICszMzksNyBAQCB2b2lkIGhlbHBlcl93cnBzdGF0ZShDUFVTdGF0ZSAqZW52 LCB0YXJnZXRfdWxvbmcgbmV3X3N0YXRlKQogdm9pZCBoZWxwZXJfd3JwaWwoQ1BVU3RhdGUgKmVu diwgdGFyZ2V0X3Vsb25nIG5ld19waWwpCiB7CiAjaWYgIWRlZmluZWQoQ09ORklHX1VTRVJfT05M WSkKLSAgICBEUFJJTlRGX1BTVEFURSgiaGVscGVyX3dycGlsIG9sZD0leCBuZXc9JXhcbiIsCi0g ICAgICAgICAgICAgICAgICAgZW52LT5wc3JwaWwsICh1aW50MzJfdCluZXdfcGlsKTsKKyAgICB0 cmFjZV93aW5faGVscGVyX3dycGlsKGVudi0+cHNycGlsLCAodWludDMyX3QpbmV3X3BpbCk7CiAK ICAgICBlbnYtPnBzcnBpbCA9IG5ld19waWw7CiAKQEAgLTM3NSw3ICszNjEsNyBAQCB2b2lkIGhl bHBlcl9kb25lKENQVVN0YXRlICplbnYpCiAgICAgY3B1X3B1dF9jd3A2NChlbnYsIHRzcHRyLT50 c3RhdGUgJiAweGZmKTsKICAgICBlbnYtPnRsLS07CiAKLSAgICBEUFJJTlRGX1BTVEFURSgiLi4u IGhlbHBlcl9kb25lIHRsPSVkXG4iLCBlbnYtPnRsKTsKKyAgICB0cmFjZV93aW5faGVscGVyX2Rv bmUoZW52LT50bCk7CiAKICNpZiAhZGVmaW5lZChDT05GSUdfVVNFUl9PTkxZKQogICAgIGlmIChj cHVfaW50ZXJydXB0c19lbmFibGVkKGVudikpIHsKQEAgLTM5Niw3ICszODIsNyBAQCB2b2lkIGhl bHBlcl9yZXRyeShDUFVTdGF0ZSAqZW52KQogICAgIGNwdV9wdXRfY3dwNjQoZW52LCB0c3B0ci0+ dHN0YXRlICYgMHhmZik7CiAgICAgZW52LT50bC0tOwogCi0gICAgRFBSSU5URl9QU1RBVEUoIi4u LiBoZWxwZXJfcmV0cnkgdGw9JWRcbiIsIGVudi0+dGwpOworICAgIHRyYWNlX3dpbl9oZWxwZXJf cmV0cnkoZW52LT50bCk7CiAKICNpZiAhZGVmaW5lZChDT05GSUdfVVNFUl9PTkxZKQogICAgIGlm IChjcHVfaW50ZXJydXB0c19lbmFibGVkKGVudikpIHsKZGlmZiAtLWdpdCBhL3RyYWNlLWV2ZW50 cyBiL3RyYWNlLWV2ZW50cwppbmRleCBlNTU4MzliLi43OGZlYzkwIDEwMDY0NAotLS0gYS90cmFj ZS1ldmVudHMKKysrIGIvdHJhY2UtZXZlbnRzCkBAIC02MTUsMyArNjE1LDExIEBAIGludF9oZWxw ZXJfY2xlYXJfc29mdGludCh1aW50MzJfdCBzb2Z0aW50KSAibmV3ICUwOHgiCiBpbnRfaGVscGVy X3dyaXRlX3NvZnRpbnQodWludDMyX3Qgc29mdGludCkgIm5ldyAlMDh4IgogaW50X2hlbHBlcl9p Y2FjaGVfZnJlZXplKHZvaWQpICJJbnN0cnVjdGlvbiBjYWNoZTogZnJlZXplIgogaW50X2hlbHBl cl9kY2FjaGVfZnJlZXplKHZvaWQpICJEYXRhIGNhY2hlOiBmcmVlemUiCisKKyMgdGFyZ2V0LXNw YXJjL3dpbl9oZWxwZXIuYword2luX2hlbHBlcl9ncmVnc2V0X2Vycm9yKHVpbnQzMl90IHBzdGF0 ZSkgIkVSUk9SIGluIGdldF9ncmVnc2V0OiBhY3RpdmUgcHN0YXRlIGJpdHM9JXgiCit3aW5faGVs cGVyX3N3aXRjaF9wc3RhdGUodWludDMyX3QgcHN0YXRlX3JlZ3MsIHVpbnQzMl90IG5ld19wc3Rh dGVfcmVncykgImNoYW5nZV9wc3RhdGU6IHN3aXRjaGluZyByZWdzIG9sZD0leCBuZXc9JXgiCit3 aW5faGVscGVyX25vX3N3aXRjaF9wc3RhdGUodWludDMyX3QgbmV3X3BzdGF0ZV9yZWdzKSAiY2hh bmdlX3BzdGF0ZTogcmVncyBuZXc9JXggKHVuY2hhbmdlZCkiCit3aW5faGVscGVyX3dycGlsKHVp bnQzMl90IHBzcnBpbCwgdWludDMyX3QgbmV3X3BpbCkgIm9sZD0leCBuZXc9JXgiCit3aW5faGVs cGVyX2RvbmUodWludDMyX3QgdGwpICJ0bD0lZCIKK3dpbl9oZWxwZXJfcmV0cnkodWludDMyX3Qg dGwpICJ0bD0lZCIKLS0gCjEuNy4yLjUKCg== --f46d04451a83335dbf04b0260f00--