summaryrefslogtreecommitdiffstats
path: root/arch/nios2/include/asm
Commit message (Collapse)AuthorAgeFilesLines
* mm: new mm hook frameworkLaurent Dufour2015-06-241-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CRIU is recreating the process memory layout by remapping the checkpointee memory area on top of the current process (criu). This includes remapping the vDSO to the place it has at checkpoint time. However some architectures like powerpc are keeping a reference to the vDSO base address to build the signal return stack frame by calling the vDSO sigreturn service. So once the vDSO has been moved, this reference is no more valid and the signal frame built later are not usable. This patch serie is introducing a new mm hook framework, and a new arch_remap hook which is called when mremap is done and the mm lock still hold. The next patch is adding the vDSO remap and unmap tracking to the powerpc architecture. This patch (of 3): This patch introduces a new set of header file to manage mm hooks: - per architecture empty header file (arch/x/include/asm/mm-arch-hooks.h) - a generic header (include/linux/mm-arch-hooks.h) The architecture which need to overwrite a hook as to redefine it in its header file, while architecture which doesn't need have nothing to do. The default hooks are defined in the generic header and are used in the case the architecture is not defining it. In a next step, mm hooks defined in include/asm-generic/mm_hooks.h should be moved here. Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com> Suggested-by: Andrew Morton <akpm@linux-foundation.org> Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> Cc: Hugh Dickins <hughd@google.com> Cc: Rik van Riel <riel@redhat.com> Cc: Mel Gorman <mgorman@suse.de> Cc: Pavel Emelyanov <xemul@parallels.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Ingo Molnar <mingo@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* arch/*/io.h: Add ioremap_wt() to all architecturesToshi Kani2015-06-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add ioremap_wt() to all arch-specific asm/io.h headers which define ioremap_wc() locally. These headers do not include <asm-generic/iomap.h>. Some of them include <asm-generic/io.h>, but ioremap_wt() is defined for consistency since they define all ioremap_xxx locally. In all architectures without Write-Through support, ioremap_wt() is defined indentical to ioremap_nocache(). frv and m68k already have ioremap_writethrough(). On those we add ioremap_wt() indetical to ioremap_writethrough() and defines ARCH_HAS_IOREMAP_WT in both architectures. The ioremap_wt() interface is exported to drivers. Signed-off-by: Toshi Kani <toshi.kani@hp.com> Signed-off-by: Borislav Petkov <bp@suse.de> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Elliott@hp.com Cc: H. Peter Anvin <hpa@zytor.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Luis R. Rodriguez <mcgrof@suse.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: arnd@arndb.de Cc: hch@lst.de Cc: hmh@hmh.eng.br Cc: jgross@suse.com Cc: konrad.wilk@oracle.com Cc: linux-mm <linux-mm@kvack.org> Cc: linux-nvdimm@lists.01.org Cc: stefan.bader@canonical.com Cc: yigal@plexistor.com Link: http://lkml.kernel.org/r/1433436928-31903-9-git-send-email-bp@alien8.de Signed-off-by: Ingo Molnar <mingo@kernel.org>
* Merge tag 'nios2-v4.1-rc1' of git://git.rocketboards.org/linux-socfpga-nextLinus Torvalds2015-04-242-1/+21
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull arch/nios2 updates from Ley Foon Tan: - update cache management code - rework trap handler with new define trap #. - fix on check header warning. * tag 'nios2-v4.1-rc1' of git://git.rocketboards.org/linux-socfpga-next: nios2: rework cache nios2: Add types.h header required for __u32 type nios2: rework trap handler nios2: remove end address checking for initda
| * nios2: rework cacheLey Foon Tan2015-04-242-1/+21
| | | | | | | | | | | | | | | | - flush dcache before flush instruction cache - remork update_mmu_cache and flush_dcache_page - add shmparam.h Signed-off-by: Ley Foon Tan <lftan@altera.com>
* | Merge branch 'exec_domain_rip_v2' of ↵Linus Torvalds2015-04-151-2/+0
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc Pull exec domain removal from Richard Weinberger: "This series removes execution domain support from Linux. The idea behind exec domains was to support different ABIs. The feature was never complete nor stable. Let's rip it out and make the kernel signal handling code less complicated" * 'exec_domain_rip_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc: (27 commits) arm64: Removed unused variable sparc: Fix execution domain removal Remove rest of exec domains. arch: Remove exec_domain from remaining archs arc: Remove signal translation and exec_domain xtensa: Remove signal translation and exec_domain xtensa: Autogenerate offsets in struct thread_info x86: Remove signal translation and exec_domain unicore32: Remove signal translation and exec_domain um: Remove signal translation and exec_domain tile: Remove signal translation and exec_domain sparc: Remove signal translation and exec_domain sh: Remove signal translation and exec_domain s390: Remove signal translation and exec_domain mn10300: Remove signal translation and exec_domain microblaze: Remove signal translation and exec_domain m68k: Remove signal translation and exec_domain m32r: Remove signal translation and exec_domain m32r: Autogenerate offsets in struct thread_info frv: Remove signal translation and exec_domain ...
| * arch: Remove exec_domain from remaining archsRichard Weinberger2015-04-121-2/+0
| | | | | | | | Signed-off-by: Richard Weinberger <richard@nod.at>
* | nios2: signal: Move restart_block to struct task_structLey Foon Tan2015-04-081-4/+0
|/ | | | | | | See https://lkml.org/lkml/2014/10/29/643 and commit f56141e3e2d9 ("all arches, signal: move restart_block to struct task_struct") Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: update pt_regsChung-Ling Tang2015-03-122-32/+47
| | | | | | | Remove struct pt_regs from user header and use generic ucontext.h. Signed-off-by: Chung-Ling Tang <cltang@codesourcery.com> Acked-by: Ley Foon Tan <lftan@altera.com>
* Merge tag 'nios2-v3.20-rc1' of git://git.rocketboards.org/linux-socfpga-nextLinus Torvalds2015-02-173-3/+115
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull arch/nios2 update from Ley Foon Tan: "Here is the nios2 update for 3.20: - add early printk support - add kgdb support - add compressed kernel support - bugfixes" * tag 'nios2-v3.20-rc1' of git://git.rocketboards.org/linux-socfpga-next: nios2: add kgdb support MAINTAINERS: update arch/nios2 git tree nios2: default CONFIG_NIOS2_BOOT_LINK_OFFSET to 8MB nios2: Add support for compressed kernel nios2: add early printk support nios2: Port OOM changes to do_page_fault() nios2: Remove unused prepare_to_copy()
| * nios2: add kgdb supportLey Foon Tan2015-02-161-0/+93
| | | | | | | | Signed-off-by: Ley Foon Tan <lftan@altera.com>
| * nios2: add early printk supportLey Foon Tan2015-02-101-0/+22
| | | | | | | | Signed-off-by: Ley Foon Tan <lftan@altera.com>
| * nios2: Remove unused prepare_to_copy()Tobias Klauser2015-02-091-3/+0
| | | | | | | | | | | | | | | | | | prepare_to_copy() was removed from all architectures supported at that time in commit 55ccf3fe3f9a ("fork: move the real prepare_to_copy() users to arch_dup_task_struct()"). Remove it from nios2 as well. Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Acked-by: Ley Foon Tan <lftan@altera.com>
* | mm: make FIRST_USER_ADDRESS unsigned long on all archsKirill A. Shutemov2015-02-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LKP has triggered a compiler warning after my recent patch "mm: account pmd page tables to the process": mm/mmap.c: In function 'exit_mmap': >> mm/mmap.c:2857:2: warning: right shift count >= width of type [enabled by default] The code: > 2857 WARN_ON(mm_nr_pmds(mm) > 2858 round_up(FIRST_USER_ADDRESS, PUD_SIZE) >> PUD_SHIFT); In this, on tile, we have FIRST_USER_ADDRESS defined as 0. round_up() has the same type -- int. PUD_SHIFT. I think the best way to fix it is to define FIRST_USER_ADDRESS as unsigned long. On every arch for consistency. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Reported-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | nios2: drop _PAGE_FILE and pte_file()-related helpersKirill A. Shutemov2015-02-102-10/+1
|/ | | | | | | | | | | We've replaced remap_file_pages(2) implementation with emulation. Nobody creates non-linear mapping anymore. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Cc: Ley Foon Tan <lftan@altera.com> Reviewed-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* nios2/uaccess: fix sparse errorsLey Foon Tan2014-12-171-2/+2
| | | | | | | | | | | virtio wants to read bitwise types from userspace using get_user. At the moment this triggers sparse errors, since the value is passed through an integer. Fix that up using __force. Suggested-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: add definition of ioremap_wc to io.hGuenter Roeck2014-12-171-0/+2
| | | | | | | | | | | | | Fix drivers/gpu/drm/drm_bufs.c: In function 'drm_addmap_core': drivers/gpu/drm/drm_bufs.c:213:5: error: implicit declaration of function 'ioremap_wc' seen when building nios2:allmodconfig. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Ley Foon Tan <lftan@altera.com>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-nextLinus Torvalds2014-12-111-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull networking updates from David Miller: 1) New offloading infrastructure and example 'rocker' driver for offloading of switching and routing to hardware. This work was done by a large group of dedicated individuals, not limited to: Scott Feldman, Jiri Pirko, Thomas Graf, John Fastabend, Jamal Hadi Salim, Andy Gospodarek, Florian Fainelli, Roopa Prabhu 2) Start making the networking operate on IOV iterators instead of modifying iov objects in-situ during transfers. Thanks to Al Viro and Herbert Xu. 3) A set of new netlink interfaces for the TIPC stack, from Richard Alpe. 4) Remove unnecessary looping during ipv6 routing lookups, from Martin KaFai Lau. 5) Add PAUSE frame generation support to gianfar driver, from Matei Pavaluca. 6) Allow for larger reordering levels in TCP, which are easily achievable in the real world right now, from Eric Dumazet. 7) Add a variable of napi_schedule that doesn't need to disable cpu interrupts, from Eric Dumazet. 8) Use a doubly linked list to optimize neigh_parms_release(), from Nicolas Dichtel. 9) Various enhancements to the kernel BPF verifier, and allow eBPF programs to actually be attached to sockets. From Alexei Starovoitov. 10) Support TSO/LSO in sunvnet driver, from David L Stevens. 11) Allow controlling ECN usage via routing metrics, from Florian Westphal. 12) Remote checksum offload, from Tom Herbert. 13) Add split-header receive, BQL, and xmit_more support to amd-xgbe driver, from Thomas Lendacky. 14) Add MPLS support to openvswitch, from Simon Horman. 15) Support wildcard tunnel endpoints in ipv6 tunnels, from Steffen Klassert. 16) Do gro flushes on a per-device basis using a timer, from Eric Dumazet. This tries to resolve the conflicting goals between the desired handling of bulk vs. RPC-like traffic. 17) Allow userspace to ask for the CPU upon what a packet was received/steered, via SO_INCOMING_CPU. From Eric Dumazet. 18) Limit GSO packets to half the current congestion window, from Eric Dumazet. 19) Add a generic helper so that all drivers set their RSS keys in a consistent way, from Eric Dumazet. 20) Add xmit_more support to enic driver, from Govindarajulu Varadarajan. 21) Add VLAN packet scheduler action, from Jiri Pirko. 22) Support configurable RSS hash functions via ethtool, from Eyal Perry. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1820 commits) Fix race condition between vxlan_sock_add and vxlan_sock_release net/macb: fix compilation warning for print_hex_dump() called with skb->mac_header net/mlx4: Add support for A0 steering net/mlx4: Refactor QUERY_PORT net/mlx4_core: Add explicit error message when rule doesn't meet configuration net/mlx4: Add A0 hybrid steering net/mlx4: Add mlx4_bitmap zone allocator net/mlx4: Add a check if there are too many reserved QPs net/mlx4: Change QP allocation scheme net/mlx4_core: Use tasklet for user-space CQ completion events net/mlx4_core: Mask out host side virtualization features for guests net/mlx4_en: Set csum level for encapsulated packets be2net: Export tunnel offloads only when a VxLAN tunnel is created gianfar: Fix dma check map error when DMA_API_DEBUG is enabled cxgb4/csiostor: Don't use MASTER_MUST for fw_hello call net: fec: only enable mdio interrupt before phy device link up net: fec: clear all interrupt events to support i.MX6SX net: fec: reset fep link status in suspend function net: sock: fix access via invalid file descriptor net: introduce helper macro for_each_cmsghdr ...
* nios2: Remove unused extern declaration of shm_align_maskTobias Klauser2014-12-081-2/+0
| | | | | | | | shm_align_mask is not defined/used on nios2, thus there is no need to declare it. Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Acked-by: Ley Foon Tan <lftan@altera.com>
* nios2: include linux/type.h in io.hLey Foon Tan2014-12-081-0/+1
| | | | | | This is require for __iomem definition. Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: move include asm-generic/io.h to end of fileLey Foon Tan2014-12-081-2/+2
| | | | | | | | | | Move asm-generic/io.h to end of file to override functions like phys_to_virt, virt_to_phys in asm-generic/io.h. This is due to recent commit 9216efaf introduced new way to override functions by checking for the existence of a macro with the same of the function. Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: remove include asm-generic/iomap.h from io.hLey Foon Tan2014-12-081-1/+0
| | | | | | | Don't need asm-generic/iomap.h and asm-generic/io.h added default ioread8/16/32 iowrite8/16/32 implementation. Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: remove unnecessary space before defineLey Foon Tan2014-12-081-4/+4
| | | | | | Remove extra space between # and define. Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: Build infrastructureLey Foon Tan2014-12-081-0/+66
| | | | | | | This patch adds Makefile and Kconfig files required for building a nios2 kernel. Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: ptrace supportLey Foon Tan2014-12-081-0/+33
| | | | | | Add ptrace support for nios2. Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: Nios2 registersLey Foon Tan2014-12-081-0/+71
| | | | | | | This file contains constants for the instruction macros, cpu registers, fields and bits. Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: Miscellaneous header filesLey Foon Tan2014-12-083-0/+87
| | | | | | This patch introduces a few nios2-specific header files. Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: Cpuinfo handlingLey Foon Tan2014-12-081-0/+57
| | | | Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: Time keepingLey Foon Tan2014-12-082-0/+45
| | | | | | | Add time keeping code for nios2. Signed-off-by: Ley Foon Tan <lftan@altera.com> Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
* nios2: Library functionsLey Foon Tan2014-12-082-0/+102
| | | | | | Add optimised library functions for nios2. Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: Signal handling supportLey Foon Tan2014-12-082-0/+54
| | | | | | This patch adds support for signal handling. Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: System calls handlingLey Foon Tan2014-12-082-0/+163
| | | | | | | | | This patch adds support for system calls from userspaces. It uses the asm-generic/unistd.h definitions with architecture spcific syscall. The sys_call_table is just an array defined in a C file and it contains pointers to the syscall functions. Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: ELF definitionsLey Foon Tan2014-12-081-0/+101
| | | | | | This patch adds definitions for the ELF format Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: DMA mapping APILey Foon Tan2014-12-081-0/+140
| | | | | | This patch adds support for the DMA mapping API. Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: Interrupt handlingLey Foon Tan2014-12-082-0/+100
| | | | | | | This patch adds the support for IRQ handling. Signed-off-by: Ley Foon Tan <lftan@altera.com> Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
* nios2: TLB handlingLey Foon Tan2014-12-082-0/+80
| | | | | | This patch adds the TLB maintenance functions. Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: Cache handlingLey Foon Tan2014-12-082-0/+88
| | | | | | This patch adds functionality required for cache maintenance. Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: Process managementLey Foon Tan2014-12-084-0/+320
| | | | | | This patch adds support for thread creation and context switching. Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: Page table managementLey Foon Tan2014-12-083-0/+431
| | | | | | This patch adds support for page table management. Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: I/O MappingLey Foon Tan2014-12-081-0/+61
| | | | | | This patch adds several definitions for I/O accessors and ioremap(). Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: Memory managementLey Foon Tan2014-12-083-0/+358
| | | | | | | This patch contains the initialisation of the memory blocks, MMU attributes and the memory map. Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: Traps exception handlingLey Foon Tan2014-12-081-0/+19
| | | | | | This patch contains traps exception handling. Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: Kernel booting and initializationLey Foon Tan2014-12-082-0/+158
| | | | | | This patch adds the kernel booting and the initial setup code. Signed-off-by: Ley Foon Tan <lftan@altera.com>
* nios2: Assembly macros and definitionsLey Foon Tan2014-12-082-0/+329
This patch add assembly macros and definitions used in the .S files across arch/nios2/ and together with asm-offsets.c. Signed-off-by: Ley Foon Tan <lftan@altera.com>
OpenPOWER on IntegriCloud