From nobody Thu May 8 01:13:40 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1584031588; cv=none; d=zohomail.com; s=zohoarc; b=AsMu815rQhX5D0u+DjXpDY3M8kuRyjFQL7fQgLdbSEno9jLBE5+FcmFG8q0xgHFAvkxSXHcQgepEzmiogNWVDoMIrfH+cCJOZRe8M+HiUAeXJwOTqvLmQi1S9y6WDooxzFopEnQvbvG9AI9EszfpiNm7eYquCuP5urkGEetIJ90= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1584031588; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=4S8wIrHJy8qFtt3EBjVlgr+BtDAqyjEFLwh2HjaLWUk=; b=a5puExz1KFKhM7nCZKjpLfX+pNiO5w+gUIZ7Wes91qRd0S84ducxj/ZSRiGEzk2FIrvAa0hJzSQ87NADhHcO63AyrN5WvGCoBH7no9/uApsmPwbLn3iwuIvLUGSR83qrHVjzqkfJAZR125BF8Goj+Yl6E1Wogr2FVPeurdonnyU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from=<peter.maydell@linaro.org> (p=none dis=none) header.from=<peter.maydell@linaro.org> Return-Path: <qemu-devel-bounces+importer=patchew.org@nongnu.org> Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1584031588356350.88155001489463; Thu, 12 Mar 2020 09:46:28 -0700 (PDT) Received: from localhost ([::1]:45356 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <qemu-devel-bounces+importer=patchew.org@nongnu.org>) id 1jCQyY-0001hj-4c for importer@patchew.org; Thu, 12 Mar 2020 12:46:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35579) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <peter.maydell@linaro.org>) id 1jCQxK-0008AW-Mu for qemu-devel@nongnu.org; Thu, 12 Mar 2020 12:45:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <peter.maydell@linaro.org>) id 1jCQxJ-00050v-7o for qemu-devel@nongnu.org; Thu, 12 Mar 2020 12:45:10 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:34654) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from <peter.maydell@linaro.org>) id 1jCQxJ-00050h-0o for qemu-devel@nongnu.org; Thu, 12 Mar 2020 12:45:09 -0400 Received: by mail-wr1-x42e.google.com with SMTP id z15so8380777wrl.1 for <qemu-devel@nongnu.org>; Thu, 12 Mar 2020 09:45:08 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id j15sm36838640wrp.85.2020.03.12.09.45.06 for <qemu-devel@nongnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Mar 2020 09:45:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=4S8wIrHJy8qFtt3EBjVlgr+BtDAqyjEFLwh2HjaLWUk=; b=yZzLQwPSkh5fUXqef84ZglQW0gYEmofXpniD+fsrAcbbjTENf5iD9cKfZZsbi7/TZB 8QHalJrbYJLILmw1Mk/LGa0ER5vehaUtuzFnnH16bc20fKyVn7Ya+dmBSKhYySOyMYFG nt+5b8cIFxmwLa9+cwDWE0ldRiS/1WGsfarnBvIDZwTVEq1/m0Qfvmq/dYoY1oQ4/XGA u6IZ/DHqJ+z5ZWphQitxzFlOAzXGZRKPyIjz3cD+ReX2rLleFgNECZuEMpYupFFTR4wG hoXGEvhJcQum/4+OP31F4TaY3KqPCAkkfVEITscTFvxTwvyodbZ+GM3j0qkNrFy+ihlp PfSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=4S8wIrHJy8qFtt3EBjVlgr+BtDAqyjEFLwh2HjaLWUk=; b=cLB/0VRXXIk7rhM2bLUZ1CeSkoiIvjO70uCvzaN1IEXWawepsrdGsdWzNtp0CPBOII BVB6N/FBrYKNxn4hh7rFGAcCmeRanRpzHWr4Hojktb+oSNiPAg0t2GmJHjMcWXEpOz0J lXBN3vV0uoSRlwU1VL1eGa/O4tlmW3ebNQkcrm3in7HoAZR6Z3a4r5aIWDhL7iXmAdD9 gntZCGWbwNgKrvLgpO8FlJi1RpTyXGvgyHVF7Dzg5I9nTYBSRtHMHDi27P4LoGRdIglk PY9S24aQf33rSDyqkb2kh2unqMH+jIYzy9reoXTxJ06hhIW/34waQZEfumfaUU0MWqm1 VBZg== X-Gm-Message-State: ANhLgQ0PJJIv5iDx9dNImnza+n0LRQgdeFN2Vp9s80Si9GvG8HSHdYxe YlTykyZd94wpNfQLrm+BjJ0Fs/rSEw7CzQ== X-Google-Smtp-Source: ADFU+vv+s6BEVEREgmwT6zlKZl3Pa8RkSXkc9spD+YN1kN8yoT4+W2YAEoKPuDKoj6rfN4gWtJidqQ== X-Received: by 2002:adf:f0c6:: with SMTP id x6mr11602750wro.273.1584031507673; Thu, 12 Mar 2020 09:45:07 -0700 (PDT) From: Peter Maydell <peter.maydell@linaro.org> To: qemu-devel@nongnu.org Subject: [PULL 05/36] aspeed/smc: Add some tracing Date: Thu, 12 Mar 2020 16:44:28 +0000 Message-Id: <20200312164459.25924-6-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200312164459.25924-1-peter.maydell@linaro.org> References: <20200312164459.25924-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42e X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: <qemu-devel.nongnu.org> List-Unsubscribe: <https://lists.nongnu.org/mailman/options/qemu-devel>, <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe> List-Archive: <https://lists.nongnu.org/archive/html/qemu-devel> List-Post: <mailto:qemu-devel@nongnu.org> List-Help: <mailto:qemu-devel-request@nongnu.org?subject=help> List-Subscribe: <https://lists.nongnu.org/mailman/listinfo/qemu-devel>, <mailto:qemu-devel-request@nongnu.org?subject=subscribe> Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" <qemu-devel-bounces+importer=patchew.org@nongnu.org> X-ZohoMail-DKIM: pass (identity @linaro.org) From: C=C3=A9dric Le Goater <clg@kaod.org> Signed-off-by: C=C3=A9dric Le Goater <clg@kaod.org> Reviewed-by: Andrew Jeffery <andrew@aj.id.au> Reviewed-by: Joel Stanley <joel@jms.id.au> Reviewed-by: Philippe Mathieu-Daud=C3=A9 <philmd@redhat.com> Message-id: 20200206112645.21275-2-clg@kaod.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- Makefile.objs | 1 + hw/ssi/aspeed_smc.c | 17 +++++++++++++++++ hw/ssi/trace-events | 9 +++++++++ 3 files changed, 27 insertions(+) create mode 100644 hw/ssi/trace-events diff --git a/Makefile.objs b/Makefile.objs index 40d3a1696cb..a7c967633ac 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -175,6 +175,7 @@ trace-events-subdirs +=3D hw/scsi trace-events-subdirs +=3D hw/sd trace-events-subdirs +=3D hw/sparc trace-events-subdirs +=3D hw/sparc64 +trace-events-subdirs +=3D hw/ssi trace-events-subdirs +=3D hw/timer trace-events-subdirs +=3D hw/tpm trace-events-subdirs +=3D hw/usb diff --git a/hw/ssi/aspeed_smc.c b/hw/ssi/aspeed_smc.c index 23c8d2f0624..e5621bf728c 100644 --- a/hw/ssi/aspeed_smc.c +++ b/hw/ssi/aspeed_smc.c @@ -31,6 +31,7 @@ #include "qapi/error.h" #include "exec/address-spaces.h" #include "qemu/units.h" +#include "trace.h" =20 #include "hw/irq.h" #include "hw/qdev-properties.h" @@ -513,6 +514,8 @@ static void aspeed_smc_flash_set_segment(AspeedSMCState= *s, int cs, =20 s->ctrl->reg_to_segment(s, new, &seg); =20 + trace_aspeed_smc_flash_set_segment(cs, new, seg.addr, seg.addr + seg.s= ize); + /* The start address of CS0 is read-only */ if (cs =3D=3D 0 && seg.addr !=3D s->ctrl->flash_window_base) { qemu_log_mask(LOG_GUEST_ERROR, @@ -753,6 +756,8 @@ static uint64_t aspeed_smc_flash_read(void *opaque, hwa= ddr addr, unsigned size) __func__, aspeed_smc_flash_mode(fl)); } =20 + trace_aspeed_smc_flash_read(fl->id, addr, size, ret, + aspeed_smc_flash_mode(fl)); return ret; } =20 @@ -808,6 +813,9 @@ static bool aspeed_smc_do_snoop(AspeedSMCFlash *fl, ui= nt64_t data, AspeedSMCState *s =3D fl->controller; uint8_t addr_width =3D aspeed_smc_flash_is_4byte(fl) ? 4 : 3; =20 + trace_aspeed_smc_do_snoop(fl->id, s->snoop_index, s->snoop_dummies, + (uint8_t) data & 0xff); + if (s->snoop_index =3D=3D SNOOP_OFF) { return false; /* Do nothing */ =20 @@ -858,6 +866,9 @@ static void aspeed_smc_flash_write(void *opaque, hwaddr= addr, uint64_t data, AspeedSMCState *s =3D fl->controller; int i; =20 + trace_aspeed_smc_flash_write(fl->id, addr, size, data, + aspeed_smc_flash_mode(fl)); + if (!aspeed_smc_is_writable(fl)) { qemu_log_mask(LOG_GUEST_ERROR, "%s: flash is not writable at 0x%" HWADDR_PRIx "\n", __func__, addr); @@ -972,6 +983,9 @@ static uint64_t aspeed_smc_read(void *opaque, hwaddr ad= dr, unsigned int size) (s->ctrl->has_dma && addr =3D=3D R_DMA_CHECKSUM) || (addr >=3D R_SEG_ADDR0 && addr < R_SEG_ADDR0 + s->ctrl->max_slaves= ) || (addr >=3D s->r_ctrl0 && addr < s->r_ctrl0 + s->ctrl->max_slaves))= { + + trace_aspeed_smc_read(addr, size, s->regs[addr]); + return s->regs[addr]; } else { qemu_log_mask(LOG_UNIMP, "%s: not implemented: 0x%" HWADDR_PRIx "\= n", @@ -1091,6 +1105,7 @@ static void aspeed_smc_dma_checksum(AspeedSMCState *s) __func__, s->regs[R_DMA_FLASH_ADDR]); return; } + trace_aspeed_smc_dma_checksum(s->regs[R_DMA_FLASH_ADDR], data); =20 /* * When the DMA is on-going, the DMA registers are updated @@ -1225,6 +1240,8 @@ static void aspeed_smc_write(void *opaque, hwaddr add= r, uint64_t data, =20 addr >>=3D 2; =20 + trace_aspeed_smc_write(addr, size, data); + if (addr =3D=3D s->r_conf || (addr >=3D s->r_timings && addr < s->r_timings + s->ctrl->nregs_timings) || diff --git a/hw/ssi/trace-events b/hw/ssi/trace-events new file mode 100644 index 00000000000..ffe531a500a --- /dev/null +++ b/hw/ssi/trace-events @@ -0,0 +1,9 @@ +# aspeed_smc.c + +aspeed_smc_flash_set_segment(int cs, uint64_t reg, uint64_t start, uint64_= t end) "CS%d segreg=3D0x%"PRIx64" [ 0x%"PRIx64" - 0x%"PRIx64" ]" +aspeed_smc_flash_read(int cs, uint64_t addr, uint32_t size, uint64_t data= , int mode) "CS%d @0x%" PRIx64 " size %u: 0x%" PRIx64" mode:%d" +aspeed_smc_do_snoop(int cs, int index, int dummies, int data) "CS%d index:= 0x%x dummies:%d data:0x%x" +aspeed_smc_flash_write(int cs, uint64_t addr, uint32_t size, uint64_t dat= a, int mode) "CS%d @0x%" PRIx64 " size %u: 0x%" PRIx64" mode:%d" +aspeed_smc_read(uint64_t addr, uint32_t size, uint64_t data) "@0x%" PRIx6= 4 " size %u: 0x%" PRIx64 +aspeed_smc_dma_checksum(uint32_t addr, uint32_t data) "0x%08x: 0x%08x" +aspeed_smc_write(uint64_t addr, uint32_t size, uint64_t data) "@0x%" PRIx= 64 " size %u: 0x%" PRIx64 --=20 2.20.1