Lines 2517-2523
Link Here
|
2517 |
/*Some kernel developer removed the export of symbol "flush_tlb_page" on 2.6.25 x86_64 SMP kernel. |
2517 |
/*Some kernel developer removed the export of symbol "flush_tlb_page" on 2.6.25 x86_64 SMP kernel. |
2518 |
Define a simple version here.*/ |
2518 |
Define a simple version here.*/ |
2519 |
#if defined(__x86_64__) && defined(CONFIG_SMP) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25)) |
2519 |
#if defined(__x86_64__) && defined(CONFIG_SMP) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25)) |
|
|
2520 |
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)) |
2521 |
on_each_cpu(KCL_flush_tlb_one, &va, 1); |
2522 |
#else |
2520 |
on_each_cpu(KCL_flush_tlb_one, &va, 1, 1); |
2523 |
on_each_cpu(KCL_flush_tlb_one, &va, 1, 1); |
|
|
2524 |
#endif |
2521 |
#else |
2525 |
#else |
2522 |
flush_tlb_page(vma, va); |
2526 |
flush_tlb_page(vma, va); |
2523 |
#endif |
2527 |
#endif |
Lines 2924-2930
Link Here
|
2924 |
{ |
2928 |
{ |
2925 |
#ifdef CONFIG_SMP |
2929 |
#ifdef CONFIG_SMP |
2926 |
/* write back invalidate all other CPUs (exported by kernel) */ |
2930 |
/* write back invalidate all other CPUs (exported by kernel) */ |
|
|
2931 |
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)) |
2932 |
if (smp_call_function(deferred_flush, NULL, 0) != 0) |
2933 |
#else |
2927 |
if (smp_call_function(deferred_flush, NULL, 1, 0) != 0) |
2934 |
if (smp_call_function(deferred_flush, NULL, 1, 0) != 0) |
|
|
2935 |
#endif |
2928 |
panic("timed out waiting for the other CPUs!\n"); |
2936 |
panic("timed out waiting for the other CPUs!\n"); |
2929 |
|
2937 |
|
2930 |
/* invalidate this CPU */ |
2938 |
/* invalidate this CPU */ |
Lines 4654-4660
Link Here
|
4654 |
} |
4662 |
} |
4655 |
|
4663 |
|
4656 |
#ifdef CONFIG_SMP |
4664 |
#ifdef CONFIG_SMP |
|
|
4665 |
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)) |
4666 |
if (smp_call_function(KCL_setup_pat, NULL, 1) != 0) |
4667 |
#else |
4657 |
if (smp_call_function(KCL_setup_pat, NULL, 0, 1) != 0) |
4668 |
if (smp_call_function(KCL_setup_pat, NULL, 0, 1) != 0) |
|
|
4669 |
#endif |
4658 |
return 0; |
4670 |
return 0; |
4659 |
#endif |
4671 |
#endif |
4660 |
KCL_setup_pat(NULL); |
4672 |
KCL_setup_pat(NULL); |
Lines 4673-4679
Link Here
|
4673 |
} |
4685 |
} |
4674 |
|
4686 |
|
4675 |
#ifdef CONFIG_SMP |
4687 |
#ifdef CONFIG_SMP |
|
|
4688 |
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)) |
4689 |
if (smp_call_function(KCL_setup_pat, NULL, 1) != 0) |
4690 |
#else |
4676 |
if (smp_call_function(KCL_restore_pat, NULL, 0, 1) != 0) |
4691 |
if (smp_call_function(KCL_restore_pat, NULL, 0, 1) != 0) |
|
|
4692 |
#endif |
4677 |
return; |
4693 |
return; |
4678 |
#endif |
4694 |
#endif |
4679 |
KCL_restore_pat(NULL); |
4695 |
KCL_restore_pat(NULL); |