Update this command so it can list the MTRRs on a selected CPU. If
'-c all' is used, then all CPUs are listed.

Signed-off-by: Simon Glass <s...@chromium.org>
Reviewed-by: Wolfgang Wallner <wolfgang.wall...@br-automation.com>
---

(no changes since v1)

 cmd/x86/mtrr.c | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/cmd/x86/mtrr.c b/cmd/x86/mtrr.c
index d88a875d92..e688c64052 100644
--- a/cmd/x86/mtrr.c
+++ b/cmd/x86/mtrr.c
@@ -131,7 +131,27 @@ static int do_mtrr(struct cmd_tbl *cmdtp, int flag, int 
argc,
                }
        }
        if (cmd == 'l') {
-               return do_mtrr_list(cpu_select);
+               bool first;
+               int i;
+
+               i = mp_first_cpu(cpu_select);
+               if (i < 0) {
+                       printf("Invalid CPU (err=%d)\n", i);
+                       return CMD_RET_FAILURE;
+               }
+               first = true;
+               for (; i >= 0; i = mp_next_cpu(cpu_select, i)) {
+                       if (!first)
+                               printf("\n");
+                       printf("CPU %d:\n", i);
+                       ret = do_mtrr_list(i);
+                       if (ret) {
+                               printf("Failed to read CPU %d (err=%d)\n", i,
+                                      ret);
+                               return CMD_RET_FAILURE;
+                       }
+                       first = false;
+               }
        } else {
                switch (cmd) {
                case 'e':
-- 
2.27.0.290.gba653c62da-goog

Reply via email to