static inline int is_kernel_text(unsigned long addr)
{
#if defined(CONFIG_X86_32) && defined(CONFIG_ACPI_SLEEP)
if (addr >= PAGE_OFFSET && addr <= (PAGE_OFFSET+(1<<20)))
return 1;
#endif
if (addr >= (unsigned long)_text && addr <= (unsigned long)__init_end)
return 0;
if (pcibios_enabled && within(pfn, BIOS_BEGIN >> PAGE_SHIFT, BIOS_END >> PAGE_SHIFT))
pgprot_val(forbidden) |= _PAGE_NX;
if (within(address, PAGE_OFFSET, PAGE_OFFSET+(1<<20)))
/*
* The kernel text needs to be executable for obvious reasons