Merge tag 'efi-2020-10-rc5' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
Pull request for UEFI sub-system for efi-2020-10-rc5
The following bugs are fixed:
* unaligned access in br_i32_decode()
* missing restore of global data pointer in UEFI selftest
* missing restore of global data pointer on RISC-V in UEfI subsystem
* efi_var_mem_notify_exit_boot_services() should not be __efi_runtime
diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index 1c74876..473ddee 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -253,6 +253,18 @@
qemu_x86_64:
TEST_PY_BD: "qemu-x86_64"
TEST_PY_TEST_SPEC: "not sleep"
+ r2dplus_i82557c:
+ TEST_PY_BD: "r2dplus"
+ TEST_PY_ID: "--id i82557c_qemu"
+ r2dplus_pcnet:
+ TEST_PY_BD: "r2dplus"
+ TEST_PY_ID: "--id pcnet_qemu"
+ r2dplus_rtl8139:
+ TEST_PY_BD: "r2dplus"
+ TEST_PY_ID: "--id rtl8139_qemu"
+ r2dplus_tulip:
+ TEST_PY_BD: "r2dplus"
+ TEST_PY_ID: "--id tulip_qemu"
xilinx_zynq_virt:
TEST_PY_BD: "xilinx_zynq_virt"
TEST_PY_ID: "--id qemu"
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0869669..9ac2b33 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -359,6 +359,34 @@
TEST_PY_TEST_SPEC: "not sleep"
<<: *buildman_and_testpy_dfn
+r2dplus_i82557c test.py:
+ tags: [ 'all' ]
+ variables:
+ TEST_PY_BD: "r2dplus"
+ TEST_PY_ID: "--id i82557c_qemu"
+ <<: *buildman_and_testpy_dfn
+
+r2dplus_pcnet test.py:
+ tags: [ 'all' ]
+ variables:
+ TEST_PY_BD: "r2dplus"
+ TEST_PY_ID: "--id pcnet_qemu"
+ <<: *buildman_and_testpy_dfn
+
+r2dplus_rtl8139 test.py:
+ tags: [ 'all' ]
+ variables:
+ TEST_PY_BD: "r2dplus"
+ TEST_PY_ID: "--id rtl8139_qemu"
+ <<: *buildman_and_testpy_dfn
+
+r2dplus_tulip test.py:
+ tags: [ 'all' ]
+ variables:
+ TEST_PY_BD: "r2dplus"
+ TEST_PY_ID: "--id tulip_qemu"
+ <<: *buildman_and_testpy_dfn
+
xilinx_zynq_virt test.py:
tags: [ 'all' ]
variables:
diff --git a/.travis.yml b/.travis.yml
index 7e9e65f..fb8f731 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -646,6 +646,34 @@
QEMU_TARGET="x86_64-softmmu"
TOOLCHAIN="i386"
BUILD_ROM="yes"
+ - name: "test/py r2dplus_i82557c"
+ env:
+ - TEST_PY_BD="r2dplus"
+ TEST_PY_ID="--id i82557c_qemu"
+ QEMU_TARGET="sh4-softmmu"
+ BUILDMAN="sh -x arm"
+ TOOLCHAIN="sh"
+ - name: "test/py r2dplus_pcnet"
+ env:
+ - TEST_PY_BD="r2dplus"
+ TEST_PY_ID="--id pcnet_qemu"
+ QEMU_TARGET="sh4-softmmu"
+ BUILDMAN="sh -x arm"
+ TOOLCHAIN="sh"
+ - name: "test/py r2dplus_rtl8139"
+ env:
+ - TEST_PY_BD="r2dplus"
+ TEST_PY_ID="--id rtl8139_qemu"
+ QEMU_TARGET="sh4-softmmu"
+ BUILDMAN="sh -x arm"
+ TOOLCHAIN="sh"
+ - name: "test/py r2dplus_tulip"
+ env:
+ - TEST_PY_BD="r2dplus"
+ TEST_PY_ID="--id tulip_qemu"
+ QEMU_TARGET="sh4-softmmu"
+ BUILDMAN="sh -x arm"
+ TOOLCHAIN="sh"
- name: "test/py xilinx_zynq_virt"
env:
- TEST_PY_BD="xilinx_zynq_virt"
diff --git a/arch/arm/dts/rv1108-u-boot.dtsi b/arch/arm/dts/rv1108-u-boot.dtsi
index 41ac054..6a2098b 100644
--- a/arch/arm/dts/rv1108-u-boot.dtsi
+++ b/arch/arm/dts/rv1108-u-boot.dtsi
@@ -4,3 +4,7 @@
*/
#include "rockchip-u-boot.dtsi"
+
+&grf {
+ u-boot,dm-pre-reloc;
+};
diff --git a/arch/arm/mach-rockchip/make_fit_atf.py b/arch/arm/mach-rockchip/make_fit_atf.py
index d15c32b..f3224d2 100755
--- a/arch/arm/mach-rockchip/make_fit_atf.py
+++ b/arch/arm/mach-rockchip/make_fit_atf.py
@@ -189,8 +189,9 @@
p_type, p_flags, p_offset = struct.unpack_from('<LLQ', elf, offset)
if p_type == 1: # PT_LOAD
p_paddr, p_filesz = struct.unpack_from('<2Q', elf, offset + 0x18)
- p_data = elf[p_offset:p_offset + p_filesz]
- segments.append((index, e_entry, p_paddr, p_data))
+ if p_filesz > 0:
+ p_data = elf[p_offset:p_offset + p_filesz]
+ segments.append((index, e_entry, p_paddr, p_data))
return segments
def main():
diff --git a/board/elgin/elgin_rv1108/elgin_rv1108.c b/board/elgin/elgin_rv1108/elgin_rv1108.c
index 5d8f622..245e5ab 100644
--- a/board/elgin/elgin_rv1108/elgin_rv1108.c
+++ b/board/elgin/elgin_rv1108/elgin_rv1108.c
@@ -15,7 +15,7 @@
DECLARE_GLOBAL_DATA_PTR;
-int mach_cpu_init(void)
+int board_early_init_f(void)
{
struct rv1108_grf *grf;
enum {
diff --git a/board/rockchip/evb_rv1108/evb_rv1108.c b/board/rockchip/evb_rv1108/evb_rv1108.c
index c579138..fc31c49 100644
--- a/board/rockchip/evb_rv1108/evb_rv1108.c
+++ b/board/rockchip/evb_rv1108/evb_rv1108.c
@@ -14,7 +14,7 @@
DECLARE_GLOBAL_DATA_PTR;
-int mach_cpu_init(void)
+int board_early_init_f(void)
{
struct rv1108_grf *grf;
enum {
diff --git a/configs/elgin-rv1108_defconfig b/configs/elgin-rv1108_defconfig
index 54d1c29..5d98f19 100644
--- a/configs/elgin-rv1108_defconfig
+++ b/configs/elgin-rv1108_defconfig
@@ -15,6 +15,7 @@
CONFIG_BOARD_LATE_INIT=y
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_DISPLAY_BOARDINFO_LATE=y
+CONFIG_BOARD_EARLY_INIT_F=y
CONFIG_CMD_GPIO=y
CONFIG_RANDOM_UUID=y
CONFIG_CMD_MMC=y
diff --git a/configs/evb-rv1108_defconfig b/configs/evb-rv1108_defconfig
index ba6396a..c9cbf04 100644
--- a/configs/evb-rv1108_defconfig
+++ b/configs/evb-rv1108_defconfig
@@ -11,6 +11,7 @@
CONFIG_DEFAULT_FDT_FILE="rv1108-evb.dtb"
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_DISPLAY_BOARDINFO_LATE=y
+CONFIG_BOARD_EARLY_INIT_F=y
CONFIG_RANDOM_UUID=y
CONFIG_CMD_USB=y
# CONFIG_CMD_SETEXPR is not set
diff --git a/drivers/mmc/msm_sdhci.c b/drivers/mmc/msm_sdhci.c
index 56c3e35..2a1f412 100644
--- a/drivers/mmc/msm_sdhci.c
+++ b/drivers/mmc/msm_sdhci.c
@@ -142,6 +142,10 @@
writel(caps, host->ioaddr + SDHCI_VENDOR_SPEC_CAPABILITIES0);
}
+ ret = mmc_of_parse(dev, &plat->cfg);
+ if (ret)
+ return ret;
+
host->mmc = &plat->mmc;
host->mmc->dev = dev;
ret = sdhci_setup_cfg(&plat->cfg, host, 0, 0);
diff --git a/drivers/mmc/xenon_sdhci.c b/drivers/mmc/xenon_sdhci.c
index 7f9a579..6ce9d00 100644
--- a/drivers/mmc/xenon_sdhci.c
+++ b/drivers/mmc/xenon_sdhci.c
@@ -485,20 +485,10 @@
armada_3700_soc_pad_voltage_set(host);
host->host_caps = MMC_MODE_HS | MMC_MODE_HS_52MHz | MMC_MODE_DDR_52MHz;
- switch (fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev), "bus-width",
- 1)) {
- case 8:
- host->host_caps |= MMC_MODE_8BIT;
- break;
- case 4:
- host->host_caps |= MMC_MODE_4BIT;
- break;
- case 1:
- break;
- default:
- printf("Invalid \"bus-width\" value\n");
- return -EINVAL;
- }
+
+ ret = mmc_of_parse(dev, &plat->cfg);
+ if (ret)
+ return ret;
host->ops = &xenon_sdhci_ops;