tuxonice_prepare_image.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /*
  2. * kernel/power/tuxonice_prepare_image.h
  3. *
  4. * Copyright (C) 2003-2014 Nigel Cunningham (nigel at tuxonice net)
  5. *
  6. * This file is released under the GPLv2.
  7. *
  8. */
  9. #include <asm/sections.h>
  10. extern int toi_prepare_image(void);
  11. extern void toi_recalculate_image_contents(int storage_available);
  12. extern unsigned long real_nr_free_pages(unsigned long zone_idx_mask);
  13. extern long image_size_limit;
  14. extern void toi_free_extra_pagedir_memory(void);
  15. extern unsigned long extra_pd1_pages_allowance;
  16. extern void free_attention_list(void);
  17. #define MIN_FREE_RAM 100
  18. #define MIN_EXTRA_PAGES_ALLOWANCE 500
  19. #define all_zones_mask ((unsigned long) ((1 << MAX_NR_ZONES) - 1))
  20. #ifdef CONFIG_HIGHMEM
  21. #define real_nr_free_high_pages() (real_nr_free_pages(1 << ZONE_HIGHMEM))
  22. #define real_nr_free_low_pages() (real_nr_free_pages(all_zones_mask - \
  23. (1 << ZONE_HIGHMEM)))
  24. #else
  25. #define real_nr_free_high_pages() (0)
  26. #define real_nr_free_low_pages() (real_nr_free_pages(all_zones_mask))
  27. /* For eat_memory function */
  28. #define ZONE_HIGHMEM (MAX_NR_ZONES + 1)
  29. #endif
  30. unsigned long get_header_storage_needed(void);
  31. unsigned long any_to_free(int use_image_size_limit);
  32. int try_allocate_extra_memory(void);