Fix firmware build for cross-compilation.

Signed-off-by: Keir Fraser <keir@xensource.com>
This commit is contained in:
kaf24@firebug.cl.cam.ac.uk committed 2005-10-12 13:03:10 +01:00
1 parent c7a76688b9
commit f95154b372
2 files changed
+43 -49

No files matched your search

+29 -35
View File
@@ -16,44 +16,38 @@
*
*/
#include "acpi2_0.h"
#include "stdio.h"
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
/*
* Generate acpi table
* write acpi table to binary: acpitable.bin
*
*/
#define USAGE "Usage: acpi_gen filename \n" \
" generage acpitable and write to the binary \n" \
" filename - the binary name\n"
#define USAGE "Usage: acpi_gen filename \n" \
" generage acpitable and write to the binary \n" \
" filename - the binary name\n"
int main(int argc, char **argv)
{
char *filename;
char buf[ACPI_TABLE_SIZE] = { 0 };
FILE *f;
int main(int argc, char** argv){
char* filename;
char buf[ACPI_TABLE_SIZE];
FILE* f=NULL;
int i;
if (argc < 2) {
fprintf(stderr,"%s",USAGE);
exit(1);
}
for (i=0; i<ACPI_TABLE_SIZE; i++){
buf[i]=0;
}
if (argc<2){
fprintf(stderr,"%s",USAGE);
exit(1);
}
filename = argv[1];
filename = argv[1];
if(!(f=fopen(filename, "w+"))){
fprintf(stderr,"Can not open %s",filename);
exit(1);
}
AcpiBuildTable(buf);
if (fwrite(buf, ACPI_TABLE_SIZE, 1, f)<1){
fprintf(stderr,"Can not write to %s\n",filename);
exit(1);
}
return 0;
if ((f = fopen(filename, "w+")) == NULL) {
fprintf(stderr,"Can not open %s", filename);
exit(1);
}
AcpiBuildTable((uint8_t *)buf);
if (fwrite(buf, ACPI_TABLE_SIZE, 1, f) < 1) {
fprintf(stderr,"Can not write to %s\n", filename);
exit(1);
}
return 0;
}
+14 -14
View File
@@ -24,14 +24,14 @@ include $(XEN_ROOT)/tools/Rules.mk
# The emulator code lives in ROM space
TEXTADDR=0x000D0000
DEFINES=-DDEBUG -DTEXTADDR=${TEXTADDR}
DEFINES=-DDEBUG -DTEXTADDR=$(TEXTADDR)
XENINC=-I$(XEN_ROOT)/tools/libxc
LD = ld
CC = gcc
CPP = cpp -P
OBJCOPY = objcopy -p -O binary -R .note -R .comment -R .bss -S --gap-fill=0
CFLAGS = ${DEFINES} -I. $(XENINC) -Wall -fno-builtin -O2 -msoft-float
CFLAGS = $(DEFINES) -I. $(XENINC) -Wall -fno-builtin -O2 -msoft-float
CFLAGS += -m32 -march=i686
LDFLAGS = -m elf_i386
@@ -40,33 +40,33 @@ OBJECTS = head.o trap.o vm86.o setup.o util.o
all: vmxloader
vmxloader: roms.h vmxloader.c acpi.h acpi_madt.c
${CC} ${CFLAGS} ${DEFINES} -c vmxloader.c -c acpi_madt.c
$(CC) $(CFLAGS) $(DEFINES) -c vmxloader.c -c acpi_madt.c
$(CC) -o vmxloader.tmp -m32 -nostdlib -Wl,-N -Wl,-Ttext -Wl,0x100000 vmxloader.o acpi_madt.o
objcopy vmxloader.tmp vmxloader
rm -f vmxloader.tmp
vmxassist.bin: vmxassist.ld ${OBJECTS}
${CPP} ${DEFINES} vmxassist.ld > vmxassist.tmp
${LD} -o vmxassist ${LDFLAGS} -nostdlib --fatal-warnings -N -T vmxassist.tmp ${OBJECTS}
vmxassist.bin: vmxassist.ld $(OBJECTS)
$(CPP) $(DEFINES) vmxassist.ld > vmxassist.tmp
$(LD) -o vmxassist $(LDFLAGS) -nostdlib --fatal-warnings -N -T vmxassist.tmp $(OBJECTS)
nm -n vmxassist > vmxassist.sym
${OBJCOPY} vmxassist vmxassist.tmp
$(OBJCOPY) vmxassist vmxassist.tmp
dd if=vmxassist.tmp of=vmxassist.bin ibs=512 conv=sync
rm -f vmxassist.tmp
head.o: machine.h head.S
${CC} ${CFLAGS} -D__ASSEMBLY__ ${DEFINES} -c head.S
$(CC) $(CFLAGS) -D__ASSEMBLY__ $(DEFINES) -c head.S
trap.o: machine.h offsets.h trap.S
${CC} ${CFLAGS} -D__ASSEMBLY__ ${DEFINES} -c trap.S
$(CC) $(CFLAGS) -D__ASSEMBLY__ $(DEFINES) -c trap.S
vm86.o: machine.h vm86.c
${CC} ${CFLAGS} -c vm86.c
$(CC) $(CFLAGS) -c vm86.c
setup.o: machine.h setup.c
${CC} ${CFLAGS} -c setup.c
$(CC) $(CFLAGS) -c setup.c
util.o: machine.h util.c
${CC} ${CFLAGS} -c util.c
$(CC) $(CFLAGS) -c util.c
roms.h: ../rombios/BIOS-bochs-latest ../vgabios/VGABIOS-lgpl-latest.bin ../vgabios/VGABIOS-lgpl-latest.cirrus.bin vmxassist.bin
./mkhex rombios ../rombios/BIOS-bochs-latest > roms.h
@@ -81,10 +81,10 @@ offsets.h: gen
./gen > offsets.h
gen: gen.c
${CC} ${CFLAGS} -o gen gen.c
$(HOSTCC) $(HOSTCFLAGS) -I. $(XENINC) -o gen gen.c
clean:
rm -f vmxassist vmxassist.tmp vmxassist.bin vmxassist.run vmxassist.sym head.s roms.h acpi.h
rm -f vmxloader vmxloader.tmp vmxloader.o ${OBJECTS}
rm -f vmxloader vmxloader.tmp vmxloader.o $(OBJECTS)
rm -f gen gen.o offsets.h
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.