From: Christoph Hellwig <hch@lst.de>
To: openrisc@lists.librecores.org
Subject: [OpenRISC] sort out the flush_icache_range mess
Date: Sun, 10 May 2020 09:54:39 +0200 [thread overview]
Message-ID: <20200510075510.987823-1-hch@lst.de> (raw)
Hi all,
flush_icache_range is mostly used for kernel address, except for the following
cases:
- the nommu brk and mmap implementations,
- the read_code helper that is only used for binfmt_flat, binfmt_elf_fdpic,
and binfmt_aout including the broken ia32 compat version
- binfmt_flat itself,
none of which really are used by a typical MMU enabled kernel, as a.out can
only be build for alpha and m68k to start with.
But strangely enough commit ae92ef8a4424 ("PATCH] flush icache in correct
context") added a "set_fs(KERNEL_DS)" around the flush_icache_range call
in the module loader, because apparently m68k assumed user pointers.
This series first cleans up the cacheflush implementations, largely by
switching as much as possible to the asm-generic version after a few
preparations, then moves the misnamed current flush_icache_user_range to
a new name, to finally introduce a real flush_icache_user_range to be used
for the above use cases to flush the instruction cache for a userspace
address range. The last patch then drops the set_fs in the module code
and moves it into the m68k implementation.
A git tree is available here:
git://git.infradead.org/users/hch/misc.git flush_icache_range
Gitweb:
http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/flush_icache_range
next reply other threads:[~2020-05-10 7:54 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-10 7:54 Christoph Hellwig [this message]
2020-05-10 7:54 ` [OpenRISC] [PATCH 01/31] arm: fix the flush_icache_range arguments in set_fiq_handler Christoph Hellwig
2020-05-10 7:54 ` [OpenRISC] [PATCH 02/31] arm64: fix the flush_icache_range arguments in machine_kexec Christoph Hellwig
2020-05-11 7:51 ` Will Deacon
2020-05-11 11:00 ` Catalin Marinas
2020-05-11 15:15 ` Christoph Hellwig
2020-05-10 7:54 ` [OpenRISC] [PATCH 03/31] MIPS: unexport __flush_icache_user_range Christoph Hellwig
2020-05-11 16:01 ` Thomas Bogendoerfer
2020-05-10 7:54 ` [OpenRISC] [PATCH 04/31] nds32: unexport flush_icache_page Christoph Hellwig
2020-05-10 7:54 ` [OpenRISC] [PATCH 05/31] powerpc: unexport flush_icache_user_range Christoph Hellwig
2020-05-10 7:54 ` [OpenRISC] [PATCH 06/31] unicore32: remove flush_cache_user_range Christoph Hellwig
2020-05-10 7:54 ` [OpenRISC] [PATCH 07/31] asm-generic: fix the inclusion guards for cacheflush.h Christoph Hellwig
2020-05-10 7:54 ` [OpenRISC] [PATCH 08/31] asm-generic: don't include <linux/mm.h> in cacheflush.h Christoph Hellwig
2020-05-10 7:54 ` [OpenRISC] [PATCH 09/31] asm-generic: improve the flush_dcache_page stub Christoph Hellwig
2020-05-10 7:54 ` [OpenRISC] [PATCH 10/31] alpha: use asm-generic/cacheflush.h Christoph Hellwig
2020-05-10 7:54 ` [OpenRISC] [PATCH 11/31] arm64: " Christoph Hellwig
2020-05-10 7:54 ` [OpenRISC] [PATCH 12/31] c6x: " Christoph Hellwig
2020-05-10 7:54 ` [OpenRISC] [PATCH 13/31] hexagon: " Christoph Hellwig
2020-05-10 7:54 ` [OpenRISC] [PATCH 14/31] ia64: " Christoph Hellwig
2020-05-10 7:54 ` [OpenRISC] [PATCH 15/31] microblaze: " Christoph Hellwig
2020-05-10 7:54 ` [OpenRISC] [PATCH 16/31] m68knommu: " Christoph Hellwig
2020-05-12 14:44 ` Greg Ungerer
2020-05-10 7:54 ` [OpenRISC] [PATCH 17/31] openrisc: " Christoph Hellwig
2020-05-10 7:54 ` [OpenRISC] [PATCH 18/31] powerpc: " Christoph Hellwig
2020-05-10 7:54 ` [OpenRISC] [PATCH 19/31] riscv: " Christoph Hellwig
2020-05-12 23:00 ` Palmer Dabbelt
2020-05-13 6:23 ` Christoph Hellwig
2020-05-10 7:54 ` [OpenRISC] [PATCH 20/31] arm, sparc, unicore32: remove flush_icache_user_range Christoph Hellwig
2020-05-10 7:55 ` [OpenRISC] [PATCH 21/31] mm: rename flush_icache_user_range to flush_icache_user_page Christoph Hellwig
2020-05-11 7:36 ` Geert Uytterhoeven
2020-05-10 7:55 ` [OpenRISC] [PATCH 22/31] asm-generic: add a flush_icache_user_range stub Christoph Hellwig
2020-05-10 7:55 ` [OpenRISC] [PATCH 23/31] sh: implement flush_icache_user_range Christoph Hellwig
2020-05-10 7:55 ` [OpenRISC] [PATCH 24/31] xtensa: " Christoph Hellwig
2020-05-10 7:55 ` [OpenRISC] [PATCH 25/31] arm: rename flush_cache_user_range to flush_icache_user_range Christoph Hellwig
2020-05-10 7:55 ` [OpenRISC] [PATCH 26/31] m68k: implement flush_icache_user_range Christoph Hellwig
2020-05-11 7:38 ` Geert Uytterhoeven
2020-05-10 7:55 ` [OpenRISC] [PATCH 27/31] exec: only build read_code when needed Christoph Hellwig
2020-05-10 7:55 ` [OpenRISC] [PATCH 28/31] exec: use flush_icache_user_range in read_code Christoph Hellwig
2020-05-10 7:55 ` [OpenRISC] [PATCH 29/31] binfmt_flat: use flush_icache_user_range Christoph Hellwig
2020-05-12 14:46 ` Greg Ungerer
2020-05-10 7:55 ` [OpenRISC] [PATCH 30/31] nommu: use flush_icache_user_range in brk and mmap Christoph Hellwig
2020-05-10 7:55 ` [OpenRISC] [PATCH 31/31] module: move the set_fs hack for flush_icache_range to m68k Christoph Hellwig
2020-05-11 7:40 ` Geert Uytterhoeven
2020-05-11 15:11 ` Christoph Hellwig
2020-05-11 15:24 ` Geert Uytterhoeven
2020-05-11 16:37 ` Christoph Hellwig
2020-05-11 7:46 ` [OpenRISC] sort out the flush_icache_range mess Geert Uytterhoeven
2020-05-11 15:13 ` Christoph Hellwig
2020-05-11 15:25 ` Geert Uytterhoeven
2020-05-11 16:35 ` 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=20200510075510.987823-1-hch@lst.de \
--to=hch@lst.de \
--cc=openrisc@lists.librecores.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