Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 356295
b: refs/heads/master
c: bc68159
h: refs/heads/master
i:
  356293: 0a5755e
  356291: 2f92bfa
  356287: f58cc28
v: v3
  • Loading branch information
Clark Williams authored and Tony Luck committed Feb 22, 2013
1 parent 14ad9fc commit bfa1c0f
Show file tree
Hide file tree
Showing 39 changed files with 440 additions and 1,571 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3b5d8510b94a95e493e8c4951ffc3d1cf6a6792d
refs/heads/master: bc681593b588786e6326b3e5f78ccc1683e2269c
2 changes: 1 addition & 1 deletion trunk/Documentation/lockstat.txt
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ that had to wait on lock acquisition.

- CONFIGURATION

Lock statistics are enabled via CONFIG_LOCK_STAT.
Lock statistics are enabled via CONFIG_LOCK_STATS.

- USAGE

Expand Down
43 changes: 0 additions & 43 deletions trunk/Documentation/x86/early-microcode.txt

This file was deleted.

18 changes: 0 additions & 18 deletions trunk/arch/x86/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1054,24 +1054,6 @@ config MICROCODE_OLD_INTERFACE
def_bool y
depends on MICROCODE

config MICROCODE_INTEL_LIB
def_bool y
depends on MICROCODE_INTEL

config MICROCODE_INTEL_EARLY
bool "Early load microcode"
depends on MICROCODE_INTEL && BLK_DEV_INITRD
default y
help
This option provides functionality to read additional microcode data
at the beginning of initrd image. The data tells kernel to load
microcode to CPU's as early as possible. No functional change if no
microcode data is glued to the initrd, therefore it's safe to say Y.

config MICROCODE_EARLY
def_bool y
depends on MICROCODE_INTEL_EARLY

config X86_MSR
tristate "/dev/cpu/*/msr - Model-specific register support"
---help---
Expand Down
14 changes: 0 additions & 14 deletions trunk/arch/x86/include/asm/microcode.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,18 +57,4 @@ static inline struct microcode_ops * __init init_amd_microcode(void)
static inline void __exit exit_amd_microcode(void) {}
#endif

#ifdef CONFIG_MICROCODE_EARLY
#define MAX_UCODE_COUNT 128
extern void __init load_ucode_bsp(void);
extern __init void load_ucode_ap(void);
extern int __init save_microcode_in_initrd(void);
#else
static inline void __init load_ucode_bsp(void) {}
static inline __init void load_ucode_ap(void) {}
static inline int __init save_microcode_in_initrd(void)
{
return 0;
}
#endif

#endif /* _ASM_X86_MICROCODE_H */
85 changes: 0 additions & 85 deletions trunk/arch/x86/include/asm/microcode_intel.h

This file was deleted.

8 changes: 0 additions & 8 deletions trunk/arch/x86/include/asm/processor.h
Original file line number Diff line number Diff line change
Expand Up @@ -180,14 +180,6 @@ extern void init_amd_cacheinfo(struct cpuinfo_x86 *c);
extern void detect_extended_topology(struct cpuinfo_x86 *c);
extern void detect_ht(struct cpuinfo_x86 *c);

#ifdef CONFIG_X86_32
extern int have_cpuid_p(void);
#else
static inline int have_cpuid_p(void)
{
return 1;
}
#endif
static inline void native_cpuid(unsigned int *eax, unsigned int *ebx,
unsigned int *ecx, unsigned int *edx)
{
Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/x86/include/asm/proto.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@

/* misc architecture specific prototypes */

void early_idt_handler(void);

void system_call(void);
void syscall_init(void);

Expand Down
18 changes: 6 additions & 12 deletions trunk/arch/x86/include/asm/tlbflush.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,10 @@ static inline void __native_flush_tlb(void)
native_write_cr3(native_read_cr3());
}

static inline void __native_flush_tlb_global_irq_disabled(void)
{
unsigned long cr4;

cr4 = native_read_cr4();
/* clear PGE */
native_write_cr4(cr4 & ~X86_CR4_PGE);
/* write old PGE again and flush TLBs */
native_write_cr4(cr4);
}

static inline void __native_flush_tlb_global(void)
{
unsigned long flags;
unsigned long cr4;

/*
* Read-modify-write to CR4 - protect it from preemption and
Expand All @@ -42,7 +32,11 @@ static inline void __native_flush_tlb_global(void)
*/
raw_local_irq_save(flags);

__native_flush_tlb_global_irq_disabled();
cr4 = native_read_cr4();
/* clear PGE */
native_write_cr4(cr4 & ~X86_CR4_PGE);
/* write old PGE again and flush TLBs */
native_write_cr4(cr4);

raw_local_irq_restore(flags);
}
Expand Down
3 changes: 0 additions & 3 deletions trunk/arch/x86/kernel/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,6 @@ obj-$(CONFIG_PARAVIRT_CLOCK) += pvclock.o

obj-$(CONFIG_PCSPKR_PLATFORM) += pcspeaker.o

