]> git.karo-electronics.de Git - karo-tx-uboot.git/blobdiff - arch/x86/lib/relocate.c
x86: Add an 'mtrr' command to list and adjust MTRRs
[karo-tx-uboot.git] / arch / x86 / lib / relocate.c
index 21982db7a94bc09fc2a4855563e70e9b521b594e..b33586b54c0311a9b596cbcca23ed357ab78b3e0 100644 (file)
  * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
  * Marius Groeger <mgroeger@sysgo.de>
  *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
+ * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
+#include <inttypes.h>
 #include <libfdt.h>
 #include <malloc.h>
 #include <asm/u-boot-x86.h>
@@ -91,6 +76,9 @@ int do_elf_reloc_fixups(void)
        /* The size of the region of u-boot that runs out of RAM. */
        uintptr_t size = (uintptr_t)&__bss_end - (uintptr_t)&__text_start;
 
+       if (re_src == re_end)
+               panic("No relocation data");
+
        do {
                /* Get the location from the relocation entry */
                offset_ptr_rom = (Elf32_Addr *)re_src->r_offset;
@@ -110,7 +98,7 @@ int do_elf_reloc_fixups(void)
                                *offset_ptr_ram += gd->reloc_off;
                        } else {
                                debug("   %p: rom reloc %x, ram %p, value %x,"
-                                       " limit %lx\n", re_src,
+                                       " limit %" PRIXPTR "\n", re_src,
                                        re_src->r_offset, offset_ptr_ram,
                                        *offset_ptr_ram,
                                        CONFIG_SYS_TEXT_BASE + size);