Merge branches 'cache-l2x0', 'fixes', 'hdrs', 'misc', 'mmci', 'vic' and 'warnings' into for-next
Este cometimento está contido em:
@@ -745,7 +745,7 @@ do_alignment_t32_to_handler(unsigned long *pinstr, struct pt_regs *regs,
|
||||
static int
|
||||
do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
|
||||
{
|
||||
union offset_union offset;
|
||||
union offset_union uninitialized_var(offset);
|
||||
unsigned long instr = 0, instrptr;
|
||||
int (*handler)(unsigned long addr, unsigned long instr, struct pt_regs *regs);
|
||||
unsigned int type;
|
||||
@@ -856,8 +856,10 @@ do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
|
||||
if (thumb2_32b) {
|
||||
offset.un = 0;
|
||||
handler = do_alignment_t32_to_handler(&instr, regs, &offset);
|
||||
} else
|
||||
} else {
|
||||
offset.un = 0;
|
||||
handler = do_alignment_ldmstm;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@@ -610,7 +610,7 @@ static void *__dma_alloc(struct device *dev, size_t size, dma_addr_t *handle,
|
||||
gfp_t gfp, pgprot_t prot, bool is_coherent, const void *caller)
|
||||
{
|
||||
u64 mask = get_coherent_dma_mask(dev);
|
||||
struct page *page;
|
||||
struct page *page = NULL;
|
||||
void *addr;
|
||||
|
||||
#ifdef CONFIG_DMA_API_DEBUG
|
||||
|
@@ -92,6 +92,9 @@ static int __init init_static_idmap(void)
|
||||
(long long)idmap_start, (long long)idmap_end);
|
||||
identity_mapping_add(idmap_pgd, idmap_start, idmap_end);
|
||||
|
||||
/* Flush L1 for the hardware to see this page table content */
|
||||
flush_cache_louis();
|
||||
|
||||
return 0;
|
||||
}
|
||||
early_initcall(init_static_idmap);
|
||||
@@ -103,12 +106,15 @@ early_initcall(init_static_idmap);
|
||||
*/
|
||||
void setup_mm_for_reboot(void)
|
||||
{
|
||||
/* Clean and invalidate L1. */
|
||||
flush_cache_all();
|
||||
|
||||
/* Switch to the identity mapping. */
|
||||
cpu_switch_mm(idmap_pgd, &init_mm);
|
||||
|
||||
/* Flush the TLB. */
|
||||
#ifdef CONFIG_CPU_HAS_ASID
|
||||
/*
|
||||
* We don't have a clean ASID for the identity mapping, which
|
||||
* may clash with virtual addresses of the previous page tables
|
||||
* and therefore potentially in the TLB.
|
||||
*/
|
||||
local_flush_tlb_all();
|
||||
#endif
|
||||
}
|
||||
|
@@ -89,7 +89,7 @@ ENTRY(cpu_v6_dcache_clean_area)
|
||||
mov pc, lr
|
||||
|
||||
/*
|
||||
* cpu_arm926_switch_mm(pgd_phys, tsk)
|
||||
* cpu_v6_switch_mm(pgd_phys, tsk)
|
||||
*
|
||||
* Set the translation table base pointer to be pgd_phys
|
||||
*
|
||||
|
@@ -57,7 +57,7 @@ ENTRY(cpu_v7_reset)
|
||||
THUMB( bic r1, r1, #1 << 30 ) @ SCTLR.TE (Thumb exceptions)
|
||||
mcr p15, 0, r1, c1, c0, 0 @ disable MMU
|
||||
isb
|
||||
mov pc, r0
|
||||
bx r0
|
||||
ENDPROC(cpu_v7_reset)
|
||||
.popsection
|
||||
|
||||
|
@@ -17,7 +17,6 @@ struct arm_vmregion {
|
||||
struct list_head vm_list;
|
||||
unsigned long vm_start;
|
||||
unsigned long vm_end;
|
||||
void *priv;
|
||||
int vm_active;
|
||||
const void *caller;
|
||||
};
|
||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador