Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 97301
b: refs/heads/master
c: b1979a5
h: refs/heads/master
i:
  97299: 256d4d8
v: v3
  • Loading branch information
Ingo Molnar authored and Thomas Gleixner committed May 23, 2008
1 parent d2e2a97 commit ad425b2
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a1289643adb6272c04db9399653ae195072c482a
refs/heads/master: b1979a5fda7869a790f4fd83fb06c78498d26ba1
13 changes: 12 additions & 1 deletion trunk/include/asm-x86/tlbflush.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,23 @@ static inline void __native_flush_tlb(void)

static inline void __native_flush_tlb_global(void)
{
unsigned long cr4 = read_cr4();
unsigned long flags;
unsigned long cr4;

/*
* Read-modify-write to CR4 - protect it from preemption and
* from interrupts. (Use the raw variant because this code can
* be called from deep inside debugging code.)
*/
raw_local_irq_save(flags);

cr4 = read_cr4();
/* clear PGE */
write_cr4(cr4 & ~X86_CR4_PGE);
/* write old PGE again and flush TLBs */
write_cr4(cr4);

raw_local_irq_restore(flags);
}

static inline void __native_flush_tlb_single(unsigned long addr)
Expand Down

0 comments on commit ad425b2

Please sign in to comment.