Kernel runs in the higher address space

This commit is contained in:
Taku Shimosawa
2011-11-07 00:48:22 +09:00
parent 83a17650b9
commit 2773606466
11 changed files with 224 additions and 6 deletions

View File

@ -12,7 +12,7 @@ AALOBJ = aal/aal.o
SUBCMD_OPTS = TARGET=$(TARGET) O=$(CURDIR)/aal CC=$(CC) LD=$(LD)
ld_kern_cmd_base = $(LD) $(LDFLAGS) -o $@.elf $^
mkimage_cmd_base = [ -f $(SRC)/scripts/mkimage.$(TARGET) ] && sh $(SRC)/scripts/mkimage.$(TARGET) '$@.elf' '$@' '$(SRC)' || cp $@.elf $@
mkimage_cmd_base = [ -f $(SRC)/scripts/mkimage.$(TARGET) ] && CC=$(CC) LD=$(LD) LDFLAGS="$(LDFLAGS_MKIMAGE)" sh $(SRC)/scripts/mkimage.$(TARGET) '$@.elf' '$@' '$(SRC)' || cp $@.elf $@
ld_kern_cmd = $(call echo_cmd,LDKERN,$@)$(ld_kern_cmd_base)
mkimage_cmd = $(call echo_cmd,MKIMAGE,$@)$(mkimage_cmd_base)

View File

@ -9,8 +9,6 @@ static volatile int ap_stop = 1;
void ap_idle(void)
{
int id = aal_mc_get_hardware_processor_id();
while (1) {
cpu_halt();
}

View File

@ -3,3 +3,4 @@ LD = /home/shimosawa/cross.knf/bin/x86_64-l1om-linux-ld
CFLAGS += -mno-sse -mno-mmx -mno-sse2 -mno-3dnow
LDFLAGS += -m elf_l1om -T $(SRC)/knf.lds
LDFLAGS_MKIMAGE = -m elf_l1om

View File

@ -5,7 +5,7 @@ PHDRS
}
SECTIONS
{
. = 0x401000;
. = 0xffffffff80001000;
_head = .;
.text : {

View File

@ -5,7 +5,7 @@ PHDRS
}
SECTIONS
{
. = 0x40001000;
. = 0xffffffff80001000;
_head = .;
.text : {

View File

@ -0,0 +1,10 @@
#!/bin/sh
set -e
O=`pwd`
make -C $3/../kboot O=$O clean
make -C $3/../kboot O=$O KIMAGE="$O/$1" LOAD_PA=0x401000 CC=${CC} LD=${LD} LDFLAGS="${LDFLAGS}"
cp kboot/kboot.elf $2

View File

@ -1,3 +1,10 @@
#!/bin/sh
cat $3/../elfboot/elfboot $1 > $2
set -e
O=`pwd`
make -C $3/../kboot O=$O clean
make -C $3/../kboot O=$O KIMAGE="$O/$1" LOAD_PA=0x3a001000
cat $3/../elfboot/elfboot kboot/kboot.elf > $2