* [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support
@ 2017-01-18 11:32 Bin Meng
2017-01-18 11:32 ` [U-Boot] [PATCH 01/14] x86: qemu: Add missing DECLARE_GLOBAL_DATA_PTR in e820.c Bin Meng
` (14 more replies)
0 siblings, 15 replies; 47+ messages in thread
From: Bin Meng @ 2017-01-18 11:32 UTC (permalink / raw)
To: u-boot
This brings U-Boot x86 64-bit support on QEMU target.
This series is available at u-boot-x86/qemu64-working for testing.
Bin Meng (14):
x86: qemu: Add missing DECLARE_GLOBAL_DATA_PTR in e820.c
x86: Wrap print_ch() with config option
x86: spl: Add weak arch_cpu_init_dm()
x86: Compile irq.c for 64-bit
x86: qemu: Hide arch_cpu_init() and print_cpuinfo() for U-Boot proper
x86: qemu: Fix compiler warnings for 64-bit
x86: qemu: Set up device tree for SPL
x86: qemu: Mark ucode as optional for SPL in u-boot.dtsi
tools: binman: Call correct init for Entry_u_boot_spl_with_ucode_ptr
tools: binman: Handle optional microcode case in SPL image
spl: Add a LF to the loading message
x86: qemu: Add a text base for 64-bit U-Boot
x86: qemu: Add build options for SPL
x86: qemu: Add a config for 64-bit U-Boot
arch/x86/cpu/Makefile | 2 +-
arch/x86/cpu/irq.c | 6 +-
arch/x86/cpu/qemu/e820.c | 2 +
arch/x86/cpu/qemu/qemu.c | 7 ++-
arch/x86/cpu/x86_64/cpu.c | 2 +
arch/x86/dts/emulation-u-boot.dtsi | 6 ++
arch/x86/dts/qemu-x86_i440fx.dts | 4 ++
arch/x86/dts/qemu-x86_q35.dts | 4 ++
arch/x86/lib/spl.c | 5 ++
board/emulation/Kconfig | 7 +++
board/emulation/qemu-x86/Kconfig | 6 +-
board/emulation/qemu-x86/MAINTAINERS | 7 +++
common/spl/spl.c | 2 +-
configs/qemu-x86_64_defconfig | 80 +++++++++++++++++++++++++
include/configs/qemu-x86.h | 9 +++
tools/binman/etype/u_boot_spl_with_ucode_ptr.py | 2 +-
tools/binman/etype/u_boot_ucode.py | 6 ++
17 files changed, 146 insertions(+), 11 deletions(-)
create mode 100644 configs/qemu-x86_64_defconfig
--
2.9.2
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 01/14] x86: qemu: Add missing DECLARE_GLOBAL_DATA_PTR in e820.c
2017-01-18 11:32 [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support Bin Meng
@ 2017-01-18 11:32 ` Bin Meng
2017-01-23 19:50 ` Simon Glass
2017-01-18 11:32 ` [U-Boot] [PATCH 02/14] x86: Wrap print_ch() with config option Bin Meng
` (13 subsequent siblings)
14 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-01-18 11:32 UTC (permalink / raw)
To: u-boot
DECLARE_GLOBAL_DATA_PTR is missing which causes 64-bit build error.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---
arch/x86/cpu/qemu/e820.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/x86/cpu/qemu/e820.c b/arch/x86/cpu/qemu/e820.c
index 63853e4..c1c9b89 100644
--- a/arch/x86/cpu/qemu/e820.c
+++ b/arch/x86/cpu/qemu/e820.c
@@ -7,6 +7,8 @@
#include <common.h>
#include <asm/e820.h>
+DECLARE_GLOBAL_DATA_PTR;
+
unsigned install_e820_map(unsigned max_entries, struct e820entry *entries)
{
entries[0].addr = 0;
--
2.9.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 02/14] x86: Wrap print_ch() with config option
2017-01-18 11:32 [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support Bin Meng
2017-01-18 11:32 ` [U-Boot] [PATCH 01/14] x86: qemu: Add missing DECLARE_GLOBAL_DATA_PTR in e820.c Bin Meng
@ 2017-01-18 11:32 ` Bin Meng
2017-01-23 19:50 ` Simon Glass
2017-01-18 11:32 ` [U-Boot] [PATCH 03/14] x86: spl: Add weak arch_cpu_init_dm() Bin Meng
` (12 subsequent siblings)
14 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-01-18 11:32 UTC (permalink / raw)
To: u-boot
print_ch() should not be used if DEBUG_UART is off.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---
arch/x86/cpu/x86_64/cpu.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/x86/cpu/x86_64/cpu.c b/arch/x86/cpu/x86_64/cpu.c
index 77cbb56..82ea456 100644
--- a/arch/x86/cpu/x86_64/cpu.c
+++ b/arch/x86/cpu/x86_64/cpu.c
@@ -31,7 +31,9 @@ void arch_setup_gd(gd_t *new_gd)
*
* U-Boot SPL 2017.01
*/
+#if CONFIG_IS_ENABLED(DEBUG_UART)
printch(' ');
+#endif
}
int cpu_has_64bit(void)
--
2.9.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 03/14] x86: spl: Add weak arch_cpu_init_dm()
2017-01-18 11:32 [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support Bin Meng
2017-01-18 11:32 ` [U-Boot] [PATCH 01/14] x86: qemu: Add missing DECLARE_GLOBAL_DATA_PTR in e820.c Bin Meng
2017-01-18 11:32 ` [U-Boot] [PATCH 02/14] x86: Wrap print_ch() with config option Bin Meng
@ 2017-01-18 11:32 ` Bin Meng
2017-01-23 19:50 ` Simon Glass
2017-01-18 11:32 ` [U-Boot] [PATCH 04/14] x86: Compile irq.c for 64-bit Bin Meng
` (11 subsequent siblings)
14 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-01-18 11:32 UTC (permalink / raw)
To: u-boot
arch_cpu_init_dm() might not be implemented by every platform.
Implement a weak version for SPL.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---
arch/x86/lib/spl.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/x86/lib/spl.c b/arch/x86/lib/spl.c
index 7403d15..8c5b90f 100644
--- a/arch/x86/lib/spl.c
+++ b/arch/x86/lib/spl.c
@@ -15,6 +15,11 @@
DECLARE_GLOBAL_DATA_PTR;
+__weak int arch_cpu_init_dm(void)
+{
+ return 0;
+}
+
static int x86_spl_init(void)
{
/*
--
2.9.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 04/14] x86: Compile irq.c for 64-bit
2017-01-18 11:32 [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support Bin Meng
` (2 preceding siblings ...)
2017-01-18 11:32 ` [U-Boot] [PATCH 03/14] x86: spl: Add weak arch_cpu_init_dm() Bin Meng
@ 2017-01-18 11:32 ` Bin Meng
2017-01-23 19:50 ` Simon Glass
2017-01-18 11:32 ` [U-Boot] [PATCH 05/14] x86: qemu: Hide arch_cpu_init() and print_cpuinfo() for U-Boot proper Bin Meng
` (10 subsequent siblings)
14 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-01-18 11:32 UTC (permalink / raw)
To: u-boot
There is no reason not to compile irq.c for 64-bit.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---
arch/x86/cpu/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/cpu/Makefile b/arch/x86/cpu/Makefile
index 45f95ab..92a9023 100644
--- a/arch/x86/cpu/Makefile
+++ b/arch/x86/cpu/Makefile
@@ -35,8 +35,8 @@ obj-$(CONFIG_NORTHBRIDGE_INTEL_IVYBRIDGE) += ivybridge/
obj-$(CONFIG_INTEL_QUARK) += quark/
obj-$(CONFIG_INTEL_QUEENSBAY) += queensbay/
obj-y += lapic.o ioapic.o
-ifndef CONFIG_$(SPL_)X86_64
obj-y += irq.o
+ifndef CONFIG_$(SPL_)X86_64
obj-$(CONFIG_SMP) += mp_init.o
endif
obj-y += mtrr.o
--
2.9.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 05/14] x86: qemu: Hide arch_cpu_init() and print_cpuinfo() for U-Boot proper
2017-01-18 11:32 [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support Bin Meng
` (3 preceding siblings ...)
2017-01-18 11:32 ` [U-Boot] [PATCH 04/14] x86: Compile irq.c for 64-bit Bin Meng
@ 2017-01-18 11:32 ` Bin Meng
2017-01-23 19:51 ` Simon Glass
2017-01-18 11:32 ` [U-Boot] [PATCH 06/14] x86: qemu: Fix compiler warnings for 64-bit Bin Meng
` (9 subsequent siblings)
14 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-01-18 11:32 UTC (permalink / raw)
To: u-boot
arch_cpu_init() and print_cpuinfo() should be only available in SPL
build.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---
arch/x86/cpu/qemu/qemu.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/arch/x86/cpu/qemu/qemu.c b/arch/x86/cpu/qemu/qemu.c
index c3092f2..85e2481 100644
--- a/arch/x86/cpu/qemu/qemu.c
+++ b/arch/x86/cpu/qemu/qemu.c
@@ -137,14 +137,17 @@ static void qemu_chipset_init(void)
#endif
}
+#if !CONFIG_IS_ENABLED(SPL_X86_32BIT_INIT)
int arch_cpu_init(void)
{
post_code(POST_CPU_INIT);
return x86_cpu_init_f();
}
+#endif
-#ifndef CONFIG_EFI_STUB
+#if !CONFIG_IS_ENABLED(EFI_STUB) && \
+ !CONFIG_IS_ENABLED(SPL_X86_32BIT_INIT)
int print_cpuinfo(void)
{
post_code(POST_CPU_INFO);
--
2.9.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 06/14] x86: qemu: Fix compiler warnings for 64-bit
2017-01-18 11:32 [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support Bin Meng
` (4 preceding siblings ...)
2017-01-18 11:32 ` [U-Boot] [PATCH 05/14] x86: qemu: Hide arch_cpu_init() and print_cpuinfo() for U-Boot proper Bin Meng
@ 2017-01-18 11:32 ` Bin Meng
2017-01-25 4:09 ` Simon Glass
2017-01-18 11:32 ` [U-Boot] [PATCH 07/14] x86: qemu: Set up device tree for SPL Bin Meng
` (8 subsequent siblings)
14 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-01-18 11:32 UTC (permalink / raw)
To: u-boot
This fixes compiler warnings for QEMU in 64-bit.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---
arch/x86/cpu/irq.c | 6 +++---
arch/x86/cpu/qemu/qemu.c | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/x86/cpu/irq.c b/arch/x86/cpu/irq.c
index 442d373..d2901de 100644
--- a/arch/x86/cpu/irq.c
+++ b/arch/x86/cpu/irq.c
@@ -26,7 +26,7 @@ bool pirq_check_irq_routed(struct udevice *dev, int link, u8 irq)
if (priv->config == PIRQ_VIA_PCI)
dm_pci_read_config8(dev->parent, LINK_N2V(link, base), &pirq);
else
- pirq = readb(priv->ibase + LINK_N2V(link, base));
+ pirq = readb((uintptr_t)priv->ibase + LINK_N2V(link, base));
pirq &= 0xf;
@@ -56,7 +56,7 @@ void pirq_assign_irq(struct udevice *dev, int link, u8 irq)
if (priv->config == PIRQ_VIA_PCI)
dm_pci_write_config8(dev->parent, LINK_N2V(link, base), irq);
else
- writeb(irq, priv->ibase + LINK_N2V(link, base));
+ writeb(irq, (uintptr_t)priv->ibase + LINK_N2V(link, base));
}
static struct irq_info *check_dup_entry(struct irq_info *slot_base,
@@ -234,7 +234,7 @@ static void irq_enable_sci(struct udevice *dev)
if (priv->config == PIRQ_VIA_PCI)
dm_pci_write_config32(dev->parent, priv->actl_addr, 0);
else
- writel(0, priv->ibase + priv->actl_addr);
+ writel(0, (uintptr_t)priv->ibase + priv->actl_addr);
}
}
diff --git a/arch/x86/cpu/qemu/qemu.c b/arch/x86/cpu/qemu/qemu.c
index 85e2481..7153eb2 100644
--- a/arch/x86/cpu/qemu/qemu.c
+++ b/arch/x86/cpu/qemu/qemu.c
@@ -47,7 +47,7 @@ static void qemu_x86_fwcfg_read_entry_pio(uint16_t entry,
static void qemu_x86_fwcfg_read_entry_dma(struct fw_cfg_dma_access *dma)
{
/* the DMA address register is big endian */
- outl(cpu_to_be32((uint32_t)dma), FW_DMA_PORT_HIGH);
+ outl(cpu_to_be32((uintptr_t)dma), FW_DMA_PORT_HIGH);
while (be32_to_cpu(dma->control) & ~FW_CFG_DMA_ERROR)
__asm__ __volatile__ ("pause");
--
2.9.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 07/14] x86: qemu: Set up device tree for SPL
2017-01-18 11:32 [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support Bin Meng
` (5 preceding siblings ...)
2017-01-18 11:32 ` [U-Boot] [PATCH 06/14] x86: qemu: Fix compiler warnings for 64-bit Bin Meng
@ 2017-01-18 11:32 ` Bin Meng
2017-01-25 4:09 ` Simon Glass
2017-01-18 11:32 ` [U-Boot] [PATCH 08/14] x86: qemu: Mark ucode as optional for SPL in u-boot.dtsi Bin Meng
` (7 subsequent siblings)
14 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-01-18 11:32 UTC (permalink / raw)
To: u-boot
Add the correct pre-relocation tag so that the required device tree
nodes are present in the SPL device tree.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---
arch/x86/dts/qemu-x86_i440fx.dts | 4 ++++
arch/x86/dts/qemu-x86_q35.dts | 4 ++++
2 files changed, 8 insertions(+)
diff --git a/arch/x86/dts/qemu-x86_i440fx.dts b/arch/x86/dts/qemu-x86_i440fx.dts
index 9c3f2a0..afea14e 100644
--- a/arch/x86/dts/qemu-x86_i440fx.dts
+++ b/arch/x86/dts/qemu-x86_i440fx.dts
@@ -29,10 +29,12 @@
cpus {
#address-cells = <1>;
#size-cells = <0>;
+ u-boot,dm-pre-reloc;
cpu at 0 {
device_type = "cpu";
compatible = "cpu-qemu";
+ u-boot,dm-pre-reloc;
reg = <0>;
intel,apic-id = <0>;
};
@@ -54,9 +56,11 @@
pch at 1,0 {
reg = <0x00000800 0 0 0 0>;
compatible = "intel,pch7";
+ u-boot,dm-pre-reloc;
irq-router {
compatible = "intel,irq-router";
+ u-boot,dm-pre-reloc;
intel,pirq-config = "pci";
intel,pirq-link = <0x60 4>;
intel,pirq-mask = <0x0e40>;
diff --git a/arch/x86/dts/qemu-x86_q35.dts b/arch/x86/dts/qemu-x86_q35.dts
index 0d462a9..bc398dd 100644
--- a/arch/x86/dts/qemu-x86_q35.dts
+++ b/arch/x86/dts/qemu-x86_q35.dts
@@ -40,10 +40,12 @@
cpus {
#address-cells = <1>;
#size-cells = <0>;
+ u-boot,dm-pre-reloc;
cpu at 0 {
device_type = "cpu";
compatible = "cpu-qemu";
+ u-boot,dm-pre-reloc;
reg = <0>;
intel,apic-id = <0>;
};
@@ -65,9 +67,11 @@
pch at 1f,0 {
reg = <0x0000f800 0 0 0 0>;
compatible = "intel,pch9";
+ u-boot,dm-pre-reloc;
irq-router {
compatible = "intel,irq-router";
+ u-boot,dm-pre-reloc;
intel,pirq-config = "pci";
intel,actl-8bit;
intel,actl-addr = <0x44>;
--
2.9.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 08/14] x86: qemu: Mark ucode as optional for SPL in u-boot.dtsi
2017-01-18 11:32 [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support Bin Meng
` (6 preceding siblings ...)
2017-01-18 11:32 ` [U-Boot] [PATCH 07/14] x86: qemu: Set up device tree for SPL Bin Meng
@ 2017-01-18 11:32 ` Bin Meng
2017-01-25 4:09 ` Simon Glass
2017-01-18 11:32 ` [U-Boot] [PATCH 09/14] tools: binman: Call correct init for Entry_u_boot_spl_with_ucode_ptr Bin Meng
` (6 subsequent siblings)
14 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-01-18 11:32 UTC (permalink / raw)
To: u-boot
QEMU does not need ucode and this is indicated in u-boot.dtsi
for U-Boot proper. Now add the same for SPL.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---
arch/x86/dts/emulation-u-boot.dtsi | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/x86/dts/emulation-u-boot.dtsi b/arch/x86/dts/emulation-u-boot.dtsi
index 56d34af..7714ed0 100644
--- a/arch/x86/dts/emulation-u-boot.dtsi
+++ b/arch/x86/dts/emulation-u-boot.dtsi
@@ -10,9 +10,15 @@
#ifdef CONFIG_ROM_SIZE
/ {
binman {
+#ifdef CONFIG_SPL
+ u-boot-spl-with-ucode-ptr {
+ optional-ucode;
+ };
+#else
u-boot-with-ucode-ptr {
optional-ucode;
};
+#endif
};
};
#endif
--
2.9.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 09/14] tools: binman: Call correct init for Entry_u_boot_spl_with_ucode_ptr
2017-01-18 11:32 [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support Bin Meng
` (7 preceding siblings ...)
2017-01-18 11:32 ` [U-Boot] [PATCH 08/14] x86: qemu: Mark ucode as optional for SPL in u-boot.dtsi Bin Meng
@ 2017-01-18 11:32 ` Bin Meng
2017-01-26 14:22 ` Simon Glass
2017-01-18 11:33 ` [U-Boot] [PATCH 10/14] tools: binman: Handle optional microcode case in SPL image Bin Meng
` (5 subsequent siblings)
14 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-01-18 11:32 UTC (permalink / raw)
To: u-boot
u_boot_spl_with_ucode_ptr is derived from u_boot_with_ucode_ptr,
hence it should call its parent's init.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---
tools/binman/etype/u_boot_spl_with_ucode_ptr.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/binman/etype/u_boot_spl_with_ucode_ptr.py b/tools/binman/etype/u_boot_spl_with_ucode_ptr.py
index 764c282..1c6706d 100644
--- a/tools/binman/etype/u_boot_spl_with_ucode_ptr.py
+++ b/tools/binman/etype/u_boot_spl_with_ucode_ptr.py
@@ -21,7 +21,7 @@ class Entry_u_boot_spl_with_ucode_ptr(Entry_u_boot_with_ucode_ptr):
process.
"""
def __init__(self, image, etype, node):
- Entry_blob.__init__(self, image, etype, node)
+ Entry_u_boot_with_ucode_ptr.__init__(self, image, etype, node)
self.elf_fname = 'spl/u-boot-spl'
def GetDefaultFilename(self):
--
2.9.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 10/14] tools: binman: Handle optional microcode case in SPL image
2017-01-18 11:32 [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support Bin Meng
` (8 preceding siblings ...)
2017-01-18 11:32 ` [U-Boot] [PATCH 09/14] tools: binman: Call correct init for Entry_u_boot_spl_with_ucode_ptr Bin Meng
@ 2017-01-18 11:33 ` Bin Meng
2017-01-26 14:23 ` Simon Glass
2017-01-18 11:33 ` [U-Boot] [PATCH 11/14] spl: Add a LF to the loading message Bin Meng
` (4 subsequent siblings)
14 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-01-18 11:33 UTC (permalink / raw)
To: u-boot
On platforms which do not require microcode in SPL, handle such
case like U-Boot proper.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---
tools/binman/etype/u_boot_ucode.py | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/tools/binman/etype/u_boot_ucode.py b/tools/binman/etype/u_boot_ucode.py
index 8fe27ac..8e51e99 100644
--- a/tools/binman/etype/u_boot_ucode.py
+++ b/tools/binman/etype/u_boot_ucode.py
@@ -62,6 +62,12 @@ class Entry_u_boot_ucode(Entry_blob):
self.data = ''
return True
+ # Handle microcode in SPL image as well
+ ucode_dest_entry = self.image.FindEntryType('u-boot-spl-with-ucode-ptr')
+ if ucode_dest_entry and not ucode_dest_entry.target_pos:
+ self.data = ''
+ return True
+
# Get the microcode from the device tree entry
fdt_entry = self.image.FindEntryType('u-boot-dtb-with-ucode')
if not fdt_entry or not fdt_entry.ucode_data:
--
2.9.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 11/14] spl: Add a LF to the loading message
2017-01-18 11:32 [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support Bin Meng
` (9 preceding siblings ...)
2017-01-18 11:33 ` [U-Boot] [PATCH 10/14] tools: binman: Handle optional microcode case in SPL image Bin Meng
@ 2017-01-18 11:33 ` Bin Meng
2017-01-25 4:09 ` Simon Glass
2017-01-18 11:33 ` [U-Boot] [PATCH 12/14] x86: qemu: Add a text base for 64-bit U-Boot Bin Meng
` (3 subsequent siblings)
14 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-01-18 11:33 UTC (permalink / raw)
To: u-boot
SPL prints "Trying to boot from %s" without a LF. Add one to improve
reading on the serial console.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---
common/spl/spl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/common/spl/spl.c b/common/spl/spl.c
index 8fb8da4..1210da3 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -266,7 +266,7 @@ static int boot_from_devices(struct spl_image_info *spl_image,
loader = spl_ll_find_loader(spl_boot_list[i]);
#if defined(CONFIG_SPL_SERIAL_SUPPORT) && defined(CONFIG_SPL_LIBCOMMON_SUPPORT)
if (loader)
- printf("Trying to boot from %s", loader->name);
+ printf("Trying to boot from %s\n", loader->name);
else
puts("SPL: Unsupported Boot Device!\n");
#endif
--
2.9.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 12/14] x86: qemu: Add a text base for 64-bit U-Boot
2017-01-18 11:32 [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support Bin Meng
` (10 preceding siblings ...)
2017-01-18 11:33 ` [U-Boot] [PATCH 11/14] spl: Add a LF to the loading message Bin Meng
@ 2017-01-18 11:33 ` Bin Meng
2017-01-25 4:09 ` Simon Glass
2017-01-18 11:33 ` [U-Boot] [PATCH 13/14] x86: qemu: Add build options for SPL Bin Meng
` (2 subsequent siblings)
14 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-01-18 11:33 UTC (permalink / raw)
To: u-boot
Set up the 64-bit U-Boot text base if building for that target.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---
board/emulation/qemu-x86/Kconfig | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/board/emulation/qemu-x86/Kconfig b/board/emulation/qemu-x86/Kconfig
index c9181fc..a773e8f 100644
--- a/board/emulation/qemu-x86/Kconfig
+++ b/board/emulation/qemu-x86/Kconfig
@@ -13,8 +13,8 @@ config SYS_CONFIG_NAME
default "qemu-x86"
config SYS_TEXT_BASE
- default 0xfff00000 if !EFI_STUB
- default 0x01110000 if EFI_STUB
+ default 0xfff00000 if !EFI_STUB && !SUPPORT_SPL
+ default 0x01110000 if EFI_STUB || SUPPORT_SPL
config BOARD_SPECIFIC_OPTIONS # dummy
def_bool y
--
2.9.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 13/14] x86: qemu: Add build options for SPL
2017-01-18 11:32 [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support Bin Meng
` (11 preceding siblings ...)
2017-01-18 11:33 ` [U-Boot] [PATCH 12/14] x86: qemu: Add a text base for 64-bit U-Boot Bin Meng
@ 2017-01-18 11:33 ` Bin Meng
2017-01-25 4:09 ` Simon Glass
2017-01-18 11:33 ` [U-Boot] [PATCH 14/14] x86: qemu: Add a config for 64-bit U-Boot Bin Meng
2017-01-26 14:23 ` [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support Simon Glass
14 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-01-18 11:33 UTC (permalink / raw)
To: u-boot
If SPL is used we want to use the generic SPL framework and boot
from SPI via a board-specific means. Add these options to the
board config file.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---
include/configs/qemu-x86.h | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/include/configs/qemu-x86.h b/include/configs/qemu-x86.h
index 4783563..d4acd67 100644
--- a/include/configs/qemu-x86.h
+++ b/include/configs/qemu-x86.h
@@ -54,4 +54,13 @@
#undef CONFIG_ENV_IS_IN_SPI_FLASH
#define CONFIG_ENV_IS_NOWHERE
+#define CONFIG_SPL_FRAMEWORK
+
+#define CONFIG_SPL_TEXT_BASE 0xfffd0000
+
+#define BOOT_DEVICE_SPI 10
+
+#define CONFIG_SPL_BOARD_LOAD_IMAGE
+#define BOOT_DEVICE_BOARD 11
+
#endif /* __CONFIG_H */
--
2.9.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 14/14] x86: qemu: Add a config for 64-bit U-Boot
2017-01-18 11:32 [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support Bin Meng
` (12 preceding siblings ...)
2017-01-18 11:33 ` [U-Boot] [PATCH 13/14] x86: qemu: Add build options for SPL Bin Meng
@ 2017-01-18 11:33 ` Bin Meng
2017-01-25 4:09 ` Simon Glass
2017-01-26 14:23 ` [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support Simon Glass
14 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-01-18 11:33 UTC (permalink / raw)
To: u-boot
Add a new board config which uses 64-bit U-Boot. Supported features
are the same as the other 64-bit board (Google Chromebook Link).
It is a start for us to test 64-bit U-Boot easily without the need
to access a real hardware.
Note CONFIG_SPL_ENV_SUPPORT is required for QEMU 64-bit as without
this the SPL build fails at the end. This is just a workaround as
CONFIG_SPL_ENV_SUPPORT is not needed at all.
common/built-in.o:(.data.env_htab+0xc): undefined reference to 'env_flags_validate'
lib/built-in.o: In function `hsearch_r':
lib/hashtable.c:380: undefined reference to 'env_callback_init'
lib/hashtable.c:382: undefined reference to 'env_flags_init'
make[1]: *** [spl/u-boot-spl] Error 1
Except those SPL options required by 64-bit, compared to 32-bit
config, the following options are different:
- CONFIG_SYS_MALLOC_F_LEN has to be increased to 0x1000 for SPL.
- CONFIG_DEBUG_UART has to be included due to the weird issue.
See TODO comments in arch/x86/cpu/x86_64/cpu.c:arch_setup_gd().
Once this issue gets fixed, debug uart can be optional.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---
board/emulation/Kconfig | 7 ++++
board/emulation/qemu-x86/Kconfig | 2 +-
board/emulation/qemu-x86/MAINTAINERS | 7 ++++
configs/qemu-x86_64_defconfig | 80 ++++++++++++++++++++++++++++++++++++
4 files changed, 95 insertions(+), 1 deletion(-)
create mode 100644 configs/qemu-x86_64_defconfig
diff --git a/board/emulation/Kconfig b/board/emulation/Kconfig
index 36809fd..6d55dca 100644
--- a/board/emulation/Kconfig
+++ b/board/emulation/Kconfig
@@ -18,6 +18,13 @@ config TARGET_QEMU_X86
supported by U-Boot. They are via QEMU '-M pc', an i440FX/PIIX
chipset platform and '-M q35', a Q35/ICH9 chipset platform.
+config TARGET_QEMU_X86_64
+ bool "QEMU x86 64-bit"
+ help
+ This is the QEMU emulated x86 64-bit board. With this config
+ U-Boot is built as a 64-bit binary. This allows testing while
+ this feature is being completed.
+
endchoice
source "board/emulation/qemu-x86/Kconfig"
diff --git a/board/emulation/qemu-x86/Kconfig b/board/emulation/qemu-x86/Kconfig
index a773e8f..a593f8c 100644
--- a/board/emulation/qemu-x86/Kconfig
+++ b/board/emulation/qemu-x86/Kconfig
@@ -1,4 +1,4 @@
-if TARGET_QEMU_X86
+if TARGET_QEMU_X86 || TARGET_QEMU_X86_64
config SYS_BOARD
default "qemu-x86"
diff --git a/board/emulation/qemu-x86/MAINTAINERS b/board/emulation/qemu-x86/MAINTAINERS
index 54dc2c5..4cf8ac9 100644
--- a/board/emulation/qemu-x86/MAINTAINERS
+++ b/board/emulation/qemu-x86/MAINTAINERS
@@ -6,3 +6,10 @@ F: include/configs/qemu-x86.h
F: configs/qemu-x86_defconfig
F: configs/qemu-x86_efi_payload32_defconfig
F: configs/qemu-x86_efi_payload64_defconfig
+
+QEMU X86 64-bit BOARD
+M: Bin Meng <bmeng.cn@gmail.com>
+S: Maintained
+F: board/emulation/qemu-x86/
+F: include/configs/qemu-x86.h
+F: configs/qemu-x86_64_defconfig
diff --git a/configs/qemu-x86_64_defconfig b/configs/qemu-x86_64_defconfig
new file mode 100644
index 0000000..484e2e9
--- /dev/null
+++ b/configs/qemu-x86_64_defconfig
@@ -0,0 +1,80 @@
+CONFIG_X86=y
+CONFIG_SPL_LIBCOMMON_SUPPORT=y
+CONFIG_SPL_LIBGENERIC_SUPPORT=y
+CONFIG_SYS_MALLOC_F_LEN=0x1000
+CONFIG_MAX_CPUS=2
+CONFIG_SPL_SERIAL_SUPPORT=y
+CONFIG_SPL_ENV_SUPPORT=y
+CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
+CONFIG_SPL_SPI_FLASH_SUPPORT=y
+CONFIG_SPL_SPI_SUPPORT=y
+CONFIG_X86_RUN_64BIT=y
+CONFIG_DEFAULT_DEVICE_TREE="qemu-x86_i440fx"
+CONFIG_TARGET_QEMU_X86_64=y
+CONFIG_SMP=y
+CONFIG_GENERATE_PIRQ_TABLE=y
+CONFIG_GENERATE_MP_TABLE=y
+CONFIG_GENERATE_ACPI_TABLE=y
+CONFIG_FIT=y
+CONFIG_SPL_LOAD_FIT=y
+CONFIG_BOOTSTAGE=y
+CONFIG_BOOTSTAGE_REPORT=y
+CONFIG_SYS_CONSOLE_INFO_QUIET=y
+CONFIG_SPL_SYS_MALLOC_SIMPLE=y
+CONFIG_SPL_CPU_SUPPORT=y
+CONFIG_SPL_NET_SUPPORT=y
+CONFIG_SPL_PCI_SUPPORT=y
+CONFIG_SPL_PCH_SUPPORT=y
+CONFIG_SPL_RTC_SUPPORT=y
+CONFIG_SPL_TIMER_SUPPORT=y
+CONFIG_HUSH_PARSER=y
+CONFIG_CMD_CPU=y
+# CONFIG_CMD_BOOTEFI_HELLO_COMPILE is not set
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+CONFIG_CMD_SF=y
+CONFIG_CMD_SPI=y
+CONFIG_CMD_USB=y
+# CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_DHCP=y
+# CONFIG_CMD_NFS is not set
+CONFIG_CMD_PING=y
+CONFIG_CMD_TIME=y
+CONFIG_CMD_QFW=y
+CONFIG_CMD_BOOTSTAGE=y
+CONFIG_CMD_EXT2=y
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_EXT4_WRITE=y
+CONFIG_CMD_FAT=y
+CONFIG_CMD_FS_GENERIC=y
+CONFIG_OF_CONTROL=y
+CONFIG_SPL_OF_CONTROL=y
+CONFIG_SPL_DM=y
+CONFIG_REGMAP=y
+CONFIG_SPL_REGMAP=y
+CONFIG_SYSCON=y
+CONFIG_SPL_SYSCON=y
+CONFIG_CPU=y
+CONFIG_SPI_FLASH=y
+CONFIG_SPI_FLASH_GIGADEVICE=y
+CONFIG_SPI_FLASH_MACRONIX=y
+CONFIG_SPI_FLASH_WINBOND=y
+CONFIG_DM_ETH=y
+CONFIG_E1000=y
+CONFIG_DM_PCI=y
+CONFIG_DM_RTC=y
+CONFIG_DEBUG_UART=y
+CONFIG_DEBUG_UART_BASE=0x3f8
+CONFIG_DEBUG_UART_CLOCK=1843200
+CONFIG_SYS_NS16550=y
+CONFIG_TIMER=y
+CONFIG_USB=y
+CONFIG_DM_USB=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_KEYBOARD=y
+CONFIG_DM_VIDEO=y
+CONFIG_VIDEO_VESA=y
+CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
+CONFIG_FRAMEBUFFER_VESA_MODE_111=y
+CONFIG_CONSOLE_SCROLL_LINES=5
+CONFIG_USE_PRIVATE_LIBGCC=y
--
2.9.2
^ permalink raw reply related [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 01/14] x86: qemu: Add missing DECLARE_GLOBAL_DATA_PTR in e820.c
2017-01-18 11:32 ` [U-Boot] [PATCH 01/14] x86: qemu: Add missing DECLARE_GLOBAL_DATA_PTR in e820.c Bin Meng
@ 2017-01-23 19:50 ` Simon Glass
2017-02-07 5:44 ` Bin Meng
0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-01-23 19:50 UTC (permalink / raw)
To: u-boot
On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
> DECLARE_GLOBAL_DATA_PTR is missing which causes 64-bit build error.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
> arch/x86/cpu/qemu/e820.c | 2 ++
> 1 file changed, 2 insertions(+)
Reviewed-by: Simon Glass <sjg@chromium.org>
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 02/14] x86: Wrap print_ch() with config option
2017-01-18 11:32 ` [U-Boot] [PATCH 02/14] x86: Wrap print_ch() with config option Bin Meng
@ 2017-01-23 19:50 ` Simon Glass
2017-02-07 5:44 ` Bin Meng
0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-01-23 19:50 UTC (permalink / raw)
To: u-boot
Hi Bin,
On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
> print_ch() should not be used if DEBUG_UART is off.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
> arch/x86/cpu/x86_64/cpu.c | 2 ++
> 1 file changed, 2 insertions(+)
Reviewed-by: Simon Glass <sjg@chromium.org>
>
> diff --git a/arch/x86/cpu/x86_64/cpu.c b/arch/x86/cpu/x86_64/cpu.c
> index 77cbb56..82ea456 100644
> --- a/arch/x86/cpu/x86_64/cpu.c
> +++ b/arch/x86/cpu/x86_64/cpu.c
> @@ -31,7 +31,9 @@ void arch_setup_gd(gd_t *new_gd)
> *
> * U-Boot SPL 2017.01
> */
> +#if CONFIG_IS_ENABLED(DEBUG_UART)
Or just #ifdef CONFIG_DEBUF_UART ?
> printch(' ');
> +#endif
> }
>
> int cpu_has_64bit(void)
> --
> 2.9.2
>
Regards,
Simon
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 03/14] x86: spl: Add weak arch_cpu_init_dm()
2017-01-18 11:32 ` [U-Boot] [PATCH 03/14] x86: spl: Add weak arch_cpu_init_dm() Bin Meng
@ 2017-01-23 19:50 ` Simon Glass
2017-02-04 5:59 ` Bin Meng
0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-01-23 19:50 UTC (permalink / raw)
To: u-boot
Hi Bin,
On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
> arch_cpu_init_dm() might not be implemented by every platform.
> Implement a weak version for SPL.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
> arch/x86/lib/spl.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/arch/x86/lib/spl.c b/arch/x86/lib/spl.c
> index 7403d15..8c5b90f 100644
> --- a/arch/x86/lib/spl.c
> +++ b/arch/x86/lib/spl.c
> @@ -15,6 +15,11 @@
>
> DECLARE_GLOBAL_DATA_PTR;
>
> +__weak int arch_cpu_init_dm(void)
> +{
> + return 0;
> +}
There is already one of these in board_f.c - do we need another?
> +
> static int x86_spl_init(void)
> {
> /*
> --
> 2.9.2
>
Regards,
Simon
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 04/14] x86: Compile irq.c for 64-bit
2017-01-18 11:32 ` [U-Boot] [PATCH 04/14] x86: Compile irq.c for 64-bit Bin Meng
@ 2017-01-23 19:50 ` Simon Glass
2017-02-07 5:44 ` Bin Meng
0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-01-23 19:50 UTC (permalink / raw)
To: u-boot
On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
> There is no reason not to compile irq.c for 64-bit.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
> arch/x86/cpu/Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Simon Glass <sjg@chromium.org>
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 05/14] x86: qemu: Hide arch_cpu_init() and print_cpuinfo() for U-Boot proper
2017-01-18 11:32 ` [U-Boot] [PATCH 05/14] x86: qemu: Hide arch_cpu_init() and print_cpuinfo() for U-Boot proper Bin Meng
@ 2017-01-23 19:51 ` Simon Glass
2017-02-07 5:44 ` Bin Meng
0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-01-23 19:51 UTC (permalink / raw)
To: u-boot
On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
> arch_cpu_init() and print_cpuinfo() should be only available in SPL
> build.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
> arch/x86/cpu/qemu/qemu.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
Reviewed-by: Simon Glass <sjg@chromium.org>
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 06/14] x86: qemu: Fix compiler warnings for 64-bit
2017-01-18 11:32 ` [U-Boot] [PATCH 06/14] x86: qemu: Fix compiler warnings for 64-bit Bin Meng
@ 2017-01-25 4:09 ` Simon Glass
2017-02-07 5:44 ` Bin Meng
0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-01-25 4:09 UTC (permalink / raw)
To: u-boot
On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
> This fixes compiler warnings for QEMU in 64-bit.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
> arch/x86/cpu/irq.c | 6 +++---
> arch/x86/cpu/qemu/qemu.c | 2 +-
> 2 files changed, 4 insertions(+), 4 deletions(-)
Reviewed-by: Simon Glass <sjg@chromium.org>
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 08/14] x86: qemu: Mark ucode as optional for SPL in u-boot.dtsi
2017-01-18 11:32 ` [U-Boot] [PATCH 08/14] x86: qemu: Mark ucode as optional for SPL in u-boot.dtsi Bin Meng
@ 2017-01-25 4:09 ` Simon Glass
2017-02-07 5:44 ` Bin Meng
0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-01-25 4:09 UTC (permalink / raw)
To: u-boot
On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
> QEMU does not need ucode and this is indicated in u-boot.dtsi
> for U-Boot proper. Now add the same for SPL.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
> arch/x86/dts/emulation-u-boot.dtsi | 6 ++++++
> 1 file changed, 6 insertions(+)
Reviewed-by: Simon Glass <sjg@chromium.org>
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 11/14] spl: Add a LF to the loading message
2017-01-18 11:33 ` [U-Boot] [PATCH 11/14] spl: Add a LF to the loading message Bin Meng
@ 2017-01-25 4:09 ` Simon Glass
2017-02-07 5:45 ` Bin Meng
0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-01-25 4:09 UTC (permalink / raw)
To: u-boot
On 18 January 2017 at 04:33, Bin Meng <bmeng.cn@gmail.com> wrote:
> SPL prints "Trying to boot from %s" without a LF. Add one to improve
> reading on the serial console.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
> common/spl/spl.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Simon Glass <sjg@chromium.org>
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 12/14] x86: qemu: Add a text base for 64-bit U-Boot
2017-01-18 11:33 ` [U-Boot] [PATCH 12/14] x86: qemu: Add a text base for 64-bit U-Boot Bin Meng
@ 2017-01-25 4:09 ` Simon Glass
2017-02-07 5:45 ` Bin Meng
0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-01-25 4:09 UTC (permalink / raw)
To: u-boot
On 18 January 2017 at 04:33, Bin Meng <bmeng.cn@gmail.com> wrote:
> Set up the 64-bit U-Boot text base if building for that target.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
> board/emulation/qemu-x86/Kconfig | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
Reviewed-by: Simon Glass <sjg@chromium.org>
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 13/14] x86: qemu: Add build options for SPL
2017-01-18 11:33 ` [U-Boot] [PATCH 13/14] x86: qemu: Add build options for SPL Bin Meng
@ 2017-01-25 4:09 ` Simon Glass
2017-02-07 5:45 ` Bin Meng
0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-01-25 4:09 UTC (permalink / raw)
To: u-boot
On 18 January 2017 at 04:33, Bin Meng <bmeng.cn@gmail.com> wrote:
> If SPL is used we want to use the generic SPL framework and boot
> from SPI via a board-specific means. Add these options to the
> board config file.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
> include/configs/qemu-x86.h | 9 +++++++++
> 1 file changed, 9 insertions(+)
Reviewed-by: Simon Glass <sjg@chromium.org>
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 14/14] x86: qemu: Add a config for 64-bit U-Boot
2017-01-18 11:33 ` [U-Boot] [PATCH 14/14] x86: qemu: Add a config for 64-bit U-Boot Bin Meng
@ 2017-01-25 4:09 ` Simon Glass
2017-02-07 5:45 ` Bin Meng
0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-01-25 4:09 UTC (permalink / raw)
To: u-boot
On 18 January 2017 at 04:33, Bin Meng <bmeng.cn@gmail.com> wrote:
> Add a new board config which uses 64-bit U-Boot. Supported features
> are the same as the other 64-bit board (Google Chromebook Link).
> It is a start for us to test 64-bit U-Boot easily without the need
> to access a real hardware.
>
> Note CONFIG_SPL_ENV_SUPPORT is required for QEMU 64-bit as without
> this the SPL build fails at the end. This is just a workaround as
> CONFIG_SPL_ENV_SUPPORT is not needed at all.
>
> common/built-in.o:(.data.env_htab+0xc): undefined reference to 'env_flags_validate'
> lib/built-in.o: In function `hsearch_r':
> lib/hashtable.c:380: undefined reference to 'env_callback_init'
> lib/hashtable.c:382: undefined reference to 'env_flags_init'
> make[1]: *** [spl/u-boot-spl] Error 1
>
> Except those SPL options required by 64-bit, compared to 32-bit
> config, the following options are different:
>
> - CONFIG_SYS_MALLOC_F_LEN has to be increased to 0x1000 for SPL.
> - CONFIG_DEBUG_UART has to be included due to the weird issue.
> See TODO comments in arch/x86/cpu/x86_64/cpu.c:arch_setup_gd().
> Once this issue gets fixed, debug uart can be optional.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>
> ---
>
> board/emulation/Kconfig | 7 ++++
> board/emulation/qemu-x86/Kconfig | 2 +-
> board/emulation/qemu-x86/MAINTAINERS | 7 ++++
> configs/qemu-x86_64_defconfig | 80 ++++++++++++++++++++++++++++++++++++
> 4 files changed, 95 insertions(+), 1 deletion(-)
> create mode 100644 configs/qemu-x86_64_defconfig
Reviewed-by: Simon Glass <sjg@chromium.org>
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 07/14] x86: qemu: Set up device tree for SPL
2017-01-18 11:32 ` [U-Boot] [PATCH 07/14] x86: qemu: Set up device tree for SPL Bin Meng
@ 2017-01-25 4:09 ` Simon Glass
2017-02-07 5:44 ` Bin Meng
0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-01-25 4:09 UTC (permalink / raw)
To: u-boot
On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
> Add the correct pre-relocation tag so that the required device tree
> nodes are present in the SPL device tree.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
> arch/x86/dts/qemu-x86_i440fx.dts | 4 ++++
> arch/x86/dts/qemu-x86_q35.dts | 4 ++++
> 2 files changed, 8 insertions(+)
Reviewed-by: Simon Glass <sjg@chromium.org>
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 09/14] tools: binman: Call correct init for Entry_u_boot_spl_with_ucode_ptr
2017-01-18 11:32 ` [U-Boot] [PATCH 09/14] tools: binman: Call correct init for Entry_u_boot_spl_with_ucode_ptr Bin Meng
@ 2017-01-26 14:22 ` Simon Glass
2017-02-07 5:44 ` Bin Meng
0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-01-26 14:22 UTC (permalink / raw)
To: u-boot
On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
>
> u_boot_spl_with_ucode_ptr is derived from u_boot_with_ucode_ptr,
> hence it should call its parent's init.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
> tools/binman/etype/u_boot_spl_with_ucode_ptr.py | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Simon Glass <sjg@chromium.org>
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 10/14] tools: binman: Handle optional microcode case in SPL image
2017-01-18 11:33 ` [U-Boot] [PATCH 10/14] tools: binman: Handle optional microcode case in SPL image Bin Meng
@ 2017-01-26 14:23 ` Simon Glass
2017-02-07 5:44 ` Bin Meng
0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-01-26 14:23 UTC (permalink / raw)
To: u-boot
On 18 January 2017 at 04:33, Bin Meng <bmeng.cn@gmail.com> wrote:
> On platforms which do not require microcode in SPL, handle such
> case like U-Boot proper.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
> tools/binman/etype/u_boot_ucode.py | 6 ++++++
> 1 file changed, 6 insertions(+)
Reviewed-by: Simon Glass <sjg@chromium.org>
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support
2017-01-18 11:32 [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support Bin Meng
` (13 preceding siblings ...)
2017-01-18 11:33 ` [U-Boot] [PATCH 14/14] x86: qemu: Add a config for 64-bit U-Boot Bin Meng
@ 2017-01-26 14:23 ` Simon Glass
2017-02-04 6:00 ` Bin Meng
14 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-01-26 14:23 UTC (permalink / raw)
To: u-boot
Hi Bin,
On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
> This brings U-Boot x86 64-bit support on QEMU target.
>
> This series is available at u-boot-x86/qemu64-working for testing.
>
>
> Bin Meng (14):
> x86: qemu: Add missing DECLARE_GLOBAL_DATA_PTR in e820.c
> x86: Wrap print_ch() with config option
> x86: spl: Add weak arch_cpu_init_dm()
> x86: Compile irq.c for 64-bit
> x86: qemu: Hide arch_cpu_init() and print_cpuinfo() for U-Boot proper
> x86: qemu: Fix compiler warnings for 64-bit
> x86: qemu: Set up device tree for SPL
> x86: qemu: Mark ucode as optional for SPL in u-boot.dtsi
> tools: binman: Call correct init for Entry_u_boot_spl_with_ucode_ptr
> tools: binman: Handle optional microcode case in SPL image
> spl: Add a LF to the loading message
> x86: qemu: Add a text base for 64-bit U-Boot
> x86: qemu: Add build options for SPL
> x86: qemu: Add a config for 64-bit U-Boot
>
> arch/x86/cpu/Makefile | 2 +-
> arch/x86/cpu/irq.c | 6 +-
> arch/x86/cpu/qemu/e820.c | 2 +
> arch/x86/cpu/qemu/qemu.c | 7 ++-
> arch/x86/cpu/x86_64/cpu.c | 2 +
> arch/x86/dts/emulation-u-boot.dtsi | 6 ++
> arch/x86/dts/qemu-x86_i440fx.dts | 4 ++
> arch/x86/dts/qemu-x86_q35.dts | 4 ++
> arch/x86/lib/spl.c | 5 ++
> board/emulation/Kconfig | 7 +++
> board/emulation/qemu-x86/Kconfig | 6 +-
> board/emulation/qemu-x86/MAINTAINERS | 7 +++
> common/spl/spl.c | 2 +-
> configs/qemu-x86_64_defconfig | 80 +++++++++++++++++++++++++
> include/configs/qemu-x86.h | 9 +++
> tools/binman/etype/u_boot_spl_with_ucode_ptr.py | 2 +-
> tools/binman/etype/u_boot_ucode.py | 6 ++
> 17 files changed, 146 insertions(+), 11 deletions(-)
> create mode 100644 configs/qemu-x86_64_defconfig
>
> --
> 2.9.2
>
One point I noted in trying this out is that the binman tests fail
now, since this commit:
d26a38f binman: Remove hard-coded file name for x86 CMC/FSP/VGA
Could you please take a look?
Regards,
Simon
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 03/14] x86: spl: Add weak arch_cpu_init_dm()
2017-01-23 19:50 ` Simon Glass
@ 2017-02-04 5:59 ` Bin Meng
2017-02-06 15:35 ` Simon Glass
0 siblings, 1 reply; 47+ messages in thread
From: Bin Meng @ 2017-02-04 5:59 UTC (permalink / raw)
To: u-boot
Hi Simon,
On Tue, Jan 24, 2017 at 3:50 AM, Simon Glass <sjg@chromium.org> wrote:
> Hi Bin,
>
> On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
>> arch_cpu_init_dm() might not be implemented by every platform.
>> Implement a weak version for SPL.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>> arch/x86/lib/spl.c | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/arch/x86/lib/spl.c b/arch/x86/lib/spl.c
>> index 7403d15..8c5b90f 100644
>> --- a/arch/x86/lib/spl.c
>> +++ b/arch/x86/lib/spl.c
>> @@ -15,6 +15,11 @@
>>
>> DECLARE_GLOBAL_DATA_PTR;
>>
>> +__weak int arch_cpu_init_dm(void)
>> +{
>> + return 0;
>> +}
>
> There is already one of these in board_f.c - do we need another?
>
board_f.c is not built for SPL.
Regards,
Bin
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support
2017-01-26 14:23 ` [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support Simon Glass
@ 2017-02-04 6:00 ` Bin Meng
0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-02-04 6:00 UTC (permalink / raw)
To: u-boot
Hi Simon,
On Thu, Jan 26, 2017 at 10:23 PM, Simon Glass <sjg@chromium.org> wrote:
> Hi Bin,
>
> On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
>> This brings U-Boot x86 64-bit support on QEMU target.
>>
>> This series is available at u-boot-x86/qemu64-working for testing.
>>
>>
>> Bin Meng (14):
>> x86: qemu: Add missing DECLARE_GLOBAL_DATA_PTR in e820.c
>> x86: Wrap print_ch() with config option
>> x86: spl: Add weak arch_cpu_init_dm()
>> x86: Compile irq.c for 64-bit
>> x86: qemu: Hide arch_cpu_init() and print_cpuinfo() for U-Boot proper
>> x86: qemu: Fix compiler warnings for 64-bit
>> x86: qemu: Set up device tree for SPL
>> x86: qemu: Mark ucode as optional for SPL in u-boot.dtsi
>> tools: binman: Call correct init for Entry_u_boot_spl_with_ucode_ptr
>> tools: binman: Handle optional microcode case in SPL image
>> spl: Add a LF to the loading message
>> x86: qemu: Add a text base for 64-bit U-Boot
>> x86: qemu: Add build options for SPL
>> x86: qemu: Add a config for 64-bit U-Boot
>>
>> arch/x86/cpu/Makefile | 2 +-
>> arch/x86/cpu/irq.c | 6 +-
>> arch/x86/cpu/qemu/e820.c | 2 +
>> arch/x86/cpu/qemu/qemu.c | 7 ++-
>> arch/x86/cpu/x86_64/cpu.c | 2 +
>> arch/x86/dts/emulation-u-boot.dtsi | 6 ++
>> arch/x86/dts/qemu-x86_i440fx.dts | 4 ++
>> arch/x86/dts/qemu-x86_q35.dts | 4 ++
>> arch/x86/lib/spl.c | 5 ++
>> board/emulation/Kconfig | 7 +++
>> board/emulation/qemu-x86/Kconfig | 6 +-
>> board/emulation/qemu-x86/MAINTAINERS | 7 +++
>> common/spl/spl.c | 2 +-
>> configs/qemu-x86_64_defconfig | 80 +++++++++++++++++++++++++
>> include/configs/qemu-x86.h | 9 +++
>> tools/binman/etype/u_boot_spl_with_ucode_ptr.py | 2 +-
>> tools/binman/etype/u_boot_ucode.py | 6 ++
>> 17 files changed, 146 insertions(+), 11 deletions(-)
>> create mode 100644 configs/qemu-x86_64_defconfig
>>
>> --
>> 2.9.2
>>
>
> One point I noted in trying this out is that the binman tests fail
> now, since this commit:
>
> d26a38f binman: Remove hard-coded file name for x86 CMC/FSP/VGA
>
> Could you please take a look?
I will look into this.
Regards,
Bin
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 03/14] x86: spl: Add weak arch_cpu_init_dm()
2017-02-04 5:59 ` Bin Meng
@ 2017-02-06 15:35 ` Simon Glass
2017-02-07 5:44 ` Bin Meng
0 siblings, 1 reply; 47+ messages in thread
From: Simon Glass @ 2017-02-06 15:35 UTC (permalink / raw)
To: u-boot
On 3 February 2017 at 21:59, Bin Meng <bmeng.cn@gmail.com> wrote:
> Hi Simon,
>
> On Tue, Jan 24, 2017 at 3:50 AM, Simon Glass <sjg@chromium.org> wrote:
>> Hi Bin,
>>
>> On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
>>> arch_cpu_init_dm() might not be implemented by every platform.
>>> Implement a weak version for SPL.
>>>
>>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>>> ---
>>>
>>> arch/x86/lib/spl.c | 5 +++++
>>> 1 file changed, 5 insertions(+)
>>>
>>> diff --git a/arch/x86/lib/spl.c b/arch/x86/lib/spl.c
>>> index 7403d15..8c5b90f 100644
>>> --- a/arch/x86/lib/spl.c
>>> +++ b/arch/x86/lib/spl.c
>>> @@ -15,6 +15,11 @@
>>>
>>> DECLARE_GLOBAL_DATA_PTR;
>>>
>>> +__weak int arch_cpu_init_dm(void)
>>> +{
>>> + return 0;
>>> +}
>>
>> There is already one of these in board_f.c - do we need another?
>>
>
> board_f.c is not built for SPL.
I'm not a big fan of weak functions, but OK.
Reviewed-by: Simon Glass <sjg@chromium.org>
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 01/14] x86: qemu: Add missing DECLARE_GLOBAL_DATA_PTR in e820.c
2017-01-23 19:50 ` Simon Glass
@ 2017-02-07 5:44 ` Bin Meng
0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-02-07 5:44 UTC (permalink / raw)
To: u-boot
On Tue, Jan 24, 2017 at 3:50 AM, Simon Glass <sjg@chromium.org> wrote:
> On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
>> DECLARE_GLOBAL_DATA_PTR is missing which causes 64-bit build error.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>> arch/x86/cpu/qemu/e820.c | 2 ++
>> 1 file changed, 2 insertions(+)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
applied to u-boot-x86, thanks!
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 02/14] x86: Wrap print_ch() with config option
2017-01-23 19:50 ` Simon Glass
@ 2017-02-07 5:44 ` Bin Meng
0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-02-07 5:44 UTC (permalink / raw)
To: u-boot
On Tue, Jan 24, 2017 at 3:50 AM, Simon Glass <sjg@chromium.org> wrote:
> Hi Bin,
>
> On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
>> print_ch() should not be used if DEBUG_UART is off.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>> arch/x86/cpu/x86_64/cpu.c | 2 ++
>> 1 file changed, 2 insertions(+)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
>
>>
>> diff --git a/arch/x86/cpu/x86_64/cpu.c b/arch/x86/cpu/x86_64/cpu.c
>> index 77cbb56..82ea456 100644
>> --- a/arch/x86/cpu/x86_64/cpu.c
>> +++ b/arch/x86/cpu/x86_64/cpu.c
>> @@ -31,7 +31,9 @@ void arch_setup_gd(gd_t *new_gd)
>> *
>> * U-Boot SPL 2017.01
>> */
>> +#if CONFIG_IS_ENABLED(DEBUG_UART)
>
> Or just #ifdef CONFIG_DEBUF_UART ?
Fixed, and
applied to u-boot-x86, thanks!
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 03/14] x86: spl: Add weak arch_cpu_init_dm()
2017-02-06 15:35 ` Simon Glass
@ 2017-02-07 5:44 ` Bin Meng
0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-02-07 5:44 UTC (permalink / raw)
To: u-boot
On Mon, Feb 6, 2017 at 11:35 PM, Simon Glass <sjg@chromium.org> wrote:
> On 3 February 2017 at 21:59, Bin Meng <bmeng.cn@gmail.com> wrote:
>> Hi Simon,
>>
>> On Tue, Jan 24, 2017 at 3:50 AM, Simon Glass <sjg@chromium.org> wrote:
>>> Hi Bin,
>>>
>>> On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
>>>> arch_cpu_init_dm() might not be implemented by every platform.
>>>> Implement a weak version for SPL.
>>>>
>>>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>>>> ---
>>>>
>>>> arch/x86/lib/spl.c | 5 +++++
>>>> 1 file changed, 5 insertions(+)
>>>>
>>>> diff --git a/arch/x86/lib/spl.c b/arch/x86/lib/spl.c
>>>> index 7403d15..8c5b90f 100644
>>>> --- a/arch/x86/lib/spl.c
>>>> +++ b/arch/x86/lib/spl.c
>>>> @@ -15,6 +15,11 @@
>>>>
>>>> DECLARE_GLOBAL_DATA_PTR;
>>>>
>>>> +__weak int arch_cpu_init_dm(void)
>>>> +{
>>>> + return 0;
>>>> +}
>>>
>>> There is already one of these in board_f.c - do we need another?
>>>
>>
>> board_f.c is not built for SPL.
>
> I'm not a big fan of weak functions, but OK.
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
applied to u-boot-x86, thanks!
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 04/14] x86: Compile irq.c for 64-bit
2017-01-23 19:50 ` Simon Glass
@ 2017-02-07 5:44 ` Bin Meng
0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-02-07 5:44 UTC (permalink / raw)
To: u-boot
On Tue, Jan 24, 2017 at 3:50 AM, Simon Glass <sjg@chromium.org> wrote:
> On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
>> There is no reason not to compile irq.c for 64-bit.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>> arch/x86/cpu/Makefile | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
applied to u-boot-x86, thanks!
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 05/14] x86: qemu: Hide arch_cpu_init() and print_cpuinfo() for U-Boot proper
2017-01-23 19:51 ` Simon Glass
@ 2017-02-07 5:44 ` Bin Meng
0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-02-07 5:44 UTC (permalink / raw)
To: u-boot
On Tue, Jan 24, 2017 at 3:51 AM, Simon Glass <sjg@chromium.org> wrote:
> On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
>> arch_cpu_init() and print_cpuinfo() should be only available in SPL
>> build.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>> arch/x86/cpu/qemu/qemu.c | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
applied to u-boot-x86, thanks!
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 06/14] x86: qemu: Fix compiler warnings for 64-bit
2017-01-25 4:09 ` Simon Glass
@ 2017-02-07 5:44 ` Bin Meng
0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-02-07 5:44 UTC (permalink / raw)
To: u-boot
On Wed, Jan 25, 2017 at 12:09 PM, Simon Glass <sjg@chromium.org> wrote:
> On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
>> This fixes compiler warnings for QEMU in 64-bit.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>> arch/x86/cpu/irq.c | 6 +++---
>> arch/x86/cpu/qemu/qemu.c | 2 +-
>> 2 files changed, 4 insertions(+), 4 deletions(-)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
applied to u-boot-x86, thanks!
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 07/14] x86: qemu: Set up device tree for SPL
2017-01-25 4:09 ` Simon Glass
@ 2017-02-07 5:44 ` Bin Meng
0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-02-07 5:44 UTC (permalink / raw)
To: u-boot
On Wed, Jan 25, 2017 at 12:09 PM, Simon Glass <sjg@chromium.org> wrote:
> On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
>> Add the correct pre-relocation tag so that the required device tree
>> nodes are present in the SPL device tree.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>> arch/x86/dts/qemu-x86_i440fx.dts | 4 ++++
>> arch/x86/dts/qemu-x86_q35.dts | 4 ++++
>> 2 files changed, 8 insertions(+)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
applied to u-boot-x86, thanks!
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 08/14] x86: qemu: Mark ucode as optional for SPL in u-boot.dtsi
2017-01-25 4:09 ` Simon Glass
@ 2017-02-07 5:44 ` Bin Meng
0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-02-07 5:44 UTC (permalink / raw)
To: u-boot
On Wed, Jan 25, 2017 at 12:09 PM, Simon Glass <sjg@chromium.org> wrote:
> On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
>> QEMU does not need ucode and this is indicated in u-boot.dtsi
>> for U-Boot proper. Now add the same for SPL.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>> arch/x86/dts/emulation-u-boot.dtsi | 6 ++++++
>> 1 file changed, 6 insertions(+)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
applied to u-boot-x86, thanks!
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 09/14] tools: binman: Call correct init for Entry_u_boot_spl_with_ucode_ptr
2017-01-26 14:22 ` Simon Glass
@ 2017-02-07 5:44 ` Bin Meng
0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-02-07 5:44 UTC (permalink / raw)
To: u-boot
On Thu, Jan 26, 2017 at 10:22 PM, Simon Glass <sjg@chromium.org> wrote:
> On 18 January 2017 at 04:32, Bin Meng <bmeng.cn@gmail.com> wrote:
>>
>> u_boot_spl_with_ucode_ptr is derived from u_boot_with_ucode_ptr,
>> hence it should call its parent's init.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>> tools/binman/etype/u_boot_spl_with_ucode_ptr.py | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
applied to u-boot-x86, thanks!
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 10/14] tools: binman: Handle optional microcode case in SPL image
2017-01-26 14:23 ` Simon Glass
@ 2017-02-07 5:44 ` Bin Meng
0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-02-07 5:44 UTC (permalink / raw)
To: u-boot
On Thu, Jan 26, 2017 at 10:23 PM, Simon Glass <sjg@chromium.org> wrote:
> On 18 January 2017 at 04:33, Bin Meng <bmeng.cn@gmail.com> wrote:
>> On platforms which do not require microcode in SPL, handle such
>> case like U-Boot proper.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>> tools/binman/etype/u_boot_ucode.py | 6 ++++++
>> 1 file changed, 6 insertions(+)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
applied to u-boot-x86, thanks!
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 11/14] spl: Add a LF to the loading message
2017-01-25 4:09 ` Simon Glass
@ 2017-02-07 5:45 ` Bin Meng
0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-02-07 5:45 UTC (permalink / raw)
To: u-boot
On Wed, Jan 25, 2017 at 12:09 PM, Simon Glass <sjg@chromium.org> wrote:
> On 18 January 2017 at 04:33, Bin Meng <bmeng.cn@gmail.com> wrote:
>> SPL prints "Trying to boot from %s" without a LF. Add one to improve
>> reading on the serial console.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>> common/spl/spl.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
Drop this commit, since another commit has been merged to mainstream already:
commit cf947da19aecd1b430f22d73ad109af64a6051b5
Author: Andrew F. Davis <afd@ti.com>
Date: Thu Jan 12 10:19:55 2017 -0600
spl: Add some missing newlines
Signed-off-by: Andrew F. Davis <afd@ti.com>
Acked-by: Lokesh Vutla <lokeshvutla@ti.com>
Acked-by: Michal Simek <michal.simek@xilinx.com>
Regards,
Bin
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 12/14] x86: qemu: Add a text base for 64-bit U-Boot
2017-01-25 4:09 ` Simon Glass
@ 2017-02-07 5:45 ` Bin Meng
0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-02-07 5:45 UTC (permalink / raw)
To: u-boot
On Wed, Jan 25, 2017 at 12:09 PM, Simon Glass <sjg@chromium.org> wrote:
> On 18 January 2017 at 04:33, Bin Meng <bmeng.cn@gmail.com> wrote:
>> Set up the 64-bit U-Boot text base if building for that target.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>> board/emulation/qemu-x86/Kconfig | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
applied to u-boot-x86, thanks!
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 13/14] x86: qemu: Add build options for SPL
2017-01-25 4:09 ` Simon Glass
@ 2017-02-07 5:45 ` Bin Meng
0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-02-07 5:45 UTC (permalink / raw)
To: u-boot
On Wed, Jan 25, 2017 at 12:09 PM, Simon Glass <sjg@chromium.org> wrote:
> On 18 January 2017 at 04:33, Bin Meng <bmeng.cn@gmail.com> wrote:
>> If SPL is used we want to use the generic SPL framework and boot
>> from SPI via a board-specific means. Add these options to the
>> board config file.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>
>> include/configs/qemu-x86.h | 9 +++++++++
>> 1 file changed, 9 insertions(+)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
applied to u-boot-x86, thanks!
^ permalink raw reply [flat|nested] 47+ messages in thread
* [U-Boot] [PATCH 14/14] x86: qemu: Add a config for 64-bit U-Boot
2017-01-25 4:09 ` Simon Glass
@ 2017-02-07 5:45 ` Bin Meng
0 siblings, 0 replies; 47+ messages in thread
From: Bin Meng @ 2017-02-07 5:45 UTC (permalink / raw)
To: u-boot
On Wed, Jan 25, 2017 at 12:09 PM, Simon Glass <sjg@chromium.org> wrote:
> On 18 January 2017 at 04:33, Bin Meng <bmeng.cn@gmail.com> wrote:
>> Add a new board config which uses 64-bit U-Boot. Supported features
>> are the same as the other 64-bit board (Google Chromebook Link).
>> It is a start for us to test 64-bit U-Boot easily without the need
>> to access a real hardware.
>>
>> Note CONFIG_SPL_ENV_SUPPORT is required for QEMU 64-bit as without
>> this the SPL build fails at the end. This is just a workaround as
>> CONFIG_SPL_ENV_SUPPORT is not needed at all.
>>
>> common/built-in.o:(.data.env_htab+0xc): undefined reference to 'env_flags_validate'
>> lib/built-in.o: In function `hsearch_r':
>> lib/hashtable.c:380: undefined reference to 'env_callback_init'
>> lib/hashtable.c:382: undefined reference to 'env_flags_init'
>> make[1]: *** [spl/u-boot-spl] Error 1
>>
>> Except those SPL options required by 64-bit, compared to 32-bit
>> config, the following options are different:
>>
>> - CONFIG_SYS_MALLOC_F_LEN has to be increased to 0x1000 for SPL.
>> - CONFIG_DEBUG_UART has to be included due to the weird issue.
>> See TODO comments in arch/x86/cpu/x86_64/cpu.c:arch_setup_gd().
>> Once this issue gets fixed, debug uart can be optional.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>>
>> ---
>>
>> board/emulation/Kconfig | 7 ++++
>> board/emulation/qemu-x86/Kconfig | 2 +-
>> board/emulation/qemu-x86/MAINTAINERS | 7 ++++
>> configs/qemu-x86_64_defconfig | 80 ++++++++++++++++++++++++++++++++++++
>> 4 files changed, 95 insertions(+), 1 deletion(-)
>> create mode 100644 configs/qemu-x86_64_defconfig
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
applied to u-boot-x86, thanks!
^ permalink raw reply [flat|nested] 47+ messages in thread
end of thread, other threads:[~2017-02-07 5:45 UTC | newest]
Thread overview: 47+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-18 11:32 [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support Bin Meng
2017-01-18 11:32 ` [U-Boot] [PATCH 01/14] x86: qemu: Add missing DECLARE_GLOBAL_DATA_PTR in e820.c Bin Meng
2017-01-23 19:50 ` Simon Glass
2017-02-07 5:44 ` Bin Meng
2017-01-18 11:32 ` [U-Boot] [PATCH 02/14] x86: Wrap print_ch() with config option Bin Meng
2017-01-23 19:50 ` Simon Glass
2017-02-07 5:44 ` Bin Meng
2017-01-18 11:32 ` [U-Boot] [PATCH 03/14] x86: spl: Add weak arch_cpu_init_dm() Bin Meng
2017-01-23 19:50 ` Simon Glass
2017-02-04 5:59 ` Bin Meng
2017-02-06 15:35 ` Simon Glass
2017-02-07 5:44 ` Bin Meng
2017-01-18 11:32 ` [U-Boot] [PATCH 04/14] x86: Compile irq.c for 64-bit Bin Meng
2017-01-23 19:50 ` Simon Glass
2017-02-07 5:44 ` Bin Meng
2017-01-18 11:32 ` [U-Boot] [PATCH 05/14] x86: qemu: Hide arch_cpu_init() and print_cpuinfo() for U-Boot proper Bin Meng
2017-01-23 19:51 ` Simon Glass
2017-02-07 5:44 ` Bin Meng
2017-01-18 11:32 ` [U-Boot] [PATCH 06/14] x86: qemu: Fix compiler warnings for 64-bit Bin Meng
2017-01-25 4:09 ` Simon Glass
2017-02-07 5:44 ` Bin Meng
2017-01-18 11:32 ` [U-Boot] [PATCH 07/14] x86: qemu: Set up device tree for SPL Bin Meng
2017-01-25 4:09 ` Simon Glass
2017-02-07 5:44 ` Bin Meng
2017-01-18 11:32 ` [U-Boot] [PATCH 08/14] x86: qemu: Mark ucode as optional for SPL in u-boot.dtsi Bin Meng
2017-01-25 4:09 ` Simon Glass
2017-02-07 5:44 ` Bin Meng
2017-01-18 11:32 ` [U-Boot] [PATCH 09/14] tools: binman: Call correct init for Entry_u_boot_spl_with_ucode_ptr Bin Meng
2017-01-26 14:22 ` Simon Glass
2017-02-07 5:44 ` Bin Meng
2017-01-18 11:33 ` [U-Boot] [PATCH 10/14] tools: binman: Handle optional microcode case in SPL image Bin Meng
2017-01-26 14:23 ` Simon Glass
2017-02-07 5:44 ` Bin Meng
2017-01-18 11:33 ` [U-Boot] [PATCH 11/14] spl: Add a LF to the loading message Bin Meng
2017-01-25 4:09 ` Simon Glass
2017-02-07 5:45 ` Bin Meng
2017-01-18 11:33 ` [U-Boot] [PATCH 12/14] x86: qemu: Add a text base for 64-bit U-Boot Bin Meng
2017-01-25 4:09 ` Simon Glass
2017-02-07 5:45 ` Bin Meng
2017-01-18 11:33 ` [U-Boot] [PATCH 13/14] x86: qemu: Add build options for SPL Bin Meng
2017-01-25 4:09 ` Simon Glass
2017-02-07 5:45 ` Bin Meng
2017-01-18 11:33 ` [U-Boot] [PATCH 14/14] x86: qemu: Add a config for 64-bit U-Boot Bin Meng
2017-01-25 4:09 ` Simon Glass
2017-02-07 5:45 ` Bin Meng
2017-01-26 14:23 ` [U-Boot] [PATCH 00/14] x86: qemu: Add 64-bit U-Boot support Simon Glass
2017-02-04 6:00 ` Bin Meng
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.