From 92cc94a1fe8e7a3ec78e993ea1ff1dd0bbaa5c36 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Fri, 10 Oct 2014 08:21:54 -0600 Subject: x86: Display basic CPU information on boot Display the type of CPU (x86 or x86_64) when starting up. Signed-off-by: Simon Glass --- include/configs/coreboot.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/configs/coreboot.h b/include/configs/coreboot.h index 4b90dc205de..a65d89bddc4 100644 --- a/include/configs/coreboot.h +++ b/include/configs/coreboot.h @@ -26,6 +26,7 @@ #define CONFIG_PHYSMEM #define CONFIG_SYS_EARLY_PCI_INIT #define CONFIG_DISPLAY_BOARDINFO_LATE +#define CONFIG_DISPLAY_CPUINFO #define CONFIG_DM #define CONFIG_CMD_DM -- cgit v1.3.1 From 5bda35cffafe4955bbbae820dd17cb6e3cbca8d8 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Fri, 10 Oct 2014 08:21:57 -0600 Subject: x86: image: Add new image type for x64_64 This is a bit odd in that we are permitted to boot images for either, even though they are separate architectures. Signed-off-by: Simon Glass --- common/bootm.c | 3 ++- common/image-fit.c | 3 ++- common/image.c | 1 + include/image.h | 1 + 4 files changed, 6 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/common/bootm.c b/common/bootm.c index 81e32617c30..6b3ea8c61b6 100644 --- a/common/bootm.c +++ b/common/bootm.c @@ -167,7 +167,8 @@ static int bootm_find_os(cmd_tbl_t *cmdtp, int flag, int argc, } /* If we have a valid setup.bin, we will use that for entry (x86) */ - if (images.os.arch == IH_ARCH_I386) { + if (images.os.arch == IH_ARCH_I386 || + images.os.arch == IH_ARCH_X86_64) { ulong len; ret = boot_get_setup(&images, IH_ARCH_I386, &images.ep, &len); diff --git a/common/image-fit.c b/common/image-fit.c index a272ea2e834..4ffc5aaa512 100644 --- a/common/image-fit.c +++ b/common/image-fit.c @@ -1114,7 +1114,8 @@ int fit_image_check_arch(const void *fit, int noffset, uint8_t arch) if (fit_image_get_arch(fit, noffset, &image_arch)) return 0; - return (arch == image_arch); + return (arch == image_arch) || + (arch == IH_ARCH_I386 && image_arch == IH_ARCH_X86_64); } /** diff --git a/common/image.c b/common/image.c index eb92e6323c0..b75a5ce29a6 100644 --- a/common/image.c +++ b/common/image.c @@ -85,6 +85,7 @@ static const table_entry_t uimage_arch[] = { { IH_ARCH_SANDBOX, "sandbox", "Sandbox", }, { IH_ARCH_ARM64, "arm64", "AArch64", }, { IH_ARCH_ARC, "arc", "ARC", }, + { IH_ARCH_X86_64, "x86_64", "AMD x86_64", }, { -1, "", "", }, }; diff --git a/include/image.h b/include/image.h index a13a30289f6..07e9aed16d9 100644 --- a/include/image.h +++ b/include/image.h @@ -173,6 +173,7 @@ struct lmb; #define IH_ARCH_OPENRISC 21 /* OpenRISC 1000 */ #define IH_ARCH_ARM64 22 /* ARM64 */ #define IH_ARCH_ARC 23 /* Synopsys DesignWare ARC */ +#define IH_ARCH_X86_64 24 /* AMD x86_64, Intel and Via */ /* * Image Types -- cgit v1.3.1 From 026090e4c51e00841b04abf58f48cc3a45654bc4 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Fri, 10 Oct 2014 08:22:01 -0600 Subject: x86: config: Increase CONFIG_SYS_BOOTM_LEN to 16MB The code density of x86_64 is not wonderful. Increase the maximum boot size and adjust the load address to cope. Signed-off-by: Simon Glass --- include/configs/coreboot.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/configs/coreboot.h b/include/configs/coreboot.h index a65d89bddc4..fef267f70b2 100644 --- a/include/configs/coreboot.h +++ b/include/configs/coreboot.h @@ -49,6 +49,7 @@ #define CONFIG_FIT #undef CONFIG_ZLIB #undef CONFIG_GZIP +#define CONFIG_SYS_BOOTM_LEN (16 << 20) /*----------------------------------------------------------------------- * Watchdog Configuration @@ -222,7 +223,7 @@ #define CONFIG_SYS_MEMTEST_START 0x00100000 #define CONFIG_SYS_MEMTEST_END 0x01000000 -#define CONFIG_SYS_LOAD_ADDR 0x02000000 +#define CONFIG_SYS_LOAD_ADDR 0x20000000 /*----------------------------------------------------------------------- * SDRAM Configuration -- cgit v1.3.1