Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 74bda931 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] Provide basic printk_clock() implementation
  [ARM] Resolve fuse and direct-IO failures due to missing cache flushes
  [ARM] pass vma for flush_anon_page()
  [ARM] Fix potential MMCI bug
  [ARM] Fix kernel-mode undefined instruction aborts
  [ARM] 4082/1: iop3xx: fix iop33x gpio register offset
  [ARM] 4070/1: arch/arm/kernel: fix warnings from missing includes
  [ARM] 4079/1: iop: Update MAINTAINERS
parents fea5f1e1 e97126cd
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -373,14 +373,15 @@ maps this page at its virtual address.
	likely that you will need to flush the instruction cache
	for copy_to_user_page().

  void flush_anon_page(struct page *page, unsigned long vmaddr)
  void flush_anon_page(struct vm_area_struct *vma, struct page *page,
                       unsigned long vmaddr)
  	When the kernel needs to access the contents of an anonymous
	page, it calls this function (currently only
	get_user_pages()).  Note: flush_dcache_page() deliberately
	doesn't work for an anonymous page.  The default
	implementation is a nop (and should remain so for all coherent
	architectures).  For incoherent architectures, it should flush
	the cache of the page at vmaddr in the current user process.
	the cache of the page at vmaddr.

  void flush_kernel_dcache_page(struct page *page)
	When the kernel needs to modify a user page is has obtained
+18 −4
Original line number Diff line number Diff line
@@ -412,20 +412,32 @@ S: Maintained
ARM/INTEL IOP32X ARM ARCHITECTURE
P:	Lennert Buytenhek
M:	kernel@wantstofly.org
P:	Dan Williams
M:	dan.j.williams@intel.com
L:	linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
S:	Maintained
S:	Supported

ARM/INTEL IOP33X ARM ARCHITECTURE
P:	Dan Williams
M:	dan.j.williams@intel.com
L:	linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
S:	Supported

ARM/INTEL IOP13XX ARM ARCHITECTURE
P:	Lennert Buytenhek
M:	kernel@wantstofly.org
P:	Dan Williams
M:	dan.j.williams@intel.com
L:	linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
S:	Maintained
S:	Supported

ARM/INTEL IQ81342EX MACHINE SUPPORT
P:	Lennert Buytenhek
M:	kernel@wantstofly.org
P:	Dan Williams
M:	dan.j.williams@intel.com
L:	linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
S:	Maintained
S:	Supported

ARM/INTEL IXP2000 ARM ARCHITECTURE
P:	Lennert Buytenhek
@@ -448,8 +460,10 @@ S: Maintained
ARM/INTEL XSC3 (MANZANO) ARM CORE
P:	Lennert Buytenhek
M:	kernel@wantstofly.org
P:	Dan Williams
M:	dan.j.williams@intel.com
L:	linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
S:	Maintained
S:	Supported

ARM/IP FABRICS DOUBLE ESPRESSO MACHINE SUPPORT
P:	Lennert Buytenhek
+8 −4
Original line number Diff line number Diff line
@@ -436,7 +436,7 @@ __und_usr:
	usr_entry

	tst	r3, #PSR_T_BIT			@ Thumb mode?
	bne	fpundefinstr			@ ignore FP
	bne	__und_usr_unknown		@ ignore FP
	sub	r4, r2, #4

	@
@@ -448,7 +448,7 @@ __und_usr:
	@
1:	ldrt	r0, [r4]
	adr	r9, ret_from_exception
	adr	lr, fpundefinstr
	adr	lr, __und_usr_unknown
	@
	@ fallthrough to call_fpe
	@
@@ -476,7 +476,9 @@ __und_usr:
 * Emulators may wish to make use of the following registers:
 *  r0  = instruction opcode.
 *  r2  = PC+4
 *  r9  = normal "successful" return address
 *  r10 = this threads thread_info structure.
 *  lr  = unrecognised instruction return address
 */
call_fpe:
	tst	r0, #0x08000000			@ only CDP/CPRT/LDC/STC have bit 27
@@ -545,10 +547,12 @@ do_fpe:

	.data
ENTRY(fp_enter)
	.word	fpundefinstr
	.word	no_fp
	.text

fpundefinstr:
no_fp:	mov	pc, lr

__und_usr_unknown:
	mov	r0, sp
	adr	lr, ret_from_exception
	b	do_undefinstr
+13 −0
Original line number Diff line number Diff line
@@ -29,6 +29,8 @@
#include <linux/timer.h>
#include <linux/irq.h>

#include <linux/mc146818rtc.h>

#include <asm/leds.h>
#include <asm/thread_info.h>
#include <asm/mach/time.h>
@@ -85,6 +87,17 @@ unsigned long long __attribute__((weak)) sched_clock(void)
	return (unsigned long long)jiffies * (1000000000 / HZ);
}

/*
 * An implementation of printk_clock() independent from
 * sched_clock().  This avoids non-bootable kernels when
 * printk_clock is enabled.
 */
unsigned long long printk_clock(void)
{
	return (unsigned long long)(jiffies - INITIAL_JIFFIES) *
			(1000000000 / HZ);
}

static unsigned long next_rtc_update;

/*
+1 −0
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@
#include <asm/uaccess.h>
#include <asm/unistd.h>
#include <asm/traps.h>
#include <asm/io.h>

#include "ptrace.h"
#include "signal.h"
Loading