aboutsummaryrefslogtreecommitdiff
path: root/arch/nds32
AgeCommit message (Collapse)AuthorFilesLines
2018-02-22nds32: DMA mapping APIGreentime Hu2-0/+491
This patch adds support for the DMA mapping API. It uses dma_map_ops for flexibility. Signed-off-by: Vincent Chen <[email protected]> Signed-off-by: Greentime Hu <[email protected]> Acked-by: Arnd Bergmann <[email protected]>
2018-02-22nds32: Device specific operationsGreentime Hu2-0/+145
This patch introduces ioremap implementations. Signed-off-by: Vincent Chen <[email protected]> Signed-off-by: Greentime Hu <[email protected]> Acked-by: Arnd Bergmann <[email protected]>
2018-02-22nds32: Atomic operationsGreentime Hu2-0/+118
This patch includes the atomic and futex operations. Many atomic operations use the load-lock word(llw) and store-condition word(scw) operations. Signed-off-by: Vincent Chen <[email protected]> Signed-off-by: Greentime Hu <[email protected]> Acked-by: Arnd Bergmann <[email protected]>
2018-02-22nds32: IRQ handlingGreentime Hu2-0/+45
This patch includes irq related functions and irqchip_init(). Signed-off-by: Vincent Chen <[email protected]> Signed-off-by: Greentime Hu <[email protected]> Acked-by: Arnd Bergmann <[email protected]>
2018-02-22nds32: Process managementGreentime Hu4-0/+399
This patch includes copy_thread(), start_thread() implementation and cpu_context structure definition. nds32 uses $r25 to get current task_struct. Signed-off-by: Vincent Chen <[email protected]> Signed-off-by: Greentime Hu <[email protected]> Acked-by: Arnd Bergmann <[email protected]>
2018-02-22nds32: Cache and TLB routinesGreentime Hu12-0/+1224
This patch contains cache and TLB maintenance functions. Signed-off-by: Vincent Chen <[email protected]> Signed-off-by: Greentime Hu <[email protected]> Acked-by: Arnd Bergmann <[email protected]>
2018-02-22nds32: MMU fault handling and page table managementGreentime Hu4-0/+536
This patch includes page fault handler, mmap and fixup implementations. Signed-off-by: Vincent Chen <[email protected]> Signed-off-by: Greentime Hu <[email protected]> Acked-by: Arnd Bergmann <[email protected]>
2018-02-22nds32: MMU initializationGreentime Hu3-0/+446
This patch includes memory initializations and highmem supporting. Signed-off-by: Vincent Chen <[email protected]> Signed-off-by: Greentime Hu <[email protected]> Acked-by: Arnd Bergmann <[email protected]>
2018-02-22nds32: MMU definitionsGreentime Hu8-0/+802
This patch includes virtual memory layout, PHYS_OFFSET is defined as 0x0. It also includes the 4KB/8KB page size configurations and pte operations. Signed-off-by: Vincent Chen <[email protected]> Signed-off-by: Greentime Hu <[email protected]> Acked-by: Arnd Bergmann <[email protected]>
2018-02-22nds32: Exception handlingGreentime Hu6-0/+1483
This patch includes the exception/interrupt entries, pt_reg structure and related accessors. /* Unaligned accessing handling*/ Andes processors cannot load/store information which is not naturally aligned on the bus, i.e., loading a 4 byte data whose start address must be divisible by 4. If unaligned data accessing is happened, data unaligned exception will be triggered and user will get SIGSEGV or kernel oops according to the unaligned address. In order to make user be able to load/store data from an unaligned address, software load/store emulation is implemented in arch/nds32/mm/alignment.c to address data unaligned exception. Unaligned accessing handling is disabled by default because it is not a normal case. User can enable this feature by following steps. A. Compile time: 1. Enable kernel config CONFIG_ALIGNMENT_TRAP B. Run time: 1. Enter /proc/sys/nds32/unaligned_acess folder 2. Write 1 to file enable_mode to enable unaligned accessing handling. User can disable it by writing 0 to this file. 3. Write 1 to file debug to show which unaligned address is under processing. User can disable it by writing 0 to this file. However, unaligned accessing handler cannot work if this unaligned address is not accessible such as protection violation. On this condition, the default behaviors for addressing data unaligned exception still happen Signed-off-by: Vincent Chen <[email protected]> Signed-off-by: Greentime Hu <[email protected]> Acked-by: Arnd Bergmann <[email protected]>
2018-02-22nds32: Kernel booting and initializationGreentime Hu2-0/+551
This patch includes the kernel startup code. It can get dtb pointer passed from bootloader. It will create a temp mapping by tlb instructions at beginning and goto start_kernel. Signed-off-by: Vincent Chen <[email protected]> Signed-off-by: Greentime Hu <[email protected]> Acked-by: Arnd Bergmann <[email protected]>
2018-02-22nds32: Assembly macros and definitionsGreentime Hu4-0/+1111
This patch includes assembly macros, bit field definitions used in .S files across arch/nds32/. Signed-off-by: Vincent Chen <[email protected]> Signed-off-by: Greentime Hu <[email protected]> Acked-by: Arnd Bergmann <[email protected]>