Skip to content

Commit 3b2871f

Browse files
committed
Merge branch 'linux-3.8.y' of git://kernel.ubuntu.com/ubuntu/linux into odroid-3.8.y
2 parents 8c8a466 + e8ddbcf commit 3b2871f

File tree

83 files changed

+650
-358
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+650
-358
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
VERSION = 3
22
PATCHLEVEL = 8
33
SUBLEVEL = 13
4-
EXTRAVERSION = .7
4+
EXTRAVERSION = .8
55
NAME = Remoralised Urchins Update
66

77
# *DOCUMENTATION*

arch/arm/boot/dts/at91sam9n12ek.dts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
compatible = "atmel,at91sam9n12ek", "atmel,at91sam9n12", "atmel,at91sam9";
1515

1616
chosen {
17-
bootargs = "mem=128M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2";
17+
bootargs = "console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2";
1818
};
1919

2020
memory {
21-
reg = <0x20000000 0x10000000>;
21+
reg = <0x20000000 0x8000000>;
2222
};
2323

2424
clocks {

arch/arm/include/asm/tlb.h

Lines changed: 9 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,6 @@
3333
#include <asm/pgalloc.h>
3434
#include <asm/tlbflush.h>
3535

36-
/*
37-
* We need to delay page freeing for SMP as other CPUs can access pages
38-
* which have been removed but not yet had their TLB entries invalidated.
39-
* Also, as ARMv7 speculative prefetch can drag new entries into the TLB,
40-
* we need to apply this same delaying tactic to ensure correct operation.
41-
*/
42-
#if defined(CONFIG_SMP) || defined(CONFIG_CPU_32v7)
43-
#define tlb_fast_mode(tlb) 0
44-
#else
45-
#define tlb_fast_mode(tlb) 1
46-
#endif
47-
4836
#define MMU_GATHER_BUNDLE 8
4937

5038
/*
@@ -55,6 +43,7 @@ struct mmu_gather {
5543
struct mm_struct *mm;
5644
unsigned int fullmm;
5745
struct vm_area_struct *vma;
46+
unsigned long start, end;
5847
unsigned long range_start;
5948
unsigned long range_end;
6049
unsigned int nr;
@@ -112,19 +101,19 @@ static inline void __tlb_alloc_page(struct mmu_gather *tlb)
112101
static inline void tlb_flush_mmu(struct mmu_gather *tlb)
113102
{
114103
tlb_flush(tlb);
115-
if (!tlb_fast_mode(tlb)) {
116-
free_pages_and_swap_cache(tlb->pages, tlb->nr);
117-
tlb->nr = 0;
118-
if (tlb->pages == tlb->local)
119-
__tlb_alloc_page(tlb);
120-
}
104+
free_pages_and_swap_cache(tlb->pages, tlb->nr);
105+
tlb->nr = 0;
106+
if (tlb->pages == tlb->local)
107+
__tlb_alloc_page(tlb);
121108
}
122109

123110
static inline void
124-
tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned int fullmm)
111+
tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned long start, unsigned long end)
125112
{
126113
tlb->mm = mm;
127-
tlb->fullmm = fullmm;
114+
tlb->fullmm = !(start | (end+1));
115+
tlb->start = start;
116+
tlb->end = end;
128117
tlb->vma = NULL;
129118
tlb->max = ARRAY_SIZE(tlb->local);
130119
tlb->pages = tlb->local;
@@ -178,11 +167,6 @@ tlb_end_vma(struct mmu_gather *tlb, struct vm_area_struct *vma)
178167

179168
static inline int __tlb_remove_page(struct mmu_gather *tlb, struct page *page)
180169
{
181-
if (tlb_fast_mode(tlb)) {
182-
free_page_and_swap_cache(page);
183-
return 1; /* avoid calling tlb_flush_mmu */
184-
}
185-
186170
tlb->pages[tlb->nr++] = page;
187171
VM_BUG_ON(tlb->nr > tlb->max);
188172
return tlb->max - tlb->nr;

arch/arm/kernel/entry-armv.S

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -795,6 +795,7 @@ ENDPROC(__switch_to)
795795
.endr
796796
.endm
797797

798+
#ifdef CONFIG_KUSER_HELPERS
798799
.align 5
799800
.globl __kuser_helper_start
800801
__kuser_helper_start:
@@ -981,6 +982,8 @@ __kuser_helper_version: @ 0xffff0ffc
981982
.globl __kuser_helper_end
982983
__kuser_helper_end:
983984

985+
#endif
986+
984987
THUMB( .thumb )
985988

