From 405d20bcb33efccd16a7164e318adeb954d7639a Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 15 Dec 2014 23:27:25 +0100 Subject: [PATCH] fireinfo: Import latest patches --- config/rootfiles/core/86/filelists/fireinfo | 1 + lfs/fireinfo | 1 + ...crash-when-no-bogomips-are-available.patch | 2 +- ...board-model-from-device-tree-in-proc.patch | 2 +- ...endor-model-for-ARM-to-old-behaviour.patch | 70 +++++++++++++++++++ 5 files changed, 74 insertions(+), 2 deletions(-) create mode 120000 config/rootfiles/core/86/filelists/fireinfo create mode 100644 src/patches/fireinfo/0003-Revert-vendor-model-for-ARM-to-old-behaviour.patch diff --git a/config/rootfiles/core/86/filelists/fireinfo b/config/rootfiles/core/86/filelists/fireinfo new file mode 120000 index 0000000000..c46115521f --- /dev/null +++ b/config/rootfiles/core/86/filelists/fireinfo @@ -0,0 +1 @@ +../../../common/fireinfo \ No newline at end of file diff --git a/lfs/fireinfo b/lfs/fireinfo index 0bc8d44dab..78a5e37a69 100644 --- a/lfs/fireinfo +++ b/lfs/fireinfo @@ -73,6 +73,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo/0001-bogomips-Don-t-crash-when-no-bogomips-are-available.patch cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo/0002-ARM-Read-board-model-from-device-tree-in-proc.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo/0003-Revert-vendor-model-for-ARM-to-old-behaviour.patch cd $(DIR_APP) && [ -x "configure" ] || sh ./autogen.sh cd $(DIR_APP) && ./configure --prefix=/usr diff --git a/src/patches/fireinfo/0001-bogomips-Don-t-crash-when-no-bogomips-are-available.patch b/src/patches/fireinfo/0001-bogomips-Don-t-crash-when-no-bogomips-are-available.patch index f228d527a1..c1f8a77d86 100644 --- a/src/patches/fireinfo/0001-bogomips-Don-t-crash-when-no-bogomips-are-available.patch +++ b/src/patches/fireinfo/0001-bogomips-Don-t-crash-when-no-bogomips-are-available.patch @@ -1,7 +1,7 @@ From a9401d9542fae575d9ce2bb534cd4e598e9c7b8e Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 28 Oct 2014 21:14:41 +0100 -Subject: [PATCH 1/2] bogomips: Don't crash when no bogomips are available +Subject: [PATCH 1/3] bogomips: Don't crash when no bogomips are available The RPi doesn't provide bogomips in /proc/cpuinfo any more and fireinfo crashed when trying to read that file diff --git a/src/patches/fireinfo/0002-ARM-Read-board-model-from-device-tree-in-proc.patch b/src/patches/fireinfo/0002-ARM-Read-board-model-from-device-tree-in-proc.patch index de65400190..5ea1e44cf7 100644 --- a/src/patches/fireinfo/0002-ARM-Read-board-model-from-device-tree-in-proc.patch +++ b/src/patches/fireinfo/0002-ARM-Read-board-model-from-device-tree-in-proc.patch @@ -1,7 +1,7 @@ From b9a068e26261007d4a0592fcb47f82658af2c775 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 3 Nov 2014 21:33:45 +0100 -Subject: [PATCH 2/2] ARM: Read board model from device-tree in /proc +Subject: [PATCH 2/3] ARM: Read board model from device-tree in /proc --- src/fireinfo/system.py | 35 +++++++++-------------------------- diff --git a/src/patches/fireinfo/0003-Revert-vendor-model-for-ARM-to-old-behaviour.patch b/src/patches/fireinfo/0003-Revert-vendor-model-for-ARM-to-old-behaviour.patch new file mode 100644 index 0000000000..66fbfe111c --- /dev/null +++ b/src/patches/fireinfo/0003-Revert-vendor-model-for-ARM-to-old-behaviour.patch @@ -0,0 +1,70 @@ +From 810fe43289f5b003cbf80ebb1d9a79f52a767cdb Mon Sep 17 00:00:00 2001 +From: Michael Tremer +Date: Mon, 15 Dec 2014 22:48:26 +0100 +Subject: [PATCH 3/3] Revert vendor/model for ARM to old behaviour + +--- + src/fireinfo/system.py | 33 +++++++++++++++++++++++++++++---- + 1 file changed, 29 insertions(+), 4 deletions(-) + +diff --git a/src/fireinfo/system.py b/src/fireinfo/system.py +index 195832e9f7eb..ce33837af747 100644 +--- a/src/fireinfo/system.py ++++ b/src/fireinfo/system.py +@@ -304,6 +304,27 @@ class System(object): + """ + return read_from_file("/sys/class/dmi/id/bios_vendor") + ++ def vendor_model_tuple(self): ++ try: ++ s = self.__cpuinfo["Hardware"] ++ except KeyError: ++ return (None, None) ++ ++ if s.startswith("ARM-Versatile"): ++ return ("ARM", s) ++ ++ try: ++ v, m = s.split(" ", 1) ++ except ValueError: ++ if s.startswith("BCM"): ++ v = "Broadcom" ++ m = s ++ else: ++ v = None ++ m = s ++ ++ return v, m ++ + @property + def vendor(self): + """ +@@ -316,10 +337,10 @@ class System(object): + break + + if ret is None: +- try: +- return self.__cpuinfo["Hardware"] +- except KeyError: +- pass ++ if os.path.exists("/proc/device-tree"): ++ ret = self.__cpuinfo.get("Hardware", None) ++ else: ++ ret, m = self.vendor_model_tuple() + + return ret + +@@ -340,6 +361,10 @@ class System(object): + # replace the NULL byte with which the DT string ends + ret = ret.replace(u"\u0000", "") + ++ # Fall back to read /proc/cpuinfo ++ if not ret: ++ v, ret = self.vendor_model_tuple() ++ + return ret + + @property +-- +1.9.3 + -- 2.39.2