49148020bc
Merge header files for m68k and m68knommu to the single location: arch/m68k/include/asm The majority of this patch was the result of the script that is included in the changelog below. The script was originally written by Arnd Bergman and exten by me to cover a few more files. When the header files differed the script uses the following: The original m68k file is named <file>_mm.h [mm for memory manager] The m68knommu file is named <file>_no.h [no for no memory manager] The files uses the following include guard: This include gaurd works as the m68knommu toolchain set the __uClinux__ symbol - so this should work in userspace too. Merging the header files for m68k and m68knommu exposes the (unexpected?) ABI differences thus it is easier to actually identify these and thus to fix them. The commit has been build tested with both a m68k and a m68knommu toolchain - with success. The commit has also been tested with "make headers_check" and this patch fixes make headers_check for m68knommu. The script used: TARGET=arch/m68k/include/asm SOURCE=arch/m68knommu/include/asm INCLUDE="cachectl.h errno.h fcntl.h hwtest.h ioctls.h ipcbuf.h \ linkage.h math-emu.h md.h mman.h movs.h msgbuf.h openprom.h \ oplib.h poll.h posix_types.h resource.h rtc.h sembuf.h shmbuf.h \ shm.h shmparam.h socket.h sockios.h spinlock.h statfs.h stat.h \ termbits.h termios.h tlb.h types.h user.h" EQUAL="auxvec.h cputime.h device.h emergency-restart.h futex.h \ ioctl.h irq_regs.h kdebug.h local.h mutex.h percpu.h \ sections.h topology.h" NOMUUFILES="anchor.h bootstd.h coldfire.h commproc.h dbg.h \ elia.h flat.h m5206sim.h m520xsim.h m523xsim.h m5249sim.h \ m5272sim.h m527xsim.h m528xsim.h m5307sim.h m532xsim.h \ m5407sim.h m68360_enet.h m68360.h m68360_pram.h m68360_quicc.h \ m68360_regs.h MC68328.h MC68332.h MC68EZ328.h MC68VZ328.h \ mcfcache.h mcfdma.h mcfmbus.h mcfne.h mcfpci.h mcfpit.h \ mcfsim.h mcfsmc.h mcftimer.h mcfuart.h mcfwdebug.h \ nettel.h quicc_simple.h smp.h" FILES="atomic.h bitops.h bootinfo.h bug.h bugs.h byteorder.h cache.h \ cacheflush.h checksum.h current.h delay.h div64.h \ dma-mapping.h dma.h elf.h entry.h fb.h fpu.h hardirq.h hw_irq.h io.h \ irq.h kmap_types.h machdep.h mc146818rtc.h mmu.h mmu_context.h \ module.h page.h page_offset.h param.h pci.h pgalloc.h \ pgtable.h processor.h ptrace.h scatterlist.h segment.h \ setup.h sigcontext.h siginfo.h signal.h string.h system.h swab.h \ thread_info.h timex.h tlbflush.h traps.h uaccess.h ucontext.h \ unaligned.h unistd.h" mergefile() { BASE=${1%.h} git mv ${SOURCE}/$1 ${TARGET}/${BASE}_no.h git mv ${TARGET}/$1 ${TARGET}/${BASE}_mm.h cat << EOF > ${TARGET}/$1 EOF git add ${TARGET}/$1 } set -e mkdir -p ${TARGET} git mv include/asm-m68k/* ${TARGET} rmdir include/asm-m68k git rm ${SOURCE}/Kbuild for F in $INCLUDE $EQUAL; do git rm ${SOURCE}/$F done for F in $NOMUUFILES; do git mv ${SOURCE}/$F ${TARGET}/$F done for F in $FILES ; do mergefile $F done rmdir arch/m68knommu/include/asm rmdir arch/m68knommu/include Cc: Arnd Bergmann <arnd@arndb.de> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
67 lines
2 KiB
C
67 lines
2 KiB
C
/* a.out coredump register dumper
|
|
*
|
|
* Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
|
|
* Written by David Howells (dhowells@redhat.com)
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public Licence
|
|
* as published by the Free Software Foundation; either version
|
|
* 2 of the Licence, or (at your option) any later version.
|
|
*/
|
|
|
|
#ifndef _ASM_A_OUT_CORE_H
|
|
#define _ASM_A_OUT_CORE_H
|
|
|
|
#ifdef __KERNEL__
|
|
|
|
#include <linux/user.h>
|
|
#include <linux/elfcore.h>
|
|
|
|
/*
|
|
* fill in the user structure for an a.out core dump
|
|
*/
|
|
static inline void aout_dump_thread(struct pt_regs *regs, struct user *dump)
|
|
{
|
|
struct switch_stack *sw;
|
|
|
|
/* changed the size calculations - should hopefully work better. lbt */
|
|
dump->magic = CMAGIC;
|
|
dump->start_code = 0;
|
|
dump->start_stack = rdusp() & ~(PAGE_SIZE - 1);
|
|
dump->u_tsize = ((unsigned long) current->mm->end_code) >> PAGE_SHIFT;
|
|
dump->u_dsize = ((unsigned long) (current->mm->brk +
|
|
(PAGE_SIZE-1))) >> PAGE_SHIFT;
|
|
dump->u_dsize -= dump->u_tsize;
|
|
dump->u_ssize = 0;
|
|
|
|
if (dump->start_stack < TASK_SIZE)
|
|
dump->u_ssize = ((unsigned long) (TASK_SIZE - dump->start_stack)) >> PAGE_SHIFT;
|
|
|
|
dump->u_ar0 = offsetof(struct user, regs);
|
|
sw = ((struct switch_stack *)regs) - 1;
|
|
dump->regs.d1 = regs->d1;
|
|
dump->regs.d2 = regs->d2;
|
|
dump->regs.d3 = regs->d3;
|
|
dump->regs.d4 = regs->d4;
|
|
dump->regs.d5 = regs->d5;
|
|
dump->regs.d6 = sw->d6;
|
|
dump->regs.d7 = sw->d7;
|
|
dump->regs.a0 = regs->a0;
|
|
dump->regs.a1 = regs->a1;
|
|
dump->regs.a2 = regs->a2;
|
|
dump->regs.a3 = sw->a3;
|
|
dump->regs.a4 = sw->a4;
|
|
dump->regs.a5 = sw->a5;
|
|
dump->regs.a6 = sw->a6;
|
|
dump->regs.d0 = regs->d0;
|
|
dump->regs.orig_d0 = regs->orig_d0;
|
|
dump->regs.stkadj = regs->stkadj;
|
|
dump->regs.sr = regs->sr;
|
|
dump->regs.pc = regs->pc;
|
|
dump->regs.fmtvec = (regs->format << 12) | regs->vector;
|
|
/* dump floating point stuff */
|
|
dump->u_fpvalid = dump_fpu (regs, &dump->m68kfp);
|
|
}
|
|
|
|
#endif /* __KERNEL__ */
|
|
#endif /* _ASM_A_OUT_CORE_H */
|