]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
watchdog: hpwdt: Changes to handle NX secure bit in 32bit path
authorMingarelli, Thomas <Thomas.Mingarelli@hp.com>
Mon, 7 Nov 2011 09:59:00 +0000 (10:59 +0100)
committerWim Van Sebroeck <wim@iguana.be>
Tue, 20 Dec 2011 15:56:33 +0000 (16:56 +0100)
This patch makes use of the set_memory_x() kernel API in order
to make necessary BIOS calls to source NMIs.

Signed-off by: Thomas Mingarelli <thomas.mingarelli@hp.com>
Signed-off by: Wim Van Sebroeck <wim@iguana.be>

drivers/watchdog/hpwdt.c

index 3774c9b8dac9c6868a28c5eda079e7915b7d24cb..8464ea1c36a1080f4c4b4045333a70b963d08b5d 100644 (file)
@@ -231,6 +231,7 @@ static int __devinit cru_detect(unsigned long map_entry,
 
        cmn_regs.u1.reax = CRU_BIOS_SIGNATURE_VALUE;
 
+       set_memory_x((unsigned long)bios32_entrypoint, (2 * PAGE_SIZE));
        asminline_call(&cmn_regs, bios32_entrypoint);
 
        if (cmn_regs.u1.ral != 0) {
@@ -248,8 +249,10 @@ static int __devinit cru_detect(unsigned long map_entry,
                if ((physical_bios_base + physical_bios_offset)) {
                        cru_rom_addr =
                                ioremap(cru_physical_address, cru_length);
-                       if (cru_rom_addr)
+                       if (cru_rom_addr) {
+                               set_memory_x((unsigned long)cru_rom_addr, cru_length);
                                retval = 0;
+                       }
                }
 
                printk(KERN_DEBUG "hpwdt: CRU Base Address:   0x%lx\n",