summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorSaket Sinha <saket.sinha89@gmail.com>2015-08-22 12:20:55 +0530
committerSimon Glass <sjg@chromium.org>2015-08-26 07:54:13 -0700
commit867bcb63e79f66bc88d4546d132c5895ea339a66 (patch)
treecbb8f29bce91af6f15445354f874f2fd1cbf51d1 /scripts
parentdce54dd6c70e6af9a1b506ed45c0cfc9a90fcc92 (diff)
downloadu-boot-867bcb63e79f66bc88d4546d132c5895ea339a66.tar.gz
u-boot-867bcb63e79f66bc88d4546d132c5895ea339a66.tar.bz2
u-boot-867bcb63e79f66bc88d4546d132c5895ea339a66.zip
x86: Generate a valid ACPI table
Implement write_acpi_table() to create a minimal working ACPI table. This includes writing FACS, XSDT, RSDP, FADT, MCFG, MADT, DSDT & SSDT ACPI table entries. Use a Kconfig option GENERATE_ACPI_TABLE to tell U-Boot whether we need actually write the APCI table just like we did for PIRQ routing, MP table and SFI tables. With ACPI table existence, linux kernel gets control of power management, thermal management, configuration management and monitoring in hardware. Signed-off-by: Saket Sinha <saket.sinha89@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tidied up whitespace and aligned some tabs: Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/Makefile.lib11
1 files changed, 11 insertions, 0 deletions
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 1c949fc0eb..ed30bf5bb9 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -297,6 +297,17 @@ $(obj)/%.dtb: $(src)/%.dts FORCE
dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp)
+# ACPI
+# ---------------------------------------------------------------------------
+quiet_cmd_acpi_c_asl= ASL $@
+cmd_acpi_c_asl= \
+ $(CPP) -x assembler-with-cpp -P -o $<.tmp $<; \
+ iasl -p $< -tc -va $<.tmp; \
+ mv $(patsubst %.asl,%.hex,$<) $@
+
+$(obj)/%.c: $(src)/%.asl
+ $(call cmd,acpi_c_asl)
+
# Bzip2
# ---------------------------------------------------------------------------