linux-s390.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: iommu@lists.linux-foundation.org
Cc: linux-alpha@vger.kernel.org, linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	adi-buildroot-devel@lists.sourceforge.net,
	linux-c6x-dev@linux-c6x.org, linux-cris-kernel@axis.com,
	linux-hexagon@vger.kernel.org, linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org, linux-metag@vger.kernel.org,
	Michal Simek <monstr@monstr.eu>,
	linux-mips@linux-mips.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, patches@groups.riscv.org,
	linux-s390@vger.kernel.org, linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org, Guan Xuetao <gxt@mprc.pku.edu.cn>,
	x86@kernel.org, linux-arch@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: consolidate direct dma mapping and swiotlb support
Date: Fri, 29 Dec 2017 09:18:04 +0100	[thread overview]
Message-ID: <20171229081911.2802-1-hch@lst.de> (raw)
Message-ID: <20171229081804.GqI5LJMsl2cz9U2o5yrDiEjFN4Ey5oU3_VZpwJgNjCM@z> (raw)

Almost every architecture supports a direct dma mapping implementation,
where no iommu is used and the device dma address is a 1:1 mapping to
the physical address or has a simple linear offset.  Currently the
code for this implementation is most duplicated over the architectures,
and the duplicated again in the swiotlb code, and then duplicated again
for special cases like the x86 memory encryption DMA ops.

This series takes the existing very simple dma-noop dma mapping
implementation, enhances it with all the x86 features and quirks, and
creates a common set of architecture hooks for it and the swiotlb code.

It then switches a large number of architectures to this generic
direct map implement and the new generic swiotlb dma_map ops.

