mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-23 19:13:15 +07:00
ac43507589
Release, which has been through 10 rounds of review on mailing list. We almost got the Acked-by/Reviewed-by of all patches except "Process management and Signal", but all've been tested. Here is the LTP-20180118 test report: ----------------------------------------------- Total Tests: 1298 Total Skipped Tests: 281 Total Failures: 10 Kernel Version: 4.19.0+ Machine Architecture: csky Hostname: buildroot ----------------------------------------------- This patchset adds architecture support to Linux for C-SKY's 32-bit embedded There are two ABI versions with several CPU cores in this patchset: ABIv1: 610 (16-bit instruction, 32-bit data path, VIPT Cache ...) ABIv2: 807 810 860 (16/32-bit variable length instruction, PIPT Cache, SMP ...) More information: http://en.c-sky.com The development repo: https://github.com/c-sky/csky-linux ABI Documentation: https://github.com/c-sky/csky-doc Here is the pre-built cross compiler for fast test from our CI: https://gitlab.com/c-sky/buildroot/-/jobs/101608095/artifacts/file/output/images/csky_toolchain_qemu_csky_ck807f_4.18_glibc_defconfig_482b221e52908be1c9b2ccb444255e1562bb7025.tar.xz We use buildroot as our CI-test enviornment. "LTP, Lmbench ..." will be tested for every commit. See here for more details: https://gitlab.com/c-sky/buildroot/pipelines We'll continouslly improve csky subsystem in future. Changes in v10: - Remove duplicated headers in asm/Kbuild and uapi/asm/Kbuild. - Change to (__NR_arch_specific_syscall + 1) in unistd.h. - Drop dword access for get_user_size patch. - Involve the interrupt controller drivers after got Reviewed-by. Changes in v9: - Remove unused code in smp.c and use per_cpu for ipi_data. - Fixup r15 register access in abiv1/alignment.c. - Improve the changelog comment in commit-msg. Changes in v8: - Pass make allmodconfig. - Implement abiv1 get_user_dword(). - Remove set_irq_mapping() used by driver in smp.c. Changes in v7: - Use checkpatch.pl to check all patches and fixup as possible. - Remove github.com/c-sky print in bootup. - Give a return in DMA_ATTR_NON_CONSISTENT in csky_dma_alloc_atomic(). - Remove the NSIGXXX in fpu.c and use force_sig_fault() in fpu.c. - Remove irq.h and add it in asm/Kbuild. - Use byteswap helpers in abiv1/bswapXi.c. - Fixup arch_sync_dma() only with one page problem. Changes in v6: - use asm-generic/bitops/atomic.h for all in asm/bitops.h - fix flush_cache_range and tlb_start_vma - fix compile error with include linux/bug.h in cmpxchg.h - improve the comment Changes in v5: - remove redundant smp_mb operations in spinlock.h - add commit message for dt-bindings docs - add CPUHP_AP_CSKY_TIMER_STARTING in hotplug.h for csky_mptimer - add COMPILE_TEST for timer-gx6605s Kconfig - seperate csky two interrupt controllers with 2 patches - add MAINTAINERS patch for csky - move IPI_IRQ into csky_mptimer, fixup irq_mapping problem - coding convension Changes in v4: - cleanup defconfig - use ksys_ in syscall.c - remove wrong comment in vdso.c - Use GENERIC_IRQ_MULTI_HANDLER - optimize the memset.c - fixup dts warnings - remove big-endian in byteorder.h Changes in v3: dc560f1 csky: change to EM_CSKY 252 for elf.h 2ac3ddf csky: remove gx6605s.dts af00b8c csky: add defconfig and qemu.dts 6c87efb csky: remove the deprecate name. f6dda39 csky: add dt-bindings doc. d9f02a8 csky: remove KERNEL_VERSION in upstream branch 7bd663c csky: Use kernel/dma/noncoherent.c 1544c09 csky: bugfix emmc hang up LINS-976 e963271 csky: cleanup include/asm/Kbuild cd267ba csky: remove CSKY_DEBUG_INFO 78950da csky: remove dcache invalid. 13fe51d csky: remove csum_ipv6_magic(), use generic one. a7372db csky: bugfix CK810 access twice error. 1bb7c69 csky: bugfix add gcc asm memory for barrier. 5ea3257 csky: add -msoft-float instead of -mfloat-abi=soft. 38b037d csky: bugfix losing cache flush range. ab5e8c4 csky: Add ticket-spinlock and qrwlock support. c9aaec5 csky: rename cskyksyms.c to libgcc_ksyms.c 28c5e48 csky: avoid the MB on failure: trylock f929c97 csky: bugfix idly4 may cause exception. 09dc496 csky: Use GENERIC_ASHLDI3/ASHRDI3 etc 6ecc99d csky: optimize smp boot code. 16f50df csky: asm/bug.h simple implement. 0ba532a csky: csky asm/atomic.h added. df66947 csky: asm/compat.h added 275a06f csky: String operations optimization 4c021dd csky: ck860 SMP memory barrier optimize fc39c66 csky: Add wait/doze/stop d005144 csky: add GENERIC_ALLOCATOR 4a10074 csky: bugfix cma failed for highmem. 9f2ca70 csky: CMA supported :) 53791f4 csky: optimize csky_dma_alloc_nonatomic 974676e csky: optimize the cpuinfo printf. 2538669 csky: bugfix make headers_install error. 1158d0c csky: prevent hard-float and vdsp instructions. dc3c856 csky: increase Normal Memory to 1GB 6ee5932 csky: bugfix qemu mmu couldn't support 0xffffe000 1d7dfb8 csky: csky_dma_alloc_atomic added. caf6610 csky: restruct the fixmap memory layout. 5a17eaa csky: use -Wa,-mcpu=ckxxxfv to the as. 4d51829 csky: use Kconfig.hz. f3f88fa csky: BUGFIX add -mcpu=ck860f support 6192fd1 csky: support ck860 fpu. 7aa5e01 csky: BUGFIX add smp_mb before ldex. 15758e2 csky: BUGFIX tlbi couldn't handle ASID in another CPU core.d69640d
csky: enable tlbi.vas to flush one tlb entry Changes in v2: a29bfc8 csky: add pre_mmu_init, move misc mmu setup to mm/init.c 4eab702 csky: no need kmap for !VM_EXEC. 6770eec csky: Use TEE as the name of CPU Trusted Execution Enviornment. a56c8c7 csky: update the cache flush api. 1a48a95 csky: add C-SKY Trust Zone. b7a0a44 csky: use CONFIG_RAM_BASE as the same in memory of dts. 15adf81 csky: remove unused code. 35c0d97 csky: bugfix lost a cacheline flush when start isn't cacheline-aligned. 4e82c8d csky: use tlbi.alls for ck860 smp temporary. ae7149e csky: bugfix use kmap_atomic() to prevent no mapped addr. 5538795 csky: bugfix user access in kernel space. a7aa591 csky: add 16bit user space bkpt. 0de70ec csky: add sync.is for cmpxchg in SMP. c5c08a1 csky: seperate sync.is and sync for SMP and Non-SMP. dbbf4dc csky: use sync.is for ck860 mb(). f33f8da csky: rewrite the alignment implement. 68152c7 csky: bugfix alignment pt_regs error. d618d43 csky: support set_affinity for irq balance in SMP ebf86c9 csky: bugfix compile error without CONFIG_SMP. 8537eea csky: remove debug code. 4ebc051 csky: bugfix compile error with linux-4.9.56 75a938e csky: C-SKY SMP supported. 0eebc07 csky: use internal function for map_sg. 3d29751 csky: bugfix can't support highmem b545d2a csky: bugfix r26 is the link reg for jsri_to_jsr. 9e3313a csky: bugfix sync tls for abiv1 in ptrace. 587a0d2 csky: use __NR_rt_sigreturn in asm-generic. f562b46 csky: bugfix gpr_set & fpr_set f57266f csky: bugfix fpu_fpe_helper excute mtcr mfcr. c676669 csky: bugfix ave is default enable on reset.d40d34d
csky: remove unused sc_mask in sigcontext.h. 274b7a2 csky: redesign the signal's api 7501771 csky: bugfix forget restore usp. 923e2ca csky: re-struct the pt_regs for regset. 2a1e499 csky: fixup config. ada81ec csky: bugfix abiv1 compile error. e34acb9 csky: bugfix abiv1 couldn't support -mno-stack-size. ec53560 csky: change irq map, reserve soft_irq&private_irq space. c7576f7 csky: bugfix modpost warning with -mno-stack-size c8ff9d4 csky: support csky mp timer alpha version. deabaaf csky: update .gitignore. 574815c csky: bugfix compile error with abiv1 in 4.15 0b426a7 csky: bugfix format of cpu verion id. 083435f csky: irq-csky-v2 alpha init. 21209e5 csky: add .gitignore 73e19b4 csky: remove FMFS_FPU_REGS/FMTS_FPU_REGS 07e8fac csky: add fpu regset in ptrace.c cac779d csky: add CSKY_VECIRQ_LEGENCY for SOC bug. 54bab1d csky: move usp into pt_regs. b167422 csky: support regset for ptrace. a098d4c csky: remove ARCH_WANT_IPC_PARSE_VERSION fe61a84 csky: add timer-of support. 27702e2 csky: bugfix boot error. ebe3edb csky: bugfix gx6605s boot failed - add __HEAD to head.section for head.S - move INIT_SECTION together to fix compile warning. 7138cae csky: coding convension for timer-nationalchip.c fa7f9bb csky: use ffs instead of fls. ddc9e81 csky: change to generic irq chip for irq-csky.c e9be8b9 irqchip: add generic irq chip for irq-nationalchip 2ee83fe csky: add set_handle_irq(), ref from openrisc & arm. 74181d6 csky: use irq_domain_add_linear instead of leagcy. fa45ae4 csky: bugfix setup stroge order for uncached. eb8030f csky: add HIGHMEM config in Kconfig 4f983d4 csky: remove "default n" in Kconfig 2467575 csky: use asm-generic/signal.h 77438e5 csky: coding conventions for irq.c 2e4a2b4 csky: optimize the cache flush ops. 96e1c58 csky: add CONFIG_CPU_ASID_BITS. 9339666 csky: add cprcr() cpwcr() for abiv1 ff05be4 csky: add THREAD_SHIFT define in asm/page.h 52ab022 csky: add mfcr() mtcr() in asm/reg_ops.h bdcd8f3 csky: revert back Kconfig select. 590c7e6 csky: bugfix compile error with CONFIG_AUDIT 1989292 csky: revert some back with cleanup unistd.h f1454fe csky: cleanup unistd.h 5d2985f csky: cleanup Kconfig and Makefile. 423d97e csky: cancel subdirectories cae2af4 csky: use asm-generic/fcntl.h -----BEGIN PGP SIGNATURE----- iQJGBAABCAAwFiEE2KAv+isbWR/viAKHAXH1GYaIxXsFAlvT4KESHHJlbl9ndW9A Yy1za3kuY29tAAoJEAFx9RmGiMV7xvoP/RpZO14XK0LeKjP9DllhvxSF49iL2MxC GGqPpRzYvzjl6KNd8VxwUbi7VCMJd8et3FF7lIfRaLxeHgj/kqk6X3JIzFON6rom 3dRzy5XDV1bzsaZoqRK2lysGJwVmkh+CQVpmGvdSrziFPqoHyzALF0T2ggX97lft HVpkg/ugiamb7a3p8U2oI5p8V05+beXgTFAqb5QszJwmPVFNaqs6CvnjmFJxJ4L8 EAyXZ6MXjgLPE0z+0ACCkBcK66ejneTVrcGaxgNaMT5kzcE5qCF6bTZxRx7YxwnA tbk8q+/dd5W1pbfBff3NifXeSHvkWqn7vmTq+PqGnid/92cJTzjspjaakZgEfbTP F8kB5jND54hlchdKfqrfoOpi3W8UYEfqdf1BHWgqsptWpq6GoTMJJE6y6rfvy1E7 r/F8rSKJlc8SxVa8/VIQqO4LbSlxm/wnO7sGoeYi8TjO3ZMCBIm4Had0f5uJTgdH WENC5WP1xyle5BsL3BJiTLQl1qappWptX44YaVod2A9HtdIOsVWCFNdhFPCis1jX RaoP7pHBxQ5Q6r8Nue9bBa2F3gK7IOh1EKEJ821AgA9Pz2Gm8wZ1XzsPqFCiAkkS PcIuZQl7l/eVoiXXEqUTQFlzL4K8WnvKCYAdRZWklGKfE0Ek5RD+KVXhqFE8Ujz4 xa+OgEzn5cQA =kHer -----END PGP SIGNATURE----- Merge tag 'csky-for-linus-4.20' of https://github.com/c-sky/csky-linux Pull C-SKY architecture port from Guo Ren: "This contains the Linux port for C-SKY(csky) based on linux-4.19 Release, which has been through 10 rounds of review on mailing list. More information: http://en.c-sky.com The development repo: https://github.com/c-sky/csky-linux ABI Documentation: https://github.com/c-sky/csky-doc Here is the pre-built cross compiler for fast test from our CI: https://gitlab.com/c-sky/buildroot/-/jobs/101608095/artifacts/file/output/images/csky_toolchain_qemu_csky_ck807f_4.18_glibc_defconfig_482b221e52908be1c9b2ccb444255e1562bb7025.tar.xz We use buildroot as our CI-test enviornment. "LTP, Lmbench ..." will be tested for every commit. See here for more details: https://gitlab.com/c-sky/buildroot/pipelines We'll continouslly improve csky subsystem in future" Arnd acks, and adds the following notes: "I did a thorough review of the ABI, which as usual mainly consists of spotting any files that don't use the asm-generic ABI itself, and having it changed to it matches exactly what we do on other new architectures. I also looked at every other patch and commented on maybe half of them where I saw something that did not quite seem right. Others have reviewed specific patches in greater depth. I'm sure that one could fine more of the minor details, but as long as they are not ABI relevant, they can be fixed later. The only patch that is part of the ABI and that nobody reviewed is the signal handling. This is one of the areas I never worked on in much detail. I did not see anything wrong with it, but I also don't know what the problems with the other architectures are here, and we seem to be hitting issues occasionally, and we never managed to generalize this enough for new architectures to have a trivial implementation. I was originally hoping that we could have the 64-bit time_t interfaces ready in time to completely drop the 32-bit ones, but that did not happen. We might still remove them in the next merge window depending on whether the libc upstream people prefer to keep them or not. One more general comment: I think this may well be the last new CPU architecture we ever add to the kernel. Both nds32 and c-sky are made by companies that also work on risc-v, and generally speaking risc-v seems to be killing off any of the minor licensable instruction set projects, just like ARM has mostly killed off the custom vendor-specific instruction sets already. If we add another architecture in the future, it may instead be something like the LLVM bitcode or WebAssembly, who knows?" To which Geert Uytterhoeven pipes in about another architecture still in the pipeline: Kalray MPPA. * tag 'csky-for-linus-4.20' of https://github.com/c-sky/csky-linux: (24 commits) dt-bindings: interrupt-controller: C-SKY APB intc irqchip: add C-SKY APB bus interrupt controller dt-bindings: interrupt-controller: C-SKY SMP intc irqchip: add C-SKY SMP interrupt controller MAINTAINERS: Add csky dt-bindings: Add vendor prefix for csky dt-bindings: csky CPU Bindings csky: Misc headers csky: SMP support csky: Debug and Ptrace GDB csky: User access csky: Library functions csky: ELF and module probe csky: Atomic operations csky: IRQ handling csky: VDSO and rt_sigreturn csky: Process management and Signal csky: MMU and page table management csky: Cache and TLB routines csky: System Call ...
94 lines
4.3 KiB
Makefile
94 lines
4.3 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
obj-$(CONFIG_IRQCHIP) += irqchip.o
|
|
|
|
obj-$(CONFIG_ALPINE_MSI) += irq-alpine-msi.o
|
|
obj-$(CONFIG_ATH79) += irq-ath79-cpu.o
|
|
obj-$(CONFIG_ATH79) += irq-ath79-misc.o
|
|
obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2835.o
|
|
obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2836.o
|
|
obj-$(CONFIG_ARCH_EXYNOS) += exynos-combiner.o
|
|
obj-$(CONFIG_FARADAY_FTINTC010) += irq-ftintc010.o
|
|
obj-$(CONFIG_ARCH_HIP04) += irq-hip04.o
|
|
obj-$(CONFIG_ARCH_LPC32XX) += irq-lpc32xx.o
|
|
obj-$(CONFIG_ARCH_MMP) += irq-mmp.o
|
|
obj-$(CONFIG_IRQ_MXS) += irq-mxs.o
|
|
obj-$(CONFIG_ARCH_TEGRA) += irq-tegra.o
|
|
obj-$(CONFIG_ARCH_S3C24XX) += irq-s3c24xx.o
|
|
obj-$(CONFIG_DW_APB_ICTL) += irq-dw-apb-ictl.o
|
|
obj-$(CONFIG_CLPS711X_IRQCHIP) += irq-clps711x.o
|
|
obj-$(CONFIG_OMPIC) += irq-ompic.o
|
|
obj-$(CONFIG_OR1K_PIC) += irq-or1k-pic.o
|
|
obj-$(CONFIG_ORION_IRQCHIP) += irq-orion.o
|
|
obj-$(CONFIG_OMAP_IRQCHIP) += irq-omap-intc.o
|
|
obj-$(CONFIG_ARCH_SUNXI) += irq-sun4i.o
|
|
obj-$(CONFIG_ARCH_SUNXI) += irq-sunxi-nmi.o
|
|
obj-$(CONFIG_ARCH_SPEAR3XX) += spear-shirq.o
|
|
obj-$(CONFIG_ARM_GIC) += irq-gic.o irq-gic-common.o
|
|
obj-$(CONFIG_ARM_GIC_PM) += irq-gic-pm.o
|
|
obj-$(CONFIG_ARCH_REALVIEW) += irq-gic-realview.o
|
|
obj-$(CONFIG_ARM_GIC_V2M) += irq-gic-v2m.o
|
|
obj-$(CONFIG_ARM_GIC_V3) += irq-gic-v3.o irq-gic-v3-mbi.o irq-gic-common.o
|
|
obj-$(CONFIG_ARM_GIC_V3_ITS) += irq-gic-v3-its.o irq-gic-v3-its-platform-msi.o irq-gic-v4.o
|
|
obj-$(CONFIG_ARM_GIC_V3_ITS_PCI) += irq-gic-v3-its-pci-msi.o
|
|
obj-$(CONFIG_ARM_GIC_V3_ITS_FSL_MC) += irq-gic-v3-its-fsl-mc-msi.o
|
|
obj-$(CONFIG_PARTITION_PERCPU) += irq-partition-percpu.o
|
|
obj-$(CONFIG_HISILICON_IRQ_MBIGEN) += irq-mbigen.o
|
|
obj-$(CONFIG_ARM_NVIC) += irq-nvic.o
|
|
obj-$(CONFIG_ARM_VIC) += irq-vic.o
|
|
obj-$(CONFIG_ARMADA_370_XP_IRQ) += irq-armada-370-xp.o
|
|
obj-$(CONFIG_ATMEL_AIC_IRQ) += irq-atmel-aic-common.o irq-atmel-aic.o
|
|
obj-$(CONFIG_ATMEL_AIC5_IRQ) += irq-atmel-aic-common.o irq-atmel-aic5.o
|
|
obj-$(CONFIG_I8259) += irq-i8259.o
|
|
obj-$(CONFIG_IMGPDC_IRQ) += irq-imgpdc.o
|
|
obj-$(CONFIG_IRQ_MIPS_CPU) += irq-mips-cpu.o
|
|
obj-$(CONFIG_SIRF_IRQ) += irq-sirfsoc.o
|
|
obj-$(CONFIG_JCORE_AIC) += irq-jcore-aic.o
|
|
obj-$(CONFIG_RENESAS_INTC_IRQPIN) += irq-renesas-intc-irqpin.o
|
|
obj-$(CONFIG_RENESAS_IRQC) += irq-renesas-irqc.o
|
|
obj-$(CONFIG_VERSATILE_FPGA_IRQ) += irq-versatile-fpga.o
|
|
obj-$(CONFIG_ARCH_NSPIRE) += irq-zevio.o
|
|
obj-$(CONFIG_ARCH_VT8500) += irq-vt8500.o
|
|
obj-$(CONFIG_ST_IRQCHIP) += irq-st.o
|
|
obj-$(CONFIG_TANGO_IRQ) += irq-tango.o
|
|
obj-$(CONFIG_TB10X_IRQC) += irq-tb10x.o
|
|
obj-$(CONFIG_TS4800_IRQ) += irq-ts4800.o
|
|
obj-$(CONFIG_XTENSA) += irq-xtensa-pic.o
|
|
obj-$(CONFIG_XTENSA_MX) += irq-xtensa-mx.o
|
|
obj-$(CONFIG_XILINX_INTC) += irq-xilinx-intc.o
|
|
obj-$(CONFIG_IRQ_CROSSBAR) += irq-crossbar.o
|
|
obj-$(CONFIG_SOC_VF610) += irq-vf610-mscm-ir.o
|
|
obj-$(CONFIG_BCM6345_L1_IRQ) += irq-bcm6345-l1.o
|
|
obj-$(CONFIG_BCM7038_L1_IRQ) += irq-bcm7038-l1.o
|
|
obj-$(CONFIG_BCM7120_L2_IRQ) += irq-bcm7120-l2.o
|
|
obj-$(CONFIG_BRCMSTB_L2_IRQ) += irq-brcmstb-l2.o
|
|
obj-$(CONFIG_KEYSTONE_IRQ) += irq-keystone.o
|
|
obj-$(CONFIG_MIPS_GIC) += irq-mips-gic.o
|
|
obj-$(CONFIG_ARCH_MEDIATEK) += irq-mtk-sysirq.o irq-mtk-cirq.o
|
|
obj-$(CONFIG_ARCH_DIGICOLOR) += irq-digicolor.o
|
|
obj-$(CONFIG_RENESAS_H8300H_INTC) += irq-renesas-h8300h.o
|
|
obj-$(CONFIG_RENESAS_H8S_INTC) += irq-renesas-h8s.o
|
|
obj-$(CONFIG_ARCH_SA1100) += irq-sa11x0.o
|
|
obj-$(CONFIG_INGENIC_IRQ) += irq-ingenic.o
|
|
obj-$(CONFIG_IMX_GPCV2) += irq-imx-gpcv2.o
|
|
obj-$(CONFIG_PIC32_EVIC) += irq-pic32-evic.o
|
|
obj-$(CONFIG_MSCC_OCELOT_IRQ) += irq-mscc-ocelot.o
|
|
obj-$(CONFIG_MVEBU_GICP) += irq-mvebu-gicp.o
|
|
obj-$(CONFIG_MVEBU_ICU) += irq-mvebu-icu.o
|
|
obj-$(CONFIG_MVEBU_ODMI) += irq-mvebu-odmi.o
|
|
obj-$(CONFIG_MVEBU_PIC) += irq-mvebu-pic.o
|
|
obj-$(CONFIG_MVEBU_SEI) += irq-mvebu-sei.o
|
|
obj-$(CONFIG_LS_SCFG_MSI) += irq-ls-scfg-msi.o
|
|
obj-$(CONFIG_EZNPS_GIC) += irq-eznps.o
|
|
obj-$(CONFIG_ARCH_ASPEED) += irq-aspeed-vic.o irq-aspeed-i2c-ic.o
|
|
obj-$(CONFIG_STM32_EXTI) += irq-stm32-exti.o
|
|
obj-$(CONFIG_QCOM_IRQ_COMBINER) += qcom-irq-combiner.o
|
|
obj-$(CONFIG_IRQ_UNIPHIER_AIDET) += irq-uniphier-aidet.o
|
|
obj-$(CONFIG_ARCH_SYNQUACER) += irq-sni-exiu.o
|
|
obj-$(CONFIG_MESON_IRQ_GPIO) += irq-meson-gpio.o
|
|
obj-$(CONFIG_GOLDFISH_PIC) += irq-goldfish-pic.o
|
|
obj-$(CONFIG_NDS32) += irq-ativic32.o
|
|
obj-$(CONFIG_QCOM_PDC) += qcom-pdc.o
|
|
obj-$(CONFIG_CSKY_MPINTC) += irq-csky-mpintc.o
|
|
obj-$(CONFIG_CSKY_APB_INTC) += irq-csky-apb-intc.o
|
|
obj-$(CONFIG_SIFIVE_PLIC) += irq-sifive-plic.o
|