]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
x86: Refactor table-writing code a little
authorSimon Glass <sjg@chromium.org>
Sun, 16 Jul 2023 03:39:09 +0000 (21:39 -0600)
committerBin Meng <bmeng@tinylab.org>
Mon, 17 Jul 2023 09:12:26 +0000 (17:12 +0800)
The implementation of write_tables() is confusing because it uses the
rom_table_start variable as the address pointer as it progresses.

Rename it to rom_addr to make the code clearer. Move the rom_table_end
variable into the block where it is used.

Also update logging to use the ACPI category, now that it is available.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
arch/x86/lib/tables.c

index ea834a5035f52a202c58859469d8d94ebbb813e7..772c04f1e55681746ea264f9b623b18071ed09b7 100644 (file)
@@ -3,7 +3,7 @@
  * Copyright (C) 2015, Bin Meng <bmeng.cn@gmail.com>
  */
 
-#define LOG_CATEGORY LOGC_BOARD
+#define LOG_CATEGORY LOGC_ACPI
 
 #include <common.h>
 #include <bloblist.h>
@@ -78,33 +78,33 @@ void table_fill_string(char *dest, const char *src, size_t n, char pad)
 
 int write_tables(void)
 {
-       u32 rom_table_start;
-       u32 rom_table_end;
        u32 high_table, table_size;
        struct memory_area cfg_tables[ARRAY_SIZE(table_list) + 1];
+       u32 rom_addr;
        int i;
 
-       rom_table_start = ROM_TABLE_ADDR;
+       rom_addr = ROM_TABLE_ADDR;
 
-       debug("Writing tables to %x:\n", rom_table_start);
+       debug("Writing tables to %x:\n", rom_addr);
        for (i = 0; i < ARRAY_SIZE(table_list); i++) {
                const struct table_info *table = &table_list[i];
                int size = table->size ? : CONFIG_ROM_TABLE_SIZE;
+               u32 rom_table_end;
 
                if (IS_ENABLED(CONFIG_BLOBLIST_TABLES) && table->tag) {
-                       rom_table_start = (ulong)bloblist_add(table->tag, size,
-                                                             table->align);
-                       if (!rom_table_start)
+                       rom_addr = (ulong)bloblist_add(table->tag, size,
+                                                      table->align);
+                       if (!rom_addr)
                                return log_msg_ret("bloblist", -ENOBUFS);
                }
-               rom_table_end = table->write(rom_table_start);
+               rom_table_end = table->write(rom_addr);
                if (!rom_table_end) {
                        log_err("Can't create configuration table %d\n", i);
                        return -EINTR;
                }
 
                if (IS_ENABLED(CONFIG_SEABIOS)) {
-                       table_size = rom_table_end - rom_table_start;
+                       table_size = rom_table_end - rom_addr;
                        high_table = (u32)(ulong)high_table_malloc(table_size);
                        if (high_table) {
                                if (!table->write(high_table)) {
@@ -123,13 +123,13 @@ int write_tables(void)
                }
 
                debug("- wrote '%s' to %x, end %x\n", table->name,
-                     rom_table_start, rom_table_end);
-               if (rom_table_end - rom_table_start > size) {
+                     rom_addr, rom_table_end);
+               if (rom_table_end - rom_addr > size) {
                        log_err("Out of space for configuration tables: need %x, have %x\n",
-                               rom_table_end - rom_table_start, size);
+                               rom_table_end - rom_addr, size);
                        return log_msg_ret("bloblist", -ENOSPC);
                }
-               rom_table_start = rom_table_end;
+               rom_addr = rom_table_end;
        }
 
        if (IS_ENABLED(CONFIG_SEABIOS)) {