Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 1017 → Rev 1016

/kernel/trunk/arch/mips32/boot/boot.S
0,0 → 1,43
#
# Copyright (C) 2003-2004 Jakub Jermar
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# - Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# - Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# - The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
 
.text
 
.set noat
.set noreorder
.set nomacro
 
#define KERNEL_LOAD_ADDRESS 0x80100000
.global start
start:
lui $ra, KERNEL_LOAD_ADDRESS >> 16
ori $ra, KERNEL_LOAD_ADDRESS & 0xffff
 
j $ra
nop
/kernel/trunk/arch/mips32/boot/Makefile
0,0 → 1,15
.PHONY: build clean
 
CFLAGS = -nostdinc -nostdlib -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3 -mips3 -I../include
 
build: boot.bin
cp boot.bin ../../../load.bin
 
boot.bin: boot.o
$(LD) -e start -T _link.ld boot.o -o $@
 
boot.o: boot.S
$(CC) $(CFLAGS) -c boot.S -o $@
 
clean:
-rm -f boot.o boot.bin ../../../load.bin
/kernel/trunk/arch/mips32/boot/_link.ld
0,0 → 1,8
/* OUTPUT_FORMAT(ecoff-littlemips) */
OUTPUT_FORMAT(binary)
SECTIONS {
.image 0x0: AT (0) {
*(.text);
*(.reginfo);
}
}
/kernel/trunk/Makefile
149,7 → 149,7
ARCH_OBJECTS := $(addsuffix .o,$(basename $(ARCH_SOURCES)))
GENARCH_OBJECTS := $(addsuffix .o,$(basename $(GENARCH_SOURCES)))
 
.PHONY: all build config distclean clean archlinks depend disasm
.PHONY: all build config distclean clean archlinks depend boot disasm
 
all:
tools/config.py default $(NARCH)
160,7 → 160,7
endif
$(MAKE) -C . build
 
build: kernel.bin disasm
build: kernel.bin boot disasm
 
config:
-rm Makefile.depend
176,6 → 176,7
find generic/src/ arch/*/src/ genarch/src/ test/ -name '*.o' -follow -exec rm \{\} \;
for arch in arch/*; do \
[ -e $$arch/_link.ld ] && rm $$arch/_link.ld 2>/dev/null;\
$(MAKE) -C $$arch/boot clean; \
done;exit 0
 
archlinks:
209,6 → 210,9
kernel.bin: kernel.raw
$(OBJCOPY) -O $(BFD) kernel.raw kernel.bin
 
boot: kernel.bin
if [ -d arch/$(ARCH)/boot ] ; then $(MAKE) -C arch/$(ARCH)/boot build KERNEL_SIZE="`cat kernel.bin | wc -c`" CC=$(CC) AS=$(AS) LD=$(LD) ; fi
 
disasm: kernel.raw
$(OBJDUMP) -d kernel.raw > kernel.disasm
 
/kernel/trunk/contrib/conf/msim.conf
4,9 → 4,10
 
add dcpu mips1
 
add rwm mainmem 0x0 8M load "/dev/zero"
add rom startmem 0x1fc00000 1024k load "image.boot"
add rwm init 0x01000000 1M load "init"
add rwm firstmem 0x0 1M load "/dev/zero"
add rwm mainmem 0x00100000 7M load "kernel/kernel.bin"
add rom startmem 0x1fc00000 1k load "kernel/load.bin"
add rwm init 0x01000000 1M load "uspace/init/init"
 
add dprinter printer 0x10000000
add dkeyboard keyboard 0x10000000 2