Note that for now this only handles architectures that do cache coherent
DMA, but a similar consolidation for non-coherent architectures is in the
work for later merge windows.

             reply	other threads:[~2017-12-29  8:18 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20171229081804.GqI5LJMsl2cz9U2o5yrDiEjFN4Ey5oU3_VZpwJgNjCM@z>
2017-12-29  8:18 ` Christoph Hellwig [this message]
     [not found]   ` <20171229081805.JaGhMhB41hzs5jLidMc2ED4QikMRo6D6npHKz2EJfkI@z>
2017-12-29  8:18     ` [PATCH 01/67] x86: remove X86_PPRO_FENCE Christoph Hellwig
     [not found]   ` <20171229081806.3t0p1qUHRX3qlIz3WJMgVgFrnIlF7CwEm9EyHfggTBw@z>
2017-12-29  8:18     ` [PATCH 02/67] alpha: mark jensen as broken Christoph Hellwig
     [not found]       ` <20180102103600.L1CS7wOQ6c-CBQVEs6EOeKTUo8b4cXJLESWYSlsrOF0@z>
2018-01-02 10:36         ` Geert Uytterhoeven
2018-01-04  8:53           ` Christoph Hellwig
     [not found]   ` <20171229081807.7ejEO9SySdw8KGHW1gzoDEt6wTeQy9B2I4GL1xKiHyg@z>
2017-12-29  8:18     ` [PATCH 03/67] dma-mapping: take dma_pfn_offset into account in dma_max_pfn Christoph Hellwig
     [not found]   ` <20171229081808.tjikrmSsS6zSP7DODi50tGYBXDGaMqV-ZpNwqGDkmrg@z>
2017-12-29  8:18     ` [PATCH 04/67] arm64: don't override dma_max_pfn Christoph Hellwig
     [not found]   ` <20171229081809.ARTTYXC_5PShfqunqyt9ROHpVKzWsvvtTf4ToxxG1-E@z>
2017-12-29  8:18     ` [PATCH 05/67] dma-mapping: replace PCI_DMA_BUS_IS_PHYS with a flag in struct dma_map_ops Christoph Hellwig
     [not found]       ` <20180102103949.BwkTgo6Ky-ZbQa1oA0NOPF1BkWIFwcVNKeMDmSKujis@z>
2018-01-02 10:39         ` Geert Uytterhoeven
2018-01-09 15:55       ` Jesper Nilsson
     [not found]   ` <20171229081810.vt3EvzCgzQhdGx98YD3L9tP-6GmB4PDhvEEmJThNg-s@z>
2017-12-29  8:18     ` [PATCH 06/67] hexagon: remove unused flush_write_buffers definition Christoph Hellwig
     [not found]       ` <20180109031339.hM5AMttVanuUbbSiBXCnbcJqs_XmkffAwiX-eGyTZQQ@z>
2018-01-09  3:13         ` Richard Kuo
     [not found]   ` <20171229081811.X951VkAsZ6zCUbL0fplI2i4S4BGvSDXb_I2OdpayZAc@z>
2017-12-29  8:18     ` [PATCH 07/67] m32r: " Christoph Hellwig
     [not found]   ` <20171229081812.GP0MhVR0T0IvqPLV8NVkPBpPtBn9UR817WnKHTk8h-k@z>
2017-12-29  8:18     ` [PATCH 08/67] powerpc: " Christoph Hellwig
2017-12-29  8:18   ` [PATCH 09/67] arc: remove CONFIG_ARC_PLAT_NEEDS_PHYS_TO_DMA Christoph Hellwig
     [not found]     ` <20180105194516.XVGamMC_Fr_6yr2QE1aSGSFK44oK7DGhNARD70INIrA@z>
2018-01-05 19:45       ` Vineet Gupta
     [not found]   ` <20171229081814.SeW-PWbPhviYw_CbyjY6W1S0595FNt9DXYb5am4NiAs@z>
2017-12-29  8:18     ` [PATCH 10/67] m32r: remove the unused dma_capable helper Christoph Hellwig
     [not found]   ` <20171229081815.eVHSr1zQHQGqfOp4IUE14kY-XbHNhO-SE7_QpBphboU@z>
2017-12-29  8:18     ` [PATCH 11/67] riscv: " Christoph Hellwig
     [not found]   ` <20171229081816.oi3UYemw7AD7WLFIypIeR4giQSmighEziIFdBl9uGM8@z>
2017-12-29  8:18     ` [PATCH 12/67] s390: " Christoph Hellwig
     [not found]   ` <20171229081817.a4StnjBfikGc9OZoLwvfAsPHQUKSZFEK_UQ93QQlvRc@z>
2017-12-29  8:18     ` [PATCH 13/67] dma-mapping: move swiotlb arch helpers to a new header Christoph Hellwig
     [not found]   ` <20171229081818.VMrUmReuSAghp1YnDiX44w9JYpR1Qm0VDjn29LxfZYs@z>
2017-12-29  8:18     ` [PATCH 14/67] dma-mapping: move dma_mark_clean to dma-direct.h Christoph Hellwig
     [not found]   ` <20171229081819.nhouskuDI2XZYO2p6Y-ifGO-QKQzaUtqCaA687EWBzU@z>
2017-12-29  8:18     ` [PATCH 15/67] hexagon: use the generic dma_capable helper Christoph Hellwig
     [not found]   ` <20171229081820.NVbPUFyUM9eJtQ-4O5KA8iB4bXNxSFBFvUqb4O3rJrE@z>
2017-12-29  8:18     ` [PATCH 16/67] powerpc: rename dma_direct_ to dma_nommu_ Christoph Hellwig
     [not found]       ` <20180102094530.d1htZTJI9oRIYViqk29ZleDRewqX0fB-0mjGytkL1qQ@z>
2018-01-02  9:45         ` Michael Ellerman
     [not found]           ` <20180102102235.gHdwAFmV34Y0lEdinIclZpOn5Z9wYyfYUO7xfzOXtes@z>
2018-01-02 10:22             ` Geert Uytterhoeven
2018-01-03  6:24               ` Michael Ellerman
     [not found]                 ` <20180103074935.1_jyWqQKI2K_bfXAg2NjkmHB0YA8KiCTySPbuyEZ66w@z>
2018-01-03  7:49                   ` Geert Uytterhoeven
2018-01-03  8:19                     ` Julian Calaby
     [not found]                       ` <20180104084828.xT92eW0lHhMiuL7n18gWqeWkFxFsKMEDp2nqG-_D6_s@z>
2018-01-04  8:48                         ` Christoph Hellwig
2018-01-04  8:49           ` Christoph Hellwig
2018-01-09 15:38             ` Christoph Hellwig
     [not found]   ` <20171229081821.xqtugcvvkMrtyH-lfFBMRkrJbxzpaH9aG8GVtk6ocUw@z>
2017-12-29  8:18     ` [PATCH 17/67] microblaze: rename dma_direct to dma_microblaze Christoph Hellwig
     [not found]       ` <20171229101156.oJbOB4KY_zRLBkJ30jOu9y-ts7z1Z9n9xy3yzWgzSAg@z>
2017-12-29 10:11         ` Julian Calaby
2018-01-04  8:45           ` Christoph Hellwig
     [not found]   ` <20171229081822.AVdMWdmkPQXoPjyHPuP18HX2sqd7KnE4WJciayOGPJg@z>
2017-12-29  8:18     ` [PATCH 18/67] microblaze: remove dma_nommu_dma_supported Christoph Hellwig
     [not found]   ` <20171229081823.yhT-2ZMg7dZWutEa93-dRIkiktHHeNUcsT6CV45-WbM@z>
2017-12-29  8:18     ` [PATCH 19/67] microblaze: remove the dead !NOT_COHERENT_CACHE dma code Christoph Hellwig
     [not found]   ` <20171229081824.xwYhJYkUN9IssLCAz1i1KuZLgWEX6EmaVbNSx7fb-to@z>
2017-12-29  8:18     ` [PATCH 20/67] s390: move s390_pci_dma_ops to asm/pci_dma.h Christoph Hellwig
     [not found]   ` <20171229081825.EqCASKMCfRu0aMAZnMgzHKUjgBnA6uMSuJXvAqkSG-A@z>
2017-12-29  8:18     ` [PATCH 21/67] dma-mapping: warn when there is no coherent_dma_mask Christoph Hellwig
     [not found]   ` <20171229081826.SW7zeCUuGfRZ3oRpVnrMwsa-aqhLsaks9HYHi2-CiJQ@z>
2017-12-29  8:18     ` [PATCH 22/67] dma-mapping: clear harmful GFP_* flags in common code Christoph Hellwig
     [not found]       ` <20180102103807.9XMA-UWpcTZQFrzdxTooXbS1WXxBXAxOumu6kfCv0GA@z>
2018-01-02 10:38         ` Geert Uytterhoeven
2018-01-09 15:54       ` Jesper Nilsson
     [not found]   ` <20171229081827.puUTsENUik-riSRL-UbffhTl93W5l8Tl2i1DJ78cgX8@z>
2017-12-29  8:18     ` [PATCH 23/67] dma-mapping: add an arch_dma_supported hook Christoph Hellwig
     [not found]   ` <20171229081828.-p3n1e2IuU1PavWbR-jcj4mQWcLnuVbdc-qYgsB7rm0@z>
2017-12-29  8:18     ` [PATCH 24/67] dma-mapping: provide a generic asm/dma-mapping.h Christoph Hellwig
     [not found]   ` <20171229081829.oA6pLon4hAnfSlm1q1-dhIbHExP-evrvT6qp3ycsCeI@z>
2017-12-29  8:18     ` [PATCH 25/67] dma-direct: rename dma_noop to dma_direct Christoph Hellwig
2018-01-02 16:25       ` Vladimir Murzin
     [not found]   ` <20171229081830.n6yun-pZRImdvxoINCqHF5fYlUvDIyNXd9WFXJsIG8A@z>
2017-12-29  8:18     ` [PATCH 26/67] dma-direct: use phys_to_dma Christoph Hellwig
2018-01-02 16:26       ` Vladimir Murzin
     [not found]   ` <20171229081831.Sex8FtGfM4wtDczSELnixmmawwT13u1TIkM_4cGixEo@z>
2017-12-29  8:18     ` [PATCH 27/67] dma-direct: add dma address sanity checks Christoph Hellwig
     [not found]       ` <20171229141225.onEsA1-AAuENtYGlz_EOt48N2vGosNNVx1vqR6V8zF4@z>
2017-12-29 14:12         ` Geert Uytterhoeven
2018-01-04  8:52           ` Christoph Hellwig
     [not found]   ` <20171229081832.zr0cMOPcxEUpQ63Ss1eHdxr1Yca_ApLpbYXYo8ybbzA@z>
2017-12-29  8:18     ` [PATCH 28/67] dma-direct: add support for CMA allocation Christoph Hellwig
     [not found]   ` <20171229081833.VBq_wnXL-y_T8F5YSDaXDy70Dw1-cvIPo-NkjSX-LmQ@z>
2017-12-29  8:18     ` [PATCH 29/67] dma-direct: use node local allocations for coherent memory Christoph Hellwig
     [not found]       ` <20180102102910.Zbn-7Ur0uUSrgy85J9m80hK_ZhTiY_SszrrU0y-HwBw@z>
2018-01-02 10:29         ` Geert Uytterhoeven
     [not found]   ` <20171229081834.bJqD6titxppqb9QQN6jtnEceZwYJWyJonHniL-p3GuI@z>
2017-12-29  8:18     ` [PATCH 30/67] dma-direct: retry allocations using GFP_DMA for small masks Christoph Hellwig
2018-01-02 16:43       ` Vladimir Murzin
     [not found]         ` <20180104090251.mon_uuDKFRA3egfK9_kqOEBDBCvwbrW4ptJGo-Rc1UE@z>
2018-01-04  9:02           ` Christoph Hellwig
     [not found]   ` <20171229081835.HVjeGs5flz5tOc9HahUg8YyIQfkCEZM2BR0Qf5twZOU@z>
2017-12-29  8:18     ` [PATCH 31/67] dma-direct: make dma_direct_{alloc,free} available to other implementations Christoph Hellwig
2018-01-02 16:44       ` [PATCH 31/67] dma-direct: make dma_direct_{alloc, free} " Vladimir Murzin
     [not found]   ` <20171229081836.dzI6nEyWFwojL9y3WKxGD-A08Oj8aEXNDGI49XMjGVQ@z>
2017-12-29  8:18     ` [PATCH 32/67] dma-direct: add support for allocation from ZONE_DMA and ZONE_DMA32 Christoph Hellwig
     [not found]   ` <20171229081837.fqxNArbncKe_8dNGDJHMsHuzeYqBLMzGWl861uvnnLk@z>
2017-12-29  8:18     ` [PATCH 33/67] dma-direct: reject too small dma masks Christoph Hellwig
     [not found]   ` <20171229081838.rhBFjRKGItHE3GrqjGzX6chy5SD-YTST5HPpxO_bwSA@z>
2017-12-29  8:18     ` [PATCH 34/67] cris: use dma-direct Christoph Hellwig
2018-01-09 15:53       ` Jesper Nilsson
     [not found]   ` <20171229081839.sdojrKEv-UDc3E8Hok6V5fxjBY3GqxcokgdVj4ODppc@z>
2017-12-29  8:18     ` [PATCH 35/67] h8300: " Christoph Hellwig
     [not found]   ` <20171229081840.n04N7EkLBC34UZcgRyQEdL4hWTwMVA6mxNYhXsjOLpI@z>
2017-12-29  8:18     ` [PATCH 36/67] x86: remove dma_alloc_coherent_mask Christoph Hellwig
     [not found]   ` <20171229081841.rW-ZtdK-z-w3A_5jOkcrsxNZSLYD7YIWyrMMOcOTOSE@z>
2017-12-29  8:18     ` [PATCH 37/67] x86: use dma-direct Christoph Hellwig
     [not found]   ` <20171229081842._Ccn3zfwADtUU8EXVbwuhBGB0EuUhA2JW2W-iBbEy58@z>
2017-12-29  8:18     ` [PATCH 38/67] x86/amd_gart: clean up gart_alloc_coherent Christoph Hellwig
     [not found]   ` <20171229081843.rvd_GYms_lfFSWm9kfB_EM-KFqspUH8AIpZb2z-r53E@z>
2017-12-29  8:18     ` [PATCH 39/67] iommu/amd_iommu: use dma_direct_* helpers for the direct mapping case Christoph Hellwig
     [not found]   ` <20171229081844.0JcP9gVAM69Rmb1SYE41yWICqsj1w6rapUAt3SpVEys@z>
2017-12-29  8:18     ` [PATCH 40/67] iommu/intel-iommu: " Christoph Hellwig
     [not found]   ` <20171229081845.dcOMMvLIx_-AVJKlimAO0_Vmi7piZH-LffLrfpE6OBw@z>
2017-12-29  8:18     ` [PATCH 41/67] x86: remove dma_alloc_coherent_gfp_flags Christoph Hellwig
     [not found]   ` <20171229081846.f574lNbkilpUZfPzilQk7XVgv5yPoENvLigRkq3kbSM@z>
2017-12-29  8:18     ` [PATCH 42/67] arm64: rename swiotlb_dma_ops Christoph Hellwig
     [not found]   ` <20171229081847.cR4Pgb29Ye7otaAC46WNjbkp9bLdooLdZaYD524JQvw@z>
2017-12-29  8:18     ` [PATCH 43/67] ia64: " Christoph Hellwig
     [not found]   ` <20171229081848.tj8OBbCEJw3VymfgYqVx7SSLMhaKv9H28mC9VQ4QZy0@z>
2017-12-29  8:18     ` [PATCH 44/67] powerpc: " Christoph Hellwig
     [not found]   ` <20171229081849.aCBJgaAiU2y-X7jT7KNBVX6fbV5awn_JKQGvp53QvPM@z>
2017-12-29  8:18     ` [PATCH 45/67] swiotlb: rename swiotlb_free to swiotlb_exit Christoph Hellwig
     [not found]   ` <20171229081850.jrM9Zv5BihMHkh4FVWNiUK8TSDPnXDI0emIYYXI4ycA@z>
2017-12-29  8:18     ` [PATCH 46/67] swiotlb: lift x86 swiotlb_dma_ops to common code Christoph Hellwig
     [not found]   ` <20171229081851.knHgkuw3Y3D_WWlcFVpuadEVVkExNDCWNPamJVjCjn0@z>
2017-12-29  8:18     ` [PATCH 47/67] swiotlb: wire up ->dma_supported in swiotlb_dma_ops Christoph Hellwig
     [not found]   ` <20171229081852.6tsJEpNSTIW7Tna92wXEOlA56Fq4ae6AgV59nutbjzk@z>
2017-12-29  8:18     ` [PATCH 48/67] swiotlb: rely on dev->coherent_dma_mask Christoph Hellwig
2017-12-29  8:18   ` [PATCH 49/67] swiotlb: refactor coherent buffer freeing Christoph Hellwig
2017-12-29  8:18   ` [PATCH 50/67] swiotlb: refactor coherent buffer allocation Christoph Hellwig
     [not found]   ` <20171229081855.w-S_z8gdh-wKciDYguq6wGIRiuMdeyk4w0TJBwn14oc@z>
2017-12-29  8:18     ` [PATCH 51/67] set_memory.h: provide set_memory_{en,de}crypted stubs Christoph Hellwig
     [not found]   ` <20171229081856.UvTef2xEV4aP5qaF5pgr6xTpgxKUMfFuw9qZTV_MN-A@z>
2017-12-29  8:18     ` [PATCH 52/67] dma-direct: handle the memory encryption bit in common code Christoph Hellwig
     [not found]   ` <20171229081857.ee3cUsuwcxWydYyC5NyXjsYuNdCV5Oh1zjAluZiJzVo@z>
2017-12-29  8:18     ` [PATCH 53/67] swiotlb: remove swiotlb_set_mem_attributes Christoph Hellwig
     [not found]   ` <20171229081858.l2GRLY8_AtwGoa0qG48D90kl77Lm0Inl95tn5cgaLRk@z>
2017-12-29  8:18     ` [PATCH 54/67] x86: remove sta2x11_dma_ops Christoph Hellwig
     [not found]   ` <20171229081859._8yUAgh1cdzJosf-8aRBXB6jLuKCaKJ-I1Fz0Hduhhk@z>
2017-12-29  8:18     ` [PATCH 55/67] ia64: replace ZONE_DMA with ZONE_DMA32 Christoph Hellwig
     [not found]   ` <20171229081900.cJU-9iGqagh9sPeeowLR528NVYh7Mq7obq2LYrrvxXQ@z>
2017-12-29  8:19     ` [PATCH 56/67] ia64: use generic swiotlb_ops Christoph Hellwig
     [not found]   ` <20171229081901.p_ki5AzRqIIaKZ9MNJjap97bb-7S0PYh8MxqaMwX4lM@z>
2017-12-29  8:19     ` [PATCH 57/67] ia64: clean up swiotlb support Christoph Hellwig
     [not found]   ` <20171229081902.XtpNk-bsM4TUhDd2Q-lVSpbcbeMrHubvmiDlKXiyV40@z>
2017-12-29  8:19     ` [PATCH 58/67] ia64: remove an ifdef around the content of pci-dma.c Christoph Hellwig
     [not found]   ` <20171229081903.Jv-ebyx8VENAOVJF7qX54zpRHrQ3Zkirwm0l3OLOOMU@z>
2017-12-29  8:19     ` [PATCH 59/67] unicore32: use generic swiotlb_ops Christoph Hellwig
     [not found]   ` <20171229081904.GI6WqOruxADrjcJy_4t0h6kDDeq0JD1WNdoGo5J3Ff8@z>
2017-12-29  8:19     ` [PATCH 60/67] tile: replace ZONE_DMA with ZONE_DMA32 Christoph Hellwig
     [not found]   ` <20171229081905.9_HkescYURE8-5kw3uVrJW3HO6nS82_toBgs38SCOwQ@z>
2017-12-29  8:19     ` [PATCH 61/67] tile: use generic swiotlb_ops Christoph Hellwig
     [not found]   ` <20171229081906.5hphm7vN2hMQHxfk2eM6AFAo6MHY1p-gWMw9duXrKJE@z>
2017-12-29  8:19     ` [PATCH 62/67] mips/netlogic: remove swiotlb support Christoph Hellwig
     [not found]   ` <20171229081907.PJVnZHXk7BoAVjXeaAFfdfQel6You9gDlm-FSpdt6tw@z>
2017-12-29  8:19     ` [PATCH 63/67] mips: use swiotlb_{alloc,free} Christoph Hellwig
     [not found]   ` <20171229081908.qc3Gur9jAvsLlC6il99dizkBgP6u-vnwPUVUAGnKjCs@z>
2017-12-29  8:19     ` [PATCH 64/67] arm64: replace ZONE_DMA with ZONE_DMA32 Christoph Hellwig
     [not found]   ` <20171229081909.pPDckhC-ewO4pN_MH12XdGsxkBYz6EQ4ZGkNTFMwAu4@z>
2017-12-29  8:19     ` [PATCH 65/67] arm64: use swiotlb_alloc and swiotlb_free Christoph Hellwig
     [not found]   ` <20171229081910.UCQcbULA1NBiI7un0MB-CcueQdKYt6S8oRlrIo9iQco@z>
2017-12-29  8:19     ` [PATCH 66/67] swiotlb: remove swiotlb_{alloc,free}_coherent Christoph Hellwig
     [not found]   ` <20171229081911.A8mjiWXaNm0x1NgXg9Z9eY-P0yjhOz-9RIzjrqP7dzU@z>
2017-12-29  8:19     ` [PATCH 67/67] swiotlb: remove various exports Christoph Hellwig
     [not found]   ` <20171229105214.DTUk1qNETnIaBhCnuvxlA71S_0EmjT0t-fpDERNaDO4@z>
2017-12-29 10:52     ` consolidate direct dma mapping and swiotlb support Vladimir Murzin
     [not found]       ` <20171230105635.JXbSGQV9RMkEPwSAU7mFPYUA7f-XBV3R-L3lYxo8XXM@z>
2017-12-30 10:56         ` Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171229081911.2802-1-hch@lst.de \
    --to=hch@lst.de \
    --cc=adi-buildroot-devel@lists.sourceforge.net \
    --cc=gxt@mprc.pku.edu.cn \
    --cc=iommu@lists.linux-foundation.org \
    --cc=linux-alpha@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-c6x-dev@linux-c6x.org \
    --cc=linux-cris-kernel@axis.com \
    --cc=linux-hexagon@vger.kernel.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@lists.linux-m68k.org \
    --cc=linux-metag@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux-snps-arc@lists.infradead.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=monstr@monstr.eu \
    --cc=patches@groups.riscv.org \
    --cc=sparclinux@vger.kernel.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).