Commit a039767f authored by Linus Torvalds's avatar Linus Torvalds

Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.24

* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.24:
  sh: include ax88796 in the defconfig for r7785rp
  sh: include ax88796 in the defconfig for r7780mp
  sh: fix R2D-1 CF support
  fb: Orphan imsttfb.
  sh: Update mailing list info.
  sh: lockless UTLB miss fast-path.
  sh: Kill off UTLB flush in fast-path.
  sh: Fix copy_{to,from}_user_page() with cache disabled.
parents cdb32706 9a876d60
...@@ -1914,10 +1914,8 @@ L: linux1394-devel@lists.sourceforge.net ...@@ -1914,10 +1914,8 @@ L: linux1394-devel@lists.sourceforge.net
S: Maintained S: Maintained
IMS TWINTURBO FRAMEBUFFER DRIVER IMS TWINTURBO FRAMEBUFFER DRIVER
P: Paul Mundt
M: lethal@chaoticdreams.org
L: linux-fbdev-devel@lists.sourceforge.net (subscribers-only) L: linux-fbdev-devel@lists.sourceforge.net (subscribers-only)
S: Maintained S: Orphan
INFINIBAND SUBSYSTEM INFINIBAND SUBSYSTEM
P: Roland Dreier P: Roland Dreier
...@@ -3636,18 +3634,12 @@ M: laredo@gnu.org ...@@ -3636,18 +3634,12 @@ M: laredo@gnu.org
W: http://www.stradis.com/ W: http://www.stradis.com/
S: Maintained S: Maintained
SUPERH (sh) SUPERH
P: Paul Mundt
M: lethal@linux-sh.org
L: linuxsh-dev@lists.sourceforge.net (subscribers-only)
W: http://www.linux-sh.org
S: Maintained
SUPERH64 (sh64)
P: Paul Mundt P: Paul Mundt
M: lethal@linux-sh.org M: lethal@linux-sh.org
L: linuxsh-shmedia-dev@lists.sourceforge.net L: linux-sh@vger.kernel.org
W: http://www.linux-sh.org W: http://www.linux-sh.org
T: git kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.git
S: Maintained S: Maintained
SUN3/3X SUN3/3X
......
...@@ -53,10 +53,12 @@ static struct resource cf_ide_resources[] = { ...@@ -53,10 +53,12 @@ static struct resource cf_ide_resources[] = {
.end = PA_AREA5_IO + 0x80c, .end = PA_AREA5_IO + 0x80c,
.flags = IORESOURCE_MEM, .flags = IORESOURCE_MEM,
}, },
#ifndef CONFIG_RTS7751R2D_1 /* For R2D-1 polling is preferred */
[2] = { [2] = {
.start = IRQ_CF_IDE, .start = IRQ_CF_IDE,
.flags = IORESOURCE_IRQ, .flags = IORESOURCE_IRQ,
}, },
#endif
}; };
static struct pata_platform_info pata_info = { static struct pata_platform_info pata_info = {
......
This diff is collapsed.
# #
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# Linux kernel version: 2.6.24-rc1 # Linux kernel version: 2.6.24-rc2
# Fri Nov 2 14:30:49 2007 # Tue Nov 13 20:34:57 2007
# #
CONFIG_SUPERH=y CONFIG_SUPERH=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y CONFIG_RWSEM_GENERIC_SPINLOCK=y
...@@ -124,8 +124,6 @@ CONFIG_CPU_SHX2=y ...@@ -124,8 +124,6 @@ CONFIG_CPU_SHX2=y
# CONFIG_CPU_SUBTYPE_SH7751R is not set # CONFIG_CPU_SUBTYPE_SH7751R is not set
# CONFIG_CPU_SUBTYPE_SH7760 is not set # CONFIG_CPU_SUBTYPE_SH7760 is not set
# CONFIG_CPU_SUBTYPE_SH4_202 is not set # CONFIG_CPU_SUBTYPE_SH4_202 is not set
# CONFIG_CPU_SUBTYPE_ST40STB1 is not set
# CONFIG_CPU_SUBTYPE_ST40GX1 is not set
# CONFIG_CPU_SUBTYPE_SH7770 is not set # CONFIG_CPU_SUBTYPE_SH7770 is not set
# CONFIG_CPU_SUBTYPE_SH7780 is not set # CONFIG_CPU_SUBTYPE_SH7780 is not set
CONFIG_CPU_SUBTYPE_SH7785=y CONFIG_CPU_SUBTYPE_SH7785=y
...@@ -254,7 +252,6 @@ CONFIG_GUSA=y ...@@ -254,7 +252,6 @@ CONFIG_GUSA=y
# #
CONFIG_ZERO_PAGE_OFFSET=0x00001000 CONFIG_ZERO_PAGE_OFFSET=0x00001000
CONFIG_BOOT_LINK_OFFSET=0x00800000 CONFIG_BOOT_LINK_OFFSET=0x00800000
# CONFIG_UBC_WAKEUP is not set
CONFIG_CMDLINE_BOOL=y CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/sda1" CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/sda1"
...@@ -266,6 +263,7 @@ CONFIG_SH_PCIDMA_NONCOHERENT=y ...@@ -266,6 +263,7 @@ CONFIG_SH_PCIDMA_NONCOHERENT=y
CONFIG_PCI_AUTO=y CONFIG_PCI_AUTO=y
CONFIG_PCI_AUTO_UPDATE_RESOURCES=y CONFIG_PCI_AUTO_UPDATE_RESOURCES=y
# CONFIG_ARCH_SUPPORTS_MSI is not set # CONFIG_ARCH_SUPPORTS_MSI is not set
CONFIG_PCI_LEGACY=y
# CONFIG_PCI_DEBUG is not set # CONFIG_PCI_DEBUG is not set
# CONFIG_PCCARD is not set # CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set # CONFIG_HOTPLUG_PCI is not set
...@@ -550,6 +548,8 @@ CONFIG_NETDEVICES=y ...@@ -550,6 +548,8 @@ CONFIG_NETDEVICES=y
# CONFIG_PHYLIB is not set # CONFIG_PHYLIB is not set
CONFIG_NET_ETHERNET=y CONFIG_NET_ETHERNET=y
CONFIG_MII=y CONFIG_MII=y
CONFIG_AX88796=y
CONFIG_AX88796_93CX6=y
# CONFIG_STNIC is not set # CONFIG_STNIC is not set
# CONFIG_HAPPYMEAL is not set # CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set # CONFIG_SUNGEM is not set
......
...@@ -258,9 +258,6 @@ asmlinkage int __kprobes __do_page_fault(struct pt_regs *regs, ...@@ -258,9 +258,6 @@ asmlinkage int __kprobes __do_page_fault(struct pt_regs *regs,
pmd_t *pmd; pmd_t *pmd;
pte_t *pte; pte_t *pte;
pte_t entry; pte_t entry;
struct mm_struct *mm = current->mm;
spinlock_t *ptl = NULL;
int ret = 1;
#ifdef CONFIG_SH_KGDB #ifdef CONFIG_SH_KGDB
if (kgdb_nofault && kgdb_bus_err_hook) if (kgdb_nofault && kgdb_bus_err_hook)
...@@ -274,12 +271,11 @@ asmlinkage int __kprobes __do_page_fault(struct pt_regs *regs, ...@@ -274,12 +271,11 @@ asmlinkage int __kprobes __do_page_fault(struct pt_regs *regs,
*/ */
if (address >= P3SEG && address < P3_ADDR_MAX) { if (address >= P3SEG && address < P3_ADDR_MAX) {
pgd = pgd_offset_k(address); pgd = pgd_offset_k(address);
mm = NULL;
} else { } else {
if (unlikely(address >= TASK_SIZE || !mm)) if (unlikely(address >= TASK_SIZE || !current->mm))
return 1; return 1;
pgd = pgd_offset(mm, address); pgd = pgd_offset(current->mm, address);
} }
pud = pud_offset(pgd, address); pud = pud_offset(pgd, address);
...@@ -289,34 +285,19 @@ asmlinkage int __kprobes __do_page_fault(struct pt_regs *regs, ...@@ -289,34 +285,19 @@ asmlinkage int __kprobes __do_page_fault(struct pt_regs *regs,
if (pmd_none_or_clear_bad(pmd)) if (pmd_none_or_clear_bad(pmd))
return 1; return 1;
if (mm)
pte = pte_offset_map_lock(mm, pmd, address, &ptl);
else
pte = pte_offset_kernel(pmd, address); pte = pte_offset_kernel(pmd, address);
entry = *pte; entry = *pte;
if (unlikely(pte_none(entry) || pte_not_present(entry))) if (unlikely(pte_none(entry) || pte_not_present(entry)))
goto unlock; return 1;
if (unlikely(writeaccess && !pte_write(entry))) if (unlikely(writeaccess && !pte_write(entry)))
goto unlock; return 1;
if (writeaccess) if (writeaccess)
entry = pte_mkdirty(entry); entry = pte_mkdirty(entry);
entry = pte_mkyoung(entry); entry = pte_mkyoung(entry);
#ifdef CONFIG_CPU_SH4
/*
* ITLB is not affected by "ldtlb" instruction.
* So, we need to flush the entry by ourselves.
*/
local_flush_tlb_one(get_asid(), address & PAGE_MASK);
#endif
set_pte(pte, entry); set_pte(pte, entry);
update_mmu_cache(NULL, address, entry); update_mmu_cache(NULL, address, entry);
ret = 0;
unlock: return 0;
if (mm)
pte_unmap_unlock(pte, ptl);
return ret;
} }
...@@ -43,7 +43,7 @@ extern void __flush_purge_region(void *start, int size); ...@@ -43,7 +43,7 @@ extern void __flush_purge_region(void *start, int size);
extern void __flush_invalidate_region(void *start, int size); extern void __flush_invalidate_region(void *start, int size);
#endif #endif
#ifdef CONFIG_CPU_SH4 #if defined(CONFIG_CPU_SH4) && !defined(CONFIG_CACHE_OFF)
extern void copy_to_user_page(struct vm_area_struct *vma, extern void copy_to_user_page(struct vm_area_struct *vma,
struct page *page, unsigned long vaddr, void *dst, const void *src, struct page *page, unsigned long vaddr, void *dst, const void *src,
unsigned long len); unsigned long len);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment