forked from Minki/linux
- compat renameat2 syscall wiring and __NR_compat_syscalls fix
- TLB fix for transparent huge pages following switch to generic mmu_gather - spinlock initialisation for init_mm's context - move of_clk_init() earlier - Kconfig duplicate entry fix -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iQIcBAABAgAGBQJTW4KqAAoJEGvWsS0AyF7xMpcQAIB7dERyKiHXMYtoJirwkaKJ Pi02y25a80n2Ru4Y8mWu3xf52BBJrKXTyek5i5ztkD7kmVNdjgnsTp3bAqgjYmH2 08Q7UlGC4eWlGKiGe3h+1WLJdQYqBQWFXoyTBIhU3gdGldN4EphnHqxxIGLiflu8 /bGRzsJDzKI8XVbXv0ZStHk4DI3mpzSbQolyAnxIvtLF9iMNP43h/0+yMgYvW2gs S1ShPl71Cf4aOCk73SgH0GXJinCC6v9w8TFcy+FGlJhULo0sc0EXzpvsRac08OGf QyADYx/yMrwI/DCh+uncoByuS54u5Z1MGIJ68Uvc6GMqjkfurvjUhBFFHxjFCI+g SVmIrItt0CQRVl/2LszFFQnQlLP5MwYNQnF5Gb8lZhZgy7AAE43h3iSeL5dHUuJK vhUxfCvNSLP09+crVfDwZsLR9aAjcRyIcYpFfXAePa/rtn2pX/ICWBCVOOw/j3ii 9kWDnk+pqQLutu6FFO7Isu1QC7M5fxSlek5WqexSOJMa5VVUgYXz2cXm1V3I+WW8 TVFM4PuM81PjgmtZHq9R8WC37lEuIS2Ib0ph/E20keztB8t/ggC7pFS4J9fqGmQp MYBpiAm6PVtWCuIdwkS3L4Xv1/63Za7/CZWIL+pVaQfv6Ruk8a0IWzuiF0E0w3ak gqAxd5erxudNADIxDfvo =cSni -----END PGP SIGNATURE----- Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 fixes from Catalin Marinas: - compat renameat2 syscall wiring and __NR_compat_syscalls fix - TLB fix for transparent huge pages following switch to generic mmu_gather - spinlock initialisation for init_mm's context - move of_clk_init() earlier - Kconfig duplicate entry fix * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: init: Move of_clk_init to time_init arm64: initialize spinlock for init_mm's context arm64: debug: remove noisy, pointless warning arm64: mm: Add THP TLB entries to general mmu_gather arm64: add renameat2 compat syscall ARM64: Remove duplicated Kconfig entry for "kernel/power/Kconfig" arm64: __NR_compat_syscalls fix
This commit is contained in:
commit
afa3cad746
@ -323,8 +323,6 @@ menu "CPU Power Management"
|
|||||||
|
|
||||||
source "drivers/cpuidle/Kconfig"
|
source "drivers/cpuidle/Kconfig"
|
||||||
|
|
||||||
source "kernel/power/Kconfig"
|
|
||||||
|
|
||||||
source "drivers/cpufreq/Kconfig"
|
source "drivers/cpufreq/Kconfig"
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
@ -22,6 +22,9 @@ typedef struct {
|
|||||||
void *vdso;
|
void *vdso;
|
||||||
} mm_context_t;
|
} mm_context_t;
|
||||||
|
|
||||||
|
#define INIT_MM_CONTEXT(name) \
|
||||||
|
.context.id_lock = __RAW_SPIN_LOCK_UNLOCKED(name.context.id_lock),
|
||||||
|
|
||||||
#define ASID(mm) ((mm)->context.id & 0xffff)
|
#define ASID(mm) ((mm)->context.id & 0xffff)
|
||||||
|
|
||||||
extern void paging_init(void);
|
extern void paging_init(void);
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#ifndef __ASM_TLB_H
|
#ifndef __ASM_TLB_H
|
||||||
#define __ASM_TLB_H
|
#define __ASM_TLB_H
|
||||||
|
|
||||||
|
#define __tlb_remove_pmd_tlb_entry __tlb_remove_pmd_tlb_entry
|
||||||
|
|
||||||
#include <asm-generic/tlb.h>
|
#include <asm-generic/tlb.h>
|
||||||
|
|
||||||
@ -99,5 +100,10 @@ static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmdp,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static inline void __tlb_remove_pmd_tlb_entry(struct mmu_gather *tlb, pmd_t *pmdp,
|
||||||
|
unsigned long address)
|
||||||
|
{
|
||||||
|
tlb_add_flush(tlb, address);
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -403,8 +403,9 @@ __SYSCALL(378, sys_kcmp)
|
|||||||
__SYSCALL(379, sys_finit_module)
|
__SYSCALL(379, sys_finit_module)
|
||||||
__SYSCALL(380, sys_sched_setattr)
|
__SYSCALL(380, sys_sched_setattr)
|
||||||
__SYSCALL(381, sys_sched_getattr)
|
__SYSCALL(381, sys_sched_getattr)
|
||||||
|
__SYSCALL(382, sys_renameat2)
|
||||||
|
|
||||||
#define __NR_compat_syscalls 379
|
#define __NR_compat_syscalls 383
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Compat syscall numbers used by the AArch64 kernel.
|
* Compat syscall numbers used by the AArch64 kernel.
|
||||||
|
@ -318,9 +318,6 @@ static int brk_handler(unsigned long addr, unsigned int esr,
|
|||||||
if (call_break_hook(regs, esr) == DBG_HOOK_HANDLED)
|
if (call_break_hook(regs, esr) == DBG_HOOK_HANDLED)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
pr_warn("unexpected brk exception at %lx, esr=0x%x\n",
|
|
||||||
(long)instruction_pointer(regs), esr);
|
|
||||||
|
|
||||||
if (!user_mode(regs))
|
if (!user_mode(regs))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
|
|
||||||
|
@ -393,7 +393,6 @@ void __init setup_arch(char **cmdline_p)
|
|||||||
|
|
||||||
static int __init arm64_device_init(void)
|
static int __init arm64_device_init(void)
|
||||||
{
|
{
|
||||||
of_clk_init(NULL);
|
|
||||||
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
|
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
#include <linux/irq.h>
|
#include <linux/irq.h>
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
#include <linux/clocksource.h>
|
#include <linux/clocksource.h>
|
||||||
|
#include <linux/clk-provider.h>
|
||||||
|
|
||||||
#include <clocksource/arm_arch_timer.h>
|
#include <clocksource/arm_arch_timer.h>
|
||||||
|
|
||||||
@ -65,6 +66,7 @@ void __init time_init(void)
|
|||||||
{
|
{
|
||||||
u32 arch_timer_rate;
|
u32 arch_timer_rate;
|
||||||
|
|
||||||
|
of_clk_init(NULL);
|
||||||
clocksource_of_init();
|
clocksource_of_init();
|
||||||
|
|
||||||
arch_timer_rate = arch_timer_get_rate();
|
arch_timer_rate = arch_timer_get_rate();
|
||||||
|
Loading…
Reference in New Issue
Block a user