diff options
Diffstat (limited to 'arch/i386/kernel')
| -rw-r--r-- | arch/i386/kernel/i386_ksyms.c | 2 | ||||
| -rw-r--r-- | arch/i386/kernel/tsc.c | 2 | ||||
| -rw-r--r-- | arch/i386/kernel/vmi.c | 17 |
3 files changed, 11 insertions, 10 deletions
diff --git a/arch/i386/kernel/i386_ksyms.c b/arch/i386/kernel/i386_ksyms.c index e3d4b73bfdb0..4afe26e86260 100644 --- a/arch/i386/kernel/i386_ksyms.c +++ b/arch/i386/kernel/i386_ksyms.c | |||
| @@ -28,3 +28,5 @@ EXPORT_SYMBOL(__read_lock_failed); | |||
| 28 | #endif | 28 | #endif |
| 29 | 29 | ||
| 30 | EXPORT_SYMBOL(csum_partial); | 30 | EXPORT_SYMBOL(csum_partial); |
| 31 | |||
| 32 | EXPORT_SYMBOL(_proxy_pda); | ||
diff --git a/arch/i386/kernel/tsc.c b/arch/i386/kernel/tsc.c index 602660df455c..0e65f7ab63a2 100644 --- a/arch/i386/kernel/tsc.c +++ b/arch/i386/kernel/tsc.c | |||
| @@ -105,7 +105,7 @@ unsigned long long sched_clock(void) | |||
| 105 | /* | 105 | /* |
| 106 | * Fall back to jiffies if there's no TSC available: | 106 | * Fall back to jiffies if there's no TSC available: |
| 107 | */ | 107 | */ |
| 108 | if (unlikely(tsc_disable)) | 108 | if (tsc_unstable || unlikely(tsc_disable)) |
| 109 | /* No locking but a rare wrong value is not a big deal: */ | 109 | /* No locking but a rare wrong value is not a big deal: */ |
| 110 | return (jiffies_64 - INITIAL_JIFFIES) * (1000000000 / HZ); | 110 | return (jiffies_64 - INITIAL_JIFFIES) * (1000000000 / HZ); |
| 111 | 111 | ||
diff --git a/arch/i386/kernel/vmi.c b/arch/i386/kernel/vmi.c index fbf45fa08320..fb07a1aad225 100644 --- a/arch/i386/kernel/vmi.c +++ b/arch/i386/kernel/vmi.c | |||
| @@ -23,7 +23,6 @@ | |||
| 23 | */ | 23 | */ |
| 24 | 24 | ||
| 25 | #include <linux/module.h> | 25 | #include <linux/module.h> |
| 26 | #include <linux/license.h> | ||
| 27 | #include <linux/cpu.h> | 26 | #include <linux/cpu.h> |
| 28 | #include <linux/bootmem.h> | 27 | #include <linux/bootmem.h> |
| 29 | #include <linux/mm.h> | 28 | #include <linux/mm.h> |
| @@ -48,7 +47,6 @@ typedef u64 __attribute__((regparm(2))) (VROMLONGFUNC)(int); | |||
| 48 | (((VROMLONGFUNC *)(rom->func)) (arg)) | 47 | (((VROMLONGFUNC *)(rom->func)) (arg)) |
| 49 | 48 | ||
| 50 | static struct vrom_header *vmi_rom; | 49 | static struct vrom_header *vmi_rom; |
| 51 | static int license_gplok; | ||
| 52 | static int disable_pge; | 50 | static int disable_pge; |
| 53 | static int disable_pse; | 51 | static int disable_pse; |
| 54 | static int disable_sep; | 52 | static int disable_sep; |
| @@ -629,13 +627,14 @@ static inline int __init check_vmi_rom(struct vrom_header *rom) | |||
| 629 | rom->api_version_maj, rom->api_version_min, | 627 | rom->api_version_maj, rom->api_version_min, |
| 630 | pci->rom_version_maj, pci->rom_version_min); | 628 | pci->rom_version_maj, pci->rom_version_min); |
| 631 | 629 | ||
| 632 | license_gplok = license_is_gpl_compatible(license); | 630 | /* Don't allow BSD/MIT here for now because we don't want to end up |
| 633 | if (!license_gplok) { | 631 | with any binary only shim layers */ |
| 634 | printk(KERN_WARNING "VMI: ROM license '%s' taints kernel... " | 632 | if (strcmp(license, "GPL") && strcmp(license, "GPL v2")) { |
| 635 | "inlining disabled\n", | 633 | printk(KERN_WARNING "VMI: Non GPL license `%s' found for ROM. Not used.\n", |
| 636 | license); | 634 | license); |
| 637 | add_taint(TAINT_PROPRIETARY_MODULE); | 635 | return 0; |
| 638 | } | 636 | } |
| 637 | |||
| 639 | return 1; | 638 | return 1; |
| 640 | } | 639 | } |
| 641 | 640 | ||
