.. | .. |
---|
17 | 17 | #include <linux/seq_file.h> |
---|
18 | 18 | #include <linux/kthread.h> |
---|
19 | 19 | #include <linux/initrd.h> |
---|
| 20 | +#include <linux/pgtable.h> |
---|
| 21 | +#include <linux/swap.h> |
---|
| 22 | +#include <linux/swapops.h> |
---|
20 | 23 | |
---|
21 | 24 | #include <asm/pdc.h> |
---|
22 | 25 | #include <asm/pdcpat.h> |
---|
23 | 26 | #include <asm/sections.h> |
---|
24 | | -#include <asm/pgtable.h> |
---|
25 | 27 | |
---|
26 | 28 | enum pdt_access_type { |
---|
27 | 29 | PDT_NONE, |
---|
.. | .. |
---|
230 | 232 | |
---|
231 | 233 | /* mark memory page bad */ |
---|
232 | 234 | memblock_reserve(pdt_entry[i] & PAGE_MASK, PAGE_SIZE); |
---|
| 235 | + num_poisoned_pages_inc(); |
---|
233 | 236 | } |
---|
234 | 237 | } |
---|
235 | 238 | |
---|
.. | .. |
---|
327 | 330 | ((pde & PDT_ADDR_SINGLE_ERR) == 0)) |
---|
328 | 331 | memory_failure(pde >> PAGE_SHIFT, 0); |
---|
329 | 332 | else |
---|
330 | | - soft_offline_page( |
---|
331 | | - pfn_to_page(pde >> PAGE_SHIFT), 0); |
---|
| 333 | + soft_offline_page(pde >> PAGE_SHIFT, 0); |
---|
332 | 334 | #else |
---|
333 | 335 | pr_crit("PDT: memory error at 0x%lx ignored.\n" |
---|
334 | 336 | "Rebuild kernel with CONFIG_MEMORY_FAILURE=y " |
---|