Skip to content

Commit

Permalink
h8300: zImage fix
Browse files Browse the repository at this point in the history
- stack fix
- configure base address

Signed-off-by: Yoshinori Sato <[email protected]>
  • Loading branch information
ysat0 committed Nov 8, 2015
1 parent 780ffcd commit 78f02ca
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 11 deletions.
5 changes: 3 additions & 2 deletions arch/h8300/boot/compressed/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,12 @@ OBJECTS = $(obj)/head.o $(obj)/misc.o
# in order to suppress error message.
#
CONFIG_MEMORY_START ?= 0x00400000
CONFIG_BOOT_LINK_OFFSET ?= 0x00140000
CONFIG_BOOT_LINK_OFFSET ?= 0x00280000
IMAGE_OFFSET := $(shell printf "0x%08x" $$(($(CONFIG_MEMORY_START)+$(CONFIG_BOOT_LINK_OFFSET))))

LIBGCC := $(shell $(CROSS-COMPILE)$(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
LDFLAGS_vmlinux := -Ttext $(IMAGE_OFFSET) -estartup $(obj)/vmlinux.lds
LDFLAGS_vmlinux := -Ttext $(IMAGE_OFFSET) -estartup -T $(obj)/vmlinux.lds \
--defsym output=$(CONFIG_MEMORY_START)

$(obj)/vmlinux: $(OBJECTS) $(obj)/piggy.o $(LIBGCC) FORCE
$(call if_changed,ld)
Expand Down
4 changes: 2 additions & 2 deletions arch/h8300/boot/compressed/head.S
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
.section .text..startup,"ax"
.global startup
startup:
mov.l #startup, sp
mov.l er0, er4
mov.l er0, sp
mov.l #__sbss, er0
mov.l #__ebss, er1
sub.l er0, er1
Expand All @@ -24,7 +24,7 @@ startup:
bne 1b
jsr @decompress_kernel
mov.l er4, er0
jmp @0x400000
jmp @output

.align 9
fake_headers_as_bzImage:
Expand Down
7 changes: 1 addition & 6 deletions arch/h8300/boot/compressed/misc.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ static unsigned long free_mem_end_ptr;

extern char input_data[];
extern int input_len;
static unsigned char *output;
extern char output[];

#define HEAP_SIZE 0x10000

Expand Down Expand Up @@ -56,15 +56,10 @@ void *memcpy(void *dest, const void *src, size_t n)

static void error(char *x)
{

while (1)
; /* Halt */
}

#define STACK_SIZE (4096)
long user_stack[STACK_SIZE];
long *stack_start = &user_stack[STACK_SIZE];

void decompress_kernel(void)
{
free_mem_ptr = (unsigned long)&_end;
Expand Down
2 changes: 1 addition & 1 deletion arch/h8300/boot/compressed/vmlinux.lds
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@ SECTIONS
*(.bss*)
. = ALIGN(0x4) ;
__ebss = . ;
__end = . ;
}
_end = . ;
}

0 comments on commit 78f02ca

Please sign in to comment.