986989
/*

arch/arm/kernel/perf_event.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,9 @@ validate_event(struct pmu_hw_events *hw_events,
266266
struct arm_pmu *armpmu = to_arm_pmu(event->pmu);
267267
struct pmu *leader_pmu = event->group_leader->pmu;
268268

269+
if (is_software_event(event))
270+
return 1;
271+
269272
if (event->pmu != leader_pmu || event->state < PERF_EVENT_STATE_OFF)
270273
return 1;
271274

arch/arm/kernel/traps.c

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -807,23 +807,32 @@ void __init trap_init(void)
807807
return;
808808
}
809809

810-
static void __init kuser_get_tls_init(unsigned long vectors)
810+
#ifdef CONFIG_KUSER_HELPERS
811+
static void __init kuser_init(void *vectors)
811812
{
813+
extern char __kuser_helper_start[], __kuser_helper_end[];
814+
int kuser_sz = __kuser_helper_end - __kuser_helper_start;
815+
816+
memcpy(vectors + 0x1000 - kuser_sz, __kuser_helper_start, kuser_sz);
817+
812818
/*
813819
* vectors + 0xfe0 = __kuser_get_tls
814820
* vectors + 0xfe8 = hardware TLS instruction at 0xffff0fe8
815821
*/
816822
if (tls_emu || has_tls_reg)
817-
memcpy((void *)vectors + 0xfe0, (void *)vectors + 0xfe8, 4);
823+
memcpy(vectors + 0xfe0, vectors + 0xfe8, 4);
824+
}
825+
#else
826+
static void __init kuser_init(void *vectors)
827+
{
818828
}
829+
#endif
819830

820831
void __init early_trap_init(void *vectors_base)
821832
{
822833
unsigned long vectors = (unsigned long)vectors_base;
823834
extern char __stubs_start[], __stubs_end[];
824835
extern char __vectors_start[], __vectors_end[];
825-
extern char __kuser_helper_start[], __kuser_helper_end[];
826-
int kuser_sz = __kuser_helper_end - __kuser_helper_start;
827836
unsigned i;
828837

829838
vectors_page = vectors_base;
@@ -844,12 +853,8 @@ void __init early_trap_init(void *vectors_base)
844853
*/
845854
memcpy((void *)vectors, __vectors_start, __vectors_end - __vectors_start);
846855
memcpy((void *)vectors + 0x1000, __stubs_start, __stubs_end - __stubs_start);
847-
memcpy((void *)vectors + 0x1000 - kuser_sz, __kuser_helper_start, kuser_sz);
848856

849-
/*
850-
* Do processor specific fixups for the kuser helpers
851-
*/
852-
kuser_get_tls_init(vectors);
857+
kuser_init(vectors_base);
853858

854859
/*
855860
* Copy signal return handlers into the vector page, and

arch/arm/mach-davinci/board-dm355-leopard.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ static struct davinci_nand_pdata davinci_nand_data = {
7575
.parts = davinci_nand_partitions,
7676
.nr_parts = ARRAY_SIZE(davinci_nand_partitions),
7777
.ecc_mode = NAND_ECC_HW_SYNDROME,
78+
.ecc_bits = 4,
7879
.bbt_options = NAND_BBT_USE_FLASH,
7980
};
8081

arch/arm/mach-davinci/board-dm644x-evm.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ static struct davinci_nand_pdata davinci_evm_nandflash_data = {
153153
.parts = davinci_evm_nandflash_partition,
154154
.nr_parts = ARRAY_SIZE(davinci_evm_nandflash_partition),
155155
.ecc_mode = NAND_ECC_HW,
156+
.ecc_bits = 1,
156157
.bbt_options = NAND_BBT_USE_FLASH,
157158
.timing = &davinci_evm_nandflash_timing,
158159
};

arch/arm/mach-davinci/board-dm646x-evm.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ static struct davinci_nand_pdata davinci_nand_data = {
9090
.parts = davinci_nand_partitions,
9191
.nr_parts = ARRAY_SIZE(davinci_nand_partitions),
9292
.ecc_mode = NAND_ECC_HW,
93+
.ecc_bits = 1,
9394
.options = 0,
9495
};
9596

arch/arm/mach-davinci/board-neuros-osd2.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ static struct davinci_nand_pdata davinci_ntosd2_nandflash_data = {
8888
.parts = davinci_ntosd2_nandflash_partition,
8989
.nr_parts = ARRAY_SIZE(davinci_ntosd2_nandflash_partition),
9090
.ecc_mode = NAND_ECC_HW,
91+
.ecc_bits = 1,
9192
.bbt_options = NAND_BBT_USE_FLASH,
9293
};
9394

0 commit comments

Comments
 (0)