Message ID | 1456886101-22967-1-git-send-email-afaerber@suse.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Mar 02, 2016 at 03:34:55AM +0100, Andreas Färber wrote: > Hello, > > This series adds initial support for the Amlogic S905 based > Tronsmart Vega S95 Pro, Meta and Telos TV boxes. > > v2: > * Pick up previously acked "tronsmart" patch instead (Matthias) > * Drop ARM_GIC selection (Sudeep) > * Change some compatible strings (Sudeep, André) > * Squash some node changes/additions > > Note: On the Vega S95 I need to change TEXT_OFFSET as follows, > in order to avoid the vendor U-Boot overwriting itself (fwiu); > for the Mini Mx that's reportedly not necessary. > > diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile > index 354d75402ace..b7cebdb8b1ce 100644 > --- a/arch/arm64/Makefile > +++ b/arch/arm64/Makefile > @@ -62,7 +62,7 @@ head-y := arch/arm64/kernel/head.o > ifeq ($(CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET), y) > TEXT_OFFSET := $(shell awk 'BEGIN {srand(); printf "0x%03x000\n", int(512 * rand())}') > else > -TEXT_OFFSET := 0x00080000 > +TEXT_OFFSET := 0x01080000 > endif > > # KASAN_SHADOW_OFFSET = VA_START + (1 << (VA_BITS - 3)) - (1 << 61) Absolute NAK to this. TEXT_OFFSET is not open for platform-specific modification. Why can you not just load the Image 2MB higher regardless? Does the U-Boot on this platform actually read TEXT_OFFSET and take it into account? > This in turn runs into an apparent regression introduced with the > text offset randomization: > > diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S > index 6ebd204da16a..afdec27c8871 100644 > --- a/arch/arm64/kernel/head.S > +++ b/arch/arm64/kernel/head.S > @@ -48,7 +48,7 @@ > #elif (PAGE_OFFSET & 0x1fffff) != 0 > #error PAGE_OFFSET must be at least 2MB aligned > #elif TEXT_OFFSET > 0x1fffff > -#error TEXT_OFFSET must be less than 2MB > +//#error TEXT_OFFSET must be less than 2MB > #endif > > #define KERNEL_START _text This is not a regression. As above, TEXT_OFFSET is not supposed to be modified in a platform-specific manner. Mark.
On Wed, Mar 2, 2016 at 3:34 AM, Andreas Färber <afaerber@suse.de> wrote: > Hello, > > This series adds initial support for the Amlogic S905 based > Tronsmart Vega S95 Pro, Meta and Telos TV boxes. Thank you for working on this. If there will be no more comments in the few next days I'll pick the whole series up. Cheers,
On Tue, Mar 1, 2016 at 6:34 PM, Andreas Färber <afaerber@suse.de> wrote: > This series adds initial support for the Amlogic S905 based > Tronsmart Vega S95 Pro, Meta and Telos TV boxes. > > v2: > * Pick up previously acked "tronsmart" patch instead (Matthias) > * Drop ARM_GIC selection (Sudeep) > * Change some compatible strings (Sudeep, André) > * Squash some node changes/additions > > Note: On the Vega S95 I need to change TEXT_OFFSET as follows, > in order to avoid the vendor U-Boot overwriting itself (fwiu); > for the Mini Mx that's reportedly not necessary. FYI, the Amlogic P200 dev board also needs this hack with the factory u-boot. Kevin
Am 21.03.2016 um 23:36 schrieb Kevin Hilman: > On Tue, Mar 1, 2016 at 6:34 PM, Andreas Färber <afaerber@suse.de> wrote: > >> Note: On the Vega S95 I need to change TEXT_OFFSET as follows, >> in order to avoid the vendor U-Boot overwriting itself (fwiu); >> for the Mini Mx that's reportedly not necessary. > > FYI, the Amlogic P200 dev board also needs this hack with the factory u-boot. I have meanwhile found that mkimage -A arm64 -O linux -T kernel -C none -a 0x1080000 -e 0x1080000 \ -n linux-next -d arch/arm64/boot/Image ../uImage and then using bootm instead of booti works even without the above hack on the Vega S95. Not a satisfactory solution yet, but better than patching the kernel in a distro-incompatible way. Regards, Andreas
On Tue, Mar 22, 2016 at 9:29 PM, Andreas Färber <afaerber@suse.de> wrote: > Am 21.03.2016 um 23:36 schrieb Kevin Hilman: >> On Tue, Mar 1, 2016 at 6:34 PM, Andreas Färber <afaerber@suse.de> wrote: >> >>> Note: On the Vega S95 I need to change TEXT_OFFSET as follows, >>> in order to avoid the vendor U-Boot overwriting itself (fwiu); >>> for the Mini Mx that's reportedly not necessary. >> >> FYI, the Amlogic P200 dev board also needs this hack with the factory u-boot. > > I have meanwhile found that > > mkimage -A arm64 -O linux -T kernel -C none -a 0x1080000 -e 0x1080000 \ > -n linux-next -d arch/arm64/boot/Image ../uImage > > and then using bootm instead of booti works even without the above hack > on the Vega S95. Not a satisfactory solution yet, but better than > patching the kernel in a distro-incompatible way. I wonder if we can add this kind of information in Documentation/arm/meson/. Probably it could be handy until we have a proper u-boot porting.
Andreas Färber <afaerber@suse.de> writes: > Am 21.03.2016 um 23:36 schrieb Kevin Hilman: >> On Tue, Mar 1, 2016 at 6:34 PM, Andreas Färber <afaerber@suse.de> wrote: >> >>> Note: On the Vega S95 I need to change TEXT_OFFSET as follows, >>> in order to avoid the vendor U-Boot overwriting itself (fwiu); >>> for the Mini Mx that's reportedly not necessary. >> >> FYI, the Amlogic P200 dev board also needs this hack with the factory u-boot. > > I have meanwhile found that > > mkimage -A arm64 -O linux -T kernel -C none -a 0x1080000 -e 0x1080000 \ > -n linux-next -d arch/arm64/boot/Image ../uImage > > and then using bootm instead of booti works even without the above hack > on the Vega S95. Not a satisfactory solution yet, but better than > patching the kernel in a distro-incompatible way. Thanks for sharing. I can confirm this is working for me too. Kevin
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile index 354d75402ace..b7cebdb8b1ce 100644 --- a/arch/arm64/Makefile +++ b/arch/arm64/Makefile @@ -62,7 +62,7 @@ head-y := arch/arm64/kernel/head.o ifeq ($(CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET), y) TEXT_OFFSET := $(shell awk 'BEGIN {srand(); printf "0x%03x000\n", int(512 * rand())}') else -TEXT_OFFSET := 0x00080000 +TEXT_OFFSET := 0x01080000 endif # KASAN_SHADOW_OFFSET = VA_START + (1 << (VA_BITS - 3)) - (1 << 61) This in turn runs into an apparent regression introduced with the text offset randomization: diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S index 6ebd204da16a..afdec27c8871 100644 --- a/arch/arm64/kernel/head.S +++ b/arch/arm64/kernel/head.S @@ -48,7 +48,7 @@ #elif (PAGE_OFFSET & 0x1fffff) != 0 #error PAGE_OFFSET must be at least 2MB aligned #elif TEXT_OFFSET > 0x1fffff -#error TEXT_OFFSET must be less than 2MB +//#error TEXT_OFFSET must be less than 2MB #endif #define KERNEL_START _text