diff options
author | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2009-04-07 16:34:16 -0400 |
---|---|---|
committer | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2009-04-07 16:34:16 -0400 |
commit | 38f4b8c0da01ae7cd9b93386842ce272d6fde9ab (patch) | |
tree | 3c8c52201aac038094bfea7efdd0984a8f62045e /arch/x86/include/asm/paravirt.h | |
parent | a811454027352c762e0d5bba1b1d8f7d26bf96ae (diff) | |
parent | 8e2c4f2844c0e8dcdfe312e5f2204854ca8532c6 (diff) |
Merge commit 'origin/master' into for-linus/xen/master
* commit 'origin/master': (4825 commits)
Fix build errors due to CONFIG_BRANCH_TRACER=y
parport: Use the PCI IRQ if offered
tty: jsm cleanups
Adjust path to gpio headers
KGDB_SERIAL_CONSOLE check for module
Change KCONFIG name
tty: Blackin CTS/RTS
Change hardware flow control from poll to interrupt driven
Add support for the MAX3100 SPI UART.
lanana: assign a device name and numbering for MAX3100
serqt: initial clean up pass for tty side
tty: Use the generic RS485 ioctl on CRIS
tty: Correct inline types for tty_driver_kref_get()
splice: fix deadlock in splicing to file
nilfs2: support nanosecond timestamp
nilfs2: introduce secondary super block
nilfs2: simplify handling of active state of segments
nilfs2: mark minor flag for checkpoint created by internal operation
nilfs2: clean up sketch file
nilfs2: super block operations fix endian bug
...
Conflicts:
arch/x86/include/asm/thread_info.h
arch/x86/lguest/boot.c
drivers/xen/manage.c
Diffstat (limited to 'arch/x86/include/asm/paravirt.h')
-rw-r--r-- | arch/x86/include/asm/paravirt.h | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h index dfdee0ca57d3..bc384be6aa44 100644 --- a/arch/x86/include/asm/paravirt.h +++ b/arch/x86/include/asm/paravirt.h | |||
@@ -319,8 +319,6 @@ struct pv_mmu_ops { | |||
319 | #if PAGETABLE_LEVELS >= 3 | 319 | #if PAGETABLE_LEVELS >= 3 |
320 | #ifdef CONFIG_X86_PAE | 320 | #ifdef CONFIG_X86_PAE |
321 | void (*set_pte_atomic)(pte_t *ptep, pte_t pteval); | 321 | void (*set_pte_atomic)(pte_t *ptep, pte_t pteval); |
322 | void (*set_pte_present)(struct mm_struct *mm, unsigned long addr, | ||
323 | pte_t *ptep, pte_t pte); | ||
324 | void (*pte_clear)(struct mm_struct *mm, unsigned long addr, | 322 | void (*pte_clear)(struct mm_struct *mm, unsigned long addr, |
325 | pte_t *ptep); | 323 | pte_t *ptep); |
326 | void (*pmd_clear)(pmd_t *pmdp); | 324 | void (*pmd_clear)(pmd_t *pmdp); |
@@ -391,7 +389,7 @@ extern struct pv_lock_ops pv_lock_ops; | |||
391 | 389 | ||
392 | #define paravirt_type(op) \ | 390 | #define paravirt_type(op) \ |
393 | [paravirt_typenum] "i" (PARAVIRT_PATCH(op)), \ | 391 | [paravirt_typenum] "i" (PARAVIRT_PATCH(op)), \ |
394 | [paravirt_opptr] "m" (op) | 392 | [paravirt_opptr] "i" (&(op)) |
395 | #define paravirt_clobber(clobber) \ | 393 | #define paravirt_clobber(clobber) \ |
396 | [paravirt_clobber] "i" (clobber) | 394 | [paravirt_clobber] "i" (clobber) |
397 | 395 | ||
@@ -445,7 +443,7 @@ int paravirt_disable_iospace(void); | |||
445 | * offset into the paravirt_patch_template structure, and can therefore be | 443 | * offset into the paravirt_patch_template structure, and can therefore be |
446 | * freely converted back into a structure offset. | 444 | * freely converted back into a structure offset. |
447 | */ | 445 | */ |
448 | #define PARAVIRT_CALL "call *%[paravirt_opptr];" | 446 | #define PARAVIRT_CALL "call *%c[paravirt_opptr];" |
449 | 447 | ||
450 | /* | 448 | /* |
451 | * These macros are intended to wrap calls through one of the paravirt | 449 | * These macros are intended to wrap calls through one of the paravirt |
@@ -1367,13 +1365,6 @@ static inline void set_pte_atomic(pte_t *ptep, pte_t pte) | |||
1367 | pte.pte, pte.pte >> 32); | 1365 | pte.pte, pte.pte >> 32); |
1368 | } | 1366 | } |
1369 | 1367 | ||
1370 | static inline void set_pte_present(struct mm_struct *mm, unsigned long addr, | ||
1371 | pte_t *ptep, pte_t pte) | ||
1372 | { | ||
1373 | /* 5 arg words */ | ||
1374 | pv_mmu_ops.set_pte_present(mm, addr, ptep, pte); | ||
1375 | } | ||
1376 | |||
1377 | static inline void pte_clear(struct mm_struct *mm, unsigned long addr, | 1368 | static inline void pte_clear(struct mm_struct *mm, unsigned long addr, |
1378 | pte_t *ptep) | 1369 | pte_t *ptep) |
1379 | { | 1370 | { |
@@ -1390,12 +1381,6 @@ static inline void set_pte_atomic(pte_t *ptep, pte_t pte) | |||
1390 | set_pte(ptep, pte); | 1381 | set_pte(ptep, pte); |
1391 | } | 1382 | } |
1392 | 1383 | ||
1393 | static inline void set_pte_present(struct mm_struct *mm, unsigned long addr, | ||
1394 | pte_t *ptep, pte_t pte) | ||
1395 | { | ||
1396 | set_pte(ptep, pte); | ||
1397 | } | ||
1398 | |||
1399 | static inline void pte_clear(struct mm_struct *mm, unsigned long addr, | 1384 | static inline void pte_clear(struct mm_struct *mm, unsigned long addr, |
1400 | pte_t *ptep) | 1385 | pte_t *ptep) |
1401 | { | 1386 | { |