From nobody Wed Dec 17 07:41:48 2025 Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4FC8F6AB9 for ; Tue, 18 Jun 2024 00:36:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718670971; cv=none; b=GnTKGo5qS0ZipNMRy2jEGyf8hhIff+/IGqnhOcOuCJB+Fkf+sh1DD9BCzx1tzGCseyEtGZqyJmNaKE63KR+MmeIKazafOjteik/R8t1Cm7NXsFRxt1vvLe7kUjPlFR5ReNyFHAyuKXXFyTfCv+wreBhgFrOFWJsCENiGDJv4juQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718670971; c=relaxed/simple; bh=VsJfRsmnErjb5Q3fjviDcT7zOaEtCzxOHdCi+bnBS9o=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ru1Tv+jCg+iZT2UDUJMjwfLgJQK5cibRz7FZUsO+B/jwgNb5mq2Jaeh9j1HsNW+QKpqS4XfvsSKuN1oRB9d8F1MjWcFBCJ8XoeE6UeTeDAAxZiDjPC6kNxAAw2o0h85S5NDgEY98zFrHkai1u2vRiaG6Qw6EYVY+IGcLOg0PzvI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=Fo6E7NrV; arc=none smtp.client-ip=209.85.210.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="Fo6E7NrV" Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-70601bcfddcso1283751b3a.3 for ; Mon, 17 Jun 2024 17:36:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1718670969; x=1719275769; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=L0tcgH7kpPYZmXgjENARI8PNR8N6oeoNW3iiLkQ8n4E=; b=Fo6E7NrVdldqSu1vTjq2pisaZjlgQbJIX6VhV0PvJ5IAlJuBjWEbpzKZtcJEpr7dKz JtCGhb25uwY6Ae8hqWQp7D82rlEoQwwqS1URlX05Ozsk8phzjLJaITNJZCJ9OfsxZtwq 7OTIq3NZtQv721itCUwWcHgh+M7hGaMoFTecg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718670969; x=1719275769; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=L0tcgH7kpPYZmXgjENARI8PNR8N6oeoNW3iiLkQ8n4E=; b=V0ib++cdCHm1fnDTM1Be5ZpG/Uco6z4/sLzKuXq3ZED92OhXAGlDiiudzp3tgeX777 Fdp2WH9n6atXbPICAzwWMCvlzT4H1wKwozAj2hNvvUYKhhzNAPX9JYKy3/L11HM4lYJH +7mUSZeYIyO+zT4E1wJj/uiBbcfFbsZmoBacuDsBDuJ2AixVcfQFw1rECK2QTFtfPDNY ZYufwC9IX7cGNAQx4xpU05kvD1yeRO8Jolwa1WKu0pfC63yBuw98a+++5gathth6w3r3 WXmhnQT5ZFvNsvFltN9c+im65oZnzK1oMyzZt2FhcHn+NIO1Ur7bRaCd9QZFE5kCnx3A vvQQ== X-Forwarded-Encrypted: i=1; AJvYcCXVHI76oBWHJGLWWF2MMDDDf9fDOwzDe9wwhKQMlloLvuD72umpmvlg6HzSiIP/oKE/SXBrAepviYW0nSJAraZScN+qJMSjKAwkWMRI X-Gm-Message-State: AOJu0YwpLoacybEY9Zekvfu9gfHQ4LsI7HUjfPDLooVwaqXCo6F4xWsB 0C6KIL7ZDXVlDvYMdEsgW5O8vFd6mTH0Z2zP6y5WmbRKzvsKA9D0q/DGPA8RFZ70Nce84KNt9v8 = X-Google-Smtp-Source: AGHT+IGR/2hsrBcVwXjJ7Pu9pelpErIPRe0m0tZzxRGHYhOk7GL1fAIfHh6yZw2WMj3KWaF7++N/yg== X-Received: by 2002:a05:6a20:394a:b0:1b4:5d12:63f1 with SMTP id adf61e73a8af0-1bae7eff86fmr14042814637.26.1718670969545; Mon, 17 Jun 2024 17:36:09 -0700 (PDT) Received: from dianders.sjc.corp.google.com ([2620:15c:9d:2:1798:e71b:11ad:8b94]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-705ccb99f4dsm7905917b3a.216.2024.06.17.17.36.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Jun 2024 17:36:08 -0700 (PDT) From: Douglas Anderson To: Daniel Thompson Cc: kgdb-bugreport@lists.sourceforge.net, Douglas Anderson , Christophe JAILLET , Jason Wessel , Thorsten Blum , Yuran Pereira , linux-kernel@vger.kernel.org Subject: [PATCH 02/13] kdb: Document the various "md" commands better Date: Mon, 17 Jun 2024 17:34:36 -0700 Message-ID: <20240617173426.2.I5621f286f5131c84ac71a212508ba1467ac443f2@changeid> X-Mailer: git-send-email 2.45.2.627.g7a2c4fd464-goog In-Reply-To: <20240618003546.4144638-1-dianders@chromium.org> References: <20240618003546.4144638-1-dianders@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The documentation for the variouis "md" commands was inconsistent about documenting the command arguments. It was also hard to figure out what the differences between the "phys", "raw", and "symbolic" versions was. Update the help strings to make things more obvious. As part of this, add "bogus" commands to the table for "mdW" and "mdWcN" so we don't have to obscurely reference them in the normal "md" help. These bogus commands don't really hurt since kdb_md() validates argv[0] enough. Signed-off-by: Douglas Anderson --- kernel/debug/kdb/kdb_main.c | 39 ++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c index cbeb203785b4..47e037c3c002 100644 --- a/kernel/debug/kdb/kdb_main.c +++ b/kernel/debug/kdb/kdb_main.c @@ -1516,14 +1516,9 @@ static int kdb_mdr(unsigned long addr, unsigned int = count) } =20 /* - * kdb_md - This function implements the 'md', 'md1', 'md2', 'md4', - * 'md8' 'mdr' and 'mds' commands. + * kdb_md - This function implements the guts of the various 'md' commands. * - * md|mds [ [ []]] - * mdWcN [ [ []]] - * where W =3D is the width (1, 2, 4 or 8) and N is the count. - * for eg., md1c20 reads 20 bytes, 1 at a time. - * mdr , + * See the kdb help for syntax. */ static void kdb_md_line(const char *fmtstr, unsigned long addr, int symbolic, int nosect, int bytesperword, @@ -2677,26 +2672,38 @@ EXPORT_SYMBOL_GPL(kdb_unregister); static kdbtab_t maintab[] =3D { { .name =3D "md", .func =3D kdb_md, - .usage =3D "", - .help =3D "Display Memory Contents, also mdWcN, e.g. md8c1", + .usage =3D " [ []]", + .help =3D "Display RAM using BYTESPERWORD; show MDCOUNT lines", .flags =3D KDB_ENABLE_MEM_READ | KDB_REPEAT_NO_ARGS, }, - { .name =3D "mdr", + { .name =3D "mdW", .func =3D kdb_md, - .usage =3D " ", - .help =3D "Display Raw Memory", + .usage =3D " [ []]", + .help =3D "Display RAM using word size (W) of 1, 2, 4, or 8", + .flags =3D KDB_ENABLE_MEM_READ | KDB_REPEAT_NO_ARGS, + }, + { .name =3D "mdWcN", + .func =3D kdb_md, + .usage =3D " [ []]", + .help =3D "Display RAM using word size (W); show N words", .flags =3D KDB_ENABLE_MEM_READ | KDB_REPEAT_NO_ARGS, }, { .name =3D "mdp", .func =3D kdb_md, - .usage =3D " ", - .help =3D "Display Physical Memory", + .usage =3D " [ []]", + .help =3D "Display RAM given a physical address", + .flags =3D KDB_ENABLE_MEM_READ | KDB_REPEAT_NO_ARGS, + }, + { .name =3D "mdr", + .func =3D kdb_md, + .usage =3D " ", + .help =3D "Display RAM as a stream of raw bytes", .flags =3D KDB_ENABLE_MEM_READ | KDB_REPEAT_NO_ARGS, }, { .name =3D "mds", .func =3D kdb_md, - .usage =3D "", - .help =3D "Display Memory Symbolically", + .usage =3D " []", + .help =3D "Display RAM 1 native word/line; find words in kallsyms", .flags =3D KDB_ENABLE_MEM_READ | KDB_REPEAT_NO_ARGS, }, { .name =3D "mm", --=20 2.45.2.627.g7a2c4fd464-goog