Commit eaf9f464 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'csky-for-linus-6.6' of https://github.com/c-sky/csky-linux

Pull arch/csky updates from Guo Ren:

 - Fixup compile warnings

 - Fixup update_mmu_cache

* tag 'csky-for-linus-6.6' of https://github.com/c-sky/csky-linux:
  csky: Fixup -Wmissing-prototypes warning
  csky: Make pfn accessors static inlines
  csky: Cast argument to virt_to_pfn() to (void *)
  csky: pgtable: Invalidate stale I-cache lines in update_mmu_cache
  csky: fix old style declaration in module.c
parents 48d25d38 c8171a86
...@@ -108,7 +108,7 @@ extern int pfn_valid(unsigned long pfn); ...@@ -108,7 +108,7 @@ extern int pfn_valid(unsigned long pfn);
#else /* CONFIG_HIGHMEM */ #else /* CONFIG_HIGHMEM */
#define ARCH_PFN_OFFSET virt_to_pfn(CONFIG_LINUX_RAM_BASE) #define ARCH_PFN_OFFSET virt_to_pfn((void *)CONFIG_LINUX_RAM_BASE)
#endif /* CONFIG_HIGHMEM */ #endif /* CONFIG_HIGHMEM */
......
...@@ -27,11 +27,9 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long address, ...@@ -27,11 +27,9 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long address,
addr = (unsigned long) kmap_atomic(page); addr = (unsigned long) kmap_atomic(page);
icache_inv_range(address, address + PAGE_SIZE);
dcache_wb_range(addr, addr + PAGE_SIZE); dcache_wb_range(addr, addr + PAGE_SIZE);
if (vma->vm_flags & VM_EXEC)
icache_inv_range(addr, addr + PAGE_SIZE);
kunmap_atomic((void *) addr); kunmap_atomic((void *) addr);
} }
......
...@@ -34,9 +34,6 @@ ...@@ -34,9 +34,6 @@
#include <linux/pfn.h> #include <linux/pfn.h>
#define virt_to_pfn(kaddr) (__pa(kaddr) >> PAGE_SHIFT)
#define pfn_to_virt(pfn) __va((pfn) << PAGE_SHIFT)
#define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && \ #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && \
(void *)(kaddr) < high_memory) (void *)(kaddr) < high_memory)
...@@ -80,6 +77,16 @@ extern unsigned long va_pa_offset; ...@@ -80,6 +77,16 @@ extern unsigned long va_pa_offset;
#define __pa_symbol(x) __pa(RELOC_HIDE((unsigned long)(x), 0)) #define __pa_symbol(x) __pa(RELOC_HIDE((unsigned long)(x), 0))
static inline unsigned long virt_to_pfn(const void *kaddr)
{
return __pa(kaddr) >> PAGE_SHIFT;
}
static inline void * pfn_to_virt(unsigned long pfn)
{
return (void *)((unsigned long)__va(pfn) << PAGE_SHIFT);
}
#define MAP_NR(x) PFN_DOWN((unsigned long)(x) - PAGE_OFFSET - \ #define MAP_NR(x) PFN_DOWN((unsigned long)(x) - PAGE_OFFSET - \
PHYS_OFFSET_OFFSET) PHYS_OFFSET_OFFSET)
#define virt_to_page(x) (mem_map + MAP_NR(x)) #define virt_to_page(x) (mem_map + MAP_NR(x))
......
...@@ -96,5 +96,7 @@ static inline unsigned long regs_get_register(struct pt_regs *regs, ...@@ -96,5 +96,7 @@ static inline unsigned long regs_get_register(struct pt_regs *regs,
return *(unsigned long *)((unsigned long)regs + offset); return *(unsigned long *)((unsigned long)regs + offset);
} }
asmlinkage int syscall_trace_enter(struct pt_regs *regs);
asmlinkage void syscall_trace_exit(struct pt_regs *regs);
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
#endif /* __ASM_CSKY_PTRACE_H */ #endif /* __ASM_CSKY_PTRACE_H */
...@@ -7,4 +7,6 @@ ...@@ -7,4 +7,6 @@
extern char _start[]; extern char _start[];
asmlinkage void csky_start(unsigned int unused, void *dtb_start);
#endif /* __ASM_SECTIONS_H */ #endif /* __ASM_SECTIONS_H */
...@@ -40,4 +40,19 @@ do { \ ...@@ -40,4 +40,19 @@ do { \
void csky_alignment(struct pt_regs *regs); void csky_alignment(struct pt_regs *regs);
asmlinkage void do_trap_unknown(struct pt_regs *regs);
asmlinkage void do_trap_zdiv(struct pt_regs *regs);
asmlinkage void do_trap_buserr(struct pt_regs *regs);
asmlinkage void do_trap_misaligned(struct pt_regs *regs);
asmlinkage void do_trap_bkpt(struct pt_regs *regs);
asmlinkage void do_trap_illinsn(struct pt_regs *regs);
asmlinkage void do_trap_fpe(struct pt_regs *regs);
asmlinkage void do_trap_priv(struct pt_regs *regs);
asmlinkage void trap_c(struct pt_regs *regs);
asmlinkage void do_notify_resume(struct pt_regs *regs,
unsigned long thread_info_flags);
void trap_init(void);
#endif /* __ASM_CSKY_TRAPS_H */ #endif /* __ASM_CSKY_TRAPS_H */
...@@ -40,7 +40,7 @@ static void jsri_2_lrw_jsr(uint32_t *location) ...@@ -40,7 +40,7 @@ static void jsri_2_lrw_jsr(uint32_t *location)
} }
} }
#else #else
static void inline jsri_2_lrw_jsr(uint32_t *location) static inline void jsri_2_lrw_jsr(uint32_t *location)
{ {
return; return;
} }
......
...@@ -3,24 +3,35 @@ ...@@ -3,24 +3,35 @@
#include <linux/time.h> #include <linux/time.h>
#include <linux/types.h> #include <linux/types.h>
extern
int __vdso_clock_gettime(clockid_t clock,
struct old_timespec32 *ts);
int __vdso_clock_gettime(clockid_t clock, int __vdso_clock_gettime(clockid_t clock,
struct old_timespec32 *ts) struct old_timespec32 *ts)
{ {
return __cvdso_clock_gettime32(clock, ts); return __cvdso_clock_gettime32(clock, ts);
} }
int __vdso_clock_gettime64(clockid_t clock,
struct __kernel_timespec *ts);
int __vdso_clock_gettime64(clockid_t clock, int __vdso_clock_gettime64(clockid_t clock,
struct __kernel_timespec *ts) struct __kernel_timespec *ts)
{ {
return __cvdso_clock_gettime(clock, ts); return __cvdso_clock_gettime(clock, ts);
} }
extern
int __vdso_gettimeofday(struct __kernel_old_timeval *tv,
struct timezone *tz);
int __vdso_gettimeofday(struct __kernel_old_timeval *tv, int __vdso_gettimeofday(struct __kernel_old_timeval *tv,
struct timezone *tz) struct timezone *tz)
{ {
return __cvdso_gettimeofday(tv, tz); return __cvdso_gettimeofday(tv, tz);
} }
extern
int __vdso_clock_getres(clockid_t clock_id,
struct old_timespec32 *res);
int __vdso_clock_getres(clockid_t clock_id, int __vdso_clock_getres(clockid_t clock_id,
struct old_timespec32 *res) struct old_timespec32 *res)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment