Martin Roth (martinroth(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12542
-gerrit
commit d22ac163f98e93a260ebde48f0e53da85b4e6f00
Author: Martin Roth <martinroth(a)google.com>
Date: Wed Nov 25 12:50:25 2015 -0700
Makefile: Individualize help targets & set as non-compile targets
- Including the help targets in the list of NOCOMPILE targets means they
can run even if the toolchain is mucked up. Since they contain info on
building the toolchin, this is useful.
- Separate the three current parts of the help target into individual
components: help_coreboot, help_toolchain, and help_kconfig. This is
mostly for the help_toolchin target which will be printed out by
toolchain.inc.
Change-Id: I365d95fd63e22bddd122fb1fede6f04270e03d63
Signed-off-by: Martin Roth <martinroth(a)google.com>
---
Makefile | 6 +++---
Makefile.inc | 4 ++--
util/kconfig/Makefile | 4 ++--
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/Makefile b/Makefile
index 05da7be..8eef124 100644
--- a/Makefile
+++ b/Makefile
@@ -93,8 +93,8 @@ DOXYGEN_OUTPUT_DIR := doxygen
all: real-all
-help_coreboot help::
- @echo '*** coreboot platform targets ***'
+help::
+ @echo '*** coreboot platform ***'
@echo ' Use "make [target] V=1" for extra build debug information'
@echo ' all - Build coreboot'
@echo ' clean - Remove coreboot build artifacts'
@@ -121,7 +121,7 @@ ifeq ($(strip $(HAVE_DOTCONFIG)),)
NOCOMPILE:=1
endif
ifneq ($(MAKECMDGOALS),)
-ifneq ($(filter %config %clean cross% clang iasl lint% what-jenkins-does,$(MAKECMDGOALS)),)
+ifneq ($(filter %config %clean cross% clang iasl lint% help% what-jenkins-does,$(MAKECMDGOALS)),)
NOCOMPILE:=1
endif
ifeq ($(MAKECMDGOALS), %clean)
diff --git a/Makefile.inc b/Makefile.inc
index a1c882b..8caf36b 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -446,8 +446,8 @@ gitconfig:
git config remote.origin.push HEAD:refs/for/master
(git config --global user.name >/dev/null && git config --global user.email >/dev/null) || (printf 'Please configure your name and email in git:\n\n git config --global user.name "Your Name Comes Here"\n git config --global user.email your.email(a)example.com\n'; exit 1)
-help::
- @echo '*** Toolchain ***'
+help_toolchain help::
+ @echo '*** Toolchain targets ***'
@echo ' crossgcc - Build coreboot cross-compilers for all platforms'
@echo ' crosstools - Build coreboot cross-compiler and GDB for all platforms'
@echo ' crossgcc-clean - Remove all built coreboot cross-compilers'
diff --git a/util/kconfig/Makefile b/util/kconfig/Makefile
index a468125..cec676b 100644
--- a/util/kconfig/Makefile
+++ b/util/kconfig/Makefile
@@ -104,8 +104,8 @@ olddefconfig: $(objk)/conf
$< --defconfig=configs/$@ $(Kconfig)
# Help text used by make help
-help::
- @echo '*** Kconfig Help ***'
+help_kconfig help::
+ @echo '*** Kconfig Targets ***'
@echo ' config - Update current config utilising a line-oriented program'
@echo ' nconfig - Update current config utilising a ncurses menu based program'
@echo ' menuconfig - Update current config utilising a menu based program'
Martin Roth (martinroth(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12543
-gerrit
commit 53fc7cb80e5544d5371f79253856906af5c014c7
Author: Martin Roth <martinroth(a)google.com>
Date: Wed Nov 25 12:44:15 2015 -0700
toolchain.inc: Add IASL test as part of coreboot toolchain
Even though coreboot has IASL as part of its toolchain, it was not being
picked up when testing to make sure coreboot is being compiled with
the coreboot toolchain.
- Add iasl test when testing coreboot toolchain
- update instructions for building, and how to allow building with
any toolchain.
Change-Id: I5b989869417c3f60057a91842b911855d9528f1b
Signed-off-by: Martin Roth <martinroth(a)google.com>
---
toolchain.inc | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/toolchain.inc b/toolchain.inc
index 0f3da83..1b73ce9 100644
--- a/toolchain.inc
+++ b/toolchain.inc
@@ -151,14 +151,27 @@ ifneq ($(NOCOMPILE),1)
# only run if we're doing a build (not for tests, kconfig, ...), using gcc
# rationale: gcc versions by Linux distributions tend to be quite messed up
COMPILERFAIL:=0
+IASLFAIL:=0
ifeq ($(CONFIG_COMPILER_GCC),y)
ifneq ($(CONFIG_ANY_TOOLCHAIN),y)
$(foreach arch,$(sort $(foreach stage,$(COREBOOT_STANDARD_STAGES),$(ARCH-$(stage)-y))), \
$(if $(shell $(CC_$(arch)) -v 2>&1 |grep -q "gcc version .*coreboot toolchain" || echo not-coreboot), \
- $(eval COMPILERFAIL:=1)$(warning Please use the coreboot toolchain for '$(arch)' (or prove that your toolchain works))))
+ $(eval COMPILERFAIL:=1)$(warning Please use the coreboot toolchain for '$(arch)')))
+#if iasl doesn't match the current coreboot version, fail the test
+$(if $(shell $(IASL) -v 2>&1 | grep -q "$(shell util/crossgcc/buildgcc -s iasl)" || echo not-coreboot), \
+ $(eval COMPILERFAIL:=1)$(eval IASLFAIL:=1)$(warning Please use the coreboot toolchain version of iasl - $(shell util/crossgcc/buildgcc -s iasl)))
endif
endif
endif
ifeq ($(COMPILERFAIL),1)
-$(error consider building our compilers: make crossgcc)
+$(warning )
+$(warning To build the entire coreboot toolchain: make crossgcc)
+ifeq ($(IASLFAIL),1)
+$(warning To build just IASL: make iasl)
+endif
+$(warning For more toolchain build targets: make help_toolchain)
+$(warning )
+$(warning *** To try to use your own toolchain, run 'make menuconfig', then select the)
+$(warning *** config option: General setup -> Allow building with any toolchain)
+$(error Note that this is NOT supported. Using it means you're on your own)
endif
Martin Roth (martinroth(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12544
-gerrit
commit de24276ed911bb059d61165bcfa01af369fd7cc6
Author: Martin Roth <martinroth(a)google.com>
Date: Wed Nov 25 13:11:44 2015 -0700
asrock/e350m1: Fix IASL warnings
Both of these 'fixes' need to be looked at further, and fixed in a LOT
of places however we decide to fix them.
*** Method Local is set but never used ***
I added a load of another value into Local1, doing something similar
to the _OSI example from the ACPI spec. This fixes the IASL warning,
although it's a kludge. A better solution might be if IASL had a
way to disable the warning in that specific area. I can disable the
warning completely from the command line, but I don't want to do that.
However: This code is never even run, because we set the assumption
that we're running linux, and bail out immediately. I don't even know
if the value is used anywhere.
Fixes IASL warning:
dsdt.aml 22: if(CondRefOf(\_OSI,Local1))
Warning 3144 - ^ Method Local is set but never used
(Local1)
***Duplicate value in list ***
I'm not positive of what the intention here was. The comment says that
we're clearing PciExpWakeStatus though, so let's actually clear it.
Since this wasn't actually doing anything before, it might be better
if the line were just deleted.
Fixes IASL warning:
dsdt.aml 1396: Store(PWST, PWST)
Warning 3023 - ^ Duplicate value in list
(Source is the same as Target)
Change-Id: I055de90ee5d44af8b7cbb5af02a82f7109638a18
Signed-off-by: Martin Roth <martinroth(a)google.com>
---
src/mainboard/asrock/e350m1/acpi/mainboard.asl | 3 ++-
src/mainboard/asrock/e350m1/acpi/sleep.asl | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/mainboard/asrock/e350m1/acpi/mainboard.asl b/src/mainboard/asrock/e350m1/acpi/mainboard.asl
index 57a414e..ca98bc0 100644
--- a/src/mainboard/asrock/e350m1/acpi/mainboard.asl
+++ b/src/mainboard/asrock/e350m1/acpi/mainboard.asl
@@ -43,7 +43,8 @@ Scope(\_SB) {
Store(2, OSVR)
}
} else {
- If(WCMP(\_OS,"Linux")) {
+ Store(\_OS, Local1)
+ If(LEqual(Local1,"Linux")) {
Store(3, OSVR) /* Linux */
} Else {
Store(4, OSVR) /* Gotta be WinCE */
diff --git a/src/mainboard/asrock/e350m1/acpi/sleep.asl b/src/mainboard/asrock/e350m1/acpi/sleep.asl
index e043ee2..8cbc5e3 100644
--- a/src/mainboard/asrock/e350m1/acpi/sleep.asl
+++ b/src/mainboard/asrock/e350m1/acpi/sleep.asl
@@ -104,7 +104,7 @@ Method(\_WAK, 1) {
}
/* Arbitrarily clear PciExpWakeStatus */
- Store(PWST, PWST)
+ Store(Zero, PWST)
/* if(DeRefOf(Index(WKST,0))) {
* Store(0, Index(WKST,1))
Martin Roth (martinroth(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12543
-gerrit
commit eced8b087e25129c61ec048b0131c9e60bb2adcf
Author: Martin Roth <martinroth(a)google.com>
Date: Wed Nov 25 12:44:15 2015 -0700
toolchain.inc: Add IASL test as part of coreboot toolchain
Even though coreboot has IASL as part of its toolchain, it was not being
picked up when testing to make sure coreboot is being compiled with
the coreboot toolchain.
- Add iasl test when testing coreboot toolchain
- update instructions for building, and how to allow building with
any toolchain.
Change-Id: I5b989869417c3f60057a91842b911855d9528f1b
Signed-off-by: Martin Roth <martinroth(a)google.com>
---
toolchain.inc | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/toolchain.inc b/toolchain.inc
index 0f3da83..7a3f576 100644
--- a/toolchain.inc
+++ b/toolchain.inc
@@ -151,14 +151,28 @@ ifneq ($(NOCOMPILE),1)
# only run if we're doing a build (not for tests, kconfig, ...), using gcc
# rationale: gcc versions by Linux distributions tend to be quite messed up
COMPILERFAIL:=0
+IASLFAIL:=0
ifeq ($(CONFIG_COMPILER_GCC),y)
ifneq ($(CONFIG_ANY_TOOLCHAIN),y)
$(foreach arch,$(sort $(foreach stage,$(COREBOOT_STANDARD_STAGES),$(ARCH-$(stage)-y))), \
$(if $(shell $(CC_$(arch)) -v 2>&1 |grep -q "gcc version .*coreboot toolchain" || echo not-coreboot), \
- $(eval COMPILERFAIL:=1)$(warning Please use the coreboot toolchain for '$(arch)' (or prove that your toolchain works))))
+ $(eval COMPILERFAIL:=1)$(warning Please use the coreboot toolchain for '$(arch)')))
+#if iasl was just found in the path instead of the coreboot tools dir, fail the toolchain.
+ifeq ($(IASL),iasl)
+$(eval COMPILERFAIL:=1)$(eval IASLFAIL:=1)$(warning Please use the coreboot toolchain version of iasl)
+endif
endif
endif
endif
ifeq ($(COMPILERFAIL),1)
-$(error consider building our compilers: make crossgcc)
+$(warning )
+$(warning To build the entire coreboot toolchain: make crossgcc)
+ifeq ($(IASLFAIL),1)
+$(warning To build just IASL: make iasl)
+endif
+$(warning For more toolchain build targets: make help_toolchain)
+$(warning )
+$(warning *** To try to use your own toolchain, run 'make menuconfig', then select the)
+$(warning *** config option: General setup -> Allow building with any toolchain)
+$(error Note that this is NOT supported. Using it means you're on your own)
endif
Martin Roth (martinroth(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12542
-gerrit
commit df3a579aacedf226108bda1386d41539d2c8009a
Author: Martin Roth <martinroth(a)google.com>
Date: Wed Nov 25 12:50:25 2015 -0700
Makefile: Individualize help targets & set as non-compile targets
- Including the help targets in the list of NOCOMPILE targets means they
can run even if the toolchain is mucked up. Since they contain info on
building the toolchin, this is useful.
- Separate the three current parts of the help target into individual
components: help_coreboot, help_toolchain, and help_kconfig. This is
mostly for the help_toolchin target which will be printed out by
toolchain.inc.
Change-Id: I365d95fd63e22bddd122fb1fede6f04270e03d63
Signed-off-by: Martin Roth <martinroth(a)google.com>
---
Makefile | 6 +++---
Makefile.inc | 4 ++--
util/kconfig/Makefile | 4 ++--
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/Makefile b/Makefile
index fde0914..a8c3bd0 100644
--- a/Makefile
+++ b/Makefile
@@ -93,8 +93,8 @@ DOXYGEN_OUTPUT_DIR := doxygen
all: real-all
-help::
- @echo '*** coreboot platform ***'
+help_coreboot help::
+ @echo '*** coreboot platform targets ***'
@echo ' Use "make [target] V=1" for extra build debug information'
@echo ' all - Build coreboot'
@echo ' clean - Remove coreboot build artifacts'
@@ -121,7 +121,7 @@ ifeq ($(strip $(HAVE_DOTCONFIG)),)
NOCOMPILE:=1
endif
ifneq ($(MAKECMDGOALS),)
-ifneq ($(filter %config %clean cross% lint% what-jenkins-does,$(MAKECMDGOALS)),)
+ifneq ($(filter %config %clean cross% lint% help% what-jenkins-does,$(MAKECMDGOALS)),)
NOCOMPILE:=1
endif
ifeq ($(MAKECMDGOALS), %clean)
diff --git a/Makefile.inc b/Makefile.inc
index a1c882b..8caf36b 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -446,8 +446,8 @@ gitconfig:
git config remote.origin.push HEAD:refs/for/master
(git config --global user.name >/dev/null && git config --global user.email >/dev/null) || (printf 'Please configure your name and email in git:\n\n git config --global user.name "Your Name Comes Here"\n git config --global user.email your.email(a)example.com\n'; exit 1)
-help::
- @echo '*** Toolchain ***'
+help_toolchain help::
+ @echo '*** Toolchain targets ***'
@echo ' crossgcc - Build coreboot cross-compilers for all platforms'
@echo ' crosstools - Build coreboot cross-compiler and GDB for all platforms'
@echo ' crossgcc-clean - Remove all built coreboot cross-compilers'
diff --git a/util/kconfig/Makefile b/util/kconfig/Makefile
index a468125..cec676b 100644
--- a/util/kconfig/Makefile
+++ b/util/kconfig/Makefile
@@ -104,8 +104,8 @@ olddefconfig: $(objk)/conf
$< --defconfig=configs/$@ $(Kconfig)
# Help text used by make help
-help::
- @echo '*** Kconfig Help ***'
+help_kconfig help::
+ @echo '*** Kconfig Targets ***'
@echo ' config - Update current config utilising a line-oriented program'
@echo ' nconfig - Update current config utilising a ncurses menu based program'
@echo ' menuconfig - Update current config utilising a menu based program'