Author: jcrouse
Date: 2008-02-22 22:53:59 +0100 (Fri, 22 Feb 2008)
New Revision: 130

Added:
   buildrom-devel/packages/geodevsa/openvsa.inc
Modified:
   buildrom-devel/config/platforms/Config.in
   buildrom-devel/packages/geodevsa/geodevsa.mk
Log:
[BUILDROM] Add openVSA

Add OpenVSA as an option for Geode platform rather the AMD 
or classic VSA. 

Signed-off-by: Jordan Crouse <[EMAIL PROTECTED]>
Acked-by: Ward Vandewege: <[EMAIL PROTECTED]>


Modified: buildrom-devel/config/platforms/Config.in
===================================================================
--- buildrom-devel/config/platforms/Config.in   2008-02-22 21:52:09 UTC (rev 
129)
+++ buildrom-devel/config/platforms/Config.in   2008-02-22 21:53:59 UTC (rev 
130)
@@ -125,6 +125,23 @@
        select PLATFORM_SUPPORT_64BIT
 endchoice
 
+choice
+       prompt "Geode VSA SMM handler"
+       depends PLATFORM_GEODE
+       default VSA_LEGACY
+       help
+         Select the SMM handler source to use with Geode platforms
+
+config VSA_LEGACY
+       bool "Legacy VSA binary from AMD"
+
+config VSA_OPENVSA
+       bool "OpenVSA"
+       depends EXPERIMENTAL
+
+endchoice
+
+
 config BUILD_QEMU
        bool "Build QEMU with patches for LinuxBIOS"
        depends PLATFORM_QEMU-X86

Modified: buildrom-devel/packages/geodevsa/geodevsa.mk
===================================================================
--- buildrom-devel/packages/geodevsa/geodevsa.mk        2008-02-22 21:52:09 UTC 
(rev 129)
+++ buildrom-devel/packages/geodevsa/geodevsa.mk        2008-02-22 21:53:59 UTC 
(rev 130)
@@ -12,8 +12,18 @@
 VSA_BUILD_TARGET = $(GEODE_UNCOMPRESSED_VSA)
 endif
 
+VSA_CLEAN_TARGET=
+VSA_DISTCLEAN_TARGET=
+
+ifeq ($(CONFIG_VSA_LEGACY),y)
 include $(PACKAGE_DIR)/geodevsa/amdvsa.inc
+else
+include $(PACKAGE_DIR)/geodevsa/openvsa.inc
 
+VSA_CLEAN_TARGET=openvsa-clean
+VSA_DISTCLEAN_TARGET=openvsa-distclean
+endif
+
 $(GEODE_COMPRESSED_VSA): $(GEODE_UNCOMPRESSED_VSA)
        @ $(STAGING_DIR)/bin/nrv2b e $(GEODE_UNCOMPRESSED_VSA) $@ \
        > /dev/null 2>&1
@@ -25,9 +35,9 @@
 
 geodevsa: $(VSA_BUILD_TARGET)
 
-geodevsa-clean:
+geodevsa-clean: $(VSA_CLEAN_TARGET)
        @ rm -f $(GEODE_UNCOMPRESSED_VSA) $(GEODE_COMPRESSED_VSA)
        @ rm -f $(GEODE_PADDED_VSA)
 
-geodevsa-distclean:
+geodevsa-distclean: $(VSA_DISTCLEAN_TARGET)
        @ rm -rf $(OUTPUT_DIR)/vsa

Added: buildrom-devel/packages/geodevsa/openvsa.inc
===================================================================
--- buildrom-devel/packages/geodevsa/openvsa.inc                                
(rev 0)
+++ buildrom-devel/packages/geodevsa/openvsa.inc        2008-02-22 21:53:59 UTC 
(rev 130)
@@ -0,0 +1,53 @@
+# Build target for openVSA - included from geodevsa.mk
+
+OPENVSA_URL=svn://openbios.org/openvsa/trunk/openvsa
+OPENVSA_TAG=6
+
+OPENVSA_DIR=$(BUILD_DIR)/openvsa
+OPENVSA_SRC_DIR=$(OPENVSA_DIR)/svn
+OPENVSA_STAMP_DIR=$(OPENVSA_DIR)/stamps
+OPENVSA_LOG_DIR=$(OPENVSA_DIR)/logs
+OPENVSA_TARBALL=openvsa-svn-$(OPENVSA_TAG).tar.gz
+
+ifeq ($(CONFIG_VERBOSE),y)
+OPENVSA_BUILD_LOG=/dev/stdout
+OPENVSA_FETCH_LOG=/dev/stdout
+else
+OPENVSA_BUILD_LOG=$(OPENVSA_LOG_DIR)/build.log
+OPENVSA_FETCH_LOG=$(OPENVSA_LOG_DIR)/fetch.log
+endif
+
+$(SOURCE_DIR)/$(OPENVSA_TARBALL):
+       @ mkdir -p $(SOURCE_DIR)/openvsa
+       @ mkdir -p $(OPENVSA_LOG_DIR)
+       @ echo "Fetching openvsa..."
+       @ $(BIN_DIR)/fetchsvn.sh $(OPENVSA_URL) $(SOURCE_DIR)/openvsa \
+       $(OPENVSA_TAG) $@ > $(OPENVSA_FETCH_LOG) 2>&1
+
+$(OPENVSA_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(OPENVSA_TARBALL)
+       @ mkdir -p $(OPENVSA_DIR)
+       @ tar -C $(OPENVSA_DIR) -zxf $(SOURCE_DIR)/$(OPENVSA_TARBALL)
+       @ mkdir -p $(OPENVSA_STAMP_DIR)
+       @ touch $@
+
+$(OPENVSA_SRC_DIR)/vsa_lx.bin: $(OPENVSA_STAMP_DIR)/.unpacked
+       @ mkdir -p $(OPENVSA_LOG_DIR)
+       @ echo "Building openvsa..."
+       @(unset LDFLAGS; $(MAKE) -C $(OPENVSA_SRC_DIR) \
+       > $(OPENVSA_BUILD_LOG) 2>&1)
+
+$(GEODE_UNCOMPRESSED_VSA): $(OPENVSA_SRC_DIR)/vsa_lx.bin
+       @ mkdir -p $(shell dirname $(GEODE_UNCOMPRESSED_VSA))
+       @ cp $< $@
+
+openvsa: $(OPENVSA_SRC_DIR)/vsa_lx.bin
+
+openvsa-clean:
+       @ if [ -d $(OPENVSA_SRC_DIR) ]; then \
+       echo "Cleaning openvsa..."; \
+       $(MAKE) -C $(OPENVSA_SRC_DIR) clean > /dev/null 2>&1; \
+       fi
+
+openvsa-distclean:
+       @ rm -rf $(OPENVSA_DIR)
+


-- 
coreboot mailing list
[email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to