Go to file
Mathias Kresin 8fb714edd6 uboot-lantiq: danube: fix hanging lzma kernel uncompression
At least since gcc 7.3.0 (OpenWrt 18.06) lwr/lwl are used in the
assembly of LzmaProps_Decode. While the decission made by the compiler
looks perfect fine, it triggers some obscure hang on lantiq danube-s
v1.5 with MX29LV640EB NOR flash chips.

Only if the offset 1 is used, the hang can be observed. Using any other
offset works fine:

  lwl s0,0(a1) - s0 == 0x6d000080
  lwl s0,1(a1) - hangs
  lwl s0,2(a1) - s0 == 0x0080xxxx
  lwl s0,3(a1) - s0 == 0x80xxxxxx

It isn't clear whether it is a limitation of the flash chip, the EBU or
something else.

Force 8bit reads to prevent gcc optimizing the read with lwr/lwl
instructions.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2021-11-14 21:36:15 +01:00
.github build: Update README & github help 2018-07-08 09:41:53 +01:00
config toolchain: kernel-headers: kernel Git tree mirror hash 2020-12-05 20:50:19 +01:00
include kernel: bump 4.14 to 4.14.254 2021-11-07 19:49:50 +01:00
package uboot-lantiq: danube: fix hanging lzma kernel uncompression 2021-11-14 21:36:15 +01:00
scripts scripts: bundle-libraries.sh: fix broken SDK compiler 2021-03-20 13:44:44 +01:00
target kernel: bump 4.14 to 4.14.254 2021-11-07 19:49:50 +01:00
toolchain glibc: update to latest 2.27 commit 2021-01-01 14:31:49 +01:00
tools tools/m4: update to 1.4.19 2021-11-07 19:49:57 +01:00
.gitattributes add .gitattributes to prevent the git autocrlf option from messing with CRLF/LF in files 2012-05-08 13:30:49 +00:00
.gitignore gitignore: add .ccache folder 2021-06-14 11:52:25 +02:00
BSDmakefile add missing copyright header 2007-02-26 01:05:09 +00:00
Config.in merge: base: update base-files and basic config 2017-12-08 19:41:18 +01:00
LICENSE finally move buildroot-ng to trunk 2016-03-20 17:29:15 +01:00
Makefile build: refactor JSON info files to `profiles.json` 2020-06-30 22:12:58 +02:00
README build: README punctuation pendantry 2018-07-08 12:05:16 +01:00
feeds.conf.default OpenWrt v19.07.8: revert to branch defaults 2021-08-01 18:46:20 +02:00
rules.mk cmake.mk,rules.mk: fix host builds using CMake and ccache 2020-12-05 20:50:19 +01:00

README

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------

This is the buildsystem for the OpenWrt Linux distribution.

To build your own firmware you need a Linux, BSD or MacOSX system (case
sensitive filesystem required). Cygwin is unsupported because of the lack
of a case sensitive file system.

You need gcc, binutils, bzip2, flex, python, perl, make, find, grep, diff,
unzip, gawk, getopt, subversion, libz-dev and libc headers installed.

1. Run "./scripts/feeds update -a" to obtain all the latest package definitions
defined in feeds.conf / feeds.conf.default

2. Run "./scripts/feeds install -a" to install symlinks for all obtained
packages into package/feeds/

3. Run "make menuconfig" to select your preferred configuration for the
toolchain, target system & firmware packages.

4. Run "make" to build your firmware. This will download all sources, build
the cross-compile toolchain and then cross-compile the Linux kernel & all
chosen applications for your target system.

Sunshine!
	Your OpenWrt Community
	http://www.openwrt.org