debuggers.hg

view tools/firmware/hvmloader/Makefile @ 10986:49dcd838b7df

[HVMLOADER] HVM loader initialises hypercall shim and uses
it to interrogate Xen version information. Also add support
for HVM hypercall execution on 64-bit host.

Signed-off-by: Steven Smith <ssmith@xensource.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
author kfraser@localhost.localdomain
date Fri Aug 04 20:30:12 2006 +0100 (2006-08-04)
parents ae245d35457b
children 0b176f84c3bf
line source
1 #
2 # Makefile
3 #
4 # Leendert van Doorn, leendert@watson.ibm.com
5 # Copyright (c) 2005, International Business Machines Corporation.
6 #
7 # This program is free software; you can redistribute it and/or modify it
8 # under the terms and conditions of the GNU General Public License,
9 # version 2, as published by the Free Software Foundation.
10 #
11 # This program is distributed in the hope it will be useful, but WITHOUT
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14 # more details.
15 #
16 # You should have received a copy of the GNU General Public License along with
17 # this program; if not, write to the Free Software Foundation, Inc., 59 Temple
18 # Place - Suite 330, Boston, MA 02111-1307 USA.
19 #
21 # External CFLAGS can do more harm than good.
22 CFLAGS :=
24 override XEN_TARGET_ARCH = x86_32
25 XEN_ROOT = ../../..
26 include $(XEN_ROOT)/Config.mk
28 # The HVM loader is started in 32-bit mode at the address below:
29 LOADADDR = 0x100000
31 DEFINES =-DDEBUG
32 XENINC =-I$(XEN_ROOT)/tools/libxc
34 OBJECTS = hvmloader.o acpi_madt.o
36 # Disable PIE/SSP if GCC supports them. They can break us.
37 CFLAGS += $(call test-gcc-flag,$(CC),-nopie)
38 CFLAGS += $(call test-gcc-flag,$(CC),-fno-stack-protector)
39 CFLAGS += $(call test-gcc-flag,$(CC),-fno-stack-protector-all)
41 OBJCOPY = objcopy
42 CFLAGS += $(DEFINES) -I. $(XENINC) -fno-builtin -O2 -msoft-float
43 LDFLAGS = -m32 -nostdlib -Wl,-N -Wl,-Ttext -Wl,$(LOADADDR)
45 SRCS = hvmloader.c acpi_madt.c mp_tables.c util.c
46 OBJS = $(patsubst %.c,%.o,$(SRCS))
48 .PHONY: all
49 all: hvmloader
51 hvmloader: roms.h $(SRCS)
52 $(CC) $(CFLAGS) -c $(SRCS)
53 $(CC) $(LDFLAGS) -o hvmloader.tmp $(OBJS)
54 $(OBJCOPY) hvmloader.tmp hvmloader
55 rm -f hvmloader.tmp
57 roms.h: ../rombios/BIOS-bochs-latest ../vgabios/VGABIOS-lgpl-latest.bin ../vgabios/VGABIOS-lgpl-latest.cirrus.bin ../vmxassist/vmxassist.bin
58 sh ./mkhex rombios ../rombios/BIOS-bochs-latest > roms.h
59 sh ./mkhex vgabios_stdvga ../vgabios/VGABIOS-lgpl-latest.bin >> roms.h
60 sh ./mkhex vgabios_cirrusvga ../vgabios/VGABIOS-lgpl-latest.cirrus.bin >> roms.h
61 sh ./mkhex vmxassist ../vmxassist/vmxassist.bin >> roms.h
62 sh ./mkhex acpi ../acpi/acpi.bin >> roms.h
64 .PHONY: clean
65 clean:
66 rm -f roms.h acpi.h
67 rm -f hvmloader hvmloader.tmp hvmloader.o $(OBJECTS)