diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-21 19:33:19 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-21 19:33:19 -0500 |
commit | 20f8d2a49360980f1dc0afe2ea227e3ba887e575 (patch) | |
tree | d2891d4604d3fd40da7a21650d07f83e73ae8d8e /arch/x86 | |
parent | e6364cd3a1a3e7c3e9a80bad15698afe6cc7ee75 (diff) | |
parent | 1f1519ef597ae4628dbd47244f0f68d700231523 (diff) |
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (26 commits)
PM: Make suspend_device() static
PCI ACPI: Fix comment describing acpi_pci_choose_state
Hibernation: Handle DEBUG_PAGEALLOC on x86
ACPI: fix build warning
ACPI: TSC breaks atkbd suspend
ACPI: remove is_processor_present prototype
acer-wmi: Add DMI match for mail LED on Acer TravelMate 4200 series
ACPI: sparse fix, replace macro with static function
ACPI: thinkpad-acpi: add tablet-mode reporting
ACPI: thinkpad-acpi: minor hotkey_radio_sw fixes
ACPI: thinkpad-acpi: improve thinkpad-acpi input device documentation
ACPI: thinkpad-acpi: issue input events for tablet swivel events
ACPI: thinkpad-acpi: make the video output feature optional
ACPI: thinkpad-acpi: synchronize input device switches
ACPI: thinkpad-acpi: always track input device open/close
ACPI: thinkpad-acpi: trivial fix to documentation
ACPI: thinkpad-acpi: trivial fix to module_desc typo
intel_menlo: extract return values using PTR_ERR
ACPI video: check for error from thermal_cooling_device_register
ACPI thermal: extract return values using PTR_ERR
...
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/mm/pageattr.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c index e2a74ea11a53..464d8fc21ce6 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c | |||
@@ -899,7 +899,24 @@ void kernel_map_pages(struct page *page, int numpages, int enable) | |||
899 | */ | 899 | */ |
900 | cpa_fill_pool(); | 900 | cpa_fill_pool(); |
901 | } | 901 | } |
902 | #endif | 902 | |
903 | #ifdef CONFIG_HIBERNATION | ||
904 | |||
905 | bool kernel_page_present(struct page *page) | ||
906 | { | ||
907 | unsigned int level; | ||
908 | pte_t *pte; | ||
909 | |||
910 | if (PageHighMem(page)) | ||
911 | return false; | ||
912 | |||
913 | pte = lookup_address((unsigned long)page_address(page), &level); | ||
914 | return (pte_val(*pte) & _PAGE_PRESENT); | ||
915 | } | ||
916 | |||
917 | #endif /* CONFIG_HIBERNATION */ | ||
918 | |||
919 | #endif /* CONFIG_DEBUG_PAGEALLOC */ | ||
903 | 920 | ||
904 | /* | 921 | /* |
905 | * The testcases use internal knowledge of the implementation that shouldn't | 922 | * The testcases use internal knowledge of the implementation that shouldn't |