06792c4dde
are available in the git repository: git://linux-c6x.org/git/projects/linux-c6x-upstreaming.git for-linux-next Documentation/devicetree/bindings/c6x/clocks.txt | 40 + Documentation/devicetree/bindings/c6x/dscr.txt | 127 +++ Documentation/devicetree/bindings/c6x/emifa.txt | 62 ++ .../devicetree/bindings/c6x/interrupt.txt | 104 +++ Documentation/devicetree/bindings/c6x/soc.txt | 28 + Documentation/devicetree/bindings/c6x/timer64.txt | 26 + MAINTAINERS | 8 + arch/c6x/Kconfig | 174 +++++ arch/c6x/Makefile | 60 ++ arch/c6x/boot/Makefile | 30 + arch/c6x/boot/dts/dsk6455.dts | 62 ++ arch/c6x/boot/dts/evmc6457.dts | 48 ++ arch/c6x/boot/dts/evmc6472.dts | 73 ++ arch/c6x/boot/dts/evmc6474.dts | 58 ++ arch/c6x/boot/dts/tms320c6455.dtsi | 96 +++ arch/c6x/boot/dts/tms320c6457.dtsi | 68 ++ arch/c6x/boot/dts/tms320c6472.dtsi | 134 ++++ arch/c6x/boot/dts/tms320c6474.dtsi | 89 +++ arch/c6x/boot/linked_dtb.S | 2 + arch/c6x/configs/dsk6455_defconfig | 44 ++ arch/c6x/configs/evmc6457_defconfig | 41 + arch/c6x/configs/evmc6472_defconfig | 42 + arch/c6x/configs/evmc6474_defconfig | 42 + arch/c6x/include/asm/Kbuild | 54 ++ arch/c6x/include/asm/asm-offsets.h | 1 + arch/c6x/include/asm/bitops.h | 105 +++ arch/c6x/include/asm/byteorder.h | 12 + arch/c6x/include/asm/cache.h | 90 +++ arch/c6x/include/asm/cacheflush.h | 65 ++ arch/c6x/include/asm/checksum.h | 34 + arch/c6x/include/asm/clkdev.h | 22 + arch/c6x/include/asm/clock.h | 148 ++++ arch/c6x/include/asm/delay.h | 67 ++ arch/c6x/include/asm/dma-mapping.h | 91 +++ arch/c6x/include/asm/dscr.h | 34 + arch/c6x/include/asm/elf.h | 113 +++ arch/c6x/include/asm/ftrace.h | 6 + arch/c6x/include/asm/hardirq.h | 20 + arch/c6x/include/asm/irq.h | 302 ++++++++ arch/c6x/include/asm/irqflags.h | 72 ++ arch/c6x/include/asm/linkage.h | 30 + arch/c6x/include/asm/megamod-pic.h | 9 + arch/c6x/include/asm/mmu.h | 18 + arch/c6x/include/asm/module.h | 33 + arch/c6x/include/asm/mutex.h | 6 + arch/c6x/include/asm/page.h | 11 + arch/c6x/include/asm/pgtable.h | 81 ++ arch/c6x/include/asm/processor.h | 132 ++++ arch/c6x/include/asm/procinfo.h | 28 + arch/c6x/include/asm/prom.h | 1 + arch/c6x/include/asm/ptrace.h | 174 +++++ arch/c6x/include/asm/sections.h | 12 + arch/c6x/include/asm/setup.h | 32 + arch/c6x/include/asm/sigcontext.h | 80 ++ arch/c6x/include/asm/signal.h | 17 + arch/c6x/include/asm/soc.h | 35 + arch/c6x/include/asm/string.h | 21 + arch/c6x/include/asm/swab.h | 54 ++ arch/c6x/include/asm/syscall.h | 123 +++ arch/c6x/include/asm/syscalls.h | 55 ++ arch/c6x/include/asm/system.h | 168 ++++ arch/c6x/include/asm/thread_info.h | 121 +++ arch/c6x/include/asm/timer64.h | 6 + arch/c6x/include/asm/timex.h | 33 + arch/c6x/include/asm/tlb.h | 8 + arch/c6x/include/asm/traps.h | 36 + arch/c6x/include/asm/uaccess.h | 107 +++ arch/c6x/include/asm/unaligned.h | 170 +++++ arch/c6x/include/asm/unistd.h | 26 + arch/c6x/kernel/Makefile | 12 + arch/c6x/kernel/asm-offsets.c | 123 +++ arch/c6x/kernel/c6x_ksyms.c | 66 ++ arch/c6x/kernel/devicetree.c | 53 ++ arch/c6x/kernel/dma.c | 153 ++++ arch/c6x/kernel/entry.S | 803 ++++++++++++++++++++ arch/c6x/kernel/head.S | 84 ++ arch/c6x/kernel/irq.c | 728 ++++++++++++++++++ arch/c6x/kernel/module.c | 123 +++ arch/c6x/kernel/process.c | 265 +++++++ arch/c6x/kernel/ptrace.c | 187 +++++ arch/c6x/kernel/setup.c | 510 +++++++++++++ arch/c6x/kernel/signal.c | 377 +++++++++ arch/c6x/kernel/soc.c | 91 +++ arch/c6x/kernel/switch_to.S | 74 ++ arch/c6x/kernel/sys_c6x.c | 74 ++ arch/c6x/kernel/time.c | 65 ++ arch/c6x/kernel/traps.c | 423 ++++++++++ arch/c6x/kernel/vectors.S | 81 ++ arch/c6x/kernel/vmlinux.lds.S | 162 ++++ arch/c6x/lib/Makefile | 7 + arch/c6x/lib/checksum.c | 36 + arch/c6x/lib/csum_64plus.S | 419 ++++++++++ arch/c6x/lib/divi.S | 53 ++ arch/c6x/lib/divremi.S | 46 ++ arch/c6x/lib/divremu.S | 87 +++ arch/c6x/lib/divu.S | 98 +++ arch/c6x/lib/llshl.S | 37 + arch/c6x/lib/llshr.S | 38 + arch/c6x/lib/llshru.S | 38 + arch/c6x/lib/memcpy_64plus.S | 46 ++ arch/c6x/lib/mpyll.S | 49 ++ arch/c6x/lib/negll.S | 31 + arch/c6x/lib/pop_rts.S | 32 + arch/c6x/lib/push_rts.S | 31 + arch/c6x/lib/remi.S | 64 ++ arch/c6x/lib/remu.S | 82 ++ arch/c6x/lib/strasgi.S | 89 +++ arch/c6x/lib/strasgi_64plus.S | 39 + arch/c6x/mm/Makefile | 5 + arch/c6x/mm/dma-coherent.c | 143 ++++ arch/c6x/mm/init.c | 113 +++ arch/c6x/platforms/Kconfig | 16 + arch/c6x/platforms/Makefile | 12 + arch/c6x/platforms/cache.c | 445 +++++++++++ arch/c6x/platforms/dscr.c | 598 +++++++++++++++ arch/c6x/platforms/emif.c | 87 +++ arch/c6x/platforms/megamod-pic.c | 349 +++++++++ arch/c6x/platforms/platform.c | 17 + arch/c6x/platforms/pll.c | 444 +++++++++++ arch/c6x/platforms/plldata.c | 404 ++++++++++ arch/c6x/platforms/timer64.c | 244 ++++++ include/asm-generic/io.h | 2 +- include/asm-generic/page.h | 10 +- include/asm-generic/uaccess.h | 7 +- include/linux/elf-em.h | 1 + 125 files changed, 12989 insertions(+), 5 deletions(-) create mode 100644 Documentation/devicetree/bindings/c6x/clocks.txt create mode 100644 Documentation/devicetree/bindings/c6x/dscr.txt create mode 100644 Documentation/devicetree/bindings/c6x/emifa.txt create mode 100644 Documentation/devicetree/bindings/c6x/interrupt.txt create mode 100644 Documentation/devicetree/bindings/c6x/soc.txt create mode 100644 Documentation/devicetree/bindings/c6x/timer64.txt create mode 100644 arch/c6x/Kconfig create mode 100644 arch/c6x/Makefile create mode 100644 arch/c6x/boot/Makefile create mode 100644 arch/c6x/boot/dts/dsk6455.dts create mode 100644 arch/c6x/boot/dts/evmc6457.dts create mode 100644 arch/c6x/boot/dts/evmc6472.dts create mode 100644 arch/c6x/boot/dts/evmc6474.dts create mode 100644 arch/c6x/boot/dts/tms320c6455.dtsi create mode 100644 arch/c6x/boot/dts/tms320c6457.dtsi create mode 100644 arch/c6x/boot/dts/tms320c6472.dtsi create mode 100644 arch/c6x/boot/dts/tms320c6474.dtsi create mode 100644 arch/c6x/boot/linked_dtb.S create mode 100644 arch/c6x/configs/dsk6455_defconfig create mode 100644 arch/c6x/configs/evmc6457_defconfig create mode 100644 arch/c6x/configs/evmc6472_defconfig create mode 100644 arch/c6x/configs/evmc6474_defconfig create mode 100644 arch/c6x/include/asm/Kbuild create mode 100644 arch/c6x/include/asm/asm-offsets.h create mode 100644 arch/c6x/include/asm/bitops.h create mode 100644 arch/c6x/include/asm/byteorder.h create mode 100644 arch/c6x/include/asm/cache.h create mode 100644 arch/c6x/include/asm/cacheflush.h create mode 100644 arch/c6x/include/asm/checksum.h create mode 100644 arch/c6x/include/asm/clkdev.h create mode 100644 arch/c6x/include/asm/clock.h create mode 100644 arch/c6x/include/asm/delay.h create mode 100644 arch/c6x/include/asm/dma-mapping.h create mode 100644 arch/c6x/include/asm/dscr.h create mode 100644 arch/c6x/include/asm/elf.h create mode 100644 arch/c6x/include/asm/ftrace.h create mode 100644 arch/c6x/include/asm/hardirq.h create mode 100644 arch/c6x/include/asm/irq.h create mode 100644 arch/c6x/include/asm/irqflags.h create mode 100644 arch/c6x/include/asm/linkage.h create mode 100644 arch/c6x/include/asm/megamod-pic.h create mode 100644 arch/c6x/include/asm/mmu.h create mode 100644 arch/c6x/include/asm/module.h create mode 100644 arch/c6x/include/asm/mutex.h create mode 100644 arch/c6x/include/asm/page.h create mode 100644 arch/c6x/include/asm/pgtable.h create mode 100644 arch/c6x/include/asm/processor.h create mode 100644 arch/c6x/include/asm/procinfo.h create mode 100644 arch/c6x/include/asm/prom.h create mode 100644 arch/c6x/include/asm/ptrace.h create mode 100644 arch/c6x/include/asm/sections.h create mode 100644 arch/c6x/include/asm/setup.h create mode 100644 arch/c6x/include/asm/sigcontext.h create mode 100644 arch/c6x/include/asm/signal.h create mode 100644 arch/c6x/include/asm/soc.h create mode 100644 arch/c6x/include/asm/string.h create mode 100644 arch/c6x/include/asm/swab.h create mode 100644 arch/c6x/include/asm/syscall.h create mode 100644 arch/c6x/include/asm/syscalls.h create mode 100644 arch/c6x/include/asm/system.h create mode 100644 arch/c6x/include/asm/thread_info.h create mode 100644 arch/c6x/include/asm/timer64.h create mode 100644 arch/c6x/include/asm/timex.h create mode 100644 arch/c6x/include/asm/tlb.h create mode 100644 arch/c6x/include/asm/traps.h create mode 100644 arch/c6x/include/asm/uaccess.h create mode 100644 arch/c6x/include/asm/unaligned.h create mode 100644 arch/c6x/include/asm/unistd.h create mode 100644 arch/c6x/kernel/Makefile create mode 100644 arch/c6x/kernel/asm-offsets.c create mode 100644 arch/c6x/kernel/c6x_ksyms.c create mode 100644 arch/c6x/kernel/devicetree.c create mode 100644 arch/c6x/kernel/dma.c create mode 100644 arch/c6x/kernel/entry.S create mode 100644 arch/c6x/kernel/head.S create mode 100644 arch/c6x/kernel/irq.c create mode 100644 arch/c6x/kernel/module.c create mode 100644 arch/c6x/kernel/process.c create mode 100644 arch/c6x/kernel/ptrace.c create mode 100644 arch/c6x/kernel/setup.c create mode 100644 arch/c6x/kernel/signal.c create mode 100644 arch/c6x/kernel/soc.c create mode 100644 arch/c6x/kernel/switch_to.S create mode 100644 arch/c6x/kernel/sys_c6x.c create mode 100644 arch/c6x/kernel/time.c create mode 100644 arch/c6x/kernel/traps.c create mode 100644 arch/c6x/kernel/vectors.S create mode 100644 arch/c6x/kernel/vmlinux.lds.S create mode 100644 arch/c6x/lib/Makefile create mode 100644 arch/c6x/lib/checksum.c create mode 100644 arch/c6x/lib/csum_64plus.S create mode 100644 arch/c6x/lib/divi.S create mode 100644 arch/c6x/lib/divremi.S create mode 100644 arch/c6x/lib/divremu.S create mode 100644 arch/c6x/lib/divu.S create mode 100644 arch/c6x/lib/llshl.S create mode 100644 arch/c6x/lib/llshr.S create mode 100644 arch/c6x/lib/llshru.S create mode 100644 arch/c6x/lib/memcpy_64plus.S create mode 100644 arch/c6x/lib/mpyll.S create mode 100644 arch/c6x/lib/negll.S create mode 100644 arch/c6x/lib/pop_rts.S create mode 100644 arch/c6x/lib/push_rts.S create mode 100644 arch/c6x/lib/remi.S create mode 100644 arch/c6x/lib/remu.S create mode 100644 arch/c6x/lib/strasgi.S create mode 100644 arch/c6x/lib/strasgi_64plus.S create mode 100644 arch/c6x/mm/Makefile create mode 100644 arch/c6x/mm/dma-coherent.c create mode 100644 arch/c6x/mm/init.c create mode 100644 arch/c6x/platforms/Kconfig create mode 100644 arch/c6x/platforms/Makefile create mode 100644 arch/c6x/platforms/cache.c create mode 100644 arch/c6x/platforms/dscr.c create mode 100644 arch/c6x/platforms/emif.c create mode 100644 arch/c6x/platforms/megamod-pic.c create mode 100644 arch/c6x/platforms/platform.c create mode 100644 arch/c6x/platforms/pll.c create mode 100644 arch/c6x/platforms/plldata.c create mode 100644 arch/c6x/platforms/timer64.c -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAABAgAGBQJPCgLhAAoJEOiN4VijXeFPGmIQAIom6TQ6IdjmSZwOdTgLlxvv D9eDC0MrDY6AUMwEwjSPaRjKnRFMicdQQTIEYPGTHCSV0sfMsGUgfEaY7uR9rbQR +rkk5uUekvJY8ONITL0otmP2WKC3TIZmH6kRyPezdYzfzV7mgY+8ssyPOnKiXapP PXTlugQMqcCpehtVPWTPJdL2nKWbtk40MkhP1V3B+YtPqf6sxGWl85p8S4NCkZ9p zyRTQnmYmRxbnwivxfvA5B6IfXmMXvs5GdTrjXW5FB/LFKdUTvEhY9KU+0dNikB5 GWZNsuxTioWu0PgM4alrU25GRwakg3IJ7V4NbFZQ7WfJGHjF0dmzSNsSFIS2Lnpc p5bFLrIr7Uh7G8nA+8KBRlC2KM54PFN/reWvG69khhda1ZuGVFGx8DgzgF9YQt1E Gitok/1DgSohKLG00KSMv/B6mntNOqVZfjmo/mk2z/6NAdOUvbpLAiqBp3mHrUdA NyaUn2uWMud3SVk/6HCJOTfCkVwAzwacPHVvgjuMlR7DN2RtopJ9qnDAOU1oyWpm ZBJ2NC1ehRsNWl3O74pPf38Rd0kREmcZ08giO69qpqrdgL8vwsJaCTwyUqa4sDWL ot6U8FIL+Db9XqZnXjJIswgX9VXrQL8rrTfQ3Ofry8BiIclFynW0eLIXSerGZxtb 5ayjDMyg5ZW3xRLvNSPG =/OBA -----END PGP SIGNATURE----- Merge tag 'for-linux-3.3-merge-window' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming * tag 'for-linux-3.3-merge-window' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming: (29 commits) C6X: replace tick_nohz_stop/restart_sched_tick calls C6X: add register_cpu call C6X: deal with memblock API changes C6X: fix timer64 initialization C6X: fix layout of EMIFA registers C6X: MAINTAINERS C6X: DSCR - Device State Configuration Registers C6X: EMIF - External Memory Interface C6X: general SoC support C6X: library code C6X: headers C6X: ptrace support C6X: loadable module support C6X: cache control C6X: clocks C6X: build infrastructure C6X: syscalls C6X: interrupt handling C6X: time management C6X: signal management ...
103 lines
2.5 KiB
C
103 lines
2.5 KiB
C
#ifndef __ASM_GENERIC_PAGE_H
|
|
#define __ASM_GENERIC_PAGE_H
|
|
/*
|
|
* Generic page.h implementation, for NOMMU architectures.
|
|
* This provides the dummy definitions for the memory management.
|
|
*/
|
|
|
|
#ifdef CONFIG_MMU
|
|
#error need to prove a real asm/page.h
|
|
#endif
|
|
|
|
|
|
/* PAGE_SHIFT determines the page size */
|
|
|
|
#define PAGE_SHIFT 12
|
|
#ifdef __ASSEMBLY__
|
|
#define PAGE_SIZE (1 << PAGE_SHIFT)
|
|
#else
|
|
#define PAGE_SIZE (1UL << PAGE_SHIFT)
|
|
#endif
|
|
#define PAGE_MASK (~(PAGE_SIZE-1))
|
|
|
|
#include <asm/setup.h>
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
#define get_user_page(vaddr) __get_free_page(GFP_KERNEL)
|
|
#define free_user_page(page, addr) free_page(addr)
|
|
|
|
#define clear_page(page) memset((page), 0, PAGE_SIZE)
|
|
#define copy_page(to,from) memcpy((to), (from), PAGE_SIZE)
|
|
|
|
#define clear_user_page(page, vaddr, pg) clear_page(page)
|
|
#define copy_user_page(to, from, vaddr, pg) copy_page(to, from)
|
|
|
|
/*
|
|
* These are used to make use of C type-checking..
|
|
*/
|
|
typedef struct {
|
|
unsigned long pte;
|
|
} pte_t;
|
|
typedef struct {
|
|
unsigned long pmd[16];
|
|
} pmd_t;
|
|
typedef struct {
|
|
unsigned long pgd;
|
|
} pgd_t;
|
|
typedef struct {
|
|
unsigned long pgprot;
|
|
} pgprot_t;
|
|
typedef struct page *pgtable_t;
|
|
|
|
#define pte_val(x) ((x).pte)
|
|
#define pmd_val(x) ((&x)->pmd[0])
|
|
#define pgd_val(x) ((x).pgd)
|
|
#define pgprot_val(x) ((x).pgprot)
|
|
|
|
#define __pte(x) ((pte_t) { (x) } )
|
|
#define __pmd(x) ((pmd_t) { (x) } )
|
|
#define __pgd(x) ((pgd_t) { (x) } )
|
|
#define __pgprot(x) ((pgprot_t) { (x) } )
|
|
|
|
extern unsigned long memory_start;
|
|
extern unsigned long memory_end;
|
|
|
|
#endif /* !__ASSEMBLY__ */
|
|
|
|
#ifdef CONFIG_KERNEL_RAM_BASE_ADDRESS
|
|
#define PAGE_OFFSET (CONFIG_KERNEL_RAM_BASE_ADDRESS)
|
|
#else
|
|
#define PAGE_OFFSET (0)
|
|
#endif
|
|
|
|
#ifndef ARCH_PFN_OFFSET
|
|
#define ARCH_PFN_OFFSET (PAGE_OFFSET >> PAGE_SHIFT)
|
|
#endif
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
#define __va(x) ((void *)((unsigned long) (x)))
|
|
#define __pa(x) ((unsigned long) (x))
|
|
|
|
#define virt_to_pfn(kaddr) (__pa(kaddr) >> PAGE_SHIFT)
|
|
#define pfn_to_virt(pfn) __va((pfn) << PAGE_SHIFT)
|
|
|
|
#define virt_to_page(addr) pfn_to_page(virt_to_pfn(addr))
|
|
#define page_to_virt(page) pfn_to_virt(page_to_pfn(page))
|
|
|
|
#ifndef page_to_phys
|
|
#define page_to_phys(page) ((dma_addr_t)page_to_pfn(page) << PAGE_SHIFT)
|
|
#endif
|
|
|
|
#define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && ((pfn) - ARCH_PFN_OFFSET) < max_mapnr)
|
|
|
|
#define virt_addr_valid(kaddr) (((void *)(kaddr) >= (void *)PAGE_OFFSET) && \
|
|
((void *)(kaddr) < (void *)memory_end))
|
|
|
|
#endif /* __ASSEMBLY__ */
|
|
|
|
#include <asm-generic/memory_model.h>
|
|
#include <asm-generic/getorder.h>
|
|
|
|
#endif /* __ASM_GENERIC_PAGE_H */
|