Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 3369 → Rev 3386

/branches/network/boot/arch/ia64/loader/pack
File deleted
Property changes:
Deleted: svn:executable
-*
\ No newline at end of property
/branches/network/boot/arch/ia64/loader/Makefile
32,8 → 32,14
## Toolchain configuration
#
 
ifndef CROSS_PREFIX
CROSS_PREFIX = /usr/local
endif
 
BFD_NAME = elf64-ia64-little
BFD_ARCH = ia64
TARGET = ia64-pc-linux-gnu
TOOLCHAIN_DIR = /usr/local/ia64/bin
TOOLCHAIN_DIR = $(CROSS_PREFIX)/ia64/bin
 
ifeq ($(COMPILER),gcc_native)
CC = gcc
41,6 → 47,7
LD = ld
OBJCOPY = objcopy
OBJDUMP = objdump
GEFI_PREXIX =
endif
 
ifeq ($(COMPILER),icc_native)
57,6 → 64,7
LD = $(TOOLCHAIN_DIR)/$(TARGET)-ld
OBJCOPY = $(TOOLCHAIN_DIR)/$(TARGET)-objcopy
OBJDUMP = $(TOOLCHAIN_DIR)/$(TARGET)-objdump
GEFI_PREFIX = $(TOOLCHAIN_DIR)/$(TARGET)-
endif
 
#-mno-pic means do not use gp + imm22 to address data
75,6 → 83,7
../../../generic/printf.c \
../../../generic/string.c \
../../../genarch/balloc.c \
_components.c \
asm.S \
boot.S
 
81,6 → 90,7
COMPONENTS = \
$(KERNELDIR)/kernel.bin \
$(USPACEDIR)/srv/ns/ns \
$(USPACEDIR)/srv/loader/loader \
$(USPACEDIR)/srv/fb/fb \
$(USPACEDIR)/srv/kbd/kbd \
$(USPACEDIR)/srv/console/console \
93,7 → 103,6
$(USPACEDIR)/app/tester/tester \
$(USPACEDIR)/app/klog/klog
 
 
OBJECTS := $(addsuffix .o,$(basename $(SOURCES)))
COMPONENT_OBJECTS := $(addsuffix .o,$(basename $(notdir $(COMPONENTS))))
 
103,25 → 112,25
 
-include Makefile.depend
 
 
hello.efi: image.boot
make -C gefi/HelenOS
make -C gefi/HelenOS PREFIX=$(GEFI_PREFIX)
cp gefi/HelenOS/hello.efi ../../../../
cp gefi/HelenOS/hello.efi /boot/efi/
cp gefi/HelenOS/image.bin /boot/efi/
# cp gefi/HelenOS/hello.efi /boot/efi/
cp gefi/HelenOS/image.bin ../../../../
 
image.boot: depend _components.h _link.ld $(COMPONENT_OBJECTS) $(OBJECTS)
$(LD) -Map boot.map -no-check-sections -N -T _link.ld $(COMPONENT_OBJECTS) $(OBJECTS) -o $@
$(LD) -Map image.map -no-check-sections -N -T _link.ld $(COMPONENT_OBJECTS) $(OBJECTS) -o $@
 
depend:
-makedepend $(DEFS) $(CFLAGS) -f - $(SOURCES) > Makefile.depend 2> /dev/null
 
clean:
-rm -f _components.h _link.ld $(COMPONENT_OBJECTS) $(OBJECTS) image.boot boot.disasm Makefile.depend
-rm -f _components.h _components.c _link.ld $(COMPONENT_OBJECTS) $(OBJECTS) image.boot image.map image.disasm Makefile.depend ../../../../image.bin ../../../../hello.efi
make -C gefi clean
make -C gefi/HelenOS clean
 
_components.h _link.ld $(COMPONENT_OBJECTS): $(COMPONENTS)
./pack $(IMAGE) $(OBJCOPY) $(COMPONENTS)
_components.h _components.c _link.ld $(COMPONENT_OBJECTS): $(COMPONENTS) _link.ld.in
../../../tools/pack.py $(OBJCOPY) $(BFD_NAME) $(BFD_ARCH) 16384 "unsigned long" $(COMPONENTS)
 
%.o: %.S
$(CC) $(DEFS) $(CFLAGS) -D__ASM__ -c $< -o $@
130,4 → 139,4
$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
 
