linux/arch/m68k/include/asm
David Hildenbrand 8e38607aa4 treewide: provide a generic clear_user_page() variant
Patch series "mm: folio_zero_user: clear page ranges", v11.

This series adds clearing of contiguous page ranges for hugepages.

The series improves on the current discontiguous clearing approach in two
ways:

  - clear pages in a contiguous fashion.
  - use batched clearing via clear_pages() wherever exposed.

The first is useful because it allows us to make much better use of
hardware prefetchers.

The second, enables advertising the real extent to the processor.  Where
specific instructions support it (ex.  string instructions on x86; "mops"
on arm64 etc), a processor can optimize based on this because, instead of
seeing a sequence of 8-byte stores, or a sequence of 4KB pages, it sees a
larger unit being operated on.

For instance, AMD Zen uarchs (for extents larger than LLC-size) switch to
a mode where they start eliding cacheline allocation.  This is helpful not
just because it results in higher bandwidth, but also because now the
cache is not evicting useful cachelines and replacing them with zeroes.

Demand faulting a 64GB region shows performance improvement:

 $ perf bench mem mmap -p $pg-sz -f demand -s 64GB -l 5

                       baseline              +series
                   (GBps +- %stdev)      (GBps +- %stdev)

   pg-sz=2MB       11.76 +- 1.10%        25.34 +- 1.18% [*]   +115.47%  	preempt=*

   pg-sz=1GB       24.85 +- 2.41%        39.22 +- 2.32%       + 57.82%  	preempt=none|voluntary
   pg-sz=1GB         (similar)           52.73 +- 0.20% [#]   +112.19%  	preempt=full|lazy

 [*] This improvement is because switching to sequential clearing
  allows the hardware prefetchers to do a much better job.

 [#] For pg-sz=1GB a large part of the improvement is because of the
  cacheline elision mentioned above. preempt=full|lazy improves upon
  that because, not needing explicit invocations of cond_resched() to
  ensure reasonable preemption latency, it can clear the full extent
  as a single unit. In comparison the maximum extent used for
  preempt=none|voluntary is PROCESS_PAGES_NON_PREEMPT_BATCH (32MB).

  When provided the full extent the processor forgoes allocating
  cachelines on this path almost entirely.

  (The hope is that eventually, in the fullness of time, the lazy
   preemption model will be able to do the same job that none or
   voluntary models are used for, allowing us to do away with
   cond_resched().)

Raghavendra also tested previous version of the series on AMD Genoa and
sees similar improvement [1] with preempt=lazy.

  $ perf bench mem map -p $page-size -f populate -s 64GB -l 10

                    base               patched              change
   pg-sz=2MB       12.731939 GB/sec    26.304263 GB/sec     106.6%
   pg-sz=1GB       26.232423 GB/sec    61.174836 GB/sec     133.2%


This patch (of 8):

Let's drop all variants that effectively map to clear_page() and provide
it in a generic variant instead.

We'll use the macro clear_user_page to indicate whether an architecture
provides it's own variant.

Also, clear_user_page() is only called from the generic variant of
clear_user_highpage(), so define it only if the architecture does not
provide a clear_user_highpage().  And, for simplicity define it in
linux/highmem.h.

Note that for parisc, clear_page() and clear_user_page() map to
clear_page_asm(), so we can just get rid of the custom clear_user_page()
implementation.  There is a clear_user_page_asm() function on parisc, that
seems to be unused.  Not sure what's up with that.

Link: https://lkml.kernel.org/r/20260107072009.1615991-1-ankur.a.arora@oracle.com
Link: https://lkml.kernel.org/r/20260107072009.1615991-2-ankur.a.arora@oracle.com
Signed-off-by: David Hildenbrand <david@redhat.com>
Co-developed-by: Ankur Arora <ankur.a.arora@oracle.com>
Signed-off-by: Ankur Arora <ankur.a.arora@oracle.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Ankur Arora <ankur.a.arora@oracle.com>
Cc: "Borislav Petkov (AMD)" <bp@alien8.de>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: David Hildenbrand <david@kernel.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Konrad Rzessutek Wilk <konrad.wilk@oracle.com>
Cc: Lance Yang <ioworker0@gmail.com>
Cc: "Liam R. Howlett" <Liam.Howlett@oracle.com>
Cc: Li Zhe <lizhe.67@bytedance.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Mateusz Guzik <mjguzik@gmail.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Raghavendra K T <raghavendra.kt@amd.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-20 19:24:39 -08:00
..
Kbuild asm-generic: introduce text-patching.h 2024-11-07 14:25:15 -08:00
MC68EZ328.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
MC68VZ328.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
MC68328.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
adb_iop.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
amigahw.h m68k/UAPI: Move Amiga model/chipset definitions to <asm/bootinfo-amiga.h> 2013-11-26 11:09:17 +01:00
amigaints.h
amigayle.h
amipcmcia.h
apollohw.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
asm-offsets.h
asm-prototypes.h m68k: Restore symbol versions for symbols exported from assembly 2017-08-21 11:52:55 +02:00
atari_joystick.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atari_stdma.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atari_stram.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atarihw.h m68k: atari: Rename shifter to shifter_st to avoid conflict 2019-08-19 13:24:10 +02:00
atariints.h m68k/atari: Remove obsolete IRQ_TYPE_* 2015-01-15 13:44:51 +01:00
atarikb.h input/atari: Use the correct mouse interrupt hook 2011-05-19 18:19:11 +02:00
atomic.h locking/atomic: m68k: add preprocessor symbols 2023-06-05 09:57:16 +02:00
bitops.h m68k updates for v6.18 2025-09-29 19:05:58 -07:00
blinken.h m68k/hp300: Export hp300_ledstate 2011-12-10 19:52:48 +01:00
bootinfo.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
bootstd.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bug.h bug.h: work around GCC PR82365 in BUG() 2018-02-21 15:35:43 -08:00
bvme6000hw.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cache.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cacheflush.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cacheflush_mm.h mm: Introduce flush_cache_vmap_early() 2023-12-14 00:23:17 -08:00
cacheflush_no.h m68knommu: use asm-generic/cacheflush.h 2020-06-08 11:05:57 -07:00
cachetype.h Introduce cpu_dcache_is_aliasing() across all architectures 2024-02-22 15:27:19 -08:00
checksum.h saner calling conventions for csum_and_copy_..._user() 2020-08-20 15:45:15 -04:00
cmpxchg.h m68k: cmpxchg: Use swap() to improve code 2024-08-26 10:24:34 +02:00
coldfire.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
config.h m68k: Introduce a virtual m68k machine 2022-04-11 11:48:01 +02:00
contregs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
current.h m68k: Implement "current_stack_pointer" 2022-02-26 20:32:03 -08:00
delay.h m68k: Implement ndelay() as an inline function to force type checking/casting 2018-05-22 10:31:52 +02:00
div64.h m68k: Define __div64_32() to avoid a warning 2023-08-21 13:27:43 +02:00
dma.h PCI: Move isa_dma_bridge_buggy out of asm/dma.h 2022-07-22 17:24:47 -05:00
dsp56k.h
dvma.h m68k: sun3: Improve Sun3/3x DVMA abstraction in <asm/dvma.h> 2023-10-06 10:03:03 +02:00
elf.h m68knommu: add definitions to support elf_fdpic program loader 2022-05-16 13:18:30 +10:00
entry.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
fbio.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
flat.h binfmt_flat: provide an asm-generic/flat.h 2019-06-24 09:16:47 +10:00
floppy.h floppy: Remove unused CROSS_64KB() macro from arch/ code 2025-08-25 14:46:42 -06:00
fpu.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ftrace.h
hash.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hp300hw.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hwtest.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
idprom.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
intersil.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
io.h m68k: Introduce a virtual m68k machine 2022-04-11 11:48:01 +02:00
io_mm.h asm/io: remove unnecessary xlate_dev_mem_ptr() and unxlate_dev_mem_ptr() 2023-11-23 10:37:40 +01:00
io_no.h m68k/nommu: stop using GENERIC_IOMAP 2025-03-15 11:07:07 +01:00
irq.h m68k: Make sure NR_IRQS is never zero 2024-11-06 15:10:14 +01:00
irqflags.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
kexec.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
kmap.h arch/*/io.h: remove ioremap_uc in some architectures 2023-11-23 10:32:52 +01:00
libgcc.h m68k: libgcc: Fix lvalue abuse in umul_ppmm() 2025-01-10 10:26:52 +01:00
linkage.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m52xxacr.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m53xxacr.h m68knommu: fix overwriting of bits in ColdFire V3 cache control 2020-07-27 12:32:00 +10:00
m53xxsim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m54xxacr.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m54xxgpt.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m54xxpci.h m68k: Fix typo 'COFNIG_MBAR' 2014-09-29 09:56:19 +10:00
m54xxsim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m520xsim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m523xsim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m525xsim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m527xsim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m528xsim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m5206sim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m5272sim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m5307sim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m5407sim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
m5441xsim.h m68k: m5441x: add flexcan support 2021-08-23 08:40:04 +10:00
mac_asc.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mac_baboon.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
mac_iop.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
mac_oss.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
mac_psc.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
mac_via.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
machdep.h More power management updates for 5.19-rc1 2022-05-30 11:37:26 -07:00
machines.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
machw.h
macintosh.h m68k: Prevent some compiler warnings in Coldfire builds 2019-08-19 13:24:10 +02:00
macints.h m68k/mac: Clean up unused timer definitions 2019-01-21 10:36:53 +01:00
math-emu.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
mc146818rtc.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mcf8390.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mcf_pgalloc.h m68k: mm: call ctor/dtor for kernel PTEs 2025-05-11 17:48:21 -07:00
mcf_pgtable.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
mcfclk.h m68k: coldfire: remove private clk_get/clk_put 2021-06-08 17:00:09 +02:00
mcfdma.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mcfgpio.h m68k: mcfgpio: Fix incorrect register offset for CONFIG_M5441x 2024-11-11 08:57:01 +10:00
mcfintc.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mcfmmu.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
mcfpit.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mcfqspi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
mcfsim.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mcfslt.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mcftimer.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mcfuart.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mcfwdebug.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mmu.h m68knommu: use asm-generic/mmu.h for nommu setups 2022-05-16 13:18:30 +10:00
mmu_context.h m68k: allow pte_offset_map[_lock]() to fail 2023-06-19 16:19:06 -07:00
module.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
module.lds.h kbuild: preprocess module linker script 2020-09-25 00:36:41 +09:00
motorola_pgalloc.h mm: pass mm down to pagetable_{pte,pmd}_ctor 2025-05-11 17:48:21 -07:00
motorola_pgtable.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
movs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mvme16xhw.h m68k: mvme147, mvme16x: Adopt rtc-m48t59 platform driver 2024-11-22 20:59:40 +01:00
mvme147hw.h RTC for 6.13 2024-11-30 11:18:16 -08:00
natfeat.h m68k: replace gcc specific macros with ones from compiler.h 2017-02-24 17:46:56 -08:00
nettel.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
nubus.h m68k: group io mapping definitions and functions 2018-05-28 09:45:26 +10:00
openprom.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
oplib.h m68k: sun3: Annotate prom_printf() with __printf() 2023-10-06 10:03:04 +02:00
page.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
page_mm.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
page_no.h treewide: provide a generic clear_user_page() variant 2026-01-20 19:24:39 -08:00
page_offset.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
parport.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pci.h PCI: Remove pci_get_legacy_ide_irq() and asm-generic/pci.h 2022-07-22 17:23:45 -05:00
pgalloc.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pgtable.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
pgtable_mm.h PAGE_PTR() had been last used outside of arch/* in 1.1.94 2025-09-13 15:15:07 -04:00
pgtable_no.h m68k: mm: Move paging_init() to common <asm/pgtable.h> 2023-10-06 10:03:02 +02:00
processor.h m68k: sun3: Fix DEBUG_MMU_EMU build 2025-02-03 14:32:51 +01:00
ptrace.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
q40_master.h m68k: group io mapping definitions and functions 2018-05-28 09:45:26 +10:00
q40ints.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
quicc_simple.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
raw_io.h m68k: io: Mark mmio read addresses as const 2023-10-06 10:03:04 +02:00
seccomp.h m68k: Add kernel seccomp support 2023-01-30 16:40:15 +01:00
serial.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
setup.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
signal.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
smp.h
string.h m68k: Add memcmp() declaration 2023-08-21 13:27:44 +02:00
sun3-head.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sun3_pgalloc.h mm: pgtable: convert some architectures to use tlb_remove_ptdesc() 2025-04-01 15:17:13 -07:00
sun3_pgtable.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
sun3ints.h
sun3mmu.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
sun3x.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sun3xflop.h m68k: sun3x: Remove unneeded semicolon 2021-04-19 12:11:55 +02:00
sun3xprom.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
switch_to.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
syscall.h syscall.h: introduce syscall_set_nr() 2025-05-11 17:48:15 -07:00
syscalls.h m68k: kernel: Add and use <asm/syscalls.h> 2023-10-06 10:03:01 +02:00
thread_info.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
timex.h m68k: use fallback for random_get_entropy() instead of zero 2022-05-13 23:59:23 +02:00
tlb.h arch/tlb: Clean up simple architectures 2019-04-03 10:32:54 +02:00
tlbflush.h m68k: sun3: Fix indentation by 5 or 7 spaces 2023-10-16 14:30:39 +02:00
traps.h m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
uaccess.h uaccess: generalize access_ok() 2022-02-25 09:36:05 +01:00
ucontext.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
unistd.h clone3: drop __ARCH_WANT_SYS_CLONE3 macro 2024-07-10 14:23:38 +02:00
user.h asm/user.h: killed unused macros 2022-01-30 21:17:00 -05:00
vga.h m68k: vga: Fix I/O defines 2025-01-08 18:04:36 +01:00
video.h arch: Rename fbdev header and source files 2024-05-03 17:07:50 +02:00
virt.h m68k: Introduce a virtual m68k machine 2022-04-11 11:48:01 +02:00
virtconvert.h asm-generic: provide generic page_to_phys and phys_to_page implementations 2024-10-28 21:44:28 +00:00
vmalloc.h mm/vmalloc: Add empty <asm/vmalloc.h> headers and use them from <linux/vmalloc.h> 2019-12-10 10:12:55 +01:00
zorro.h m68k: group io mapping definitions and functions 2018-05-28 09:45:26 +10:00