diff options
| author | OYTIS <tossel@gmail.com> | 2016-12-23 11:52:53 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-12-23 11:52:53 +0100 |
| commit | 96ed051bfbee1d3c01d9ad7a45ad53c672623a24 (patch) | |
| tree | 60050e1f0dd76d03342b37f8cfacf3cf54b00244 | |
| parent | 1e225f3d9c845081c53b2a462e6f77b4c444449e (diff) | |
| parent | 84fece9878d2fd861ee1f571139f7c4b2011ee56 (diff) | |
| download | meta-updater-96ed051bfbee1d3c01d9ad7a45ad53c672623a24.tar.gz | |
Merge pull request #14 from advancedtelematic/feat/PRO-1974/uboot-bsp
Move u-boot to BSP layers
4 files changed, 1 insertions, 203 deletions
diff --git a/classes/image_types_ota.bbclass b/classes/image_types_ota.bbclass index 253d862..d017904 100644 --- a/classes/image_types_ota.bbclass +++ b/classes/image_types_ota.bbclass | |||
| @@ -14,6 +14,7 @@ IMAGE_DEPENDS_otaimg = "e2fsprogs-native:do_populate_sysroot" | |||
| 14 | # For qemux86 u-boot is not included in any live image and is built separately | 14 | # For qemux86 u-boot is not included in any live image and is built separately |
| 15 | IMAGE_DEPENDS_otaimg_append_qemux86 = " virtual/bootloader:do_deploy" | 15 | IMAGE_DEPENDS_otaimg_append_qemux86 = " virtual/bootloader:do_deploy" |
| 16 | IMAGE_DEPENDS_otaimg_append_qemux86-64 = " virtual/bootloader:do_deploy" | 16 | IMAGE_DEPENDS_otaimg_append_qemux86-64 = " virtual/bootloader:do_deploy" |
| 17 | IMAGE_DEPENDS_otaimg_append_corei7-64-intel-common = " virtual/bootloader:do_deploy" | ||
| 17 | 18 | ||
| 18 | calculate_size () { | 19 | calculate_size () { |
| 19 | BASE=$1 | 20 | BASE=$1 |
diff --git a/recipes-bsp/u-boot/u-boot-ota/0001-Set-up-environment-for-OSTree-integration.patch b/recipes-bsp/u-boot/u-boot-ota/0001-Set-up-environment-for-OSTree-integration.patch deleted file mode 100644 index 5172fdd..0000000 --- a/recipes-bsp/u-boot/u-boot-ota/0001-Set-up-environment-for-OSTree-integration.patch +++ /dev/null | |||
| @@ -1,41 +0,0 @@ | |||
| 1 | From ebb26338d0c2f436a86fd4d7cb8d723a90d6a369 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Anton Gerasimov <anton@advancedtelematic.com> | ||
| 3 | Date: Thu, 15 Sep 2016 17:52:41 +0200 | ||
| 4 | Subject: [PATCH 1/2] Set up environment for OSTree integration | ||
| 5 | |||
| 6 | --- | ||
| 7 | include/configs/qemu-x86.h | 20 ++++++++++++++++++++ | ||
| 8 | 1 file changed, 20 insertions(+) | ||
| 9 | |||
| 10 | diff --git a/include/configs/qemu-x86.h b/include/configs/qemu-x86.h | ||
| 11 | index 78c296f..79df455 100644 | ||
| 12 | --- a/include/configs/qemu-x86.h | ||
| 13 | +++ b/include/configs/qemu-x86.h | ||
| 14 | @@ -74,4 +74,24 @@ | ||
| 15 | #undef CONFIG_ENV_IS_IN_SPI_FLASH | ||
| 16 | #define CONFIG_ENV_IS_NOWHERE | ||
| 17 | |||
| 18 | +#undef CONFIG_BOOTARGS | ||
| 19 | +#define CONFIG_BOOTARGS "root=/dev/hda2 console=ttyS0" | ||
| 20 | + | ||
| 21 | +#undef CONFIG_BOOTDELAY | ||
| 22 | +#define CONFIG_BOOTDELAY 3 | ||
| 23 | + | ||
| 24 | +#undef CONFIG_BOOTCOMMAND | ||
| 25 | +#define CONFIG_BOOTCOMMAND "run loadenv;" \ | ||
| 26 | + "setenv bootargs $bootargs\" console=ttyS0 root=/dev/ram0 rw rootfstype=ext4 rootwait rootdelay=2 ostree_root=/dev/hda ramdisk_size=16384 \";" \ | ||
| 27 | + "ext2load ide 0 $loadaddr \"/boot\"$kernel_image;" \ | ||
| 28 | + "ext2load ide 0 $ramdiskaddr \"/boot\"$ramdisk_image;" \ | ||
| 29 | + "zboot $loadaddr - $ramdiskaddr $filesize" | ||
| 30 | + | ||
| 31 | +#undef CONFIG_EXTRA_ENV_SETTINGS | ||
| 32 | +#define CONFIG_EXTRA_ENV_SETTINGS "kernel_image=/bzImage\0" \ | ||
| 33 | + "ramdisk_image=/initrd\0" \ | ||
| 34 | + "ramdiskaddr=0x4000000\0" \ | ||
| 35 | + "bootdelay=3\0" \ | ||
| 36 | + "loadenv=if ext2load ide 0 $loadaddr /boot/loader/uEnv.txt; then env import -t $loadaddr $filesize; fi;" | ||
| 37 | + | ||
| 38 | #endif /* __CONFIG_H */ | ||
| 39 | -- | ||
| 40 | 2.9.3 | ||
| 41 | |||
diff --git a/recipes-bsp/u-boot/u-boot-ota/0002-Replace-wraps-with-built-in-code-to-remove-dependenc.patch b/recipes-bsp/u-boot/u-boot-ota/0002-Replace-wraps-with-built-in-code-to-remove-dependenc.patch deleted file mode 100644 index 7540b74..0000000 --- a/recipes-bsp/u-boot/u-boot-ota/0002-Replace-wraps-with-built-in-code-to-remove-dependenc.patch +++ /dev/null | |||
| @@ -1,138 +0,0 @@ | |||
| 1 | From ab0d7e270d89f6eb99582197d2d58bf60c9c3d26 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Anton Gerasimov <anton@advancedtelematic.com> | ||
| 3 | Date: Thu, 15 Sep 2016 16:49:32 +0200 | ||
| 4 | Subject: [PATCH 2/2] Replace wraps with built-in code to remove dependency on | ||
| 5 | multilib | ||
| 6 | |||
| 7 | --- | ||
| 8 | arch/x86/config.mk | 2 -- | ||
| 9 | arch/x86/lib/gcc.c | 104 ++++++++++++++++++++++++++++++++++++++++++++--------- | ||
| 10 | 2 files changed, 87 insertions(+), 19 deletions(-) | ||
| 11 | |||
| 12 | diff --git a/arch/x86/config.mk b/arch/x86/config.mk | ||
| 13 | index 999143e..139576e 100644 | ||
| 14 | --- a/arch/x86/config.mk | ||
| 15 | +++ b/arch/x86/config.mk | ||
| 16 | @@ -22,5 +22,3 @@ PLATFORM_RELFLAGS += -ffunction-sections -fvisibility=hidden | ||
| 17 | PLATFORM_LDFLAGS += --emit-relocs -Bsymbolic -Bsymbolic-functions -m elf_i386 | ||
| 18 | |||
| 19 | LDFLAGS_FINAL += --gc-sections -pie | ||
| 20 | -LDFLAGS_FINAL += --wrap=__divdi3 --wrap=__udivdi3 | ||
| 21 | -LDFLAGS_FINAL += --wrap=__moddi3 --wrap=__umoddi3 | ||
| 22 | diff --git a/arch/x86/lib/gcc.c b/arch/x86/lib/gcc.c | ||
| 23 | index 497ad75..c321b11 100644 | ||
| 24 | --- a/arch/x86/lib/gcc.c | ||
| 25 | +++ b/arch/x86/lib/gcc.c | ||
| 26 | @@ -19,22 +19,92 @@ | ||
| 27 | |||
| 28 | #ifdef __GNUC__ | ||
| 29 | |||
| 30 | -/* | ||
| 31 | - * GCC's libgcc handling is quite broken. While the libgcc functions | ||
| 32 | - * are always regparm(0) the code that calls them uses whatever the | ||
| 33 | - * compiler call specifies. Therefore we need a wrapper around those | ||
| 34 | - * functions. See gcc bug PR41055 for more information. | ||
| 35 | - */ | ||
| 36 | -#define WRAP_LIBGCC_CALL(type, name) \ | ||
| 37 | - type __normal_##name(type a, type b) __attribute__((regparm(0))); \ | ||
| 38 | - type __wrap_##name(type a, type b); \ | ||
| 39 | - type __attribute__((no_instrument_function)) \ | ||
| 40 | - __wrap_##name(type a, type b) \ | ||
| 41 | - { return __normal_##name(a, b); } | ||
| 42 | - | ||
| 43 | -WRAP_LIBGCC_CALL(long long, __divdi3) | ||
| 44 | -WRAP_LIBGCC_CALL(unsigned long long, __udivdi3) | ||
| 45 | -WRAP_LIBGCC_CALL(long long, __moddi3) | ||
| 46 | -WRAP_LIBGCC_CALL(unsigned long long, __umoddi3) | ||
| 47 | +#include <stdint.h> | ||
| 48 | +#include <stddef.h> | ||
| 49 | + | ||
| 50 | +uint64_t __udivmoddi4 ( uint64_t num, | ||
| 51 | + uint64_t den, | ||
| 52 | + uint64_t *rem_p ) | ||
| 53 | +{ | ||
| 54 | + uint64_t quot = 0, qbit = 1; | ||
| 55 | + | ||
| 56 | + if ( den == 0 ) { | ||
| 57 | + return 1/((unsigned)den); /* Intentional divide by zero, without | ||
| 58 | + triggering a compiler warning which | ||
| 59 | + would abort the build */ | ||
| 60 | + } | ||
| 61 | + | ||
| 62 | + /* Left-justify denominator and count shift */ | ||
| 63 | + while ( (int64_t)den >= 0 ) { | ||
| 64 | + den <<= 1; | ||
| 65 | + qbit <<= 1; | ||
| 66 | + } | ||
| 67 | + | ||
| 68 | + while ( qbit ) { | ||
| 69 | + if ( den <= num ) { | ||
| 70 | + num -= den; | ||
| 71 | + quot += qbit; | ||
| 72 | + } | ||
| 73 | + den >>= 1; | ||
| 74 | + qbit >>= 1; | ||
| 75 | + } | ||
| 76 | + | ||
| 77 | + if ( rem_p ) | ||
| 78 | + *rem_p = num; | ||
| 79 | + | ||
| 80 | + return quot; | ||
| 81 | +} | ||
| 82 | +uint64_t __udivdi3( uint64_t num, uint64_t den ) | ||
| 83 | +{ | ||
| 84 | + return __udivmoddi4(num, den, NULL); | ||
| 85 | +} | ||
| 86 | + | ||
| 87 | +uint64_t __umoddi3 ( uint64_t num, uint64_t den ) | ||
| 88 | +{ | ||
| 89 | + uint64_t v; | ||
| 90 | + | ||
| 91 | + (void) __udivmoddi4(num, den, &v); | ||
| 92 | + return v; | ||
| 93 | +} | ||
| 94 | + | ||
| 95 | +int64_t __divmoddi4 ( int64_t num, | ||
| 96 | + int64_t den, | ||
| 97 | + int64_t* rem_p ) | ||
| 98 | +{ | ||
| 99 | + int minus = 0; | ||
| 100 | + int64_t v; | ||
| 101 | + | ||
| 102 | + if ( num < 0 ) { | ||
| 103 | + num = -num; | ||
| 104 | + minus = 1; | ||
| 105 | + } | ||
| 106 | + if ( den < 0 ) { | ||
| 107 | + den = -den; | ||
| 108 | + minus ^= 1; | ||
| 109 | + } | ||
| 110 | + | ||
| 111 | + v = __udivmoddi4(num, den, (uint64_t *)rem_p); | ||
| 112 | + if ( minus ) { | ||
| 113 | + v = -v; | ||
| 114 | + if ( rem_p ) | ||
| 115 | + *rem_p = -(*rem_p); | ||
| 116 | + } | ||
| 117 | + | ||
| 118 | + return v; | ||
| 119 | +} | ||
| 120 | + | ||
| 121 | + | ||
| 122 | +int64_t __moddi3 (int64_t num, int64_t den) | ||
| 123 | +{ | ||
| 124 | + int64_t v; | ||
| 125 | + | ||
| 126 | + (void) __divmoddi4(num, den, &v); | ||
| 127 | + return v; | ||
| 128 | +} | ||
| 129 | + | ||
| 130 | +int64_t __divdi3(int64_t num, int64_t den) | ||
| 131 | +{ | ||
| 132 | + return __divmoddi4(num, den, NULL); | ||
| 133 | +} | ||
| 134 | |||
| 135 | #endif | ||
| 136 | -- | ||
| 137 | 2.9.3 | ||
| 138 | |||
diff --git a/recipes-bsp/u-boot/u-boot-ota_2015.07.bb b/recipes-bsp/u-boot/u-boot-ota_2015.07.bb deleted file mode 100644 index ab5d403..0000000 --- a/recipes-bsp/u-boot/u-boot-ota_2015.07.bb +++ /dev/null | |||
| @@ -1,24 +0,0 @@ | |||
| 1 | include recipes-bsp/u-boot/u-boot.inc | ||
| 2 | DEPENDS += "dtc-native" | ||
| 3 | |||
| 4 | LICENSE = "GPLv2+" | ||
| 5 | LIC_FILES_CHKSUM = "file://Licenses/README;md5=0507cd7da8e7ad6d6701926ec9b84c95" | ||
| 6 | |||
| 7 | # This revision corresponds to the tag "v2015.07" | ||
| 8 | # We use the revision in order to avoid having to fetch it from the | ||
| 9 | # repo during parse | ||
| 10 | SRCREV = "baba2f57e8f4ed3fa67fe213d22da0de5e00f204" | ||
| 11 | |||
| 12 | SRC_URI += "file://0001-Set-up-environment-for-OSTree-integration.patch \ | ||
| 13 | file://0002-Replace-wraps-with-built-in-code-to-remove-dependenc.patch \ | ||
| 14 | " | ||
| 15 | |||
| 16 | PV = "v2015.07+git${SRCPV}" | ||
| 17 | |||
| 18 | EXTRA_OEMAKE_append = " KCFLAGS=-fgnu89-inline " | ||
| 19 | EXTRA_OEMAKE_append_qemux86 = " BUILD_ROM=y" | ||
| 20 | EXTRA_OEMAKE_append_qemux86-64 = " BUILD_ROM=y" | ||
| 21 | |||
| 22 | UBOOT_SUFFIX = "bin" | ||
| 23 | UBOOT_SUFFIX_qemux86 = "rom" | ||
| 24 | UBOOT_SUFFIX_qemux86-64 = "rom" | ||
