diff options
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/x86/boot/compressed/relocs.c | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/cpu/amd.c | 18 | ||||
| -rw-r--r-- | arch/x86/platform/geode/net5501.c | 2 |
3 files changed, 19 insertions, 3 deletions
diff --git a/arch/x86/boot/compressed/relocs.c b/arch/x86/boot/compressed/relocs.c index d3c0b0277666..fb7117a4ade1 100644 --- a/arch/x86/boot/compressed/relocs.c +++ b/arch/x86/boot/compressed/relocs.c | |||
| @@ -403,13 +403,11 @@ static void print_absolute_symbols(void) | |||
| 403 | for (i = 0; i < ehdr.e_shnum; i++) { | 403 | for (i = 0; i < ehdr.e_shnum; i++) { |
| 404 | struct section *sec = &secs[i]; | 404 | struct section *sec = &secs[i]; |
| 405 | char *sym_strtab; | 405 | char *sym_strtab; |
| 406 | Elf32_Sym *sh_symtab; | ||
| 407 | int j; | 406 | int j; |
| 408 | 407 | ||
| 409 | if (sec->shdr.sh_type != SHT_SYMTAB) { | 408 | if (sec->shdr.sh_type != SHT_SYMTAB) { |
| 410 | continue; | 409 | continue; |
| 411 | } | 410 | } |
| 412 | sh_symtab = sec->symtab; | ||
| 413 | sym_strtab = sec->link->strtab; | 411 | sym_strtab = sec->link->strtab; |
| 414 | for (j = 0; j < sec->shdr.sh_size/sizeof(Elf32_Sym); j++) { | 412 | for (j = 0; j < sec->shdr.sh_size/sizeof(Elf32_Sym); j++) { |
| 415 | Elf32_Sym *sym; | 413 | Elf32_Sym *sym; |
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 1c67ca100e4c..146bb6218eec 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c | |||
| @@ -580,6 +580,24 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c) | |||
| 580 | } | 580 | } |
| 581 | } | 581 | } |
| 582 | 582 | ||
| 583 | /* re-enable TopologyExtensions if switched off by BIOS */ | ||
| 584 | if ((c->x86 == 0x15) && | ||
| 585 | (c->x86_model >= 0x10) && (c->x86_model <= 0x1f) && | ||
| 586 | !cpu_has(c, X86_FEATURE_TOPOEXT)) { | ||
| 587 | u64 val; | ||
| 588 | |||
| 589 | if (!rdmsrl_amd_safe(0xc0011005, &val)) { | ||
| 590 | val |= 1ULL << 54; | ||
| 591 | wrmsrl_amd_safe(0xc0011005, val); | ||
| 592 | rdmsrl(0xc0011005, val); | ||
| 593 | if (val & (1ULL << 54)) { | ||
| 594 | set_cpu_cap(c, X86_FEATURE_TOPOEXT); | ||
| 595 | printk(KERN_INFO FW_INFO "CPU: Re-enabling " | ||
| 596 | "disabled Topology Extensions Support\n"); | ||
| 597 | } | ||
| 598 | } | ||
| 599 | } | ||
| 600 | |||
| 583 | cpu_detect_cache_sizes(c); | 601 | cpu_detect_cache_sizes(c); |
| 584 | 602 | ||
| 585 | /* Multi core CPU? */ | 603 | /* Multi core CPU? */ |
diff --git a/arch/x86/platform/geode/net5501.c b/arch/x86/platform/geode/net5501.c index 66d377e334f7..646e3b5b4bb6 100644 --- a/arch/x86/platform/geode/net5501.c +++ b/arch/x86/platform/geode/net5501.c | |||
| @@ -63,7 +63,7 @@ static struct gpio_led net5501_leds[] = { | |||
| 63 | .name = "net5501:1", | 63 | .name = "net5501:1", |
| 64 | .gpio = 6, | 64 | .gpio = 6, |
| 65 | .default_trigger = "default-on", | 65 | .default_trigger = "default-on", |
| 66 | .active_low = 1, | 66 | .active_low = 0, |
| 67 | }, | 67 | }, |
| 68 | }; | 68 | }; |
| 69 | 69 | ||
