提交 a23ba435 编写于 作者: P Paul Mundt

sh: comment tidying for sh64->sh migration.

Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
上级 4b27c47c
/*
* arch/sh64/mach-cayman/led.c
* arch/sh/boards/cayman/led.c
*
* Copyright (C) 2002 Stuart Menefy <stuart.menefy@st.com>
*
......
#
# linux/arch/sh64/boot/compressed/Makefile
# arch/sh/boot/compressed/Makefile_64
#
# This file is subject to the terms and conditions of the GNU General Public
# License. See the file "COPYING" in the main directory of this archive
# for more details.
# create a compressed vmlinux image from the original vmlinux
#
# Copyright (C) 2002 Stuart Menefy
# Copyright (C) 2004 Paul Mundt
#
# create a compressed vmlinux image from the original vmlinux
# This file is subject to the terms and conditions of the GNU General Public
# License. See the file "COPYING" in the main directory of this archive
# for more details.
#
targets := vmlinux vmlinux.bin vmlinux.bin.gz \
......
/*
* arch/sh64/boot/compressed/misc.c
* arch/sh/boot/compressed/misc_64.c
*
* This is a collection of several routines from gzip-1.0.3
* adapted for Linux.
......
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
* arch/sh/kernel/cpu/irq/intc-sh5.c
*
* arch/sh64/kernel/irq_intc.c
* Interrupt Controller support for SH5 INTC.
*
* Copyright (C) 2000, 2001 Paolo Alberelli
* Copyright (C) 2003 Paul Mundt
*
* Interrupt Controller support for SH5 INTC.
* Per-interrupt selective. IRLM=0 (Fixed priority) is not
* supported being useless without a cascaded interrupt
* controller.
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*/
#include <linux/init.h>
#include <linux/interrupt.h>
......
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* arch/sh64/kernel/entry.S
* arch/sh/kernel/cpu/sh5/entry.S
*
* Copyright (C) 2000, 2001 Paolo Alberelli
* Copyright (C) 2004, 2005 Paul Mundt
* Copyright (C) 2004 - 2007 Paul Mundt
* Copyright (C) 2003, 2004 Richard Curnow
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*/
#include <linux/errno.h>
#include <linux/sys.h>
......
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* arch/sh64/kernel/fpu.c
* arch/sh/kernel/cpu/sh5/fpu.c
*
* Copyright (C) 2001 Manuela Cirronis, Paolo Alberelli
* Copyright (C) 2002 STMicroelectronics Limited
......@@ -12,8 +8,10 @@
* Started from SH4 version:
* Copyright (C) 1999, 2000 Kaz Kojima & Niibe Yutaka
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*/
#include <linux/sched.h>
#include <linux/signal.h>
#include <asm/processor.h>
......
/*
* arch/sh64/kernel/switchto.S
* arch/sh/kernel/cpu/sh5/switchto.S
*
* sh64 context switch
*
......
/*
* arch/sh64/kernel/unwind.c
* arch/sh/kernel/cpu/sh5/unwind.c
*
* Copyright (C) 2004 Paul Mundt
* Copyright (C) 2004 Richard Curnow
......
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* arch/sh64/kernel/head.S
* arch/sh/kernel/head_64.S
*
* Copyright (C) 2000, 2001 Paolo Alberelli
* Copyright (C) 2003, 2004 Paul Mundt
*
*
* benedict.gaster@superh.com: 2nd May 2002
* Moved definition of empty_zero_page to its own section allowing
* it to be placed at an absolute address known at load time.
*
* lethal@linux-sh.org: 9th May 2003
* Kill off GLOBAL_NAME() usage.
*
* lethal@linux-sh.org: 8th May 2004
* Add early SCIF console DTLB mapping.
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*/
#include <asm/page.h>
#include <asm/cache.h>
......
......@@ -421,19 +421,22 @@ int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
*/
void exit_thread(void)
{
/* See arch/sparc/kernel/process.c for the precedent for doing this -- RPC.
The SH-5 FPU save/restore approach relies on last_task_used_math
pointing to a live task_struct. When another task tries to use the
FPU for the 1st time, the FPUDIS trap handling (see
arch/sh64/kernel/fpu.c) will save the existing FPU state to the
FP regs field within last_task_used_math before re-loading the new
task's FPU state (or initialising it if the FPU has been used
before). So if last_task_used_math is stale, and its page has already been
re-allocated for another use, the consequences are rather grim. Unless we
null it here, there is no other path through which it would get safely
nulled. */
/*
* See arch/sparc/kernel/process.c for the precedent for doing
* this -- RPC.
*
* The SH-5 FPU save/restore approach relies on
* last_task_used_math pointing to a live task_struct. When
* another task tries to use the FPU for the 1st time, the FPUDIS
* trap handling (see arch/sh/kernel/cpu/sh5/fpu.c) will save the
* existing FPU state to the FP regs field within
* last_task_used_math before re-loading the new task's FPU state
* (or initialising it if the FPU has been used before). So if
* last_task_used_math is stale, and its page has already been
* re-allocated for another use, the consequences are rather
* grim. Unless we null it here, there is no other path through
* which it would get safely nulled.
*/
#ifdef CONFIG_SH_FPU
if (last_task_used_math == current) {
last_task_used_math = NULL;
......
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* arch/sh64/kernel/sh_ksyms.c
* arch/sh/kernel/sh_ksyms_64.c
*
* Copyright (C) 2000, 2001 Paolo Alberelli
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*/
#include <linux/rwsem.h>
#include <linux/module.h>
......
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* arch/sh64/kernel/signal.c
* arch/sh/kernel/signal_64.c
*
* Copyright (C) 2000, 2001 Paolo Alberelli
* Copyright (C) 2003 Paul Mundt
* Copyright (C) 2004 Richard Curnow
*
* Started from sh version.
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*/
#include <linux/rwsem.h>
#include <linux/sched.h>
......
/*
* arch/sh64/kernel/syscalls.S
* arch/sh/kernel/syscalls_64.S
*
* Copyright (C) 2000, 2001 Paolo Alberelli
* Copyright (C) 2004 - 2007 Paul Mundt
......
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* arch/sh64/kernel/time.c
* arch/sh/kernel/time_64.c
*
* Copyright (C) 2000, 2001 Paolo Alberelli
* Copyright (C) 2003 - 2007 Paul Mundt
......@@ -13,6 +9,10 @@
* Copyright (C) 1999 Tetsuya Okada & Niibe Yutaka
* Some code taken from i386 version.
* Copyright (C) 1991, 1992, 1995 Linus Torvalds
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*/
#include <linux/errno.h>
#include <linux/rwsem.h>
......
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* arch/sh64/kernel/traps.c
* arch/sh/kernel/traps_64.c
*
* Copyright (C) 2000, 2001 Paolo Alberelli
* Copyright (C) 2003, 2004 Paul Mundt
* Copyright (C) 2003, 2004 Richard Curnow
*
*/
/*
* 'Traps.c' handles hardware traps and faults after we have saved some
* state in 'entry.S'.
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*/
#include <linux/sched.h>
#include <linux/kernel.h>
......
/*
* arch/sh64/lib/c-checksum.c
* arch/sh/lib64/c-checksum.c
*
* This file contains network checksum routines that are better done
* in an architecture-specific manner due to speed..
*/
#undef DEBUG
#include <linux/string.h>
#include <linux/errno.h>
#include <linux/kernel.h>
......
......@@ -2,7 +2,7 @@
--
-- Identity : Linux50 Debug Funcions
--
-- File : arch/sh64/lib/dbg.C
-- File : arch/sh/lib64/dbg.c
--
-- Copyright 2000, 2001 STMicroelectronics Limited.
-- Copyright 2004 Richard Curnow (evt_debug etc)
......
/*
* arch/sh64/lib/udelay.c
* arch/sh/lib64/udelay.c
*
* Delay routines, using a pre-computed "loops_per_jiffy" value.
*
......
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* arch/sh64/mm/cache.c
* arch/sh/mm/cache-sh5.c
*
* Original version Copyright (C) 2000, 2001 Paolo Alberelli
* Second version Copyright (C) benedict.gaster@superh.com 2002
* Third version Copyright Richard.Curnow@superh.com 2003
* Hacks to third version Copyright (C) 2003 Paul Mundt
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*/
/****************************************************************************/
#include <linux/init.h>
#include <linux/mman.h>
#include <linux/mm.h>
......@@ -146,7 +143,7 @@ int __init sh64_cache_init(void)
/* The following group of functions deal with mapping and unmapping a temporary
page into the DTLB slot that have been set aside for our exclusive use. */
/* In order to accomplish this, we use the generic interface for adding and
removing a wired slot entry as defined in arch/sh64/mm/tlb.c */
removing a wired slot entry as defined in arch/sh/mm/tlb-sh5.c */
/****************************************************************************/
static unsigned long slot_own_flags;
......
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* arch/sh64/mm/extable.c
* arch/sh/mm/extable_64.c
*
* Copyright (C) 2003 Richard Curnow
* Copyright (C) 2003, 2004 Paul Mundt
*
* Cloned from the 2.5 SH version..
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*/
#include <linux/rwsem.h>
#include <linux/module.h>
......@@ -21,13 +21,16 @@ static const struct exception_table_entry __copy_user_fixup_ex = {
.fixup = (unsigned long)&__copy_user_fixup,
};
/* Some functions that may trap due to a bad user-mode address have too many loads
and stores in them to make it at all practical to label each one and put them all in
the main exception table.
In particular, the fast memcpy routine is like this. It's fix-up is just to fall back
to a slow byte-at-a-time copy, which is handled the conventional way. So it's functionally
OK to just handle any trap occurring in the fast memcpy with that fixup. */
/*
* Some functions that may trap due to a bad user-mode address have too
* many loads and stores in them to make it at all practical to label
* each one and put them all in the main exception table.
*
* In particular, the fast memcpy routine is like this. It's fix-up is
* just to fall back to a slow byte-at-a-time copy, which is handled the
* conventional way. So it's functionally OK to just handle any trap
* occurring in the fast memcpy with that fixup.
*/
static const struct exception_table_entry *check_exception_ranges(unsigned long addr)
{
if ((addr >= (unsigned long)&copy_user_memcpy) &&
......@@ -77,4 +80,3 @@ int fixup_exception(struct pt_regs *regs)
return 0;
}
/*
* arch/sh64/mm/tlb.c
* arch/sh/mm/tlb-sh5.c
*
* Copyright (C) 2003 Paul Mundt <lethal@linux-sh.org>
* Copyright (C) 2003 Richard Curnow <richard.curnow@superh.com>
......@@ -7,7 +7,6 @@
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
*/
#include <linux/mm.h>
#include <linux/init.h>
......@@ -163,4 +162,3 @@ inline void sh64_setup_tlb_slot(unsigned long long config_addr,
*/
inline void sh64_teardown_tlb_slot(unsigned long long config_addr)
__attribute__ ((alias("__flush_tlb_slot")));
#ifndef __ASM_SH64_CHECKSUM_H
#define __ASM_SH64_CHECKSUM_H
#ifndef __ASM_SH_CHECKSUM_64_H
#define __ASM_SH_CHECKSUM_64_H
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* include/asm-sh64/checksum.h
* include/asm-sh/checksum_64.h
*
* Copyright (C) 2000, 2001 Paolo Alberelli
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*/
/*
......@@ -76,5 +75,4 @@ static inline __sum16 ip_compute_csum(const void *buff, int len)
return csum_fold(csum_partial(buff, len, 0));
}
#endif /* __ASM_SH64_CHECKSUM_H */
#endif /* __ASM_SH_CHECKSUM_64_H */
#ifndef __ASM_SH64_CACHE_H
#define __ASM_SH64_CACHE_H
#ifndef __ASM_SH_CPU_SH5_CACHE_H
#define __ASM_SH_CPU_SH5_CACHE_H
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* include/asm-sh64/cache.h
* include/asm-sh/cpu-sh5/cache.h
*
* Copyright (C) 2000, 2001 Paolo Alberelli
* Copyright (C) 2003, 2004 Paul Mundt
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*/
#define L1_CACHE_SHIFT 5
......@@ -95,4 +94,4 @@
* No Instruction Cache defines required, then.
*/
#endif /* __ASM_SH64_CACHE_H */
#endif /* __ASM_SH_CPU_SH5_CACHE_H */
#ifndef __ASM_SH64_CACHEFLUSH_H
#define __ASM_SH64_CACHEFLUSH_H
#ifndef __ASM_SH_CPU_SH5_CACHEFLUSH_H
#define __ASM_SH_CPU_SH5_CACHEFLUSH_H
#ifndef __ASSEMBLY__
......@@ -31,5 +31,5 @@ extern void flush_icache_user_range(struct vm_area_struct *vma,
#endif /* __ASSEMBLY__ */
#endif /* __ASM_SH64_CACHEFLUSH_H */
#endif /* __ASM_SH_CPU_SH5_CACHEFLUSH_H */
#ifndef __ASM_SH64_IRQ_H
#define __ASM_SH64_IRQ_H
#ifndef __ASM_SH_CPU_SH5_IRQ_H
#define __ASM_SH_CPU_SH5_IRQ_H
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* include/asm-sh64/irq.h
* include/asm-sh/cpu-sh5/irq.h
*
* Copyright (C) 2000, 2001 Paolo Alberelli
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*/
......@@ -115,4 +114,4 @@ extern int intc_evt_to_irq[(0xE20/0x20)+1];
int intc_irq_describe(char* p, int irq);
extern int platform_int_priority[NR_INTC_IRQS];
#endif /* __ASM_SH64_IRQ_H */
#endif /* __ASM_SH_CPU_SH5_IRQ_H */
#ifndef __ASM_SH64_REGISTERS_H
#define __ASM_SH64_REGISTERS_H
#ifndef __ASM_SH_CPU_SH5_REGISTERS_H
#define __ASM_SH_CPU_SH5_REGISTERS_H
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* include/asm-sh64/registers.h
* include/asm-sh/cpu-sh5/registers.h
*
* Copyright (C) 2000, 2001 Paolo Alberelli
* Copyright (C) 2004 Richard Curnow
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*/
#ifdef __ASSEMBLY__
......@@ -103,4 +103,4 @@
#define __USR __str(USR)
#endif /* __ASSEMBLY__ */
#endif /* __ASM_SH64_REGISTERS_H */
#endif /* __ASM_SH_CPU_SH5_REGISTERS_H */
#ifndef __ASM_SH64_PGTABLE_H
#define __ASM_SH64_PGTABLE_H
#ifndef __ASM_SH_PGTABLE_64_H
#define __ASM_SH_PGTABLE_64_H
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
* include/asm-sh/pgtable_64.h
*
* include/asm-sh64/pgtable.h
* This file contains the functions and defines necessary to modify and use
* the SuperH page table tree.
*
* Copyright (C) 2000, 2001 Paolo Alberelli
* Copyright (C) 2003, 2004 Paul Mundt
* Copyright (C) 2003, 2004 Richard Curnow
*
* This file contains the functions and defines necessary to modify and use
* the SuperH page table tree.
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*/
#include <linux/threads.h>
#include <asm/processor.h>
#include <asm/page.h>
......@@ -297,4 +296,4 @@ static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
#define pfn_pte(pfn, prot) __pte(((pfn) << PAGE_SHIFT) | pgprot_val(prot))
#define pfn_pmd(pfn, prot) __pmd(((pfn) << PAGE_SHIFT) | pgprot_val(prot))
#endif /* __ASM_SH64_PGTABLE_H */
#endif /* __ASM_SH_PGTABLE_64_H */
#ifndef __ASM_SH64_STRING_H
#define __ASM_SH64_STRING_H
#ifndef __ASM_SH_STRING_64_H
#define __ASM_SH_STRING_64_H
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* include/asm-sh64/string.h
* include/asm-sh/string_64.h
*
* Copyright (C) 2000, 2001 Paolo Alberelli
*
* Empty on purpose. ARCH SH64 ASM libs are out of the current project scope.
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*/
#define __HAVE_ARCH_MEMCPY
extern void *memcpy(void *dest, const void *src, size_t count);
#endif
#endif /* __ASM_SH_STRING_64_H */
#ifndef __ASM_SH64_UACCESS_H
#define __ASM_SH64_UACCESS_H
#ifndef __ASM_SH_UACCESS_64_H
#define __ASM_SH_UACCESS_64_H
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* include/asm-sh64/uaccess.h
* include/asm-sh/uaccess_64.h
*
* Copyright (C) 2000, 2001 Paolo Alberelli
* Copyright (C) 2003, 2004 Paul Mundt
......@@ -20,8 +16,10 @@
* Copyright (C) 1996, 1997, 1998 by Ralf Baechle
* and i386 version.
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*/
#include <linux/errno.h>
#include <linux/sched.h>
......@@ -301,4 +299,4 @@ struct exception_table_entry
extern unsigned long search_exception_table(unsigned long addr);
extern const struct exception_table_entry *search_exception_tables (unsigned long addr);
#endif /* __ASM_SH64_UACCESS_H */
#endif /* __ASM_SH_UACCESS_64_H */
#ifndef __ASM_SH64_UNISTD_H
#define __ASM_SH64_UNISTD_H
#ifndef __ASM_SH_UNISTD_64_H
#define __ASM_SH_UNISTD_64_H
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
* include/asm-sh/unistd_64.h
*
* include/asm-sh64/unistd.h
* This file contains the system call numbers.
*
* Copyright (C) 2000, 2001 Paolo Alberelli
* Copyright (C) 2003 - 2007 Paul Mundt
* Copyright (C) 2004 Sean McGoogan
*
* This file contains the system call numbers.
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*/
#define __NR_restart_syscall 0
#define __NR_exit 1
#define __NR_fork 2
......@@ -414,4 +412,4 @@
#endif
#endif /* __KERNEL__ */
#endif /* __ASM_SH64_UNISTD_H */
#endif /* __ASM_SH_UNISTD_64_H */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册