| /linux/arch/arm64/kernel/ |
| H A D | mte.c | 1 // SPDX-License-Identifier: GPL-2.0-only 40 struct page *page = pte_page(pte); in mte_sync_tags() local 41 struct folio *folio = page_folio(page); in mte_sync_tags() 47 /* Hugetlb MTE flags are set for head page only */ in mte_sync_tags() 49 for (i = 0; i < nr; i++, page++) in mte_sync_tags() 50 mte_clear_page_tags(page_address(page)); in mte_sync_tags() 61 for (i = 0; i < nr_pages; i++, page++) { in mte_sync_tags() 62 if (try_page_mte_tagging(page)) { in mte_sync_tags() 63 mte_clear_page_tags(page_address(page)); in mte_sync_tags() 64 set_page_mte_tagged(page); in mte_sync_tags() [all …]
|
| /linux/Documentation/admin-guide/mm/ |
| H A D | userfaultfd.rst | 8 Userfaults allow the implementation of on-demand paging from userland 10 memory page faults, something otherwise only the kernel code could do. 19 regions of virtual memory with it. Then, any page faults which occur within the 38 Vmas are not suitable for page- (or hugepage) granular fault tracking 48 is a corner case that would currently return ``-EBUSY``). 54 ---------------------- 58 handle kernel page faults have been a useful tool for exploiting the kernel). 63 - Any user can always create a userfaultfd which traps userspace page faults 67 - In order to also trap kernel page faults for the address space, either the 77 filesystem permissions (user/group/mode), which gives fine grained access to [all …]
|
| H A D | pagemap.rst | 2 Examining Process Page Tables 6 userspace programs to examine the page tables and related information by 12 physical frame each virtual page is mapped to. It contains one 64-bit 13 value for each virtual page, containing the following data (from 16 * Bits 0-54 page frame number (PFN) if present 17 * Bits 0-4 swap type if swapped 18 * Bits 5-54 swap offset if swapped 19 * Bit 55 pte is soft-dirty (see 20 Documentation/admin-guide/mm/soft-dirty.rst) 21 * Bit 56 page exclusively mapped (since 4.2) [all …]
|
| /linux/Documentation/virt/kvm/devices/ |
| H A D | s390_flic.rst | 1 .. SPDX-License-Identifier: GPL-2.0 7 FLIC handles floating (non per-cpu) interrupts, i.e. I/O, service and some 8 machine check interruptions. All interrupts are stored in a per-vm list of 14 - add interrupts (KVM_DEV_FLIC_ENQUEUE) 15 - inspect currently pending interrupts (KVM_FLIC_GET_ALL_IRQS) 16 - purge all pending floating interrupts (KVM_DEV_FLIC_CLEAR_IRQS) 17 - purge one pending floating I/O interrupt (KVM_DEV_FLIC_CLEAR_IO_IRQ) 18 - enable/disable for the guest transparent async page faults 19 - register and modify adapter interrupt sources (KVM_DEV_FLIC_ADAPTER_*) 20 - modify AIS (adapter-interruption-suppression) mode state (KVM_DEV_FLIC_AISM) [all …]
|
| /linux/mm/kasan/ |
| H A D | hw_tags.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * This file contains core hardware tag-based KASAN code. 49 * Whether the selected mode is synchronous, asynchronous, or asymmetric. 88 return -EINVAL; in early_kasan_flag() 95 return -EINVAL; in early_kasan_flag() 101 /* kasan.mode=sync/async/asymm */ 105 return -EINVAL; in early_kasan_mode() 109 else if (!strcmp(arg, "async")) in early_kasan_mode() 114 return -EINVAL; in early_kasan_mode() 118 early_param("kasan.mode", early_kasan_mode); [all …]
|
| /linux/tools/testing/selftests/arm64/mte/ |
| H A D | check_ksm_options.c | 1 // SPDX-License-Identifier: GPL-2.0 89 max_loop_count--; in mte_ksm_scan() 98 static int check_madvise_options(int mem_type, int mode, int mapping) in check_madvise_options() argument 104 if (access(PATH_KSM, F_OK) == -1) { in check_madvise_options() 109 mte_switch_mode(mode, MTE_ALLOW_NON_ZERO_TAG, false); in check_madvise_options() 124 (read_sysfs(PATH_KSM "pages_sharing") < (TEST_UNIT - 1))) in check_madvise_options() 140 ksft_print_msg("ERR: Unable to get page size\n"); in main() 154 "Check KSM mte page merge for private mapping, sync mode and mmap memory\n"); in main() 156 "Check KSM mte page merge for private mapping, async mode and mmap memory\n"); in main() 158 "Check KSM mte page merge for shared mapping, sync mode and mmap memory\n"); in main() [all …]
|
| H A D | check_buffer_fill.c | 1 // SPDX-License-Identifier: GPL-2.0 17 1, 555, 1033, MT_GRANULE_SIZE - 1, MT_GRANULE_SIZE, 18 /* page size - 1*/ 0, /* page_size */ 0, /* page size + 1 */ 0 28 static int check_buffer_by_byte(int mem_type, int mode) in check_buffer_by_byte() argument 34 mte_switch_mode(mode, MTE_ALLOW_NON_ZERO_TAG, false); in check_buffer_by_byte() 41 mte_initialize_current_context(mode, (uintptr_t)ptr, sizes[i]); in check_buffer_by_byte() 63 static int check_buffer_underflow_by_byte(int mem_type, int mode, in check_buffer_underflow_by_byte() argument 71 mte_switch_mode(mode, MTE_ALLOW_NON_ZERO_TAG, false); in check_buffer_underflow_by_byte() 80 mte_initialize_current_context(mode, (uintptr_t)ptr, -underflow_range); in check_buffer_underflow_by_byte() 83 for (j = sizes[i] - 1; (j >= -underflow_range) && in check_buffer_underflow_by_byte() [all …]
|
| /linux/mm/ |
| H A D | compaction.c | 1 // SPDX-License-Identifier: GPL-2.0 6 * this heavily depends upon page migration to do all the real heavy 9 * Copyright IBM Corp. 2007-2010 Mel Gorman <mel@csn.ul.ie> 17 #include <linux/backing-dev.h> 20 #include <linux/page-isolation.h> 46 * order == -1 is expected when compacting proactively via 53 return order == -1; in is_via_compact_memory() 71 * Page order with-respect-to which proactive compaction 80 #define COMPACTION_HPAGE_ORDER (PMD_SHIFT - PAGE_SHIFT) 83 static struct page *mark_allocated_noprof(struct page *page, unsigned int order, gfp_t gfp_flags) in mark_allocated_noprof() argument [all …]
|
| /linux/arch/sparc/include/asm/ |
| H A D | iommu_32.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 9 #include <asm/page.h> 23 /* First page */ 25 volatile unsigned long base; /* Physical base of iopte page table */ 30 /* Second page */ 31 volatile unsigned long afsr; /* Async-fault status register */ 32 volatile unsigned long afar; /* Async-fault physical address */ 34 volatile unsigned long sbuscfg0; /* SBUS configuration registers, per-slot */ 38 volatile unsigned long mfsr; /* Memory-fault status register */ 39 volatile unsigned long mfar; /* Memory-fault physical address */ [all …]
|
| /linux/Documentation/gpu/rfc/ |
| H A D | i915_vm_bind.rst | 12 mappings during each submission (as required by older execbuf mode). 18 User has to opt-in for VM_BIND mode of binding for an address space (VM) 34 ------------------------ 41 Execbuf ioctl in VM_BIND mode 42 ------------------------------- 43 A VM in VM_BIND mode will not support older execbuf mode of binding. 44 The execbuf ioctl handling in VM_BIND mode differs significantly from the 46 Hence, a new execbuf3 ioctl has been added to support VM_BIND mode. (See 52 "dma-buf: Add an API for exporting sync files" 55 The new execbuf3 ioctl only works in VM_BIND mode and the VM_BIND mode only [all …]
|
| /linux/io_uring/ |
| H A D | rw.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <linux/blk-mq.h> 41 if (req->flags & REQ_F_SUPPORT_NOWAIT) in io_file_supports_nowait() 47 return vfs_poll(req->file, &pt) & mask; in io_file_supports_nowait() 55 struct compat_iovec __user *uiov = u64_to_user_ptr(rw->addr); in io_iov_compat_buffer_select_prep() 59 return -EFAULT; in io_iov_compat_buffer_select_prep() 60 rw->len = iov.iov_len; in io_iov_compat_buffer_select_prep() 70 if (rw->le in io_iov_buffer_select_prep() 491 umode_t mode = file_inode(req->file)->i_mode; io_rw_should_reissue() local 758 io_async_buf_func(struct wait_queue_entry * wait,unsigned mode,int sync,void * arg) io_async_buf_func() argument 843 io_rw_init_file(struct io_kiocb * req,fmode_t mode,int rw_type) io_rw_init_file() argument 1268 enum hrtimer_mode mode; io_hybrid_iopoll_delay() local [all...] |
| /linux/drivers/comedi/drivers/ |
| H A D | pcmuio.c | 1 // SPDX-License-Identifier: GPL-2.0+ 4 * Comedi driver for Winsystems PC-104 based 48/96-channel DIO boards. 6 * COMEDI - Linux Control and Measurement Device Interface 12 * Description: Winsystems PC-104 based 48/96-channel DIO boards. 13 * Devices: [Winsystems] PCM-UIO48A (pcmuio48), PCM-UIO96A (pcmuio96) 15 * Updated: Fri, 13 Jan 2006 12:01:01 -0500 18 * A driver for the relatively straightforward-to-program PCM-UIO48A and 19 * PCM-UIO96A boards from Winsystems. These boards use either one or two 20 * (in the 96-DIO version) WS16C48 ASIC HighDensity I/O Chips (HDIO). This 22 * for INPUT or OUTPUT (thus comedi_dio_config can be done on a per-channel [all …]
|
| H A D | pcmmio.c | 1 // SPDX-License-Identifier: GPL-2.0+ 4 * Driver for Winsystems PC-104 based multifunction IO board. 6 * COMEDI - Linux Control and Measurement Device Interface 12 * Description: A driver for the PCM-MIO multifunction board 13 * Devices: [Winsystems] PCM-MIO (pcmmio) 15 * Updated: Wed, May 16 2007 16:21:10 -0500 18 * A driver for the PCM-MIO multifunction board from Winsystems. This 19 * is a PC-104 based I/O board. It contains four subdevices: 21 * subdevice 0 - 16 channels of 16-bit AI 22 * subdevice 1 - 8 channels of 16-bit AO [all …]
|
| H A D | quatech_daqp_cs.c | 1 // SPDX-License-Identifier: GPL-2.0 8 * COMEDI - Linux Control and Measurement Device Interface 13 * ftp://ftp.quatech.com/Manuals/daqp-208.pdf 15 * This manual is for both the DAQP-208 and the DAQP-308. 18 * - A/D conversion 19 * - 8 channels 20 * - 4 gain ranges 21 * - ground ref or differential 22 * - single-shot and timed both supported 23 * - D/A conversion, single-shot [all …]
|
| H A D | ni_pcidio.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Comedi driver for National Instruments PCI-DIO-32HS 5 * COMEDI - Linux Control and Measurement Device Interface 11 * Description: National Instruments PCI-DIO32HS, PCI-6533 14 * Devices: [National Instruments] PCI-DIO-32HS (ni_pcidio) 15 * [National Instruments] PXI-6533, PCI-6533 (pxi-6533) 16 * [National Instruments] PCI-6534 (pci-6534) 24 * DMA mostly works for the PCI-DIO32HS, but only in timed input mode. 26 * The PCI-DIO-32HS/PCI-6533 has a configurable external trigger. Setting 31 * This driver could be easily modified to support AT-MIO32HS and AT-MIO96. [all …]
|
| /linux/Documentation/driver-api/memory-devices/ |
| H A D | ti-gpmc.rst | 1 .. SPDX-License-Identifier: GPL-2.0 12 * Asynchronous, synchronous, and page mode burst NOR flash devices 14 * Pseudo-SRAM devices 74 3. read async muxed 85 4. read async non-muxed 107 6. read sync non-muxed 118 7. write async muxed 131 8. write async non-muxed 157 10. write sync non-muxed
|
| /linux/drivers/net/ethernet/sfc/siena/ |
| H A D | mcdi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Copyright 2008-2013 Solarflare Communications Inc. 18 * Management-Controller-to-Driver Interface 59 "Enable MCDI logging on newly-probed functions"); 66 int rc = -ENOMEM; in efx_siena_mcdi_init() 68 efx->mcdi = kzalloc(sizeof(*efx->mcdi), GFP_KERNEL); in efx_siena_mcdi_init() 69 if (!efx->mcdi) in efx_siena_mcdi_init() 73 mcdi->efx = efx; in efx_siena_mcdi_init() 75 /* consuming code assumes buffer is page-sized */ in efx_siena_mcdi_init() 76 mcdi->logging_buffer = (char *)__get_free_page(GFP_KERNEL); in efx_siena_mcdi_init() [all …]
|
| /linux/drivers/net/ethernet/sfc/ |
| H A D | mcdi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Copyright 2008-2013 Solarflare Communications Inc. 17 * Management-Controller-to-Driver Interface 57 "Enable MCDI logging on newly-probed functions"); 64 int rc = -ENOMEM; in efx_mcdi_init() 66 efx->mcdi = kzalloc(sizeof(*efx->mcdi), GFP_KERNEL); in efx_mcdi_init() 67 if (!efx->mcdi) in efx_mcdi_init() 71 mcdi->efx = efx; in efx_mcdi_init() 73 /* consuming code assumes buffer is page-sized */ in efx_mcdi_init() 74 mcdi->logging_buffer = (char *)__get_free_page(GFP_KERNEL); in efx_mcdi_init() [all …]
|
| /linux/Documentation/driver-api/crypto/iaa/ |
| H A D | iaa-crypto.rst | 1 .. SPDX-License-Identifier: GPL-2.0 18 higher-level compression devices such as zswap. 24 For example, a zswap device can select the IAA 'fixed' mode 25 represented by selecting the 'deflate-iaa' crypto compression 28 # echo deflate-iaa > /sys/module/zswap/parameters/compressor 30 This will tell zswap to use the IAA 'fixed' compression mode for all 34 mode. 36 The 'fixed' compression mode implements the compression scheme 38 'deflate-iaa'. (Because the IAA hardware has a 4k history-window 42 the IAA fixed mode deflate algorithm is given its own algorithm name [all …]
|
| /linux/Documentation/devicetree/bindings/memory-controllers/ |
| H A D | arm,pl172.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/memory-controllers/arm,pl172.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Frank Li <Frank.Li@nxp.com> 18 - arm,pl172 19 - arm,pl175 20 - arm,pl176 22 - compatible 27 - enum: [all …]
|
| /linux/drivers/infiniband/hw/vmw_pvrdma/ |
| H A D | pvrdma_dev_api.h | 2 * Copyright (c) 2012-2016 VMware, Inc. All rights reserved. 7 * 2-Clause License. This program is distributed in the hope that it 11 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html. 17 * The BSD 2-Clause License 23 * - Redistributions of source code must retain the above 27 * - Redistributions in binary form must reproduce the above 68 * Masks and accessors for page directory, which is a two-level lookup: 69 * page directory -> page table -> page. Only one directory for now, but we 83 * Max MSI-X vectors. 101 #define PVRDMA_CQ_FLAG_ARMED_SOL BIT(0) /* Armed for solicited-only. */ [all …]
|
| /linux/include/linux/platform_data/ |
| H A D | gpmc-omap.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 * Copyright (C) 2014 Texas Instruments, Inc. - https://www.ti.com 31 /* Minimum clock period for synchronous mode (in picoseconds) */ 34 /* Chip-select signal timings corresponding to GPMC_CS_CONFIG2 */ 59 u32 access; /* Start-cycle to first data valid delay */ 85 * sync & other async 134 #define GPMC_DEVWIDTH_8BIT 1 /* 8-bit device width */ 135 #define GPMC_DEVWIDTH_16BIT 2 /* 16-bit device width */ 136 #define GPMC_MUX_AAD 1 /* Addr-Addr-Data multiplex */ 137 #define GPMC_MUX_AD 2 /* Addr-Data multiplex */ [all …]
|
| /linux/drivers/gpu/drm/omapdrm/ |
| H A D | omap_dmm_tiler.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2011 Texas Instruments Incorporated - https://www.ti.com/ 12 #include <linux/dma-mapping.h> 50 .slot_w = 1 << (SLOT_WIDTH_BITS - (xshift)), \ 51 .slot_h = 1 << (SLOT_HEIGHT_BITS - (yshift)), \ 55 u32 x_shft; /* unused X-bits (as part of bpp) */ 56 u32 y_shft; /* unused Y-bits (as part of bpp) */ 68 /* lookup table for registers w/ per-engine instances */ 82 tx = dmaengine_prep_dma_memcpy(dmm->wa_dma_chan, dst, src, 4, 0); in dmm_dma_copy() 84 dev_err(dmm->dev, "Failed to prepare DMA memcpy\n"); in dmm_dma_copy() [all …]
|
| /linux/arch/x86/mm/ |
| H A D | fault.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2008-2009, Red Hat Inc., Ingo Molnar 51 return -1; in kmmio_fault() 58 * 32-bit mode: 63 * 64-bit mode: 82 * In X86_64 long mode, the CPU will signal invalid in check_prefetch_opcode() 90 * In 64-bit mode 0x40..0x4F are valid REX prefixes in check_prefetch_opcode() 118 c->x86_vendor == X86_VENDOR_AMD && in is_amd_k8_pre_npt() 119 c->x86 == 0xf && c->x86_model < 0x40); in is_amd_k8_pre_npt() 129 /* Erratum #91 affects AMD K8, pre-NPT CPUs */ in is_prefetch() [all …]
|
| /linux/include/linux/ |
| H A D | writeback.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 12 #include <linux/backing-dev-defs.h> 31 * fs/fs-writeback.c 46 this for each page written */ 50 * For a_ops->writepages(): if start or end are non-zero then this is 61 unsigned tagged_writepages:1; /* tag-and-write to avoid livelock */ 67 * When writeback IOs are bounced through async layers, only the 74 /* internal fields used by the ->writepages implementation: */ 97 if (wbc->sync_mode == WB_SYNC_ALL) in wbc_to_write_flags() 99 else if (wbc->for_kupdate || wbc->for_background) in wbc_to_write_flags() [all …]
|