Lines Matching +full:long +full:- +full:ram +full:- +full:code
1 /* SPDX-License-Identifier: GPL-2.0 */
12 #define ELFCORE_ADDR_MAX (-1ULL)
13 #define ELFCORE_ADDR_ERR (-2ULL)
15 extern unsigned long long elfcorehdr_addr;
16 extern unsigned long long elfcorehdr_size;
19 extern int elfcorehdr_alloc(unsigned long long *addr, unsigned long long *size);
20 extern void elfcorehdr_free(unsigned long long addr);
24 unsigned long long paddr, unsigned long long size);
26 unsigned long from, unsigned long pfn,
27 unsigned long size, pgprot_t prot);
29 ssize_t copy_oldmem_page(struct iov_iter *i, unsigned long pfn, size_t csize,
30 unsigned long offset);
31 ssize_t copy_oldmem_page_encrypted(struct iov_iter *iter, unsigned long pfn,
32 size_t csize, unsigned long offset);
36 /* Architecture code defines this if there are other possible ELF
37 * machine types, e.g. on bi-arch capable hardware. */
43 * Architecture code can redefine this if there are any special checks
44 * needed for 32-bit ELF or 64-bit ELF vmcores. In case of 32-bit
75 * This makes use of the fact that due to alignment -2ULL is not
77 * dealing directly with an unsigned long long rather than a pointer.
96 * struct vmcore_cb - driver callbacks for /proc/vmcore handling
97 * @pfn_is_ram: check whether a PFN really is RAM and should be accessed when
98 * reading the vmcore. Will return "true" if it is RAM or if the
100 * RAM and the page must not be accessed; zeroes should be
104 * @get_device_ram: query RAM ranges that can only be detected by device
105 * drivers, such as the virtio-mem driver, so they can be included in
107 * ("2nd") kernel. Indicated RAM ranges may contain holes to reduce the
109 * callback just like for other RAM.
114 * coordinate with vmcore handling code, for example, to prevent accessing
119 bool (*pfn_is_ram)(struct vmcore_cb *cb, unsigned long pfn);
128 unsigned long long paddr;
129 unsigned long long size;
135 unsigned long long paddr, unsigned long long size) in vmcore_alloc_add_range()
140 return -ENOMEM; in vmcore_alloc_add_range()
141 m->paddr = paddr; in vmcore_alloc_add_range()
142 m->size = size; in vmcore_alloc_add_range()
143 list_add_tail(&m->list, list); in vmcore_alloc_add_range()
153 list_del(&m->list); in vmcore_free_ranges()
175 return -EOPNOTSUPP; in vmcore_add_device_dump()
186 return -EOPNOTSUPP; in read_from_oldmem()