WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH 10 of 11] tools: hvmloader: build and install hvmload

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH 10 of 11] tools: hvmloader: build and install hvmloader-rombios
From: Ian Campbell <ian.campbell@xxxxxxxxxx>
Date: Tue, 05 Apr 2011 16:46:35 +0100
Cc: Ian Campbell <ian.campbell@xxxxxxxxxx>
Delivery-date: Tue, 05 Apr 2011 08:55:15 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <patchbomb.1302018385@xxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <patchbomb.1302018385@xxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mercurial-patchbomb/1.6.4
# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1302013752 -3600
# Node ID c387185f0a254c794b73d71d282fb941d3de5d98
# Parent  c2fe8249899ee1772973f93897dd7cf960367822
tools: hvmloader: build and install hvmloader-rombios

Retain the hvmloader name as a compatibility symlink.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

diff -r c2fe8249899e -r c387185f0a25 .hgignore
--- a/.hgignore Tue Apr 05 15:29:12 2011 +0100
+++ b/.hgignore Tue Apr 05 15:29:12 2011 +0100
@@ -142,7 +142,7 @@
 ^tools/firmware/extboot/signrom$
 ^tools/firmware/hvmloader/acpi/dsdt.*\.c$
 ^tools/firmware/hvmloader/acpi/ssdt_.*\.h$
-^tools/firmware/hvmloader/hvmloader$
+^tools/firmware/hvmloader/hvmloader-rombios$
 ^tools/firmware/hvmloader/roms\.h$
 ^tools/firmware/rombios/BIOS-bochs-[^/]*$
 ^tools/firmware/rombios/_rombios[^/]*_\.c$
diff -r c2fe8249899e -r c387185f0a25 tools/firmware/Makefile
--- a/tools/firmware/Makefile   Tue Apr 05 15:29:12 2011 +0100
+++ b/tools/firmware/Makefile   Tue Apr 05 15:29:12 2011 +0100
@@ -2,7 +2,7 @@ XEN_ROOT = $(CURDIR)/../..
 include $(XEN_ROOT)/tools/Rules.mk
 
 # hvmloader is a 32-bit protected mode binary.
-TARGET      := hvmloader/hvmloader
+TARGET_ROMBIOS      := hvmloader/hvmloader-rombios
 INST_DIR := $(DESTDIR)$(XENFIRMWAREDIR)
 
 SUBDIRS :=
@@ -26,7 +26,8 @@ all:
 .PHONY: install
 install: all
        [ -d $(INST_DIR) ] || $(INSTALL_DIR) $(INST_DIR)
-       [ ! -e $(TARGET) ] || $(INSTALL_DATA) $(TARGET) $(INST_DIR)
+       [ ! -e $(TARGET_ROMBIOS) ] || $(INSTALL_DATA) $(TARGET_ROMBIOS) 
$(INST_DIR)
+       [ ! -e $(TARGET_ROMBIOS) ] || ln -nfs hvmloader-rombios 
$(INST_DIR)/hvmloader
 
 .PHONY: clean
 clean: subdirs-clean
@@ -35,4 +36,4 @@ clean: subdirs-clean
 distclean: subdirs-distclean
 
 subdir-distclean-etherboot: .phony
-       $(MAKE) -C etherboot distclean
\ No newline at end of file
+       $(MAKE) -C etherboot distclean
diff -r c2fe8249899e -r c387185f0a25 tools/firmware/hvmloader/Makefile
--- a/tools/firmware/hvmloader/Makefile Tue Apr 05 15:29:12 2011 +0100
+++ b/tools/firmware/hvmloader/Makefile Tue Apr 05 15:29:12 2011 +0100
@@ -28,32 +28,39 @@ LOADADDR = 0x100000
 
 CFLAGS += $(CFLAGS_xeninclude)
 
-SRCS  = hvmloader.c mp_tables.c util.c smbios.c 
+SRCS  = mp_tables.c util.c smbios.c 
 SRCS += 32bitbios_support.c smp.c cacheattr.c xenbus.c
 ifeq ($(debug),y)
 SRCS += tests.c
 endif
 OBJS  = $(patsubst %.c,%.o,$(SRCS))
 
