H8/300 support update (1/4)
PATCH 1/1 H8/300 support update (1/4)
include
o fixed exception stack handling.
o fixed signal handling.
o fixed context switch problem.
o fixed configure scripts.
Signature · 2 lines
Yoshinori Sato <[email protected]>
Index: MAINTAINERS
===================================================================
RCS file: /var/lib/cvs/linux-2.5/MAINTAINERS,v retrieving revision 1.1.1.1
MAINTAINERS +6 -0
@@ -2088,6 +2088,12 @@ W: http://www.ee.nec.de/uclinux/ S: Supported +UCLINUX FOR RENESAS H8/300 +P: Yoshinori Sato +M: [email protected] +W: http://uclinux-h8.sourceforge.jp/ +S: Supported + USB DIAMOND RIO500 DRIVER P: Cesar Miquel M: [email protected]
Index: arch/h8300/Kconfig
===================================================================
RCS file: /var/lib/cvs/linux-2.5/arch/h8300/Kconfig,v retrieving revision 1.1.1.1
retrieving revision 1.2
h8300/Kconfig +5 -3
@@ -121,12 +121,13 @@ endchoice config DEFAULT_CMDLINE - bool + bool "Use buildin commandline" help buildin kernel commandline enabled. config KERNEL_COMMAND - string + string "Buildin commmand string" + depends on DEFAULT_CMDLINE help buildin kernel commandline strings.
@@ -148,8 +149,9 @@ endmenu -source "drivers/block/Kconfig" +source "drivers/mtd/Kconfig" +source "drivers/block/Kconfig" menu "ATA/IDE/MFM/RLL support"
Index: arch/h8300/kernel/asm-offsets.c
===================================================================
RCS file: /var/lib/cvs/linux-2.5/arch/h8300/kernel/asm-offsets.c,v retrieving revision 1.1.1.1
h8300/kernel/asm-offsets.c +0 -1
@@ -40,7 +40,6 @@DEFINE (THREAD_KSP , offsetof(struct thread_struct , ksp));DEFINE (THREAD_USP , offsetof(struct thread_struct , usp));DEFINE (THREAD_CCR , offsetof(struct thread_struct , ccr)); -DEFINE (THREAD_VFORK , offsetof(struct thread_struct , vfork_ret));DEFINE (PT_PTRACED ,PT_PTRACED );DEFINE (PT_DTRACE ,PT_DTRACE );
Index: arch/h8300/kernel/process.c
===================================================================
RCS file: /var/lib/cvs/linux-2.5/arch/h8300/kernel/process.c,v retrieving revision 1.1.1.1
retrieving revision 1.4
h8300/kernel/process.c +15 -33
107 lines not on this page · raw message
Index: arch/h8300/kernel/ptrace.c
===================================================================
RCS file: /var/lib/cvs/linux-2.5/arch/h8300/kernel/ptrace.c,v retrieving revision 1.1.1.1
retrieving revision 1.2
h8300/kernel/ptrace.c +2 -4
@@ -46,14 +46,12 @@/* Find the stack offset for a register, relative to thread.esp0. */ #define PT_REG (reg) ((long)&((struct pt_regs *)0)->reg) -#define SW_REG (reg) ((long)&((struct switch_stack *)0)->reg \ - - sizeof(struct switch_stack))/* Mapping from PT_xxx to the stack offset at which the register is saved. Notice that usp has no stack-slot and needs to be treated specially (see get_reg/put_reg below). */ static const int regoff[] = { -PT_REG (er1),PT_REG (er2),PT_REG (er3),SW_REG (er4), -SW_REG (er5),SW_REG (er6),PT_REG (er0),PT_REG (orig_er0), +PT_REG (er1),PT_REG (er2),PT_REG (er3),PT_REG (er4), +PT_REG (er5),PT_REG (er6),PT_REG (er0),PT_REG (orig_er0),PT_REG (ccr),PT_REG (pc) };
Index: arch/h8300/kernel/setup.c
===================================================================
RCS file: /var/lib/cvs/linux-2.5/arch/h8300/kernel/setup.c,v retrieving revision 1.1.1.1
retrieving revision 1.3
h8300/kernel/setup.c +10 -3
@@ -91,7 +91,14 @@ {int bootmap_size; - memory_start =PAGE_ALIGN ((unsigned long )(&_ramstart)); + memory_start = (unsigned long ) &_ramstart; + +/* allow for ROMFS on the end */ +if (memcmp (memory_start,"-rom1fs-" ,8 ) ==0 ) { + memory_start +=be32_to_cpu (((unsigned long *) memory_start)[2 ]); + } + + memory_start =PAGE_ALIGN (memory_start); memory_end = &_ramend;/* by now the stack is part of the init task */ init_mm.start_code = (unsigned long ) &_stext;
@@ -103,10 +110,10 @@register_console (&gdb_console);#endif -printk ("\x0F\r\n\nuClinux " CPU "\n" ); +printk ("\r\n\nuClinux " CPU "\n" );printk ("Target Hardware: %s\n" ,_target_name);printk ("Flat model support (C) 1998,1999 Kenneth Albanowski, D. Jeff Dionne\n" ); -printk ("H8/300H support by Yoshinori Sato <[email protected]>\n" ); +printk ("H8/300 series support by Yoshinori Sato <[email protected]>\n" );#ifdef DEBUG printk("KERNEL -> TEXT=0x%06x-0x%06x DATA=0x%06x-0x%06x "
Index: arch/h8300/kernel/signal.c
===================================================================
RCS file: /var/lib/cvs/linux-2.5/arch/h8300/kernel/signal.c,v retrieving revision 1.1.1.1
retrieving revision 1.2
h8300/kernel/signal.c +42 -46
181 lines not on this page · raw message
Index: arch/h8300/kernel/sys_h8300.c
===================================================================
RCS file: /var/lib/cvs/linux-2.5/arch/h8300/kernel/sys_h8300.c,v retrieving revision 1.1.1.1
retrieving revision 1.2
h8300/kernel/sys_h8300.c +1 -1
@@ -281,7 +281,7 @@#if defined(CONFIG_SYSCALL_PRINT ) asmlinkage void syscall_print(void *dummy,...) { -struct pt_regs *regs = (struct pt_regs *) ((unsigned char *)&dummy); +struct pt_regs *regs = (struct pt_regs *) ((unsigned char *)&dummy-4 );unsigned long *usp=rdusp ()+8 ;printk ("call %06x:%d 1:%08x,2:%08x,3:%08x,ret:%08x\n" , ((*usp) &0xffffff )-2 ,regs->orig_er0,regs->er1,regs->er2,regs->er3,regs->er0);
Index: arch/h8300/kernel/syscalls.S
===================================================================
RCS file: /var/lib/cvs/linux-2.5/arch/h8300/kernel/syscalls.S,v retrieving revision 1.1.1.1
retrieving revision 1.2
h8300/kernel/syscalls.S +4 -0
@@ -312,3 +312,7 @@ mov.l #SYMBOL_NAME(h8300_fork),er0 jmp @SYMBOL_NAME(syscall_trampoline) +SYMBOL_NAME_LABEL(sys_vfork) + mov.l #SYMBOL_NAME(h8300_vfork),er0 + jmp @SYMBOL_NAME(syscall_trampoline) +
Index: arch/h8300/platform/h8300h/entry.S
===================================================================
RCS file: /var/lib/cvs/linux-2.5/arch/h8300/platform/h8300h/entry.S,v retrieving revision 1.1.1.1
retrieving revision 1.4
h8300/platform/h8300h/entry.S +88 -115
346 lines not on this page · raw message
Index: arch/h8300/platform/h8300h/generic/crt0_rom.S
===================================================================
RCS file: /var/lib/cvs/linux-2.5/arch/h8300/platform/h8300h/generic/crt0_rom.S,v retrieving revision 1.1.1.1
retrieving revision 1.2
h8300/platform/h8300h/generic/crt0_rom.S +1 -0
@@ -35,6 +35,7 @@ inc.l #1,er6 mov.l #__ebss,er4 sub.l er5,er4 + dec.l #1,er4 sub.w r0,r0 mov.b r0l,@er5 1: