mirror of
https://github.com/torvalds/linux.git
synced 2024-12-01 08:31:37 +00:00
AArch64 fixes:
- Use swiotlb_init() instead of swiotlb_init_with_default_size(). The latter is now a static function (commit74838b7
"swiotlb: add the late swiotlb initialization function with iotlb memory"). - Enable interrupts before calling do_notify_resume(). AArch64 clean-up: - Use the generic implementation of compat_sys_sendfile() on arm64 as commit8f9c0119
(introducing the function) has been merged. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iQIcBAABAgAGBQJQcxP2AAoJEGvWsS0AyF7xgG8QAIdOHeVO2FoGHmurp97gaevv juN3jORiMhV4X2ihEQMMecTdlAKjshZ1HFxfb/QQfyEKckGBdvBtzAAmLJPlIQdL u1oEW9mIlhZ/lbwiV9PgF/zfXBr8Yt3UMy6dGCHDiu6ES3MawDPu4rodSJvF1pbb GI6FqOOZsGMcCErJBFlDDmR1+LpNWCEorXYG56TgdtNmmUo7/lDcUqi6sxaWHMeL TS9gHsEJs/woGobr550nI9b1EQlHxoXbIT7PnLERgMah4vYVVZWX9zKum83pKTCn 3lvU4h/nNRfzdaxuLgMPsBrbjDrd6S0X9DgHYndQbvM0OJ9SxdWG1ze35Kvt2pY2 Rv0uEdAuTtq4q/YoW2AKGcl/N4O0NdcRRENEfN4lHyevcD3li8JdIacqqQ1fIG28 dLacLwfXNJHRRPXR+DQhGoQXfI32oD9VubNcc1G+VqHWYpLRSiqOMWHctQR/DVsm rtikNyYTb81MQY+iBFqfiXIVjabkVxYk18lH6Y9152zTrt6pRpXQrZguM17n7Y2t thUIL/Jh1YzrTlkKV+Q/L1e2p/vJ4n+WBv9KDJl7bxu4IoHgg5Ypis5xNW8auwaV MFEOZkfX5nEkcpIue0o3nFfY1O/mscPYa0YJFkUJEsm0MUPg5H2lOhkZLm4gh4rK 2kvvsR4m6ym41b4bYTSO =YNXf -----END PGP SIGNATURE----- Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64 Pull arm64 changes from Catalin Marinas: "arm64 fixes: - Use swiotlb_init() instead of swiotlb_init_with_default_size(). The latter is now a static function (commit74838b7537
"swiotlb: add the late swiotlb initialization function with iotlb memory"). - Enable interrupts before calling do_notify_resume(). arm64 clean-up: - Use the generic implementation of compat_sys_sendfile() on arm64 as commit8f9c0119d7
(introducing the function) has been merged." * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64: arm64: Enable interrupts before calling do_notify_resume() arm64: Use the generic compat_sys_sendfile() implementation arm64: Call swiotlb_init() instead of swiotlb_init_with_default_size()
This commit is contained in:
commit
b5356a19ce
@ -752,3 +752,4 @@ __SYSCALL(__NR_syncfs, sys_syncfs)
|
||||
#define __ARCH_WANT_SYS_SIGPENDING
|
||||
#define __ARCH_WANT_SYS_SIGPROCMASK
|
||||
#define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
|
||||
#define __ARCH_WANT_COMPAT_SYS_SENDFILE
|
||||
|
@ -583,6 +583,7 @@ work_pending:
|
||||
mov x0, sp // 'regs'
|
||||
tst x2, #PSR_MODE_MASK // user mode regs?
|
||||
b.ne no_work_pending // returning to kernel
|
||||
enable_irq // enable interrupts for do_notify_resume()
|
||||
bl do_notify_resume
|
||||
b ret_to_user
|
||||
work_resched:
|
||||
|
@ -84,26 +84,6 @@ asmlinkage int compat_sys_sched_rr_get_interval(compat_pid_t pid,
|
||||
return ret;
|
||||
}
|
||||
|
||||
asmlinkage int compat_sys_sendfile(int out_fd, int in_fd,
|
||||
compat_off_t __user *offset, s32 count)
|
||||
{
|
||||
mm_segment_t old_fs = get_fs();
|
||||
int ret;
|
||||
off_t of;
|
||||
|
||||
if (offset && get_user(of, offset))
|
||||
return -EFAULT;
|
||||
|
||||
set_fs(KERNEL_DS);
|
||||
ret = sys_sendfile(out_fd, in_fd, offset ? (off_t __user *)&of : NULL,
|
||||
count);
|
||||
set_fs(old_fs);
|
||||
|
||||
if (offset && put_user(of, offset))
|
||||
return -EFAULT;
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline void
|
||||
do_compat_cache_op(unsigned long start, unsigned long end, int flags)
|
||||
{
|
||||
|
@ -61,12 +61,10 @@ static struct dma_map_ops arm64_swiotlb_dma_ops = {
|
||||
.mapping_error = swiotlb_dma_mapping_error,
|
||||
};
|
||||
|
||||
void __init swiotlb_init_with_default_size(size_t default_size, int verbose);
|
||||
|
||||
void __init arm64_swiotlb_init(size_t max_size)
|
||||
void __init arm64_swiotlb_init(void)
|
||||
{
|
||||
dma_ops = &arm64_swiotlb_dma_ops;
|
||||
swiotlb_init_with_default_size(min((size_t)SZ_64M, max_size), 1);
|
||||
swiotlb_init(1);
|
||||
}
|
||||
|
||||
#define PREALLOC_DMA_DEBUG_ENTRIES 4096
|
||||
|
@ -301,10 +301,7 @@ void __init mem_init(void)
|
||||
unsigned long reserved_pages, free_pages;
|
||||
struct memblock_region *reg;
|
||||
|
||||
#if CONFIG_SWIOTLB
|
||||
extern void __init arm64_swiotlb_init(size_t max_size);
|
||||
arm64_swiotlb_init(max_pfn << (PAGE_SHIFT - 1));
|
||||
#endif
|
||||
arm64_swiotlb_init();
|
||||
|
||||
max_mapnr = pfn_to_page(max_pfn + PHYS_PFN_OFFSET) - mem_map;
|
||||
|
||||
|
@ -1,2 +1,3 @@
|
||||
extern void __flush_dcache_page(struct page *page);
|
||||
extern void __init bootmem_init(void);
|
||||
extern void __init arm64_swiotlb_init(void);
|
||||
|
Loading…
Reference in New Issue
Block a user