+TARGETS := hvmloader-rombios
+
 CIRRUSVGA_DEBUG ?= n
 
 .PHONY: all
 all: subdirs-all
-       $(MAKE) hvmloader
+       $(MAKE) $(TARGETS)
 
-hvmloader.o: roms.h
+hvmloader-rombios.o: hvmloader.c roms.h
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*.o) -DBIOS_ROM_rombios=1 
-DBIOS_ROM_STR=\"ROMBIOS\" -c -o $@ hvmloader.c
+
 smbios.o: CFLAGS += -D__SMBIOS_DATE__="\"$(shell date +%m/%d/%Y)\""
 
-hvmloader: $(OBJS) acpi/acpi.a
-       $(LD) $(LDFLAGS_DIRECT) -N -Ttext $(LOADADDR) -o hvmloader.tmp $^
-       $(OBJCOPY) hvmloader.tmp hvmloader
-       rm -f hvmloader.tmp
+hvmloader-%: hvmloader-%.o $(OBJS) acpi/acpi.a
+       $(LD) $(LDFLAGS_DIRECT) -N -Ttext $(LOADADDR) -o $@.tmp $^
+       $(OBJCOPY) $@.tmp $@
+       rm -f $@.tmp
 
 roms.h: ../rombios/BIOS-bochs-latest ../vgabios/VGABIOS-lgpl-latest.bin \
        ../vgabios/VGABIOS-lgpl-latest.cirrus.bin ../etherboot/eb-roms.h
        echo "/* Autogenerated file. DO NOT EDIT */" > roms.h
 
+       echo "#ifdef BIOS_ROM_rombios" >> roms.h
        sh ./mkhex biosimg ../rombios/BIOS-bochs-latest >> roms.h
+       echo "#endif" >> roms.h
+
        sh ./mkhex vgabios_stdvga ../vgabios/VGABIOS-lgpl-latest.bin >> roms.h
 ifeq ($(CIRRUSVGA_DEBUG),y)
        sh ./mkhex vgabios_cirrusvga \
@@ -69,5 +76,6 @@ endif
 clean: subdirs-clean
        rm -f roms.h acpi.h
        rm -f hvmloader hvmloader.tmp *.o $(DEPS)
+       rm -f hvmloader-rombios hvmloader-rombios.tmp
 
 -include $(DEPS)
diff -r c2fe8249899e -r c387185f0a25 tools/firmware/hvmloader/hvmloader.c
--- a/tools/firmware/hvmloader/hvmloader.c      Tue Apr 05 15:29:12 2011 +0100
+++ b/tools/firmware/hvmloader/hvmloader.c      Tue Apr 05 15:29:12 2011 +0100
@@ -33,8 +33,12 @@
 #include <xen/hvm/ioreq.h>
 #include <xen/memory.h>
 
-#include "../rombios/config.h"
-#include "../rombios/e820.h"
+#if defined(BIOS_ROM_rombios)
+#  include "../rombios/config.h"
+#  include "../rombios/e820.h"
+#else
+#  error "Building for unknown BIOS"
+#endif
 
 asm (
     "    .text                       \n"
@@ -725,7 +729,7 @@ int main(void)
                                         SMBIOS_PHYSICAL_ADDRESS,
                                         SMBIOS_MAXIMUM_SIZE);
 
-    printf("Loading ROMBIOS ...\n");
+    printf("Loading " BIOS_ROM_STR "...\n");
     BUILD_BUG_ON(sizeof(biosimg) > BIOS_MAXIMUM_SIZE);
     memcpy((void *)BIOS_PHYSICAL_ADDRESS, biosimg, sizeof(biosimg));
 
@@ -824,7 +828,7 @@ int main(void)
 
     xenbus_shutdown();
 
-    printf("Invoking ROMBIOS ...\n");
+    printf("Invoking " BIOS_ROM_STR " ...\n");
     return 0;
 }
 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>