obj-$(CONFIG_MICROCODE_EARLY) += microcode_core_early.o
obj-$(CONFIG_MICROCODE_INTEL_EARLY) += microcode_intel_early.o
obj-$(CONFIG_MICROCODE_INTEL_LIB) += microcode_intel_lib.o
microcode-y := microcode_core.o
microcode-$(CONFIG_MICROCODE_INTEL) += microcode_intel.o
microcode-$(CONFIG_MICROCODE_AMD) += microcode_amd.o
Expand Down
17 changes: 6 additions & 11 deletions trunk/arch/x86/kernel/cpu/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,6 @@
#include <asm/mce.h>
#include <asm/msr.h>
#include <asm/pat.h>
#include <asm/microcode.h>
#include <asm/microcode_intel.h>

#ifdef CONFIG_X86_LOCAL_APIC
#include <asm/uv/uv.h>
Expand Down Expand Up @@ -215,7 +213,7 @@ static inline int flag_is_changeable_p(u32 flag)
}

/* Probe for the CPUID instruction */
int __cpuinit have_cpuid_p(void)
static int __cpuinit have_cpuid_p(void)
{
return flag_is_changeable_p(X86_EFLAGS_ID);
}
Expand Down Expand Up @@ -251,6 +249,11 @@ static inline int flag_is_changeable_p(u32 flag)
{
return 1;
}
/* Probe for the CPUID instruction */
static inline int have_cpuid_p(void)
{
return 1;
}
static inline void squash_the_stupid_serial_number(struct cpuinfo_x86 *c)
{
}
Expand Down Expand Up @@ -1220,12 +1223,6 @@ void __cpuinit cpu_init(void)
int cpu;
int i;

/*
* Load microcode on this cpu if a valid microcode is available.
* This is early microcode loading procedure.
*/
load_ucode_ap();

cpu = stack_smp_processor_id();
t = &per_cpu(init_tss, cpu);
oist = &per_cpu(orig_ist, cpu);
Expand Down Expand Up @@ -1317,8 +1314,6 @@ void __cpuinit cpu_init(void)
struct tss_struct *t = &per_cpu(init_tss, cpu);
struct thread_struct *thread = &curr->thread;

show_ucode_info_early();

if (cpumask_test_and_set_cpu(cpu, cpu_initialized_mask)) {
printk(KERN_WARNING "CPU#%d already initialized!\n", cpu);
for (;;)
Expand Down
13 changes: 6 additions & 7 deletions trunk/arch/x86/kernel/head64.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
#include <asm/e820.h>
#include <asm/bios_ebda.h>
#include <asm/bootparam_utils.h>
#include <asm/microcode.h>

/*
* Manage page tables very early on.
Expand Down Expand Up @@ -160,17 +159,17 @@ void __init x86_64_start_kernel(char * real_mode_data)
/* clear bss before set_intr_gate with early_idt_handler */
clear_bss();

for (i = 0; i < NUM_EXCEPTION_VECTORS; i++)
for (i = 0; i < NUM_EXCEPTION_VECTORS; i++) {
#ifdef CONFIG_EARLY_PRINTK
set_intr_gate(i, &early_idt_handlers[i]);
#else
set_intr_gate(i, early_idt_handler);
#endif
}
load_idt((const struct desc_ptr *)&idt_descr);

copy_bootdata(__va(real_mode_data));

/*
* Load microcode early on BSP.
*/
load_ucode_bsp();

if (console_loglevel == 10)
early_printk("Kernel alive\n");

Expand Down
11 changes: 0 additions & 11 deletions trunk/arch/x86/kernel/head_32.S
Original file line number Diff line number Diff line change
Expand Up @@ -144,11 +144,6 @@ ENTRY(startup_32)
movl %eax, pa(olpc_ofw_pgd)
#endif

#ifdef CONFIG_MICROCODE_EARLY
/* Early load ucode on BSP. */
call load_ucode_bsp
#endif

/*
* Initialize page tables. This creates a PDE and a set of page
* tables, which are located immediately beyond __brk_base. The variable
Expand Down Expand Up @@ -304,12 +299,6 @@ ENTRY(startup_32_smp)
movl %eax,%ss
leal -__PAGE_OFFSET(%ecx),%esp

#ifdef CONFIG_MICROCODE_EARLY
/* Early load ucode on AP. */
call load_ucode_ap
#endif


default_entry:
#define CR0_STATE (X86_CR0_PE | X86_CR0_MP | X86_CR0_ET | \
X86_CR0_NE | X86_CR0_WP | X86_CR0_AM | \
Expand Down
2 changes: 0 additions & 2 deletions trunk/arch/x86/kernel/head_64.S
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,6 @@ early_idt_handlers:
i = i + 1
.endr

/* This is global to keep gas from relaxing the jumps */
ENTRY(early_idt_handler)
cld

Expand Down Expand Up @@ -405,7 +404,6 @@ ENTRY(early_idt_handler)
addq $16,%rsp # drop vector number and error code
decl early_recursion_flag(%rip)
INTERRUPT_RETURN
ENDPROC(early_idt_handler)

__INITDATA

Expand Down
Loading

0 comments on commit bfa1c0f

Please sign in to comment.