Commit 43a834d8 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'x86-cleanups-for-linus' of...

Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: Remove trailing spaces in messages
  x86, mtrr: Remove unused mtrr/state.c
  x86, trivial: Fix grammo in tsc comment about Geode TSC reliability
parents a7f16d10 3235dc3f
...@@ -22,7 +22,7 @@ int main(void) ...@@ -22,7 +22,7 @@ int main(void)
int i, j; int i, j;
const char *str; const char *str;
printf("static const char x86_cap_strs[] = \n"); printf("static const char x86_cap_strs[] =\n");
for (i = 0; i < NCAPINTS; i++) { for (i = 0; i < NCAPINTS; i++) {
for (j = 0; j < 32; j++) { for (j = 0; j < 32; j++) {
......
...@@ -581,7 +581,7 @@ calibrate_by_pmtimer(long deltapm, long *delta, long *deltatsc) ...@@ -581,7 +581,7 @@ calibrate_by_pmtimer(long deltapm, long *delta, long *deltatsc)
res = (((u64)(*deltatsc)) * pm_100ms); res = (((u64)(*deltatsc)) * pm_100ms);
do_div(res, deltapm); do_div(res, deltapm);
apic_printk(APIC_VERBOSE, "TSC delta adjusted to " apic_printk(APIC_VERBOSE, "TSC delta adjusted to "
"PM-Timer: %lu (%ld) \n", "PM-Timer: %lu (%ld)\n",
(unsigned long)res, *deltatsc); (unsigned long)res, *deltatsc);
*deltatsc = (long)res; *deltatsc = (long)res;
} }
......
...@@ -1647,7 +1647,7 @@ __apicdebuginit(void) print_IO_APIC(void) ...@@ -1647,7 +1647,7 @@ __apicdebuginit(void) print_IO_APIC(void)
printk(KERN_DEBUG ".... IRQ redirection table:\n"); printk(KERN_DEBUG ".... IRQ redirection table:\n");
printk(KERN_DEBUG " NR Dst Mask Trig IRR Pol" printk(KERN_DEBUG " NR Dst Mask Trig IRR Pol"
" Stat Dmod Deli Vect: \n"); " Stat Dmod Deli Vect:\n");
for (i = 0; i <= reg_01.bits.entries; i++) { for (i = 0; i <= reg_01.bits.entries; i++) {
struct IO_APIC_route_entry entry; struct IO_APIC_route_entry entry;
......
...@@ -225,7 +225,7 @@ static void __init smp_read_mpc_oem(struct mpc_table *mpc) ...@@ -225,7 +225,7 @@ static void __init smp_read_mpc_oem(struct mpc_table *mpc)
mpc_record = 0; mpc_record = 0;
printk(KERN_INFO printk(KERN_INFO
"Found an OEM MPC table at %8p - parsing it ... \n", oemtable); "Found an OEM MPC table at %8p - parsing it...\n", oemtable);
if (memcmp(oemtable->signature, MPC_OEM_SIGNATURE, 4)) { if (memcmp(oemtable->signature, MPC_OEM_SIGNATURE, 4)) {
printk(KERN_WARNING printk(KERN_WARNING
......
...@@ -1992,8 +1992,8 @@ static int __init apm_is_horked_d850md(const struct dmi_system_id *d) ...@@ -1992,8 +1992,8 @@ static int __init apm_is_horked_d850md(const struct dmi_system_id *d)
apm_info.disabled = 1; apm_info.disabled = 1;
printk(KERN_INFO "%s machine detected. " printk(KERN_INFO "%s machine detected. "
"Disabling APM.\n", d->ident); "Disabling APM.\n", d->ident);
printk(KERN_INFO "This bug is fixed in bios P15 which is available for \n"); printk(KERN_INFO "This bug is fixed in bios P15 which is available for\n");
printk(KERN_INFO "download from support.intel.com \n"); printk(KERN_INFO "download from support.intel.com\n");
} }
return 0; return 0;
} }
......
obj-y := main.o if.o generic.o state.o cleanup.o obj-y := main.o if.o generic.o cleanup.o
obj-$(CONFIG_X86_32) += amd.o cyrix.o centaur.o obj-$(CONFIG_X86_32) += amd.o cyrix.o centaur.o
#include <linux/init.h>
#include <linux/io.h>
#include <linux/mm.h>
#include <asm/processor-cyrix.h>
#include <asm/processor-flags.h>
#include <asm/mtrr.h>
#include <asm/msr.h>
#include "mtrr.h"
/* Put the processor into a state where MTRRs can be safely set */
void set_mtrr_prepare_save(struct set_mtrr_context *ctxt)
{
unsigned int cr0;
/* Disable interrupts locally */
local_irq_save(ctxt->flags);
if (use_intel() || is_cpu(CYRIX)) {
/* Save value of CR4 and clear Page Global Enable (bit 7) */
if (cpu_has_pge) {
ctxt->cr4val = read_cr4();
write_cr4(ctxt->cr4val & ~X86_CR4_PGE);
}
/*
* Disable and flush caches. Note that wbinvd flushes the TLBs
* as a side-effect
*/
cr0 = read_cr0() | X86_CR0_CD;
wbinvd();
write_cr0(cr0);
wbinvd();
if (use_intel()) {
/* Save MTRR state */
rdmsr(MSR_MTRRdefType, ctxt->deftype_lo, ctxt->deftype_hi);
} else {
/*
* Cyrix ARRs -
* everything else were excluded at the top
*/
ctxt->ccr3 = getCx86(CX86_CCR3);
}
}
}
void set_mtrr_cache_disable(struct set_mtrr_context *ctxt)
{
if (use_intel()) {
/* Disable MTRRs, and set the default type to uncached */
mtrr_wrmsr(MSR_MTRRdefType, ctxt->deftype_lo & 0xf300UL,
ctxt->deftype_hi);
} else {
if (is_cpu(CYRIX)) {
/* Cyrix ARRs - everything else were excluded at the top */
setCx86(CX86_CCR3, (ctxt->ccr3 & 0x0f) | 0x10);
}
}
}
/* Restore the processor after a set_mtrr_prepare */
void set_mtrr_done(struct set_mtrr_context *ctxt)
{
if (use_intel() || is_cpu(CYRIX)) {
/* Flush caches and TLBs */
wbinvd();
/* Restore MTRRdefType */
if (use_intel()) {
/* Intel (P6) standard MTRRs */
mtrr_wrmsr(MSR_MTRRdefType, ctxt->deftype_lo,
ctxt->deftype_hi);
} else {
/*
* Cyrix ARRs -
* everything else was excluded at the top
*/
setCx86(CX86_CCR3, ctxt->ccr3);
}
/* Enable caches */
write_cr0(read_cr0() & 0xbfffffff);
/* Restore value of CR4 */
if (cpu_has_pge)
write_cr4(ctxt->cr4val);
}
/* Re-enable interrupts locally (if enabled previously) */
local_irq_restore(ctxt->flags);
}
...@@ -362,7 +362,7 @@ void __init efi_init(void) ...@@ -362,7 +362,7 @@ void __init efi_init(void)
printk(KERN_ERR PFX "Could not map the firmware vendor!\n"); printk(KERN_ERR PFX "Could not map the firmware vendor!\n");
early_iounmap(tmp, 2); early_iounmap(tmp, 2);
printk(KERN_INFO "EFI v%u.%.02u by %s \n", printk(KERN_INFO "EFI v%u.%.02u by %s\n",
efi.systab->hdr.revision >> 16, efi.systab->hdr.revision >> 16,
efi.systab->hdr.revision & 0xffff, vendor); efi.systab->hdr.revision & 0xffff, vendor);
......
...@@ -328,7 +328,7 @@ static int apply_microcode(int cpu) ...@@ -328,7 +328,7 @@ static int apply_microcode(int cpu)
cpu_num, mc_intel->hdr.rev); cpu_num, mc_intel->hdr.rev);
return -1; return -1;
} }
pr_info("CPU%d updated to revision 0x%x, date = %04x-%02x-%02x \n", pr_info("CPU%d updated to revision 0x%x, date = %04x-%02x-%02x\n",
cpu_num, val[1], cpu_num, val[1],
mc_intel->hdr.date & 0xffff, mc_intel->hdr.date & 0xffff,
mc_intel->hdr.date >> 24, mc_intel->hdr.date >> 24,
......
...@@ -806,7 +806,7 @@ static void __init check_system_tsc_reliable(void) ...@@ -806,7 +806,7 @@ static void __init check_system_tsc_reliable(void)
unsigned long res_low, res_high; unsigned long res_low, res_high;
rdmsr_safe(MSR_GEODE_BUSCONT_CONF0, &res_low, &res_high); rdmsr_safe(MSR_GEODE_BUSCONT_CONF0, &res_low, &res_high);
/* Geode_LX - the OLPC CPU has a possibly a very reliable TSC */ /* Geode_LX - the OLPC CPU has a very reliable TSC */
if (res_low & RTSC_SUSP) if (res_low & RTSC_SUSP)
tsc_clocksource_reliable = 1; tsc_clocksource_reliable = 1;
#endif #endif
......
...@@ -54,19 +54,19 @@ static int __init sgi_uv_sysfs_init(void) ...@@ -54,19 +54,19 @@ static int __init sgi_uv_sysfs_init(void)
if (!sgi_uv_kobj) if (!sgi_uv_kobj)
sgi_uv_kobj = kobject_create_and_add("sgi_uv", firmware_kobj); sgi_uv_kobj = kobject_create_and_add("sgi_uv", firmware_kobj);
if (!sgi_uv_kobj) { if (!sgi_uv_kobj) {
printk(KERN_WARNING "kobject_create_and_add sgi_uv failed \n"); printk(KERN_WARNING "kobject_create_and_add sgi_uv failed\n");
return -EINVAL; return -EINVAL;
} }
ret = sysfs_create_file(sgi_uv_kobj, &partition_id_attr.attr); ret = sysfs_create_file(sgi_uv_kobj, &partition_id_attr.attr);
if (ret) { if (ret) {
printk(KERN_WARNING "sysfs_create_file partition_id failed \n"); printk(KERN_WARNING "sysfs_create_file partition_id failed\n");
return ret; return ret;
} }
ret = sysfs_create_file(sgi_uv_kobj, &coherence_id_attr.attr); ret = sysfs_create_file(sgi_uv_kobj, &coherence_id_attr.attr);
if (ret) { if (ret) {
printk(KERN_WARNING "sysfs_create_file coherence_id failed \n"); printk(KERN_WARNING "sysfs_create_file coherence_id failed\n");
return ret; return ret;
} }
......
...@@ -43,7 +43,7 @@ static int x86_64; ...@@ -43,7 +43,7 @@ static int x86_64;
static void usage(void) static void usage(void)
{ {
fprintf(stderr, "Usage: objdump -d a.out | awk -f distill.awk |" fprintf(stderr, "Usage: objdump -d a.out | awk -f distill.awk |"
" %s [-y|-n] [-v] \n", prog); " %s [-y|-n] [-v]\n", prog);
fprintf(stderr, "\t-y 64bit mode\n"); fprintf(stderr, "\t-y 64bit mode\n");
fprintf(stderr, "\t-n 32bit mode\n"); fprintf(stderr, "\t-n 32bit mode\n");
fprintf(stderr, "\t-v verbose mode\n"); fprintf(stderr, "\t-v verbose mode\n");
...@@ -69,7 +69,7 @@ static void dump_field(FILE *fp, const char *name, const char *indent, ...@@ -69,7 +69,7 @@ static void dump_field(FILE *fp, const char *name, const char *indent,
static void dump_insn(FILE *fp, struct insn *insn) static void dump_insn(FILE *fp, struct insn *insn)
{ {
fprintf(fp, "Instruction = { \n"); fprintf(fp, "Instruction = {\n");
dump_field(fp, "prefixes", "\t", &insn->prefixes); dump_field(fp, "prefixes", "\t", &insn->prefixes);
dump_field(fp, "rex_prefix", "\t", &insn->rex_prefix); dump_field(fp, "rex_prefix", "\t", &insn->rex_prefix);
dump_field(fp, "vex_prefix", "\t", &insn->vex_prefix); dump_field(fp, "vex_prefix", "\t", &insn->vex_prefix);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment