aboutsummaryrefslogtreecommitdiff
path: root/arch/csky/include/asm
AgeCommit message (Collapse)AuthorFilesLines
2018-12-31csky: ftrace call graph supported.Guo Ren1-1/+5
With csky-gcc -pg -mbacktrace, ftrace call graph supported. Signed-off-by: Guo Ren <[email protected]>
2018-12-31csky: basic ftrace supportedGuo Ren1-0/+9
When gcc with -pg, it'll add _mcount stub in every function. We need implement the _mcount in kernel and ftrace depends on stackstrace. To do: call-graph, dynamic ftrace Signed-off-by: Guo Ren <[email protected]>
2018-12-31csky: remove unused members in processor.hGuo Ren1-12/+0
Cleanup struct cpuinfo_csky and struct thread_struct, remove all esp0 related code. We could get pt_regs from sp and backtrace could use fp in switch_stack. Signed-off-by: Guo Ren <[email protected]>
2018-12-31csky: stacktrace supported.Guo Ren1-0/+4
The gcc option "-mbacktrace" will push fp(r8),lr into stack and we could unwind the stack with: fp = *fp lr = (unsigned int *)fp[1] Signed-off-by: Guo Ren <[email protected]>
2018-12-31csky: CPU-hotplug supported for SMPGuo Ren1-0/+4
This is a simple implement of CPU-hotplug for power saving. CPU use wait instruction to enter power saving mode and waiting for IPI wakeup signal. Signed-off-by: Guo Ren <[email protected]>
2018-12-31csky: fixup save hi,lo,dspcr regs in switch_stack.Guo Ren1-2/+1
HI, LO, DSPCR registers are 807/810 related regs and no need for 610/860. All of the regs must be saved in pt_regs and switch_stack. This patch fixup saving dspcr reg in switch_stack and pt_regs. Signed-off-by: Guo Ren <[email protected]>
2018-12-31csky: bugfix gdb coredump error.Guo Ren1-1/+6
In gdb/bfd elf32-csky.c, csky_elf_grok_prstatus() use fixed size of elf_prstatus. It's 148 for abiv1 and 220 for abiv2, the size is enough for coredump and no need full sizeof(struct pt_regs). Signed-off-by: Guo Ren <[email protected]> Reported-by: Lu Baoquan <[email protected]> Reported-by: Liu Mao <[email protected]>
2018-12-30csky: define syscall_get_arch()Dmitry V. Levin1-0/+7
syscall_get_arch() is required to be implemented on all architectures in order to extend the generic ptrace API with PTRACE_GET_SYSCALL_INFO request. Cc: Guo Ren <[email protected]> Cc: Paul Moore <[email protected]> Cc: Eric Paris <[email protected]> Cc: Oleg Nesterov <[email protected]> Cc: Andy Lutomirski <[email protected]> Cc: Elvira Khabirova <[email protected]> Cc: Eugene Syromyatnikov <[email protected]> Cc: [email protected] Signed-off-by: Dmitry V. Levin <[email protected]> Signed-off-by: Guo Ren <[email protected]> arch/csky/include/asm/syscall.h | 7 +++++++ include/uapi/linux/audit.h | 1 + 2 files changed, 8 insertions(+)
2018-12-30elf-em.h: add EM_CSKYDmitry V. Levin1-1/+1
The uapi/linux/audit.h header is going to use EM_CSKY in order to define AUDIT_ARCH_CSKY which is needed to implement syscall_get_arch() which in turn is required to extend the generic ptrace API with PTRACE_GET_SYSCALL_INFO request. The value for EM_CSKY has been taken from arch/csky/include/asm/elf.h and confirmed by binutils:include/elf/common.h Cc: Guo Ren <[email protected]> Cc: Oleg Nesterov <[email protected]> Cc: Andy Lutomirski <[email protected]> Cc: Elvira Khabirova <[email protected]> Cc: Eugene Syromyatnikov <[email protected]> Signed-off-by: Dmitry V. Levin <[email protected]> Signed-off-by: Guo Ren <[email protected]>
2018-12-03csky: bugfix tlb_get_pgd error.Guo Ren1-2/+2
It's wrong to mask/unmask highest bit in addr to translate the vaddr to paddr. We should use PAGE_OFFSET and PHYS_OFFSET. Wrong implement: return ((get_pgd()|(1<<31)) - PHYS_OFFSET) & ~1; When PHYS_OFFSET=0xc0000000 and get_pgd() return 0xe0000000, it'll return 0x60000000. It's wrong and should be 0xa0000000. Now correct it to: return ((get_pgd() - PHYS_OFFSET) & ~1) + PAGE_OFFSET; Signed-off-by: Guo Ren <[email protected]>
2018-10-31treewide: remove current_text_addrNick Desaulniers1-6/+0
Prefer _THIS_IP_ defined in linux/kernel.h. Most definitions of current_text_addr were the same as _THIS_IP_, but a few archs had inline assembly instead. This patch removes the final call site of current_text_addr, making all of the definitions dead code. [[email protected]: fix arch/csky/include/asm/processor.h] Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Nick Desaulniers <[email protected]> Cc: Peter Zijlstra <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2018-10-26csky: Misc headersGuo Ren3-0/+158
This patch adds csky registers' definition, bitops, byteorder, asm-offsets codes. Signed-off-by: Guo Ren <[email protected]> Reviewed-by: Arnd Bergmann <[email protected]>
2018-10-26csky: SMP supportGuo Ren1-0/+26
This patch adds boot, ipi, hotplug codes for SMP. Signed-off-by: Guo Ren <[email protected]> Cc: Marc Zyngier <[email protected]> Cc: Mark Rutland <[email protected]> Cc: Peter Zijlstra <[email protected]> Reviewed-by: Arnd Bergmann <[email protected]>
2018-10-26csky: Debug and Ptrace GDBGuo Ren1-0/+26
This patch adds arch ptrace implementation, stack dump and bug.h. Signed-off-by: Guo Ren <[email protected]> Reviewed-by: Arnd Bergmann <[email protected]>
2018-10-26csky: User accessGuo Ren1-0/+416
The patch adds "user access from kernel" codes. Signed-off-by: Guo Ren <[email protected]> Reviewed-by: Arnd Bergmann <[email protected]>
2018-10-26csky: Library functionsGuo Ren1-0/+13
This patch adds string optimize codes and some auxiliary codes. Signed-off-by: Chen Linfei <[email protected]> Signed-off-by: Mao Han <[email protected]> Signed-off-by: Guo Ren <[email protected]> Reviewed-by: Arnd Bergmann <[email protected]>
2018-10-26csky: ELF and module probeGuo Ren1-0/+85
This patch adds ELF definition and module relocate codes. Signed-off-by: Guo Ren <[email protected]> Reviewed-by: Arnd Bergmann <[email protected]>
2018-10-26csky: Atomic operationsGuo Ren4-0/+578
This patch adds atomic, cmpxchg, spinlock files. Signed-off-by: Guo Ren <[email protected]> Cc: Andrea Parri <[email protected]> Cc: Arnd Bergmann <[email protected]> Reviewed-by: Peter Zijlstra <[email protected]>
2018-10-26csky: IRQ handlingGuo Ren1-0/+49
This patch adds IRQ handling files. Signed-off-by: Guo Ren <[email protected]> Cc: Thomas Gleixner <[email protected]> Reviewed-by: Arnd Bergmann <[email protected]>
2018-10-26csky: VDSO and rt_sigreturnGuo Ren1-0/+12
This patch adds files related to VDSO and our VDSO only support rt_sigreturn. Signed-off-by: Guo Ren <[email protected]> Reviewed-by: Arnd Bergmann <[email protected]>
2018-10-26csky: Process management and SignalGuo Ren4-0/+382
This patch adds files related to task_switch, sigcontext, signal, fpu context switch. Signed-off-by: Guo Ren <[email protected]> Cc: Arnd Bergmann <[email protected]> Cc: Eric W. Biederman <[email protected]>
2018-10-25csky: MMU and page table managementGuo Ren9-0/+655
This patch adds files related to memory management and here is our memory-layout: Fixmap : 0xffc02000 – 0xfffff000 (4 MB - 12KB) Pkmap : 0xff800000 – 0xffc00000 (4 MB) Vmalloc : 0xf0200000 – 0xff000000 (238 MB) Lowmem : 0x80000000 – 0xc0000000 (1GB) abiv1 CPU (CK610) is VIPT cache and it doesn't support highmem. abiv2 CPUs are all PIPT cache and they could support highmem. Lowmem is directly mapped by msa0 & msa1 reg, and we needn't setup memory page table for it. Link:https://lore.kernel.org/lkml/[email protected]/ Signed-off-by: Guo Ren <[email protected]> Cc: Christoph Hellwig <[email protected]> Reviewed-by: Arnd Bergmann <[email protected]>
2018-10-25csky: Cache and TLB routinesGuo Ren6-0/+162
This patch adds cache and tlb sync codes for abiv1 & abiv2. Signed-off-by: Guo Ren <[email protected]> Reviewed-by: Arnd Bergmann <[email protected]>
2018-10-25csky: System CallGuo Ren2-0/+86
This patch adds files related to syscall. Signed-off-by: Guo Ren <[email protected]> Reviewed-by: Arnd Bergmann <[email protected]>
2018-10-25csky: Exception handling and mm-faultGuo Ren2-0/+48
This patch adds exception handling code, cpuinfo and mm-fault code. Signed-off-by: Guo Ren <[email protected]> Reviewed-by: Arnd Bergmann <[email protected]>
2018-10-25csky: Build infrastructureGuo Ren1-0/+49
This patch adds Makefile, Kconfig for build infrastructure. Signed-off-by: Guo Ren <[email protected]> Acked-by: Arnd Bergmann <[email protected]>