Commit e67d668e147c3b4fec638c9e0ace04319f5ceccd

Authored by Mingarelli, Thomas
Committed by Wim Van Sebroeck
1 parent bb558dac67

watchdog: hpwdt: Changes to handle NX secure bit in 32bit path

This patch makes use of the set_memory_x() kernel API in order
to make necessary BIOS calls to source NMIs.

This is needed for SLES11 SP2 and the latest upstream kernel as it appears
the NX Execute Disable has grown in its control.

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

Showing 1 changed file with 4 additions and 1 deletions Side-by-side Diff

drivers/watchdog/hpwdt.c
... ... @@ -231,6 +231,7 @@
231 231  
232 232 cmn_regs.u1.reax = CRU_BIOS_SIGNATURE_VALUE;
233 233  
  234 + set_memory_x((unsigned long)bios32_entrypoint, (2 * PAGE_SIZE));
234 235 asminline_call(&cmn_regs, bios32_entrypoint);
235 236  
236 237 if (cmn_regs.u1.ral != 0) {
237 238  
... ... @@ -248,8 +249,10 @@
248 249 if ((physical_bios_base + physical_bios_offset)) {
249 250 cru_rom_addr =
250 251 ioremap(cru_physical_address, cru_length);
251   - if (cru_rom_addr)
  252 + if (cru_rom_addr) {
  253 + set_memory_x((unsigned long)cru_rom_addr, cru_length);
252 254 retval = 0;
  255 + }
253 256 }
254 257  
255 258 printk(KERN_DEBUG "hpwdt: CRU Base Address: 0x%lx\n",