diff options
author | Bin Meng <bmeng.cn@gmail.com> | 2015-06-23 12:18:51 +0800 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-07-14 18:03:17 -0600 |
commit | 7f5df8d42d8eb0fbdb6bf168fd530aa0f01b99c7 (patch) | |
tree | ba09958ef378fedf42f24b29017512d1f1992c88 /arch/x86/lib/tables.c | |
parent | a2d73fdba638233253c14b31f3befb9099d76774 (diff) |
x86: Add MultiProcessor (MP) table APIs
The MP table provides a way for the operating system to support
for symmetric multiprocessing as well as symmetric I/O interrupt
handling with the local APIC and I/O APIC. We provide a bunch of
APIs for U-Boot to write the floating table, configuration table
header as well as base and extended table entries.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/x86/lib/tables.c')
-rw-r--r-- | arch/x86/lib/tables.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/x86/lib/tables.c b/arch/x86/lib/tables.c index 8031201a49..41c50bc876 100644 --- a/arch/x86/lib/tables.c +++ b/arch/x86/lib/tables.c @@ -20,6 +20,20 @@ u8 table_compute_checksum(void *v, int len) return checksum; } +void table_fill_string(char *dest, const char *src, size_t n, char pad) +{ + int start, len; + int i; + + strncpy(dest, src, n); + + /* Fill the remaining bytes with pad */ + len = strlen(src); + start = len < n ? len : n; + for (i = start; i < n; i++) + dest[i] = pad; +} + void write_tables(void) { u32 __maybe_unused rom_table_end = ROM_TABLE_ADDR; |