disasm: image.boot
$(OBJDUMP) -d image.boot > boot.disasm
$(OBJDUMP) -d image.boot > image.disasm
/branches/network/boot/arch/ia64/loader/gefi/apps/Makefile
28,7 → 28,7
CRTOBJS = ../gnuefi/crt0-efi-$(ARCH).o
LDSCRIPT = ../gnuefi/elf_$(ARCH)_efi.lds
LDFLAGS += -T $(LDSCRIPT) -shared -Bsymbolic -L../lib -L../gnuefi $(CRTOBJS)
LOADLIBES = -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name)
LOADLIBES = -lefi -lgnuefi
FORMAT = efi-app-$(ARCH)
 
TARGETS = t.efi t2.efi t3.efi t4.efi t5.efi t6.efi printenv.efi t7.efi
/branches/network/boot/arch/ia64/loader/gefi/HelenOS/Makefile
20,7 → 20,7
# Software Foundation, 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
#
 
prefix=$(PREFIX)
include ../Make.defaults
CDIR=$(TOPDIR)/..
LINUX_HEADERS = /usr/src/sys/build
28,15 → 28,15
CRTOBJS = ../gnuefi/crt0-efi-$(ARCH).o
LDSCRIPT = ../gnuefi/elf_$(ARCH)_efi.lds
LDFLAGS += -T $(LDSCRIPT) -shared -Bsymbolic -L../lib -L../gnuefi $(CRTOBJS)
LOADLIBES = -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name)
LOADLIBES = -lefi -lgnuefi
FORMAT = efi-app-$(ARCH)
 
 
all: hello.efi
all: gefi hello.efi
 
 
clean:
rm -f *.efi *~ *.o *.so
rm -f *.efi *~ *.o *.so *.map *.disass *.bin
 
.PHONY: install
 
43,7 → 43,7
hello.efi: hello.so
$(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel \
-j .rela -j .reloc --target=$(FORMAT) hello.so hello.efi
objdump -d hello.efi > hello.disass
$(OBJDUMP) -d hello.efi > hello.disass
 
hello.so: hello.o image.o
$(LD) $(LDFLAGS) -Map hello.map hello.o -o hello.so $(LOADLIBES)
52,8 → 52,9
$(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c hello.c -o hello.o
 
image.o: ../../image.boot
objcopy -O binary ../../image.boot image.bin
objcopy -I binary -O elf64-ia64-little -B ia64 image.bin image.o
$(OBJCOPY) -O binary ../../image.boot image.bin
$(OBJCOPY) -I binary -O elf64-ia64-little -B ia64 image.bin image.o
 
 
 
gefi:
make -C .. prefix=$(PREFIX)
/branches/network/boot/arch/ia64/loader/gefi/Make.defaults
38,14 → 38,14
 
GCC_VERSION=$(shell $(CROSS_COMPILE)$(CC) -v 2>&1 | fgrep 'gcc version' | cut -f3 -d' ' | cut -f1 -d'.')
 
ifeq ($(ARCH),ia64)
prefix =
CC = $(prefix)gcc
AS = $(prefix)as
LD = $(prefix)ld
AR = $(prefix)ar
RANLIB = $(prefix)ranlib
OBJCOPY = $(prefix)objcopy
# prefix =
CC = $(prefix)gcc
AS = $(prefix)as
LD = $(prefix)ld
AR = $(prefix)ar
RANLIB = $(prefix)ranlib
OBJCOPY = $(prefix)objcopy
OBJDUMP = $(prefix)objdump
 
 
ifneq ($(GCC_VERSION),2)
54,22 → 54,3
 
CFLAGS += -mfixed-range=f32-f127
 
else
ifeq ($(ARCH),ia32)
#
# gcc-3.x is required
#
prefix =
ifneq ($(GCC_VERSION),2)
CC = $(prefix)gcc
else
CC = $(prefix)gcc3 #must have gcc 3.x
endif
AS = $(prefix)as
LD = $(prefix)ld
AR = $(prefix)ar
RANLIB = $(prefix)ranlib
OBJCOPY = $(prefix)objcopy
endif
endif
 
/branches/network/boot/arch/ia64/loader/_link.ld.in
0,0 → 1,26
OUTPUT_FORMAT("elf64-ia64-little")
ENTRY(start)
 
SECTIONS {
.boot 0x4400000: AT (0x4400000) {
*(BOOTSTRAP);
[[COMPONENTS]]
. = ALIGN (16384);
*(.text);
*(.rodata);
*(.rodata.*);
*(.data); /* initialized data */
_got = . ;
*(.got .got.*);
*(.sdata);
*(.sdata2);
*(.sbss);
*(.bss); /* uninitialized static variables */
*(COMMON);
}
/DISCARD/ : {
*(.comment);
*(.note*);
}
}