Merge tag 'v3.10.56' into update
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / kernel / power / tuxonice_pagedir.h
1 /*
2 * kernel/power/tuxonice_pagedir.h
3 *
4 * Copyright (C) 2006-2010 Nigel Cunningham (nigel at tuxonice net)
5 *
6 * This file is released under the GPLv2.
7 *
8 * Declarations for routines for handling pagesets.
9 */
10
11 #ifndef KERNEL_POWER_PAGEDIR_H
12 #define KERNEL_POWER_PAGEDIR_H
13
14 /* Pagedir
15 *
16 * Contains the metadata for a set of pages saved in the image.
17 */
18
19 struct pagedir {
20 int id;
21 unsigned long size;
22 #ifdef CONFIG_HIGHMEM
23 unsigned long size_high;
24 #endif
25 };
26
27 #ifdef CONFIG_HIGHMEM
28 #define get_highmem_size(pagedir) (pagedir.size_high)
29 #define set_highmem_size(pagedir, sz) do { pagedir.size_high = sz; } while (0)
30 #define inc_highmem_size(pagedir) do { pagedir.size_high++; } while (0)
31 #define get_lowmem_size(pagedir) (pagedir.size - pagedir.size_high)
32 #else
33 #define get_highmem_size(pagedir) (0)
34 #define set_highmem_size(pagedir, sz) do { } while (0)
35 #define inc_highmem_size(pagedir) do { } while (0)
36 #define get_lowmem_size(pagedir) (pagedir.size)
37 #endif
38
39 extern struct pagedir pagedir1, pagedir2;
40
41 extern void toi_copy_pageset1(void);
42
43 extern int toi_get_pageset1_load_addresses(void);
44
45 extern unsigned long __toi_get_nonconflicting_page(void);
46 struct page *___toi_get_nonconflicting_page(int can_be_highmem);
47
48 extern void toi_reset_alt_image_pageset2_pfn(void);
49 extern int add_boot_kernel_data_pbe(void);
50 #endif