* [PATCH 1/21] move tsc definitions to were they belong [not found] <11979319641796-git-send-email-gcosta@redhat.com> @ 2007-12-17 22:52 ` Glauber de Oliveira Costa 2007-12-17 22:52 ` [PATCH 2/21] [PATCH] get rid of _MASK flags Glauber de Oliveira Costa [not found] ` <11979319763641-git-send-email-gcosta@redhat.com> 0 siblings, 2 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland This patch wipes out the definitions of tsc_disable from processor_32.h and move it to tsc.h, were it belongs Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- include/asm-x86/processor_32.h | 7 ------- include/asm-x86/tsc.h | 6 ++++++ 2 files changed, 6 insertions(+), 7 deletions(-) Index: linux-2.6-x86/include/asm-x86/processor_32.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_32.h +++ linux-2.6-x86/include/asm-x86/processor_32.h @@ -22,9 +22,6 @@ #include <asm/processor-flags.h> #include <asm/desc_defs.h> -/* flag for disabling the tsc */ -extern int tsc_disable; - static inline int desc_empty(const void *ptr) { const u32 *desc = ptr; @@ -206,8 +203,6 @@ extern int bootloader_type; #define HAVE_ARCH_PICK_MMAP_LAYOUT -extern void disable_TSC(void); - /* * Size of io_bitmap. */ Index: linux-2.6-x86/include/asm-x86/tsc.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/tsc.h +++ linux-2.6-x86/include/asm-x86/tsc.h @@ -16,6 +16,10 @@ typedef unsigned long long cycles_t; extern unsigned int cpu_khz; extern unsigned int tsc_khz; +/* flag for disabling the tsc */ +extern int tsc_disable; + +extern void disable_TSC(void); static inline cycles_t get_cycles(void) { ^ permalink raw reply [flat|nested] 37+ messages in thread
* [PATCH 2/21] [PATCH] get rid of _MASK flags 2007-12-17 22:52 ` [PATCH 1/21] move tsc definitions to were they belong Glauber de Oliveira Costa @ 2007-12-17 22:52 ` Glauber de Oliveira Costa [not found] ` <11979319763641-git-send-email-gcosta@redhat.com> 1 sibling, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland There's no need for the *_MASK flags (TF_MASK, IF_MASK, etc), found in processor.h (both _32 and _64). They have a one-to-one mapping with the EFLAGS value. This patch removes the definitions, and use the already exisant X86_EFLAGS_ version when applicable. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- arch/x86/ia32/ia32_signal.c | 4 ++-- arch/x86/kernel/kprobes_64.c | 20 ++++++++++---------- arch/x86/kernel/signal_64.c | 4 ++-- arch/x86/kernel/traps_64.c | 2 +- include/asm-x86/kprobes.h | 2 +- include/asm-x86/processor.h | 2 ++ include/asm-x86/processor_32.h | 1 - include/asm-x86/processor_64.h | 11 ----------- 8 files changed, 18 insertions(+), 28 deletions(-) Index: linux-2.6-x86/arch/x86/ia32/ia32_signal.c =================================================================== --- linux-2.6-x86.orig/arch/x86/ia32/ia32_signal.c +++ linux-2.6-x86/arch/x86/ia32/ia32_signal.c @@ -501,7 +501,7 @@ int ia32_setup_frame(int sig, struct k_s regs->ss = __USER32_DS; set_fs(USER_DS); - regs->flags &= ~TF_MASK; + regs->flags &= ~X86_EFLAGS_TF; if (test_thread_flag(TIF_SINGLESTEP)) ptrace_notify(SIGTRAP); @@ -601,7 +601,7 @@ int ia32_setup_rt_frame(int sig, struct regs->ss = __USER32_DS; set_fs(USER_DS); - regs->flags &= ~TF_MASK; + regs->flags &= ~X86_EFLAGS_TF; if (test_thread_flag(TIF_SINGLESTEP)) ptrace_notify(SIGTRAP); Index: linux-2.6-x86/arch/x86/kernel/signal_64.c =================================================================== --- linux-2.6-x86.orig/arch/x86/kernel/signal_64.c +++ linux-2.6-x86/arch/x86/kernel/signal_64.c @@ -295,7 +295,7 @@ static int setup_rt_frame(int sig, struc see include/asm-x86_64/uaccess.h for details. */ set_fs(USER_DS); - regs->flags &= ~TF_MASK; + regs->flags &= ~X86_EFLAGS_TF; if (test_thread_flag(TIF_SINGLESTEP)) ptrace_notify(SIGTRAP); #ifdef DEBUG_SIG @@ -463,7 +463,7 @@ do_notify_resume(struct pt_regs *regs, v /* Pending single-step? */ if (thread_info_flags & _TIF_SINGLESTEP) { - regs->flags |= TF_MASK; + regs->flags |= X86_EFLAGS_TF; clear_thread_flag(TIF_SINGLESTEP); } Index: linux-2.6-x86/arch/x86/kernel/traps_64.c =================================================================== --- linux-2.6-x86.orig/arch/x86/kernel/traps_64.c +++ linux-2.6-x86/arch/x86/kernel/traps_64.c @@ -903,7 +903,7 @@ clear_dr7: clear_TF_reenable: set_tsk_thread_flag(tsk, TIF_SINGLESTEP); - regs->flags &= ~TF_MASK; + regs->flags &= ~X86_EFLAGS_TF; preempt_conditional_cli(regs); } Index: linux-2.6-x86/include/asm-x86/kprobes.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/kprobes.h +++ linux-2.6-x86/include/asm-x86/kprobes.h @@ -88,7 +88,7 @@ struct kprobe_ctlblk { */ static inline void restore_interrupts(struct pt_regs *regs) { - if (regs->flags & IF_MASK) + if (regs->flags & X86_EFLAGS_IF) local_irq_enable(); } Index: linux-2.6-x86/include/asm-x86/processor.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor.h +++ linux-2.6-x86/include/asm-x86/processor.h @@ -1,6 +1,8 @@ #ifndef __ASM_X86_PROCESSOR_H #define __ASM_X86_PROCESSOR_H +#include <asm/processor-flags.h> + static inline void native_cpuid(unsigned int *eax, unsigned int *ebx, unsigned int *ecx, unsigned int *edx) { Index: linux-2.6-x86/include/asm-x86/processor_32.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_32.h +++ linux-2.6-x86/include/asm-x86/processor_32.h @@ -19,7 +19,6 @@ #include <asm/percpu.h> #include <linux/cpumask.h> #include <linux/init.h> -#include <asm/processor-flags.h> #include <asm/desc_defs.h> static inline int desc_empty(const void *ptr) Index: linux-2.6-x86/include/asm-x86/processor_64.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_64.h +++ linux-2.6-x86/include/asm-x86/processor_64.h @@ -18,19 +18,8 @@ #include <asm/percpu.h> #include <linux/personality.h> #include <linux/cpumask.h> -#include <asm/processor-flags.h> #include <asm/desc_defs.h> -#define TF_MASK 0x00000100 -#define IF_MASK 0x00000200 -#define IOPL_MASK 0x00003000 -#define NT_MASK 0x00004000 -#define VM_MASK 0x00020000 -#define AC_MASK 0x00040000 -#define VIF_MASK 0x00080000 /* virtual interrupt flag */ -#define VIP_MASK 0x00100000 /* virtual interrupt pending */ -#define ID_MASK 0x00200000 - static inline int desc_empty(const void *ptr) { const u32 *desc = ptr; Index: linux-2.6-x86/arch/x86/kernel/kprobes.c =================================================================== --- linux-2.6-x86.orig/arch/x86/kernel/kprobes.c +++ linux-2.6-x86/arch/x86/kernel/kprobes.c @@ -387,9 +387,9 @@ static void __kprobes set_current_kprobe { __get_cpu_var(current_kprobe) = p; kcb->kprobe_saved_flags = kcb->kprobe_old_flags - = (regs->flags & (TF_MASK | IF_MASK)); + = (regs->flags & (X86_EFLAGS_TF | X86_EFLAGS_IF)); if (is_IF_modifier(p->ainsn.insn)) - kcb->kprobe_saved_flags &= ~IF_MASK; + kcb->kprobe_saved_flags &= ~X86_EFLAGS_IF; } static __always_inline void clear_btf(void) @@ -407,8 +407,8 @@ static __always_inline void restore_btf( static void __kprobes prepare_singlestep(struct kprobe *p, struct pt_regs *regs) { clear_btf(); - regs->flags |= TF_MASK; - regs->flags &= ~IF_MASK; + regs->flags |= X86_EFLAGS_TF; + regs->flags &= ~X86_EFLAGS_IF; /*single step inline if the instruction is an int3*/ if (p->opcode == BREAKPOINT_INSTRUCTION) regs->ip = (unsigned long)p->addr; @@ -454,7 +454,7 @@ static int __kprobes kprobe_handler(stru if (p) { if (kcb->kprobe_status == KPROBE_HIT_SS && *p->ainsn.insn == BREAKPOINT_INSTRUCTION) { - regs->flags &= ~TF_MASK; + regs->flags &= ~X86_EFLAGS_TF; regs->flags |= kcb->kprobe_saved_flags; goto no_kprobe; #ifdef CONFIG_X86_64 @@ -749,10 +749,10 @@ static void __kprobes resume_execution(s insn++; #endif - regs->flags &= ~TF_MASK; + regs->flags &= ~X86_EFLAGS_TF; switch (*insn) { case 0x9c: /* pushfl */ - *tos &= ~(TF_MASK | IF_MASK); + *tos &= ~(X86_EFLAGS_TF | X86_EFLAGS_IF); *tos |= kcb->kprobe_old_flags; break; case 0xc2: /* iret/ret/lret */ @@ -852,7 +852,7 @@ out: * will have TF set, in which case, continue the remaining processing * of do_debug, as if this is not a probe hit. */ - if (regs->flags & TF_MASK) + if (regs->flags & X86_EFLAGS_TF) return 0; return 1; @@ -982,7 +982,7 @@ int __kprobes setjmp_pre_handler(struct */ memcpy(kcb->jprobes_stack, (kprobe_opcode_t *)addr, MIN_STACK_SIZE(addr)); - regs->flags &= ~IF_MASK; + regs->flags &= ~X86_EFLAGS_IF; trace_hardirqs_off(); regs->ip = (unsigned long)(jp->entry); return 1; ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <11979319763641-git-send-email-gcosta@redhat.com>]
* [PATCH 3/21] [PATCH] move desc_empty to where they belong [not found] ` <11979319763641-git-send-email-gcosta@redhat.com> @ 2007-12-17 22:52 ` Glauber de Oliveira Costa 2007-12-17 22:52 ` [PATCH 4/21] [PATCH] move load_cr3 to a common place Glauber de Oliveira Costa ` (3 more replies) 0 siblings, 4 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland This patch moves the (duplicated) desc_empty implementation to desc.h, where the descriptor things belong. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- include/asm-x86/desc.h | 6 ++++++ include/asm-x86/processor_32.h | 6 ------ include/asm-x86/processor_64.h | 6 ------ 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/include/asm-x86/desc.h b/include/asm-x86/desc.h index 161a6d6..6c781bf 100644 --- a/include/asm-x86/desc.h +++ b/include/asm-x86/desc.h @@ -71,6 +71,12 @@ static inline void pack_gate(gate_desc *gate, unsigned char type, #endif +static inline int desc_empty(const void *ptr) +{ + const u32 *desc = ptr; + return !(desc[0] | desc[1]); +} + #ifdef CONFIG_PARAVIRT #include <asm/paravirt.h> #else diff --git a/include/asm-x86/processor_32.h b/include/asm-x86/processor_32.h index b9dbe46..cadeffb 100644 --- a/include/asm-x86/processor_32.h +++ b/include/asm-x86/processor_32.h @@ -21,12 +21,6 @@ #include <linux/init.h> #include <asm/desc_defs.h> -static inline int desc_empty(const void *ptr) -{ - const u32 *desc = ptr; - return !(desc[0] | desc[1]); -} - /* * Default implementation of macro that returns current * instruction pointer ("program counter"). diff --git a/include/asm-x86/processor_64.h b/include/asm-x86/processor_64.h index a5d06d7..6207292 100644 --- a/include/asm-x86/processor_64.h +++ b/include/asm-x86/processor_64.h @@ -20,12 +20,6 @@ #include <linux/cpumask.h> #include <asm/desc_defs.h> -static inline int desc_empty(const void *ptr) -{ - const u32 *desc = ptr; - return !(desc[0] | desc[1]); -} - /* * Default implementation of macro that returns current * instruction pointer ("program counter"). -- 1.4.4.2 ^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 4/21] [PATCH] move load_cr3 to a common place. 2007-12-17 22:52 ` [PATCH 3/21] [PATCH] move desc_empty to where they belong Glauber de Oliveira Costa @ 2007-12-17 22:52 ` Glauber de Oliveira Costa [not found] ` <11979319853319-git-send-email-gcosta@redhat.com> ` (2 subsequent siblings) 3 siblings, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland There are currently two definitions of load_cr3, that essentially do the same thing. This patch moves them all to processor.h. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- include/asm-x86/mmu_context_64.h | 5 ----- include/asm-x86/processor.h | 7 +++++++ include/asm-x86/processor_32.h | 1 - 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/include/asm-x86/mmu_context_64.h b/include/asm-x86/mmu_context_64.h index 98bfe43..7e2aa23 100644 --- a/include/asm-x86/mmu_context_64.h +++ b/include/asm-x86/mmu_context_64.h @@ -23,11 +23,6 @@ static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) #endif } -static inline void load_cr3(pgd_t *pgd) -{ - asm volatile("movq %0,%%cr3" :: "r" (__pa(pgd)) : "memory"); -} - static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next, struct task_struct *tsk) { diff --git a/include/asm-x86/processor.h b/include/asm-x86/processor.h index e8dd394..36ee988 100644 --- a/include/asm-x86/processor.h +++ b/include/asm-x86/processor.h @@ -3,6 +3,9 @@ #include <asm/processor-flags.h> +#include <asm/page.h> +#include <asm/system.h> + static inline void native_cpuid(unsigned int *eax, unsigned int *ebx, unsigned int *ecx, unsigned int *edx) { @@ -15,6 +18,10 @@ static inline void native_cpuid(unsigned int *eax, unsigned int *ebx, : "0" (*eax), "2" (*ecx)); } +static inline void load_cr3(pgd_t *pgdir) +{ + write_cr3(__pa(pgdir)); +} #ifdef CONFIG_X86_32 # include "processor_32.h" diff --git a/include/asm-x86/processor_32.h b/include/asm-x86/processor_32.h index cadeffb..b586902 100644 --- a/include/asm-x86/processor_32.h +++ b/include/asm-x86/processor_32.h @@ -120,7 +120,6 @@ extern void detect_ht(struct cpuinfo_x86 *c); static inline void detect_ht(struct cpuinfo_x86 *c) {} #endif -#define load_cr3(pgdir) write_cr3(__pa(pgdir)) /* * Save the cr4 feature set we're using (ie -- 1.4.4.2 ^ permalink raw reply related [flat|nested] 37+ messages in thread
[parent not found: <11979319853319-git-send-email-gcosta@redhat.com>]
* [PATCH 5/21] [PATCH] unify paravirt pieces of processor.h [not found] ` <11979319853319-git-send-email-gcosta@redhat.com> @ 2007-12-17 22:52 ` Glauber de Oliveira Costa [not found] ` <11979319903443-git-send-email-gcosta@redhat.com> 1 sibling, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland This patch unifies the paravirt pieces of processor.h The functionality present in 32 bit, but not (yet) in 64-bit, like load_sp0 is _not_ done here, and let to a different patch. With this unification, we get paravirt for free in x86_64 processor.h Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- include/asm-x86/processor.h | 90 +++++++++++++++++++++++++++++++++++++++- include/asm-x86/processor_32.h | 87 -------------------------------------- include/asm-x86/processor_64.h | 36 ---------------- 3 files changed, 89 insertions(+), 124 deletions(-) Index: linux-2.6-x86/include/asm-x86/processor.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor.h +++ linux-2.6-x86/include/asm-x86/processor.h @@ -29,9 +29,97 @@ static inline void load_cr3(pgd_t *pgdir # include "processor_64.h" #endif +static inline unsigned long native_get_debugreg(int regno) +{ + unsigned long val = 0; /* Damn you, gcc! */ + + switch (regno) { + case 0: + asm("mov %%db0, %0" :"=r" (val)); break; + case 1: + asm("mov %%db1, %0" :"=r" (val)); break; + case 2: + asm("mov %%db2, %0" :"=r" (val)); break; + case 3: + asm("mov %%db3, %0" :"=r" (val)); break; + case 6: + asm("mov %%db6, %0" :"=r" (val)); break; + case 7: + asm("mov %%db7, %0" :"=r" (val)); break; + default: + BUG(); + } + return val; +} + +static inline void native_set_debugreg(int regno, unsigned long value) +{ + switch (regno) { + case 0: + asm("mov %0,%%db0" : /* no output */ :"r" (value)); + break; + case 1: + asm("mov %0,%%db1" : /* no output */ :"r" (value)); + break; + case 2: + asm("mov %0,%%db2" : /* no output */ :"r" (value)); + break; + case 3: + asm("mov %0,%%db3" : /* no output */ :"r" (value)); + break; + case 6: + asm("mov %0,%%db6" : /* no output */ :"r" (value)); + break; + case 7: + asm("mov %0,%%db7" : /* no output */ :"r" (value)); + break; + default: + BUG(); + } +} + + #ifndef CONFIG_PARAVIRT #define __cpuid native_cpuid -#endif +#define paravirt_enabled() 0 + +/* + * These special macros can be used to get or set a debugging register + */ +#define get_debugreg(var, register) \ + (var) = native_get_debugreg(register) +#define set_debugreg(value, register) \ + native_set_debugreg(register, value) + +#endif /* CONFIG_PARAVIRT */ + +/* + * Save the cr4 feature set we're using (ie + * Pentium 4MB enable and PPro Global page + * enable), so that any CPU's that boot up + * after us can get the correct flags. + */ +extern unsigned long mmu_cr4_features; + +static inline void set_in_cr4(unsigned long mask) +{ + unsigned cr4; + mmu_cr4_features |= mask; + cr4 = read_cr4(); + cr4 |= mask; + write_cr4(cr4); +} + +static inline void clear_in_cr4(unsigned long mask) +{ + unsigned cr4; + mmu_cr4_features &= ~mask; + cr4 = read_cr4(); + cr4 &= ~mask; + write_cr4(cr4); +} + + /* * Generic CPUID function Index: linux-2.6-x86/include/asm-x86/processor_32.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_32.h +++ linux-2.6-x86/include/asm-x86/processor_32.h @@ -120,33 +120,6 @@ extern void detect_ht(struct cpuinfo_x86 static inline void detect_ht(struct cpuinfo_x86 *c) {} #endif - -/* - * Save the cr4 feature set we're using (ie - * Pentium 4MB enable and PPro Global page - * enable), so that any CPU's that boot up - * after us can get the correct flags. - */ -extern unsigned long mmu_cr4_features; - -static inline void set_in_cr4 (unsigned long mask) -{ - unsigned cr4; - mmu_cr4_features |= mask; - cr4 = read_cr4(); - cr4 |= mask; - write_cr4(cr4); -} - -static inline void clear_in_cr4 (unsigned long mask) -{ - unsigned cr4; - mmu_cr4_features &= ~mask; - cr4 = read_cr4(); - cr4 &= ~mask; - write_cr4(cr4); -} - /* Stop speculative execution */ static inline void sync_core(void) { @@ -484,57 +457,6 @@ static inline void native_load_sp0(struc wrmsr(MSR_IA32_SYSENTER_CS, thread->sysenter_cs, 0); } } - - -static inline unsigned long native_get_debugreg(int regno) -{ - unsigned long val = 0; /* Damn you, gcc! */ - - switch (regno) { - case 0: - asm("movl %%db0, %0" :"=r" (val)); break; - case 1: - asm("movl %%db1, %0" :"=r" (val)); break; - case 2: - asm("movl %%db2, %0" :"=r" (val)); break; - case 3: - asm("movl %%db3, %0" :"=r" (val)); break; - case 6: - asm("movl %%db6, %0" :"=r" (val)); break; - case 7: - asm("movl %%db7, %0" :"=r" (val)); break; - default: - BUG(); - } - return val; -} - -static inline void native_set_debugreg(int regno, unsigned long value) -{ - switch (regno) { - case 0: - asm("movl %0,%%db0" : /* no output */ :"r" (value)); - break; - case 1: - asm("movl %0,%%db1" : /* no output */ :"r" (value)); - break; - case 2: - asm("movl %0,%%db2" : /* no output */ :"r" (value)); - break; - case 3: - asm("movl %0,%%db3" : /* no output */ :"r" (value)); - break; - case 6: - asm("movl %0,%%db6" : /* no output */ :"r" (value)); - break; - case 7: - asm("movl %0,%%db7" : /* no output */ :"r" (value)); - break; - default: - BUG(); - } -} - /* * Set IOPL bits in EFLAGS from given mask */ @@ -554,21 +476,12 @@ static inline void native_set_iopl_mask( #ifdef CONFIG_PARAVIRT #include <asm/paravirt.h> #else -#define paravirt_enabled() 0 static inline void load_sp0(struct tss_struct *tss, struct thread_struct *thread) { native_load_sp0(tss, thread); } -/* - * These special macros can be used to get or set a debugging register - */ -#define get_debugreg(var, register) \ - (var) = native_get_debugreg(register) -#define set_debugreg(value, register) \ - native_set_debugreg(register, value) - #define set_iopl_mask native_set_iopl_mask #endif /* CONFIG_PARAVIRT */ Index: linux-2.6-x86/include/asm-x86/processor_64.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_64.h +++ linux-2.6-x86/include/asm-x86/processor_64.h @@ -88,34 +88,6 @@ extern void init_scattered_cpuid_feature extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c); extern unsigned short num_cache_leaves; -/* - * Save the cr4 feature set we're using (ie - * Pentium 4MB enable and PPro Global page - * enable), so that any CPU's that boot up - * after us can get the correct flags. - */ -extern unsigned long mmu_cr4_features; - -static inline void set_in_cr4 (unsigned long mask) -{ - mmu_cr4_features |= mask; - __asm__("movq %%cr4,%%rax\n\t" - "orq %0,%%rax\n\t" - "movq %%rax,%%cr4\n" - : : "irg" (mask) - :"ax"); -} - -static inline void clear_in_cr4 (unsigned long mask) -{ - mmu_cr4_features &= ~mask; - __asm__("movq %%cr4,%%rax\n\t" - "andq %0,%%rax\n\t" - "movq %%rax,%%cr4\n" - : : "irg" (~mask) - :"ax"); -} - /* * User space process size. 47bits minus one guard page. @@ -254,14 +226,6 @@ struct thread_struct { set_fs(USER_DS); \ } while(0) -#define get_debugreg(var, register) \ - __asm__("movq %%db" #register ", %0" \ - :"=r" (var)) -#define set_debugreg(value, register) \ - __asm__("movq %0,%%db" #register \ - : /* no output */ \ - :"r" (value)) - struct task_struct; struct mm_struct; ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <11979319903443-git-send-email-gcosta@redhat.com>]
* [PATCH 6/21] [PATCH] move the definition of set_iopl_mask to common header [not found] ` <11979319903443-git-send-email-gcosta@redhat.com> @ 2007-12-17 22:52 ` Glauber de Oliveira Costa [not found] ` <11979319953427-git-send-email-gcosta@redhat.com> 1 sibling, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland This patch moves the definition of set_iopl_mask to processor.h, instead of letting it at processor_32.h. For x86_64, nothing is done, as we don't really need such a function. However, having it on both arches saves us from putting an ifdef in the pv_cpu_ops struct. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- include/asm-x86/processor.h | 19 +++++++++++++++++++ include/asm-x86/processor_32.h | 17 ----------------- 2 files changed, 19 insertions(+), 17 deletions(-) Index: linux-2.6-x86/include/asm-x86/processor.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor.h +++ linux-2.6-x86/include/asm-x86/processor.h @@ -78,6 +78,24 @@ static inline void native_set_debugreg(i } } +/* + * Set IOPL bits in EFLAGS from given mask + */ +static inline void native_set_iopl_mask(unsigned mask) +{ +#ifdef CONFIG_X86_32 + unsigned int reg; + __asm__ __volatile__ ("pushfl;" + "popl %0;" + "andl %1, %0;" + "orl %2, %0;" + "pushl %0;" + "popfl" + : "=&r" (reg) + : "i" (~X86_EFLAGS_IOPL), "r" (mask)); +#endif +} + #ifndef CONFIG_PARAVIRT #define __cpuid native_cpuid @@ -91,6 +109,7 @@ static inline void native_set_debugreg(i #define set_debugreg(value, register) \ native_set_debugreg(register, value) +#define set_iopl_mask native_set_iopl_mask #endif /* CONFIG_PARAVIRT */ /* Index: linux-2.6-x86/include/asm-x86/processor_32.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_32.h +++ linux-2.6-x86/include/asm-x86/processor_32.h @@ -455,21 +455,6 @@ static inline void native_load_sp0(struc wrmsr(MSR_IA32_SYSENTER_CS, thread->sysenter_cs, 0); } } -/* - * Set IOPL bits in EFLAGS from given mask - */ -static inline void native_set_iopl_mask(unsigned mask) -{ - unsigned int reg; - __asm__ __volatile__ ("pushfl;" - "popl %0;" - "andl %1, %0;" - "orl %2, %0;" - "pushl %0;" - "popfl" - : "=&r" (reg) - : "i" (~X86_EFLAGS_IOPL), "r" (mask)); -} #ifdef CONFIG_PARAVIRT #include <asm/paravirt.h> @@ -479,8 +464,6 @@ static inline void load_sp0(struct tss_s { native_load_sp0(tss, thread); } - -#define set_iopl_mask native_set_iopl_mask #endif /* CONFIG_PARAVIRT */ /* generic versions from gas */ ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <11979319953427-git-send-email-gcosta@redhat.com>]
* [PATCH 7/21] [PATCH] unify common parts of processor.h [not found] ` <11979319953427-git-send-email-gcosta@redhat.com> @ 2007-12-17 22:52 ` Glauber de Oliveira Costa [not found] ` <11979320011968-git-send-email-gcosta@redhat.com> 1 sibling, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland This patch moves the pieces of processor_32.h and processor_64 that are equal to processor.h. Only what's exactly the same is moved around, the rest not being touched. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- include/asm-x86/processor.h | 116 ++++++++++++++++++++++++++++++++++++++++ include/asm-x86/processor_32.h | 111 -------------------------------------- include/asm-x86/processor_64.h | 116 ---------------------------------------- 3 files changed, 116 insertions(+), 227 deletions(-) Index: linux-2.6-x86/include/asm-x86/processor.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor.h +++ linux-2.6-x86/include/asm-x86/processor.h @@ -29,6 +29,11 @@ static inline void load_cr3(pgd_t *pgdir # include "processor_64.h" #endif +extern void print_cpu_info(struct cpuinfo_x86 *); +extern void init_scattered_cpuid_features(struct cpuinfo_x86 *c); +extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c); +extern unsigned short num_cache_leaves; + static inline unsigned long native_get_debugreg(int regno) { unsigned long val = 0; /* Damn you, gcc! */ @@ -138,7 +143,53 @@ static inline void clear_in_cr4(unsigned write_cr4(cr4); } +struct microcode_header { + unsigned int hdrver; + unsigned int rev; + unsigned int date; + unsigned int sig; + unsigned int cksum; + unsigned int ldrver; + unsigned int pf; + unsigned int datasize; + unsigned int totalsize; + unsigned int reserved[3]; +}; + +struct microcode { + struct microcode_header hdr; + unsigned int bits[0]; +}; + +typedef struct microcode microcode_t; +typedef struct microcode_header microcode_header_t; + +/* microcode format is extended from prescott processors */ +struct extended_signature { + unsigned int sig; + unsigned int pf; + unsigned int cksum; +}; + +struct extended_sigtable { + unsigned int count; + unsigned int cksum; + unsigned int reserved[3]; + struct extended_signature sigs[0]; +}; + +/* + * create a kernel thread without removing it from tasklists + */ +extern int kernel_thread(int (*fn)(void *), void *arg, unsigned long flags); + +/* Free all resources held by a thread. */ +extern void release_thread(struct task_struct *); + +/* Prepare to copy thread state - unlazy all lazy status */ +extern void prepare_to_copy(struct task_struct *tsk); +unsigned long get_wchan(struct task_struct *p); /* * Generic CPUID function @@ -196,4 +247,69 @@ static inline unsigned int cpuid_edx(uns return edx; } +/* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */ +static inline void rep_nop(void) +{ + __asm__ __volatile__("rep;nop": : :"memory"); +} + +/* Stop speculative execution */ +static inline void sync_core(void) +{ + int tmp; + asm volatile("cpuid" : "=a" (tmp) : "0" (1) + : "ebx", "ecx", "edx", "memory"); +} + +#define cpu_relax() rep_nop() + +static inline void __monitor(const void *eax, unsigned long ecx, + unsigned long edx) +{ + /* "monitor %eax,%ecx,%edx;" */ + asm volatile( + ".byte 0x0f,0x01,0xc8;" + : :"a" (eax), "c" (ecx), "d"(edx)); +} + +static inline void __mwait(unsigned long eax, unsigned long ecx) +{ + /* "mwait %eax,%ecx;" */ + asm volatile( + ".byte 0x0f,0x01,0xc9;" + : :"a" (eax), "c" (ecx)); +} + +static inline void __sti_mwait(unsigned long eax, unsigned long ecx) +{ + /* "mwait %eax,%ecx;" */ + asm volatile( + "sti; .byte 0x0f,0x01,0xc9;" + : :"a" (eax), "c" (ecx)); +} + +extern void mwait_idle_with_hints(unsigned long eax, unsigned long ecx); + +extern int force_mwait; + +extern void select_idle_routine(const struct cpuinfo_x86 *c); + +extern unsigned long boot_option_idle_override; + +/* Boot loader type from the setup header */ +extern int bootloader_type; +#define cache_line_size() (boot_cpu_data.x86_cache_alignment) + +#define HAVE_ARCH_PICK_MMAP_LAYOUT 1 +#define ARCH_HAS_PREFETCHW +#define ARCH_HAS_SPINLOCK_PREFETCH + +#define spin_lock_prefetch(x) prefetchw(x) +/* This decides where the kernel will search for a free chunk of vm + * space during mmap's. + */ +#define TASK_UNMAPPED_BASE (PAGE_ALIGN(TASK_SIZE / 3)) + +#define KSTK_EIP(task) (task_pt_regs(task)->ip) + #endif Index: linux-2.6-x86/include/asm-x86/processor_32.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_32.h +++ linux-2.6-x86/include/asm-x86/processor_32.h @@ -109,10 +109,6 @@ void __init cpu_detect(struct cpuinfo_x8 extern void identify_boot_cpu(void); extern void identify_secondary_cpu(struct cpuinfo_x86 *); -extern void print_cpu_info(struct cpuinfo_x86 *); -extern void init_scattered_cpuid_features(struct cpuinfo_x86 *c); -extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c); -extern unsigned short num_cache_leaves; #ifdef CONFIG_X86_HT extern void detect_ht(struct cpuinfo_x86 *c); @@ -120,32 +116,6 @@ extern void detect_ht(struct cpuinfo_x86 static inline void detect_ht(struct cpuinfo_x86 *c) {} #endif -/* Stop speculative execution */ -static inline void sync_core(void) -{ - int tmp; - asm volatile("cpuid" : "=a" (tmp) : "0" (1) : "ebx","ecx","edx","memory"); -} - -static inline void __monitor(const void *eax, unsigned long ecx, - unsigned long edx) -{ - /* "monitor %eax,%ecx,%edx;" */ - asm volatile( - ".byte 0x0f,0x01,0xc8;" - : :"a" (eax), "c" (ecx), "d"(edx)); -} - -static inline void __mwait(unsigned long eax, unsigned long ecx) -{ - /* "mwait %eax,%ecx;" */ - asm volatile( - ".byte 0x0f,0x01,0xc9;" - : :"a" (eax), "c" (ecx)); -} - -extern void mwait_idle_with_hints(unsigned long eax, unsigned long ecx); - /* from system description table in BIOS. Mostly for MCA use, but others may find it useful. */ extern unsigned int machine_id; @@ -153,20 +123,11 @@ extern unsigned int machine_submodel_id; extern unsigned int BIOS_revision; extern unsigned int mca_pentium_flag; -/* Boot loader type from the setup header */ -extern int bootloader_type; - /* * User space process size: 3GB (default). */ #define TASK_SIZE (PAGE_OFFSET) -/* This decides where the kernel will search for a free chunk of vm - * space during mmap's. - */ -#define TASK_UNMAPPED_BASE (PAGE_ALIGN(TASK_SIZE / 3)) - -#define HAVE_ARCH_PICK_MMAP_LAYOUT /* * Size of io_bitmap. @@ -356,25 +317,9 @@ struct thread_struct { regs->sp = new_esp; \ } while (0) -/* Forward declaration, a strange C thing */ -struct task_struct; -struct mm_struct; - -/* Free all resources held by a thread. */ -extern void release_thread(struct task_struct *); - -/* Prepare to copy thread state - unlazy all lazy status */ -extern void prepare_to_copy(struct task_struct *tsk); - -/* - * create a kernel thread without removing it from tasklists - */ -extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags); extern unsigned long thread_saved_pc(struct task_struct *tsk); -unsigned long get_wchan(struct task_struct *p); - #define THREAD_SIZE_LONGS (THREAD_SIZE/sizeof(unsigned long)) #define KSTK_TOP(info) \ ({ \ @@ -399,53 +344,8 @@ unsigned long get_wchan(struct task_stru __regs__ - 1; \ }) -#define KSTK_EIP(task) (task_pt_regs(task)->ip) #define KSTK_ESP(task) (task_pt_regs(task)->sp) - -struct microcode_header { - unsigned int hdrver; - unsigned int rev; - unsigned int date; - unsigned int sig; - unsigned int cksum; - unsigned int ldrver; - unsigned int pf; - unsigned int datasize; - unsigned int totalsize; - unsigned int reserved[3]; -}; - -struct microcode { - struct microcode_header hdr; - unsigned int bits[0]; -}; - -typedef struct microcode microcode_t; -typedef struct microcode_header microcode_header_t; - -/* microcode format is extended from prescott processors */ -struct extended_signature { - unsigned int sig; - unsigned int pf; - unsigned int cksum; -}; - -struct extended_sigtable { - unsigned int count; - unsigned int cksum; - unsigned int reserved[3]; - struct extended_signature sigs[0]; -}; - -/* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */ -static inline void rep_nop(void) -{ - __asm__ __volatile__("rep;nop": : :"memory"); -} - -#define cpu_relax() rep_nop() - static inline void native_load_sp0(struct tss_struct *tss, struct thread_struct *thread) { tss->x86_tss.sp0 = thread->sp0; @@ -555,7 +455,6 @@ static inline void load_sp0(struct tss_s because they are microcoded there and very slow. However we don't do prefetches for pre XP Athlons currently That should be fixed. */ -#define ARCH_HAS_PREFETCH static inline void prefetch(const void *x) { alternative_input(ASM_NOP4, @@ -565,8 +464,6 @@ static inline void prefetch(const void * } #define ARCH_HAS_PREFETCH -#define ARCH_HAS_PREFETCHW -#define ARCH_HAS_SPINLOCK_PREFETCH /* 3dnow! prefetch to get an exclusive cache line. Useful for spinlocks to avoid one state transition in the cache coherency protocol. */ @@ -577,13 +474,7 @@ static inline void prefetchw(const void X86_FEATURE_3DNOW, "r" (x)); } -#define spin_lock_prefetch(x) prefetchw(x) - -extern void select_idle_routine(const struct cpuinfo_x86 *c); -#define cache_line_size() (boot_cpu_data.x86_cache_alignment) - -extern unsigned long boot_option_idle_override; extern void enable_sep_cpu(void); extern int sysenter_setup(void); @@ -595,6 +486,4 @@ extern void switch_to_new_gdt(void); extern void cpu_init(void); extern void init_gdt(int cpu); -extern int force_mwait; - #endif /* __ASM_I386_PROCESSOR_H */ Index: linux-2.6-x86/include/asm-x86/processor_64.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_64.h +++ linux-2.6-x86/include/asm-x86/processor_64.h @@ -83,11 +83,6 @@ DECLARE_PER_CPU(struct cpuinfo_x86, cpu_ extern char ignore_irq13; extern void identify_cpu(struct cpuinfo_x86 *); -extern void print_cpu_info(struct cpuinfo_x86 *); -extern void init_scattered_cpuid_features(struct cpuinfo_x86 *c); -extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c); -extern unsigned short num_cache_leaves; - /* * User space process size. 47bits minus one guard page. @@ -102,8 +97,6 @@ extern unsigned short num_cache_leaves; #define TASK_SIZE (test_thread_flag(TIF_IA32) ? IA32_PAGE_OFFSET : TASK_SIZE64) #define TASK_SIZE_OF(child) ((test_tsk_thread_flag(child, TIF_IA32)) ? IA32_PAGE_OFFSET : TASK_SIZE64) -#define TASK_UNMAPPED_BASE PAGE_ALIGN(TASK_SIZE/3) - /* * Size of io_bitmap. */ @@ -226,68 +219,16 @@ struct thread_struct { set_fs(USER_DS); \ } while(0) -struct task_struct; -struct mm_struct; - -/* Free all resources held by a thread. */ -extern void release_thread(struct task_struct *); - -/* Prepare to copy thread state - unlazy all lazy status */ -extern void prepare_to_copy(struct task_struct *tsk); - -/* - * create a kernel thread without removing it from tasklists - */ -extern long kernel_thread(int (*fn)(void *), void * arg, unsigned long flags); - /* * Return saved PC of a blocked thread. * What is this good for? it will be always the scheduler or ret_from_fork. */ #define thread_saved_pc(t) (*(unsigned long *)((t)->thread.sp - 8)) -extern unsigned long get_wchan(struct task_struct *p); #define task_pt_regs(tsk) ((struct pt_regs *)(tsk)->thread.sp0 - 1) -#define KSTK_EIP(tsk) (task_pt_regs(tsk)->ip) #define KSTK_ESP(tsk) -1 /* sorry. doesn't work for syscall. */ -struct microcode_header { - unsigned int hdrver; - unsigned int rev; - unsigned int date; - unsigned int sig; - unsigned int cksum; - unsigned int ldrver; - unsigned int pf; - unsigned int datasize; - unsigned int totalsize; - unsigned int reserved[3]; -}; - -struct microcode { - struct microcode_header hdr; - unsigned int bits[0]; -}; - -typedef struct microcode microcode_t; -typedef struct microcode_header microcode_header_t; - -/* microcode format is extended from prescott processors */ -struct extended_signature { - unsigned int sig; - unsigned int pf; - unsigned int cksum; -}; - -struct extended_sigtable { - unsigned int count; - unsigned int cksum; - unsigned int reserved[3]; - struct extended_signature sigs[0]; -}; - - #if defined(CONFIG_MPSC) || defined(CONFIG_MCORE2) #define ASM_NOP1 P6_NOP1 #define ASM_NOP2 P6_NOP2 @@ -331,20 +272,6 @@ struct extended_sigtable { #define ASM_NOP_MAX 8 -/* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */ -static inline void rep_nop(void) -{ - __asm__ __volatile__("rep;nop": : :"memory"); -} - -/* Stop speculative execution */ -static inline void sync_core(void) -{ - int tmp; - asm volatile("cpuid" : "=a" (tmp) : "0" (1) : "ebx","ecx","edx","memory"); -} - -#define ARCH_HAS_PREFETCHW 1 static inline void prefetchw(void *x) { alternative_input("prefetcht0 (%1)", @@ -353,42 +280,6 @@ static inline void prefetchw(void *x) "r" (x)); } -#define ARCH_HAS_SPINLOCK_PREFETCH 1 - -#define spin_lock_prefetch(x) prefetchw(x) - -#define cpu_relax() rep_nop() - -static inline void __monitor(const void *eax, unsigned long ecx, - unsigned long edx) -{ - /* "monitor %eax,%ecx,%edx;" */ - asm volatile( - ".byte 0x0f,0x01,0xc8;" - : :"a" (eax), "c" (ecx), "d"(edx)); -} - -static inline void __mwait(unsigned long eax, unsigned long ecx) -{ - /* "mwait %eax,%ecx;" */ - asm volatile( - ".byte 0x0f,0x01,0xc9;" - : :"a" (eax), "c" (ecx)); -} - -static inline void __sti_mwait(unsigned long eax, unsigned long ecx) -{ - /* "mwait %eax,%ecx;" */ - asm volatile( - "sti; .byte 0x0f,0x01,0xc9;" - : :"a" (eax), "c" (ecx)); -} - -extern void mwait_idle_with_hints(unsigned long eax, unsigned long ecx); - -extern int force_mwait; - -extern void select_idle_routine(const struct cpuinfo_x86 *c); #define stack_current() \ ({ \ @@ -397,12 +288,5 @@ extern void select_idle_routine(const st ti->task; \ }) -#define cache_line_size() (boot_cpu_data.x86_cache_alignment) - -extern unsigned long boot_option_idle_override; -/* Boot loader type from the setup header */ -extern int bootloader_type; - -#define HAVE_ARCH_PICK_MMAP_LAYOUT 1 #endif /* __ASM_X86_64_PROCESSOR_H */ ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <11979320011968-git-send-email-gcosta@redhat.com>]
* [PATCH 8/21] [PATCH] unify current_text_addr [not found] ` <11979320011968-git-send-email-gcosta@redhat.com> @ 2007-12-17 22:52 ` Glauber de Oliveira Costa [not found] ` <1197932006634-git-send-email-gcosta@redhat.com> ` (2 subsequent siblings) 3 siblings, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland current_text_addr() has a different implementation in x86_64 and i386, but it is not fundamentally different. I stick to the i386 implementation, that seem to be a common base, and move it to processor.h Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- include/asm-x86/processor.h | 11 +++++++++++ include/asm-x86/processor_32.h | 6 ------ include/asm-x86/processor_64.h | 6 ------ 3 files changed, 11 insertions(+), 12 deletions(-) Index: linux-2.6-x86/include/asm-x86/processor.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor.h +++ linux-2.6-x86/include/asm-x86/processor.h @@ -6,6 +6,17 @@ #include <asm/page.h> #include <asm/system.h> +/* + * Default implementation of macro that returns current + * instruction pointer ("program counter"). + */ +static inline void *current_text_addr(void) +{ + void *pc; + asm volatile("mov $1f,%0\n1:":"=r" (pc)); + return pc; +} + static inline void native_cpuid(unsigned int *eax, unsigned int *ebx, unsigned int *ecx, unsigned int *edx) { Index: linux-2.6-x86/include/asm-x86/processor_32.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_32.h +++ linux-2.6-x86/include/asm-x86/processor_32.h @@ -22,12 +22,6 @@ #include <asm/desc_defs.h> /* - * Default implementation of macro that returns current - * instruction pointer ("program counter"). - */ -#define current_text_addr() ({ void *pc; __asm__("movl $1f,%0\n1:":"=g" (pc)); pc; }) - -/* * CPU type and hardware bug flags. Kept separately for each CPU. * Members of this structure are referenced in head.S, so think twice * before touching them. [mj] Index: linux-2.6-x86/include/asm-x86/processor_64.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_64.h +++ linux-2.6-x86/include/asm-x86/processor_64.h @@ -21,12 +21,6 @@ #include <asm/desc_defs.h> /* - * Default implementation of macro that returns current - * instruction pointer ("program counter"). - */ -#define current_text_addr() ({ void *pc; asm volatile("leaq 1f(%%rip),%0\n1:":"=r"(pc)); pc; }) - -/* * CPU type and hardware bug flags. Kept separately for each CPU. */ ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <1197932006634-git-send-email-gcosta@redhat.com>]
* [PATCH 9/21] [PATCH] unify tss_struct [not found] ` <1197932006634-git-send-email-gcosta@redhat.com> @ 2007-12-17 22:52 ` Glauber de Oliveira Costa [not found] ` <11979320114180-git-send-email-gcosta@redhat.com> 1 sibling, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland Although slighly different, the tss_struct is very similar in x86_64 and i386. The really different part, which matchs the hardware vision of it, is now called x86_hw_tss, and each of the architectures provides yours. It's then used as a field in the outter tss_struct. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- arch/x86/kernel/asm-offsets_64.c | 2 +- arch/x86/kernel/doublefault_32.c | 2 +- arch/x86/kernel/process_64.c | 2 +- arch/x86/kernel/setup64.c | 4 +- arch/x86/kernel/smpboot_64.c | 2 +- include/asm-x86/lguest.h | 2 +- include/asm-x86/processor.h | 77 ++++++++++++++++++++++++++++++++++++++ include/asm-x86/processor_32.h | 62 ------------------------------ include/asm-x86/processor_64.h | 35 +----------------- 9 files changed, 85 insertions(+), 103 deletions(-) Index: linux-2.6-x86/arch/x86/kernel/asm-offsets_64.c =================================================================== --- linux-2.6-x86.orig/arch/x86/kernel/asm-offsets_64.c +++ linux-2.6-x86/arch/x86/kernel/asm-offsets_64.c @@ -109,7 +109,7 @@ int main(void) ENTRY(cr4); BLANK(); #undef ENTRY - DEFINE(TSS_ist, offsetof(struct tss_struct, ist)); + DEFINE(TSS_ist, offsetof(struct tss_struct, x86_tss.ist)); BLANK(); DEFINE(crypto_tfm_ctx_offset, offsetof(struct crypto_tfm, __crt_ctx)); BLANK(); Index: linux-2.6-x86/arch/x86/kernel/doublefault_32.c =================================================================== --- linux-2.6-x86.orig/arch/x86/kernel/doublefault_32.c +++ linux-2.6-x86/arch/x86/kernel/doublefault_32.c @@ -33,7 +33,7 @@ static void doublefault_fn(void) printk(KERN_EMERG "double fault, tss at %08lx\n", tss); if (ptr_ok(tss)) { - struct i386_hw_tss *t = (struct i386_hw_tss *)tss; + struct x86_hw_tss *t = (struct x86_hw_tss *)tss; printk(KERN_EMERG "eip = %08lx, esp = %08lx\n", t->ip, t->sp); Index: linux-2.6-x86/arch/x86/kernel/process_64.c =================================================================== --- linux-2.6-x86.orig/arch/x86/kernel/process_64.c +++ linux-2.6-x86/arch/x86/kernel/process_64.c @@ -628,7 +628,7 @@ __switch_to(struct task_struct *prev_p, /* * Reload esp0, LDT and the page table pointer: */ - tss->sp0 = next->sp0; + tss->x86_tss.sp0 = next->sp0; /* * Switch DS and ES. Index: linux-2.6-x86/arch/x86/kernel/setup64.c =================================================================== --- linux-2.6-x86.orig/arch/x86/kernel/setup64.c +++ linux-2.6-x86/arch/x86/kernel/setup64.c @@ -258,10 +258,10 @@ void __cpuinit cpu_init (void) v, cpu); } estacks += PAGE_SIZE << order[v]; - orig_ist->ist[v] = t->ist[v] = (unsigned long)estacks; + orig_ist->ist[v] = t->x86_tss.ist[v] = (unsigned long)estacks; } - t->io_bitmap_base = offsetof(struct tss_struct, io_bitmap); + t->x86_tss.io_bitmap_base = offsetof(struct tss_struct, io_bitmap); /* * <= is required because the CPU will access up to * 8 bits beyond the end of the IO permission bitmap. Index: linux-2.6-x86/arch/x86/kernel/smpboot_64.c =================================================================== --- linux-2.6-x86.orig/arch/x86/kernel/smpboot_64.c +++ linux-2.6-x86/arch/x86/kernel/smpboot_64.c @@ -614,7 +614,7 @@ do_rest: start_rip = setup_trampoline(); init_rsp = c_idle.idle->thread.sp; - per_cpu(init_tss,cpu).sp0 = init_rsp; + per_cpu(init_tss, cpu).x86_tss.sp0 = init_rsp; initial_code = start_secondary; clear_tsk_thread_flag(c_idle.idle, TIF_FORK); Index: linux-2.6-x86/include/asm-x86/lguest.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/lguest.h +++ linux-2.6-x86/include/asm-x86/lguest.h @@ -51,7 +51,7 @@ struct lguest_ro_state /* Fields which are used when guest is running. */ struct desc_ptr guest_idt_desc; struct desc_ptr guest_gdt_desc; - struct i386_hw_tss guest_tss; + struct x86_hw_tss guest_tss; struct desc_struct guest_idt[IDT_ENTRIES]; struct desc_struct guest_gdt[GDT_ENTRIES]; }; Index: linux-2.6-x86/include/asm-x86/processor.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor.h +++ linux-2.6-x86/include/asm-x86/processor.h @@ -4,6 +4,7 @@ #include <asm/processor-flags.h> #include <asm/page.h> +#include <asm/percpu.h> #include <asm/system.h> /* @@ -35,6 +36,82 @@ static inline void load_cr3(pgd_t *pgdir } #ifdef CONFIG_X86_32 +/* This is the TSS defined by the hardware. */ +struct x86_hw_tss { + unsigned short back_link, __blh; + unsigned long sp0; + unsigned short ss0, __ss0h; + unsigned long sp1; + unsigned short ss1, __ss1h; /* ss1 caches MSR_IA32_SYSENTER_CS */ + unsigned long sp2; + unsigned short ss2, __ss2h; + unsigned long __cr3; + unsigned long ip; + unsigned long flags; + unsigned long ax, cx, dx, bx; + unsigned long sp, bp, si, di; + unsigned short es, __esh; + unsigned short cs, __csh; + unsigned short ss, __ssh; + unsigned short ds, __dsh; + unsigned short fs, __fsh; + unsigned short gs, __gsh; + unsigned short ldt, __ldth; + unsigned short trace, io_bitmap_base; +} __attribute__((packed)); +#else +struct x86_hw_tss { + u32 reserved1; + u64 sp0; + u64 sp1; + u64 sp2; + u64 reserved2; + u64 ist[7]; + u32 reserved3; + u32 reserved4; + u16 reserved5; + u16 io_bitmap_base; +} __attribute__((packed)) ____cacheline_aligned; +#endif + +/* + * Size of io_bitmap. + */ +#define IO_BITMAP_BITS 65536 +#define IO_BITMAP_BYTES (IO_BITMAP_BITS/8) +#define IO_BITMAP_LONGS (IO_BITMAP_BYTES/sizeof(long)) +#define IO_BITMAP_OFFSET offsetof(struct tss_struct, io_bitmap) +#define INVALID_IO_BITMAP_OFFSET 0x8000 +#define INVALID_IO_BITMAP_OFFSET_LAZY 0x9000 + +struct tss_struct { + struct x86_hw_tss x86_tss; + + /* + * The extra 1 is there because the CPU will access an + * additional byte beyond the end of the IO permission + * bitmap. The extra byte must be all 1 bits, and must + * be within the limit. + */ + unsigned long io_bitmap[IO_BITMAP_LONGS + 1]; + /* + * Cache the current maximum and the last task that used the bitmap: + */ + unsigned long io_bitmap_max; + struct thread_struct *io_bitmap_owner; + /* + * pads the TSS to be cacheline-aligned (size is 0x100) + */ + unsigned long __cacheline_filler[35]; + /* + * .. and then another 0x100 bytes for emergency kernel stack + */ + unsigned long stack[64]; +} __attribute__((packed)); + +DECLARE_PER_CPU(struct tss_struct, init_tss); + +#ifdef CONFIG_X86_32 # include "processor_32.h" #else # include "processor_64.h" Index: linux-2.6-x86/include/asm-x86/processor_32.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_32.h +++ linux-2.6-x86/include/asm-x86/processor_32.h @@ -81,7 +81,6 @@ struct cpuinfo_x86 { extern struct cpuinfo_x86 boot_cpu_data; extern struct cpuinfo_x86 new_cpu_data; extern struct tss_struct doublefault_tss; -DECLARE_PER_CPU(struct tss_struct, init_tss); #ifdef CONFIG_SMP DECLARE_PER_CPU(struct cpuinfo_x86, cpu_info); @@ -123,16 +122,6 @@ extern unsigned int mca_pentium_flag; #define TASK_SIZE (PAGE_OFFSET) -/* - * Size of io_bitmap. - */ -#define IO_BITMAP_BITS 65536 -#define IO_BITMAP_BYTES (IO_BITMAP_BITS/8) -#define IO_BITMAP_LONGS (IO_BITMAP_BYTES/sizeof(long)) -#define IO_BITMAP_OFFSET offsetof(struct tss_struct,io_bitmap) -#define INVALID_IO_BITMAP_OFFSET 0x8000 -#define INVALID_IO_BITMAP_OFFSET_LAZY 0x9000 - struct i387_fsave_struct { long cwd; long swd; @@ -185,57 +174,6 @@ typedef struct { unsigned long seg; } mm_segment_t; -struct thread_struct; - -/* This is the TSS defined by the hardware. */ -struct i386_hw_tss { - unsigned short back_link,__blh; - unsigned long sp0; - unsigned short ss0,__ss0h; - unsigned long sp1; - unsigned short ss1,__ss1h; /* ss1 is used to cache MSR_IA32_SYSENTER_CS */ - unsigned long sp2; - unsigned short ss2,__ss2h; - unsigned long __cr3; - unsigned long ip; - unsigned long flags; - unsigned long ax, cx, dx, bx; - unsigned long sp, bp, si, di; - unsigned short es, __esh; - unsigned short cs, __csh; - unsigned short ss, __ssh; - unsigned short ds, __dsh; - unsigned short fs, __fsh; - unsigned short gs, __gsh; - unsigned short ldt, __ldth; - unsigned short trace, io_bitmap_base; -} __attribute__((packed)); - -struct tss_struct { - struct i386_hw_tss x86_tss; - - /* - * The extra 1 is there because the CPU will access an - * additional byte beyond the end of the IO permission - * bitmap. The extra byte must be all 1 bits, and must - * be within the limit. - */ - unsigned long io_bitmap[IO_BITMAP_LONGS + 1]; - /* - * Cache the current maximum and the last task that used the bitmap: - */ - unsigned long io_bitmap_max; - struct thread_struct *io_bitmap_owner; - /* - * pads the TSS to be cacheline-aligned (size is 0x100) - */ - unsigned long __cacheline_filler[35]; - /* - * .. and then another 0x100 bytes for emergency kernel stack - */ - unsigned long stack[64]; -} __attribute__((packed)); - #define ARCH_MIN_TASKALIGN 16 struct thread_struct { Index: linux-2.6-x86/include/asm-x86/processor_64.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_64.h +++ linux-2.6-x86/include/asm-x86/processor_64.h @@ -91,14 +91,6 @@ extern void identify_cpu(struct cpuinfo_ #define TASK_SIZE (test_thread_flag(TIF_IA32) ? IA32_PAGE_OFFSET : TASK_SIZE64) #define TASK_SIZE_OF(child) ((test_tsk_thread_flag(child, TIF_IA32)) ? IA32_PAGE_OFFSET : TASK_SIZE64) -/* - * Size of io_bitmap. - */ -#define IO_BITMAP_BITS 65536 -#define IO_BITMAP_BYTES (IO_BITMAP_BITS/8) -#define IO_BITMAP_LONGS (IO_BITMAP_BYTES/sizeof(long)) -#define IO_BITMAP_OFFSET offsetof(struct tss_struct,io_bitmap) -#define INVALID_IO_BITMAP_OFFSET 0x8000 struct i387_fxsave_struct { u16 cwd; @@ -118,32 +110,7 @@ union i387_union { struct i387_fxsave_struct fxsave; }; -struct tss_struct { - u32 reserved1; - u64 sp0; - u64 sp1; - u64 sp2; - u64 reserved2; - u64 ist[7]; - u32 reserved3; - u32 reserved4; - u16 reserved5; - u16 io_bitmap_base; - /* - * The extra 1 is there because the CPU will access an - * additional byte beyond the end of the IO permission - * bitmap. The extra byte must be all 1 bits, and must - * be within the limit. Thus we have: - * - * 128 bytes, the bitmap itself, for ports 0..0x3ff - * 8 bytes, for an extra "long" of ~0UL - */ - unsigned long io_bitmap[IO_BITMAP_LONGS + 1]; -} __attribute__((packed)) ____cacheline_aligned; - - extern struct cpuinfo_x86 boot_cpu_data; -DECLARE_PER_CPU(struct tss_struct,init_tss); /* Save the original ist values for checking stack pointers during debugging */ struct orig_ist { unsigned long ist[7]; @@ -195,7 +162,7 @@ struct thread_struct { } #define INIT_TSS { \ - .sp0 = (unsigned long)&init_stack + sizeof(init_stack) \ + .x86_tss.sp0 = (unsigned long)&init_stack + sizeof(init_stack) \ } #define INIT_MMAP \ ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <11979320114180-git-send-email-gcosta@redhat.com>]
* [PATCH 10/21] [PATCH] provide x86_64 with a load_sp0 function. [not found] ` <11979320114180-git-send-email-gcosta@redhat.com> @ 2007-12-17 22:52 ` Glauber de Oliveira Costa [not found] ` <11979320163651-git-send-email-gcosta@redhat.com> 1 sibling, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland Paravirt guests need to inform the underlying hypervisor whenever the sp0 tss field changes. i386 already has such a function, and we use it for x86_64 too. There's an unnecessary (for 64-bit) msr handling part in the original version, and it is placed around an ifdef. Making no more sense in processor_32.h, it is moved to the common header Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- arch/x86/kernel/process_64.c | 2 +- arch/x86/kernel/smpboot_64.c | 2 +- include/asm-x86/processor.h | 22 +++++++++++++++++++++- include/asm-x86/processor_32.h | 20 -------------------- 4 files changed, 23 insertions(+), 23 deletions(-) Index: linux-2.6-x86/arch/x86/kernel/process_64.c =================================================================== --- linux-2.6-x86.orig/arch/x86/kernel/process_64.c +++ linux-2.6-x86/arch/x86/kernel/process_64.c @@ -628,7 +628,7 @@ __switch_to(struct task_struct *prev_p, /* * Reload esp0, LDT and the page table pointer: */ - tss->x86_tss.sp0 = next->sp0; + load_sp0(tss, next); /* * Switch DS and ES. Index: linux-2.6-x86/arch/x86/kernel/smpboot_64.c =================================================================== --- linux-2.6-x86.orig/arch/x86/kernel/smpboot_64.c +++ linux-2.6-x86/arch/x86/kernel/smpboot_64.c @@ -614,7 +614,7 @@ do_rest: start_rip = setup_trampoline(); init_rsp = c_idle.idle->thread.sp; - per_cpu(init_tss, cpu).x86_tss.sp0 = init_rsp; + load_sp0(&per_cpu(init_tss, cpu), &c_idle.idle->thread); initial_code = start_secondary; clear_tsk_thread_flag(c_idle.idle, TIF_FORK); Index: linux-2.6-x86/include/asm-x86/processor.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor.h +++ linux-2.6-x86/include/asm-x86/processor.h @@ -189,8 +189,22 @@ static inline void native_set_iopl_mask( #endif } +static inline void native_load_sp0(struct tss_struct *tss, + struct thread_struct *thread) +{ + tss->x86_tss.sp0 = thread->sp0; +#ifdef CONFIG_X86_32 + /* Only happens when SEP is enabled, no need to test "SEP"arately */ + if (unlikely(tss->x86_tss.ss1 != thread->sysenter_cs)) { + tss->x86_tss.ss1 = thread->sysenter_cs; + wrmsr(MSR_IA32_SYSENTER_CS, thread->sysenter_cs, 0); + } +#endif +} -#ifndef CONFIG_PARAVIRT +#ifdef CONFIG_PARAVIRT +#include <asm/paravirt.h> +#else #define __cpuid native_cpuid #define paravirt_enabled() 0 @@ -202,6 +216,12 @@ static inline void native_set_iopl_mask( #define set_debugreg(value, register) \ native_set_debugreg(register, value) +static inline void load_sp0(struct tss_struct *tss, + struct thread_struct *thread) +{ + native_load_sp0(tss, thread); +} + #define set_iopl_mask native_set_iopl_mask #endif /* CONFIG_PARAVIRT */ Index: linux-2.6-x86/include/asm-x86/processor_32.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_32.h +++ linux-2.6-x86/include/asm-x86/processor_32.h @@ -278,26 +278,6 @@ extern unsigned long thread_saved_pc(str #define KSTK_ESP(task) (task_pt_regs(task)->sp) -static inline void native_load_sp0(struct tss_struct *tss, struct thread_struct *thread) -{ - tss->x86_tss.sp0 = thread->sp0; - /* This can only happen when SEP is enabled, no need to test "SEP"arately */ - if (unlikely(tss->x86_tss.ss1 != thread->sysenter_cs)) { - tss->x86_tss.ss1 = thread->sysenter_cs; - wrmsr(MSR_IA32_SYSENTER_CS, thread->sysenter_cs, 0); - } -} - -#ifdef CONFIG_PARAVIRT -#include <asm/paravirt.h> -#else - -static inline void load_sp0(struct tss_struct *tss, struct thread_struct *thread) -{ - native_load_sp0(tss, thread); -} -#endif /* CONFIG_PARAVIRT */ - /* generic versions from gas */ #define GENERIC_NOP1 ".byte 0x90\n" #define GENERIC_NOP2 ".byte 0x89,0xf6\n" ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <11979320163651-git-send-email-gcosta@redhat.com>]
* [PATCH 11/21] [PATCH] unify thread struct. [not found] ` <11979320163651-git-send-email-gcosta@redhat.com> @ 2007-12-17 22:52 ` Glauber de Oliveira Costa [not found] ` <11979320211287-git-send-email-gcosta@redhat.com> 1 sibling, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland The thread_struct is not fundamentally different between architectures, and this patch puts it in the common header. What's really unique for each of them is enclosed in ifdefs. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- include/asm-x86/processor.h | 44 ++++++++++++++++++++++++++++++++++++++++ include/asm-x86/processor_32.h | 37 --------------------------------- include/asm-x86/processor_64.h | 32 ----------------------------- 3 files changed, 44 insertions(+), 69 deletions(-) Index: linux-2.6-x86/include/asm-x86/processor.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor.h +++ linux-2.6-x86/include/asm-x86/processor.h @@ -122,6 +122,50 @@ extern void init_scattered_cpuid_feature extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c); extern unsigned short num_cache_leaves; +struct thread_struct { +/* cached TLS descriptors. */ + struct desc_struct tls_array[GDT_ENTRY_TLS_ENTRIES]; + unsigned long sp0; + unsigned long sp; +#ifdef CONFIG_X86_32 + unsigned long sysenter_cs; +#else + unsigned long usersp; /* Copy from PDA */ + unsigned short es, ds, fsindex, gsindex; +#endif + unsigned long ip; + unsigned long fs; + unsigned long gs; +/* Hardware debugging registers */ + unsigned long debugreg0; + unsigned long debugreg1; + unsigned long debugreg2; + unsigned long debugreg3; + unsigned long debugreg6; + unsigned long debugreg7; +/* fault info */ + unsigned long cr2, trap_no, error_code; +/* floating point info */ + union i387_union i387 __attribute__((aligned(16)));; +#ifdef CONFIG_X86_32 +/* virtual 86 mode info */ + struct vm86_struct __user *vm86_info; + unsigned long screen_bitmap; + unsigned long v86flags, v86mask, saved_sp0; + unsigned int saved_fs, saved_gs; +#endif +/* IO permissions */ + unsigned long *io_bitmap_ptr; + unsigned long iopl; +/* max allowed port in the bitmap, in bytes: */ + unsigned io_bitmap_max; +/* MSR_IA32_DEBUGCTLMSR value to switch in if TIF_DEBUGCTLMSR is set. */ + unsigned long debugctlmsr; +/* Debug Store - if not 0 points to a DS Save Area configuration; + * goes into MSR_IA32_DS_AREA */ + unsigned long ds_area_msr; +}; + static inline unsigned long native_get_debugreg(int regno) { unsigned long val = 0; /* Damn you, gcc! */ Index: linux-2.6-x86/include/asm-x86/processor_32.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_32.h +++ linux-2.6-x86/include/asm-x86/processor_32.h @@ -176,43 +176,6 @@ typedef struct { #define ARCH_MIN_TASKALIGN 16 -struct thread_struct { -/* cached TLS descriptors. */ - struct desc_struct tls_array[GDT_ENTRY_TLS_ENTRIES]; - unsigned long sp0; - unsigned long sysenter_cs; - unsigned long ip; - unsigned long sp; - unsigned long fs; - unsigned long gs; -/* Hardware debugging registers */ - unsigned long debugreg0; - unsigned long debugreg1; - unsigned long debugreg2; - unsigned long debugreg3; - unsigned long debugreg6; - unsigned long debugreg7; -/* fault info */ - unsigned long cr2, trap_no, error_code; -/* floating point info */ - union i387_union i387; -/* virtual 86 mode info */ - struct vm86_struct __user * vm86_info; - unsigned long screen_bitmap; - unsigned long v86flags, v86mask, saved_sp0; - unsigned int saved_fs, saved_gs; -/* IO permissions */ - unsigned long *io_bitmap_ptr; - unsigned long iopl; -/* max allowed port in the bitmap, in bytes: */ - unsigned long io_bitmap_max; -/* MSR_IA32_DEBUGCTLMSR value to switch in if TIF_DEBUGCTLMSR is set. */ - unsigned long debugctlmsr; -/* Debug Store - if not 0 points to a DS Save Area configuration; - * goes into MSR_IA32_DS_AREA */ - unsigned long ds_area_msr; -}; - #define INIT_THREAD { \ .sp0 = sizeof(init_stack) + (long)&init_stack, \ .vm86_info = NULL, \ Index: linux-2.6-x86/include/asm-x86/processor_64.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_64.h +++ linux-2.6-x86/include/asm-x86/processor_64.h @@ -125,38 +125,6 @@ DECLARE_PER_CPU(struct orig_ist, orig_is #define ARCH_MIN_MMSTRUCT_ALIGN 0 #endif -struct thread_struct { - unsigned long sp0; - unsigned long sp; - unsigned long usersp; /* Copy from PDA */ - unsigned long fs; - unsigned long gs; - unsigned short es, ds, fsindex, gsindex; -/* Hardware debugging registers */ - unsigned long debugreg0; - unsigned long debugreg1; - unsigned long debugreg2; - unsigned long debugreg3; - unsigned long debugreg6; - unsigned long debugreg7; -/* fault info */ - unsigned long cr2, trap_no, error_code; -/* floating point info */ - union i387_union i387 __attribute__((aligned(16))); -/* IO permissions. the bitmap could be moved into the GDT, that would make - switch faster for a limited number of ioperm using tasks. -AK */ - int ioperm; - unsigned long *io_bitmap_ptr; - unsigned io_bitmap_max; -/* MSR_IA32_DEBUGCTLMSR value to switch in if TIF_DEBUGCTLMSR is set. */ - unsigned long debugctlmsr; -/* Debug Store - if not 0 points to a DS Save Area configuration; - * goes into MSR_IA32_DS_AREA */ - unsigned long ds_area_msr; -/* cached TLS descriptors. */ - struct desc_struct tls_array[GDT_ENTRY_TLS_ENTRIES]; -} __attribute__((aligned(16))); - #define INIT_THREAD { \ .sp0 = (unsigned long)&init_stack + sizeof(init_stack) \ } ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <11979320211287-git-send-email-gcosta@redhat.com>]
* [PATCH 12/21] [PATCH] unify TASK_ALIGN definitions [not found] ` <11979320211287-git-send-email-gcosta@redhat.com> @ 2007-12-17 22:52 ` Glauber de Oliveira Costa [not found] ` <11979320252102-git-send-email-gcosta@redhat.com> 1 sibling, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland This patch moves the TASK_ALIGN constraints to common header. The base of it is the same for x86_64 and i386. The only difference is the presence of vSMP in x86_64. As it's not a worry in i386, we can safely use the same code for both. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- include/asm-x86/processor.h | 8 ++++++++ include/asm-x86/processor_32.h | 1 - include/asm-x86/processor_64.h | 8 -------- 3 files changed, 8 insertions(+), 9 deletions(-) Index: linux-2.6-x86/include/asm-x86/processor.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor.h +++ linux-2.6-x86/include/asm-x86/processor.h @@ -18,6 +18,14 @@ static inline void *current_text_addr(vo return pc; } +#ifdef CONFIG_X86_VSMP +#define ARCH_MIN_TASKALIGN (1 << INTERNODE_CACHE_SHIFT) +#define ARCH_MIN_MMSTRUCT_ALIGN (1 << INTERNODE_CACHE_SHIFT) +#else +#define ARCH_MIN_TASKALIGN 16 +#define ARCH_MIN_MMSTRUCT_ALIGN 0 +#endif + static inline void native_cpuid(unsigned int *eax, unsigned int *ebx, unsigned int *ecx, unsigned int *edx) { Index: linux-2.6-x86/include/asm-x86/processor_32.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_32.h +++ linux-2.6-x86/include/asm-x86/processor_32.h @@ -174,7 +174,6 @@ typedef struct { unsigned long seg; } mm_segment_t; -#define ARCH_MIN_TASKALIGN 16 #define INIT_THREAD { \ .sp0 = sizeof(init_stack) + (long)&init_stack, \ Index: linux-2.6-x86/include/asm-x86/processor_64.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_64.h +++ linux-2.6-x86/include/asm-x86/processor_64.h @@ -117,14 +117,6 @@ struct orig_ist { }; DECLARE_PER_CPU(struct orig_ist, orig_ist); -#ifdef CONFIG_X86_VSMP -#define ARCH_MIN_TASKALIGN (1 << INTERNODE_CACHE_SHIFT) -#define ARCH_MIN_MMSTRUCT_ALIGN (1 << INTERNODE_CACHE_SHIFT) -#else -#define ARCH_MIN_TASKALIGN 16 -#define ARCH_MIN_MMSTRUCT_ALIGN 0 -#endif - #define INIT_THREAD { \ .sp0 = (unsigned long)&init_stack + sizeof(init_stack) \ } ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <11979320252102-git-send-email-gcosta@redhat.com>]
* [PATCH 13/21] [PATCH] change bitwise operations to get a void parameter. [not found] ` <11979320252102-git-send-email-gcosta@redhat.com> @ 2007-12-17 22:52 ` Glauber de Oliveira Costa [not found] ` <11979320302030-git-send-email-gcosta@redhat.com> 1 sibling, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland This patch changes the bitwise operations in bitops.h to get a void pointers as a parameter. Before this patch, a lot of warnings can be seen. They're gone after it. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- include/asm-x86/bitops.h | 39 ++++++++++++++++++++------------------- 1 files changed, 20 insertions(+), 19 deletions(-) Index: linux-2.6-x86/include/asm-x86/bitops.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/bitops.h +++ linux-2.6-x86/include/asm-x86/bitops.h @@ -43,7 +43,7 @@ * Note that @nr may be almost arbitrarily large; this function is not * restricted to acting on a single-word quantity. */ -static inline void set_bit(int nr, volatile unsigned long *addr) +static inline void set_bit(int nr, volatile void *addr) { asm volatile(LOCK_PREFIX "bts %1,%0" : ADDR @@ -59,7 +59,7 @@ static inline void set_bit(int nr, volat * If it's called on the same region of memory simultaneously, the effect * may be that only one operation succeeds. */ -static inline void __set_bit(int nr, volatile unsigned long *addr) +static inline void __set_bit(int nr, volatile void *addr) { asm volatile("bts %1,%0" : ADDR @@ -77,7 +77,7 @@ static inline void __set_bit(int nr, vol * you should call smp_mb__before_clear_bit() and/or smp_mb__after_clear_bit() * in order to ensure changes are visible on other processors. */ -static inline void clear_bit(int nr, volatile unsigned long *addr) +static inline void clear_bit(int nr, volatile void *addr) { asm volatile(LOCK_PREFIX "btr %1,%0" : ADDR @@ -92,13 +92,13 @@ static inline void clear_bit(int nr, vol * clear_bit() is atomic and implies release semantics before the memory * operation. It can be used for an unlock. */ -static inline void clear_bit_unlock(unsigned nr, volatile unsigned long *addr) +static inline void clear_bit_unlock(unsigned nr, volatile void *addr) { barrier(); clear_bit(nr, addr); } -static inline void __clear_bit(int nr, volatile unsigned long *addr) +static inline void __clear_bit(int nr, volatile void *addr) { asm volatile("btr %1,%0" : ADDR : "Ir" (nr)); } @@ -115,7 +115,7 @@ static inline void __clear_bit(int nr, v * No memory barrier is required here, because x86 cannot reorder stores past * older loads. Same principle as spin_unlock. */ -static inline void __clear_bit_unlock(unsigned nr, volatile unsigned long *addr) +static inline void __clear_bit_unlock(unsigned nr, volatile void *addr) { barrier(); __clear_bit(nr, addr); @@ -133,7 +133,7 @@ static inline void __clear_bit_unlock(un * If it's called on the same region of memory simultaneously, the effect * may be that only one operation succeeds. */ -static inline void __change_bit(int nr, volatile unsigned long *addr) +static inline void __change_bit(int nr, volatile void *addr) { asm volatile("btc %1,%0" : ADDR : "Ir" (nr)); } @@ -147,7 +147,7 @@ static inline void __change_bit(int nr, * Note that @nr may be almost arbitrarily large; this function is not * restricted to acting on a single-word quantity. */ -static inline void change_bit(int nr, volatile unsigned long *addr) +static inline void change_bit(int nr, volatile void *addr) { asm volatile(LOCK_PREFIX "btc %1,%0" : ADDR : "Ir" (nr)); @@ -161,7 +161,7 @@ static inline void change_bit(int nr, vo * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_set_bit(int nr, volatile unsigned long *addr) +static inline int test_and_set_bit(int nr, volatile void *addr) { int oldbit; @@ -180,7 +180,7 @@ static inline int test_and_set_bit(int n * * This is the same as test_and_set_bit on x86. */ -static inline int test_and_set_bit_lock(int nr, volatile unsigned long *addr) +static inline int test_and_set_bit_lock(int nr, volatile void *addr) { return test_and_set_bit(nr, addr); } @@ -194,7 +194,7 @@ static inline int test_and_set_bit_lock( * If two examples of this operation race, one can appear to succeed * but actually fail. You must protect multiple accesses with a lock. */ -static inline int __test_and_set_bit(int nr, volatile unsigned long *addr) +static inline int __test_and_set_bit(int nr, volatile void *addr) { int oldbit; @@ -213,7 +213,7 @@ static inline int __test_and_set_bit(int * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_clear_bit(int nr, volatile unsigned long *addr) +static inline int test_and_clear_bit(int nr, volatile void *addr) { int oldbit; @@ -234,7 +234,7 @@ static inline int test_and_clear_bit(int * If two examples of this operation race, one can appear to succeed * but actually fail. You must protect multiple accesses with a lock. */ -static inline int __test_and_clear_bit(int nr, volatile unsigned long *addr) +static inline int __test_and_clear_bit(int nr, volatile void *addr) { int oldbit; @@ -246,7 +246,7 @@ static inline int __test_and_clear_bit(i } /* WARNING: non atomic and it can be reordered! */ -static inline int __test_and_change_bit(int nr, volatile unsigned long *addr) +static inline int __test_and_change_bit(int nr, volatile void *addr) { int oldbit; @@ -266,7 +266,7 @@ static inline int __test_and_change_bit( * This operation is atomic and cannot be reordered. * It also implies a memory barrier. */ -static inline int test_and_change_bit(int nr, volatile unsigned long *addr) +static inline int test_and_change_bit(int nr, volatile void *addr) { int oldbit; @@ -278,19 +278,20 @@ static inline int test_and_change_bit(in return oldbit; } -static inline int constant_test_bit(int nr, const volatile unsigned long *addr) +static inline int constant_test_bit(int nr, const volatile void *addr) { - return ((1UL << (nr % BITS_PER_LONG)) & (addr[nr / BITS_PER_LONG])) != 0; + return ((1UL << (nr % BITS_PER_LONG)) & + (((unsigned long *)addr)[nr / BITS_PER_LONG])) != 0; } -static inline int variable_test_bit(int nr, volatile const unsigned long *addr) +static inline int variable_test_bit(int nr, volatile const void *addr) { int oldbit; asm volatile("bt %2,%1\n\t" "sbb %0,%0" : "=r" (oldbit) - : "m" (*addr), "Ir" (nr)); + : "m" (*(unsigned long *)addr), "Ir" (nr)); return oldbit; } ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <11979320302030-git-send-email-gcosta@redhat.com>]
* [PATCH 14/21] [PATCH] unify x86_cpuinfo struct. [not found] ` <11979320302030-git-send-email-gcosta@redhat.com> @ 2007-12-17 22:52 ` Glauber de Oliveira Costa [not found] ` <11979320354186-git-send-email-gcosta@redhat.com> ` (2 subsequent siblings) 3 siblings, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland x86_cpuinfo is one more to the family of "not fundamentally different" structs. It's unified in processor.h, with very specific fields enclosed around ifdefs. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- arch/x86/kernel/cpu/common.c | 6 +- include/asm-x86/processor.h | 82 ++++++++++++++++++++++++++++++++++++++++ include/asm-x86/processor_32.h | 67 -------------------------------- include/asm-x86/processor_64.h | 57 --------------------------- 4 files changed, 85 insertions(+), 127 deletions(-) Index: linux-2.6-x86/arch/x86/kernel/cpu/common.c =================================================================== --- linux-2.6-x86.orig/arch/x86/kernel/cpu/common.c +++ linux-2.6-x86/arch/x86/kernel/cpu/common.c @@ -427,7 +427,7 @@ static void __cpuinit identify_cpu(struc printk(KERN_DEBUG "CPU: After generic identify, caps:"); for (i = 0; i < NCAPINTS; i++) - printk(" %08lx", c->x86_capability[i]); + printk(" %08x", c->x86_capability[i]); printk("\n"); if (this_cpu->c_identify) { @@ -435,7 +435,7 @@ static void __cpuinit identify_cpu(struc printk(KERN_DEBUG "CPU: After vendor identify, caps:"); for (i = 0; i < NCAPINTS; i++) - printk(" %08lx", c->x86_capability[i]); + printk(" %08x", c->x86_capability[i]); printk("\n"); } @@ -493,7 +493,7 @@ static void __cpuinit identify_cpu(struc printk(KERN_DEBUG "CPU: After all inits, caps:"); for (i = 0; i < NCAPINTS; i++) - printk(" %08lx", c->x86_capability[i]); + printk(" %08x", c->x86_capability[i]); printk("\n"); /* Index: linux-2.6-x86/include/asm-x86/processor.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor.h +++ linux-2.6-x86/include/asm-x86/processor.h @@ -6,6 +6,9 @@ #include <asm/page.h> #include <asm/percpu.h> #include <asm/system.h> +#include <asm/percpu.h> +#include <linux/cpumask.h> +#include <linux/cache.h> /* * Default implementation of macro that returns current @@ -26,6 +29,85 @@ static inline void *current_text_addr(vo #define ARCH_MIN_MMSTRUCT_ALIGN 0 #endif +/* + * CPU type and hardware bug flags. Kept separately for each CPU. + * Members of this structure are referenced in head.S, so think twice + * before touching them. [mj] + */ + +struct cpuinfo_x86 { + __u8 x86; /* CPU family */ + __u8 x86_vendor; /* CPU vendor */ + __u8 x86_model; + __u8 x86_mask; +#ifdef CONFIG_X86_32 + char wp_works_ok; /* It doesn't on 386's */ + char hlt_works_ok; /* Problems on some 486Dx4's and old 386's */ + char hard_math; + char rfu; + char fdiv_bug; + char f00f_bug; + char coma_bug; + char pad0; +#else + /* number of 4K pages in DTLB/ITLB combined(in pages)*/ + int x86_tlbsize; + __u8 x86_virt_bits, x86_phys_bits; + /* cpuid returned core id bits */ + __u8 x86_coreid_bits; + /* Max extended CPUID function supported */ + __u32 extended_cpuid_level; +#endif + int cpuid_level; /* Maximum supported CPUID level, -1=no CPUID */ + __u32 x86_capability[NCAPINTS]; + char x86_vendor_id[16]; + char x86_model_id[64]; + int x86_cache_size; /* in KB - valid for CPUS which support this + call */ + int x86_cache_alignment; /* In bytes */ + int x86_power; + unsigned long loops_per_jiffy; +#ifdef CONFIG_SMP + cpumask_t llc_shared_map; /* cpus sharing the last level cache */ +#endif + unsigned char x86_max_cores; /* cpuid returned max cores value */ + unsigned char apicid; + unsigned short x86_clflush_size; +#ifdef CONFIG_SMP + unsigned char booted_cores; /* number of cores as seen by OS */ + __u8 phys_proc_id; /* Physical processor id. */ + __u8 cpu_core_id; /* Core id */ + __u8 cpu_index; /* index into per_cpu list */ +#endif +} __attribute__((__aligned__(SMP_CACHE_BYTES))); + +#define X86_VENDOR_INTEL 0 +#define X86_VENDOR_CYRIX 1 +#define X86_VENDOR_AMD 2 +#define X86_VENDOR_UMC 3 +#define X86_VENDOR_NEXGEN 4 +#define X86_VENDOR_CENTAUR 5 +#define X86_VENDOR_TRANSMETA 7 +#define X86_VENDOR_NSC 8 +#define X86_VENDOR_NUM 9 +#define X86_VENDOR_UNKNOWN 0xff + +extern struct cpuinfo_x86 boot_cpu_data; + +#ifdef CONFIG_SMP +DECLARE_PER_CPU(struct cpuinfo_x86, cpu_info); +#define cpu_data(cpu) per_cpu(cpu_info, cpu) +#define current_cpu_data cpu_data(smp_processor_id()) +#else +#define cpu_data(cpu) boot_cpu_data +#define current_cpu_data boot_cpu_data +#endif + +extern void print_cpu_info(struct cpuinfo_x86 *); +extern void init_scattered_cpuid_features(struct cpuinfo_x86 *c); +extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c); +extern unsigned short num_cache_leaves; + static inline void native_cpuid(unsigned int *eax, unsigned int *ebx, unsigned int *ecx, unsigned int *edx) { Index: linux-2.6-x86/include/asm-x86/processor_32.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_32.h +++ linux-2.6-x86/include/asm-x86/processor_32.h @@ -14,83 +14,16 @@ #include <asm/cpufeature.h> #include <asm/msr.h> #include <asm/system.h> -#include <linux/cache.h> #include <linux/threads.h> -#include <asm/percpu.h> -#include <linux/cpumask.h> #include <linux/init.h> #include <asm/desc_defs.h> /* - * CPU type and hardware bug flags. Kept separately for each CPU. - * Members of this structure are referenced in head.S, so think twice - * before touching them. [mj] - */ - -struct cpuinfo_x86 { - __u8 x86; /* CPU family */ - __u8 x86_vendor; /* CPU vendor */ - __u8 x86_model; - __u8 x86_mask; - char wp_works_ok; /* It doesn't on 386's */ - char hlt_works_ok; /* Problems on some 486Dx4's and old 386's */ - char hard_math; - char rfu; - int cpuid_level; /* Maximum supported CPUID level, -1=no CPUID */ - unsigned long x86_capability[NCAPINTS]; - char x86_vendor_id[16]; - char x86_model_id[64]; - int x86_cache_size; /* in KB - valid for CPUS which support this - call */ - int x86_cache_alignment; /* In bytes */ - char fdiv_bug; - char f00f_bug; - char coma_bug; - char pad0; - int x86_power; - unsigned long loops_per_jiffy; -#ifdef CONFIG_SMP - cpumask_t llc_shared_map; /* cpus sharing the last level cache */ -#endif - unsigned char x86_max_cores; /* cpuid returned max cores value */ - unsigned char apicid; - unsigned short x86_clflush_size; -#ifdef CONFIG_SMP - unsigned char booted_cores; /* number of cores as seen by OS */ - __u8 phys_proc_id; /* Physical processor id. */ - __u8 cpu_core_id; /* Core id */ - __u8 cpu_index; /* index into per_cpu list */ -#endif -} __attribute__((__aligned__(SMP_CACHE_BYTES))); - -#define X86_VENDOR_INTEL 0 -#define X86_VENDOR_CYRIX 1 -#define X86_VENDOR_AMD 2 -#define X86_VENDOR_UMC 3 -#define X86_VENDOR_NEXGEN 4 -#define X86_VENDOR_CENTAUR 5 -#define X86_VENDOR_TRANSMETA 7 -#define X86_VENDOR_NSC 8 -#define X86_VENDOR_NUM 9 -#define X86_VENDOR_UNKNOWN 0xff - -/* * capabilities of CPUs */ - -extern struct cpuinfo_x86 boot_cpu_data; extern struct cpuinfo_x86 new_cpu_data; extern struct tss_struct doublefault_tss; -#ifdef CONFIG_SMP -DECLARE_PER_CPU(struct cpuinfo_x86, cpu_info); -#define cpu_data(cpu) per_cpu(cpu_info, cpu) -#define current_cpu_data cpu_data(smp_processor_id()) -#else -#define cpu_data(cpu) boot_cpu_data -#define current_cpu_data boot_cpu_data -#endif - /* * the following now lives in the per cpu area: * extern int cpu_llc_id[NR_CPUS]; Index: linux-2.6-x86/include/asm-x86/processor_64.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_64.h +++ linux-2.6-x86/include/asm-x86/processor_64.h @@ -15,65 +15,9 @@ #include <asm/current.h> #include <asm/system.h> #include <asm/mmsegment.h> -#include <asm/percpu.h> #include <linux/personality.h> -#include <linux/cpumask.h> #include <asm/desc_defs.h> -/* - * CPU type and hardware bug flags. Kept separately for each CPU. - */ - -struct cpuinfo_x86 { - __u8 x86; /* CPU family */ - __u8 x86_vendor; /* CPU vendor */ - __u8 x86_model; - __u8 x86_mask; - int cpuid_level; /* Maximum supported CPUID level, -1=no CPUID */ - __u32 x86_capability[NCAPINTS]; - char x86_vendor_id[16]; - char x86_model_id[64]; - int x86_cache_size; /* in KB */ - int x86_clflush_size; - int x86_cache_alignment; - int x86_tlbsize; /* number of 4K pages in DTLB/ITLB combined(in pages)*/ - __u8 x86_virt_bits, x86_phys_bits; - __u8 x86_max_cores; /* cpuid returned max cores value */ - __u8 x86_coreid_bits; /* cpuid returned core id bits */ - __u32 x86_power; - __u32 extended_cpuid_level; /* Max extended CPUID function supported */ - unsigned long loops_per_jiffy; -#ifdef CONFIG_SMP - cpumask_t llc_shared_map; /* cpus sharing the last level cache */ -#endif - __u8 apicid; -#ifdef CONFIG_SMP - __u8 booted_cores; /* number of cores as seen by OS */ - __u8 phys_proc_id; /* Physical Processor id. */ - __u8 cpu_core_id; /* Core id. */ - __u8 cpu_index; /* index into per_cpu list */ -#endif -} ____cacheline_aligned; - -#define X86_VENDOR_INTEL 0 -#define X86_VENDOR_CYRIX 1 -#define X86_VENDOR_AMD 2 -#define X86_VENDOR_UMC 3 -#define X86_VENDOR_NEXGEN 4 -#define X86_VENDOR_CENTAUR 5 -#define X86_VENDOR_TRANSMETA 7 -#define X86_VENDOR_NUM 8 -#define X86_VENDOR_UNKNOWN 0xff - -#ifdef CONFIG_SMP -DECLARE_PER_CPU(struct cpuinfo_x86, cpu_info); -#define cpu_data(cpu) per_cpu(cpu_info, cpu) -#define current_cpu_data cpu_data(smp_processor_id()) -#else -#define cpu_data(cpu) boot_cpu_data -#define current_cpu_data boot_cpu_data -#endif - extern char ignore_irq13; extern void identify_cpu(struct cpuinfo_x86 *); @@ -110,7 +54,6 @@ union i387_union { struct i387_fxsave_struct fxsave; }; -extern struct cpuinfo_x86 boot_cpu_data; /* Save the original ist values for checking stack pointers during debugging */ struct orig_ist { unsigned long ist[7]; ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <11979320354186-git-send-email-gcosta@redhat.com>]
* [PATCH 15/21] [PATCH] remove legacy stuff from processor_64.h [not found] ` <11979320354186-git-send-email-gcosta@redhat.com> @ 2007-12-17 22:52 ` Glauber de Oliveira Costa [not found] ` <11979320401316-git-send-email-gcosta@redhat.com> 1 sibling, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland This patch removes definitions and macros that are not used anymore from processor_64.h Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- include/asm-x86/processor_64.h | 14 -------------- 1 files changed, 0 insertions(+), 14 deletions(-) Index: linux-2.6-x86/include/asm-x86/processor_64.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_64.h +++ linux-2.6-x86/include/asm-x86/processor_64.h @@ -18,8 +18,6 @@ #include <linux/personality.h> #include <asm/desc_defs.h> -extern char ignore_irq13; - extern void identify_cpu(struct cpuinfo_x86 *); /* @@ -68,9 +66,6 @@ DECLARE_PER_CPU(struct orig_ist, orig_is .x86_tss.sp0 = (unsigned long)&init_stack + sizeof(init_stack) \ } -#define INIT_MMAP \ -{ &init_mm, 0, 0, NULL, PAGE_SHARED, VM_READ | VM_WRITE | VM_EXEC, 1, NULL, NULL } - #define start_thread(regs,new_rip,new_rsp) do { \ asm volatile("movl %0,%%fs; movl %0,%%es; movl %0,%%ds": :"r" (0)); \ load_gs_index(0); \ @@ -144,13 +139,4 @@ static inline void prefetchw(void *x) "r" (x)); } - -#define stack_current() \ -({ \ - struct thread_info *ti; \ - asm("andq %%rsp,%0; ":"=r" (ti) : "0" (CURRENT_MASK)); \ - ti->task; \ -}) - - #endif /* __ASM_X86_64_PROCESSOR_H */ ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <11979320401316-git-send-email-gcosta@redhat.com>]
* [PATCH 16/21] [PATCH] unify mm_segment_t definition [not found] ` <11979320401316-git-send-email-gcosta@redhat.com> @ 2007-12-17 22:52 ` Glauber de Oliveira Costa [not found] ` <11979320451308-git-send-email-gcosta@redhat.com> 1 sibling, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland This patch moves the mm_segment_t structure definition to processor.h This makes mmsegment.h file useless, and it is deleted. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- include/asm-x86/mmsegment.h | 8 -------- include/asm-x86/processor.h | 5 +++++ include/asm-x86/processor_32.h | 5 ----- include/asm-x86/processor_64.h | 1 - include/asm-x86/thread_info_64.h | 2 +- 5 files changed, 6 insertions(+), 15 deletions(-) Index: linux-2.6-x86/include/asm-x86/mmsegment.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/mmsegment.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef _ASM_MMSEGMENT_H -#define _ASM_MMSEGMENT_H 1 - -typedef struct { - unsigned long seg; -} mm_segment_t; - -#endif Index: linux-2.6-x86/include/asm-x86/processor.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor.h +++ linux-2.6-x86/include/asm-x86/processor.h @@ -420,6 +420,11 @@ struct extended_sigtable { struct extended_signature sigs[0]; }; +typedef struct { + unsigned long seg; +} mm_segment_t; + + /* * create a kernel thread without removing it from tasklists */ Index: linux-2.6-x86/include/asm-x86/processor_32.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_32.h +++ linux-2.6-x86/include/asm-x86/processor_32.h @@ -103,11 +103,6 @@ union i387_union { struct i387_soft_struct soft; }; -typedef struct { - unsigned long seg; -} mm_segment_t; - - #define INIT_THREAD { \ .sp0 = sizeof(init_stack) + (long)&init_stack, \ .vm86_info = NULL, \ Index: linux-2.6-x86/include/asm-x86/processor_64.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_64.h +++ linux-2.6-x86/include/asm-x86/processor_64.h @@ -14,7 +14,6 @@ #include <asm/msr.h> #include <asm/current.h> #include <asm/system.h> -#include <asm/mmsegment.h> #include <linux/personality.h> #include <asm/desc_defs.h> Index: linux-2.6-x86/include/asm-x86/thread_info_64.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/thread_info_64.h +++ linux-2.6-x86/include/asm-x86/thread_info_64.h @@ -21,7 +21,7 @@ #ifndef __ASSEMBLY__ struct task_struct; struct exec_domain; -#include <asm/mmsegment.h> +#include <asm/processor.h> struct thread_info { struct task_struct *task; /* main task structure */ ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <11979320451308-git-send-email-gcosta@redhat.com>]
* [PATCH 17/21] [PATCH] move definitions to processor.h [not found] ` <11979320451308-git-send-email-gcosta@redhat.com> @ 2007-12-17 22:52 ` Glauber de Oliveira Costa [not found] ` <1197932050948-git-send-email-gcosta@redhat.com> 1 sibling, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland This patch moves definitions that are present in only one of the files (between processor_32.h and processor_64.h), to processor.h. They're mostly structures and function definitions. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- arch/x86/kernel/cpu/common.c | 2 +- arch/x86/kernel/setup_64.c | 2 +- include/asm-x86/processor.h | 41 ++++++++++++++++++++++++++++++++++++++++ include/asm-x86/processor_32.h | 35 ---------------------------------- include/asm-x86/processor_64.h | 6 ----- 5 files changed, 43 insertions(+), 43 deletions(-) Index: linux-2.6-x86/arch/x86/kernel/cpu/common.c =================================================================== --- linux-2.6-x86.orig/arch/x86/kernel/cpu/common.c +++ linux-2.6-x86/arch/x86/kernel/cpu/common.c @@ -399,7 +399,7 @@ __setup("serialnumber", x86_serial_nr_se /* * This does the hard work of actually picking apart the CPU stuff... */ -static void __cpuinit identify_cpu(struct cpuinfo_x86 *c) +void __cpuinit identify_cpu(struct cpuinfo_x86 *c) { int i; Index: linux-2.6-x86/arch/x86/kernel/setup_64.c =================================================================== --- linux-2.6-x86.orig/arch/x86/kernel/setup_64.c +++ linux-2.6-x86/arch/x86/kernel/setup_64.c @@ -768,7 +768,7 @@ static void __cpuinit init_amd(struct cp disable_apic_timer = 1; } -static void __cpuinit detect_ht(struct cpuinfo_x86 *c) +void __cpuinit detect_ht(struct cpuinfo_x86 *c) { #ifdef CONFIG_SMP u32 eax, ebx, ecx, edx; Index: linux-2.6-x86/include/asm-x86/processor.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor.h +++ linux-2.6-x86/include/asm-x86/processor.h @@ -92,7 +92,12 @@ struct cpuinfo_x86 { #define X86_VENDOR_NUM 9 #define X86_VENDOR_UNKNOWN 0xff +/* + * capabilities of CPUs + */ extern struct cpuinfo_x86 boot_cpu_data; +extern struct cpuinfo_x86 new_cpu_data; +extern struct tss_struct doublefault_tss; #ifdef CONFIG_SMP DECLARE_PER_CPU(struct cpuinfo_x86, cpu_info); @@ -103,11 +108,22 @@ DECLARE_PER_CPU(struct cpuinfo_x86, cpu_ #define current_cpu_data boot_cpu_data #endif +void cpu_detect(struct cpuinfo_x86 *c); + +extern void identify_cpu(struct cpuinfo_x86 *); +extern void identify_boot_cpu(void); +extern void identify_secondary_cpu(struct cpuinfo_x86 *); extern void print_cpu_info(struct cpuinfo_x86 *); extern void init_scattered_cpuid_features(struct cpuinfo_x86 *c); extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c); extern unsigned short num_cache_leaves; +#if defined(CONFIG_X86_HT) || defined(CONFIG_X86_64) +extern void detect_ht(struct cpuinfo_x86 *c); +#else +static inline void detect_ht(struct cpuinfo_x86 *c) {} +#endif + static inline void native_cpuid(unsigned int *eax, unsigned int *ebx, unsigned int *ecx, unsigned int *edx) { @@ -201,6 +217,11 @@ struct tss_struct { DECLARE_PER_CPU(struct tss_struct, init_tss); +/* Save the original ist values for checking stack pointers during debugging */ +struct orig_ist { + unsigned long ist[7]; +}; + #ifdef CONFIG_X86_32 # include "processor_32.h" #else @@ -543,8 +564,28 @@ extern void select_idle_routine(const st extern unsigned long boot_option_idle_override; +extern void enable_sep_cpu(void); +extern int sysenter_setup(void); + +/* Defined in head.S */ +extern struct desc_ptr early_gdt_descr; + +extern void cpu_set_gdt(int); +extern void switch_to_new_gdt(void); +extern void cpu_init(void); +extern void init_gdt(int cpu); + +/* from system description table in BIOS. Mostly for MCA use, but + * others may find it useful. */ +extern unsigned int machine_id; +extern unsigned int machine_submodel_id; +extern unsigned int BIOS_revision; +extern unsigned int mca_pentium_flag; + /* Boot loader type from the setup header */ extern int bootloader_type; + +extern char ignore_fpu_irq; #define cache_line_size() (boot_cpu_data.x86_cache_alignment) #define HAVE_ARCH_PICK_MMAP_LAYOUT 1 Index: linux-2.6-x86/include/asm-x86/processor_32.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_32.h +++ linux-2.6-x86/include/asm-x86/processor_32.h @@ -18,36 +18,12 @@ #include <linux/init.h> #include <asm/desc_defs.h> -/* - * capabilities of CPUs - */ -extern struct cpuinfo_x86 new_cpu_data; -extern struct tss_struct doublefault_tss; /* * the following now lives in the per cpu area: * extern int cpu_llc_id[NR_CPUS]; */ DECLARE_PER_CPU(u8, cpu_llc_id); -extern char ignore_fpu_irq; - -void __init cpu_detect(struct cpuinfo_x86 *c); - -extern void identify_boot_cpu(void); -extern void identify_secondary_cpu(struct cpuinfo_x86 *); - -#ifdef CONFIG_X86_HT -extern void detect_ht(struct cpuinfo_x86 *c); -#else -static inline void detect_ht(struct cpuinfo_x86 *c) {} -#endif - -/* from system description table in BIOS. Mostly for MCA use, but -others may find it useful. */ -extern unsigned int machine_id; -extern unsigned int machine_submodel_id; -extern unsigned int BIOS_revision; -extern unsigned int mca_pentium_flag; /* * User space process size: 3GB (default). @@ -277,15 +253,4 @@ static inline void prefetchw(const void "r" (x)); } -extern void enable_sep_cpu(void); -extern int sysenter_setup(void); - -/* Defined in head.S */ -extern struct desc_ptr early_gdt_descr; - -extern void cpu_set_gdt(int); -extern void switch_to_new_gdt(void); -extern void cpu_init(void); -extern void init_gdt(int cpu); - #endif /* __ASM_I386_PROCESSOR_H */ Index: linux-2.6-x86/include/asm-x86/processor_64.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_64.h +++ linux-2.6-x86/include/asm-x86/processor_64.h @@ -17,8 +17,6 @@ #include <linux/personality.h> #include <asm/desc_defs.h> -extern void identify_cpu(struct cpuinfo_x86 *); - /* * User space process size. 47bits minus one guard page. */ @@ -51,10 +49,6 @@ union i387_union { struct i387_fxsave_struct fxsave; }; -/* Save the original ist values for checking stack pointers during debugging */ -struct orig_ist { - unsigned long ist[7]; -}; DECLARE_PER_CPU(struct orig_ist, orig_ist); #define INIT_THREAD { \ ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <1197932050948-git-send-email-gcosta@redhat.com>]
* [PATCH 18/21] [PATCH] unify prefetch operations [not found] ` <1197932050948-git-send-email-gcosta@redhat.com> @ 2007-12-17 22:52 ` Glauber de Oliveira Costa [not found] ` <11979320551036-git-send-email-gcosta@redhat.com> 1 sibling, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland This patch moves the prefetch[w]? functions to processor.h Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- include/asm-x86/processor.h | 30 ++++++++++++++++++++++++++++++ include/asm-x86/processor_32.h | 25 ------------------------- include/asm-x86/processor_64.h | 8 -------- 3 files changed, 30 insertions(+), 33 deletions(-) Index: linux-2.6-x86/include/asm-x86/processor.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor.h +++ linux-2.6-x86/include/asm-x86/processor.h @@ -592,6 +592,36 @@ extern char ignore_fpu_irq; #define ARCH_HAS_PREFETCHW #define ARCH_HAS_SPINLOCK_PREFETCH +#ifdef CONFIG_X86_32 +#define BASE_PREFETCH ASM_NOP4 +#define ARCH_HAS_PREFETCH +#else +#define BASE_PREFETCH "prefetcht0 (%1)" +#endif + +/* Prefetch instructions for Pentium III and AMD Athlon */ +/* It's not worth to care about 3dnow! prefetches for the K6 + because they are microcoded there and very slow. + However we don't do prefetches for pre XP Athlons currently + That should be fixed. */ +static inline void prefetch(const void *x) +{ + alternative_input(BASE_PREFETCH, + "prefetchnta (%1)", + X86_FEATURE_XMM, + "r" (x)); +} + +/* 3dnow! prefetch to get an exclusive cache line. Useful for + spinlocks to avoid one state transition in the cache coherency protocol. */ +static inline void prefetchw(const void *x) +{ + alternative_input(BASE_PREFETCH, + "prefetchw (%1)", + X86_FEATURE_3DNOW, + "r" (x)); +} + #define spin_lock_prefetch(x) prefetchw(x) /* This decides where the kernel will search for a free chunk of vm * space during mmap's. Index: linux-2.6-x86/include/asm-x86/processor_32.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_32.h +++ linux-2.6-x86/include/asm-x86/processor_32.h @@ -228,29 +228,4 @@ extern unsigned long thread_saved_pc(str #define ASM_NOP_MAX 8 -/* Prefetch instructions for Pentium III and AMD Athlon */ -/* It's not worth to care about 3dnow! prefetches for the K6 - because they are microcoded there and very slow. - However we don't do prefetches for pre XP Athlons currently - That should be fixed. */ -static inline void prefetch(const void *x) -{ - alternative_input(ASM_NOP4, - "prefetchnta (%1)", - X86_FEATURE_XMM, - "r" (x)); -} - -#define ARCH_HAS_PREFETCH - -/* 3dnow! prefetch to get an exclusive cache line. Useful for - spinlocks to avoid one state transition in the cache coherency protocol. */ -static inline void prefetchw(const void *x) -{ - alternative_input(ASM_NOP4, - "prefetchw (%1)", - X86_FEATURE_3DNOW, - "r" (x)); -} - #endif /* __ASM_I386_PROCESSOR_H */ Index: linux-2.6-x86/include/asm-x86/processor_64.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_64.h +++ linux-2.6-x86/include/asm-x86/processor_64.h @@ -124,12 +124,4 @@ DECLARE_PER_CPU(struct orig_ist, orig_is #define ASM_NOP_MAX 8 -static inline void prefetchw(void *x) -{ - alternative_input("prefetcht0 (%1)", - "prefetchw (%1)", - X86_FEATURE_3DNOW, - "r" (x)); -} - #endif /* __ASM_X86_64_PROCESSOR_H */ ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <11979320551036-git-send-email-gcosta@redhat.com>]
* [PATCH 19/21] [PATCH] unify asm nops [not found] ` <11979320551036-git-send-email-gcosta@redhat.com> @ 2007-12-17 22:52 ` Glauber de Oliveira Costa [not found] ` <11979320603229-git-send-email! -gcosta@redhat.com> 1 sibling, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland There's only one difference between the NOPs used in asm code for i386 and x86_64: i386 has a lot more variants. The code is moved to processor.h, and adjusted accordingly. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- include/asm-x86/processor.h | 85 ++++++++++++++++++++++++++++++++++++++++ include/asm-x86/processor_32.h | 85 ---------------------------------------- include/asm-x86/processor_64.h | 44 -------------------- 3 files changed, 85 insertions(+), 129 deletions(-) Index: linux-2.6-x86/include/asm-x86/processor.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor.h +++ linux-2.6-x86/include/asm-x86/processor.h @@ -588,6 +588,91 @@ extern int bootloader_type; extern char ignore_fpu_irq; #define cache_line_size() (boot_cpu_data.x86_cache_alignment) +/* generic versions from gas */ +#define GENERIC_NOP1 ".byte 0x90\n" +#define GENERIC_NOP2 ".byte 0x89,0xf6\n" +#define GENERIC_NOP3 ".byte 0x8d,0x76,0x00\n" +#define GENERIC_NOP4 ".byte 0x8d,0x74,0x26,0x00\n" +#define GENERIC_NOP5 GENERIC_NOP1 GENERIC_NOP4 +#define GENERIC_NOP6 ".byte 0x8d,0xb6,0x00,0x00,0x00,0x00\n" +#define GENERIC_NOP7 ".byte 0x8d,0xb4,0x26,0x00,0x00,0x00,0x00\n" +#define GENERIC_NOP8 GENERIC_NOP1 GENERIC_NOP7 + +/* Opteron nops */ +#define K8_NOP1 GENERIC_NOP1 +#define K8_NOP2 ".byte 0x66,0x90\n" +#define K8_NOP3 ".byte 0x66,0x66,0x90\n" +#define K8_NOP4 ".byte 0x66,0x66,0x66,0x90\n" +#define K8_NOP5 K8_NOP3 K8_NOP2 +#define K8_NOP6 K8_NOP3 K8_NOP3 +#define K8_NOP7 K8_NOP4 K8_NOP3 +#define K8_NOP8 K8_NOP4 K8_NOP4 + +/* K7 nops */ +/* uses eax dependencies (arbitary choice) */ +#define K7_NOP1 GENERIC_NOP1 +#define K7_NOP2 ".byte 0x8b,0xc0\n" +#define K7_NOP3 ".byte 0x8d,0x04,0x20\n" +#define K7_NOP4 ".byte 0x8d,0x44,0x20,0x00\n" +#define K7_NOP5 K7_NOP4 ASM_NOP1 +#define K7_NOP6 ".byte 0x8d,0x80,0,0,0,0\n" +#define K7_NOP7 ".byte 0x8D,0x04,0x05,0,0,0,0\n" +#define K7_NOP8 K7_NOP7 ASM_NOP1 + +/* P6 nops */ +/* uses eax dependencies (Intel-recommended choice) */ +#define P6_NOP1 GENERIC_NOP1 +#define P6_NOP2 ".byte 0x66,0x90\n" +#define P6_NOP3 ".byte 0x0f,0x1f,0x00\n" +#define P6_NOP4 ".byte 0x0f,0x1f,0x40,0\n" +#define P6_NOP5 ".byte 0x0f,0x1f,0x44,0x00,0\n" +#define P6_NOP6 ".byte 0x66,0x0f,0x1f,0x44,0x00,0\n" +#define P6_NOP7 ".byte 0x0f,0x1f,0x80,0,0,0,0\n" +#define P6_NOP8 ".byte 0x0f,0x1f,0x84,0x00,0,0,0,0\n" + +#ifdef CONFIG_MK7 +#define ASM_NOP1 K7_NOP1 +#define ASM_NOP2 K7_NOP2 +#define ASM_NOP3 K7_NOP3 +#define ASM_NOP4 K7_NOP4 +#define ASM_NOP5 K7_NOP5 +#define ASM_NOP6 K7_NOP6 +#define ASM_NOP7 K7_NOP7 +#define ASM_NOP8 K7_NOP8 +#elif defined(CONFIG_M686) || defined(CONFIG_MPENTIUMII) || \ + defined(CONFIG_MPENTIUMIII) || defined(CONFIG_MPENTIUMM) || \ + defined(CONFIG_MCORE2) || defined(CONFIG_PENTIUM4) || \ + defined(CONFIG_MPSC) +#define ASM_NOP1 P6_NOP1 +#define ASM_NOP2 P6_NOP2 +#define ASM_NOP3 P6_NOP3 +#define ASM_NOP4 P6_NOP4 +#define ASM_NOP5 P6_NOP5 +#define ASM_NOP6 P6_NOP6 +#define ASM_NOP7 P6_NOP7 +#define ASM_NOP8 P6_NOP8 +#elif defined(CONFIG_MK8) || defined(CONFIG_X86_64) +#define ASM_NOP1 K8_NOP1 +#define ASM_NOP2 K8_NOP2 +#define ASM_NOP3 K8_NOP3 +#define ASM_NOP4 K8_NOP4 +#define ASM_NOP5 K8_NOP5 +#define ASM_NOP6 K8_NOP6 +#define ASM_NOP7 K8_NOP7 +#define ASM_NOP8 K8_NOP8 +#else +#define ASM_NOP1 GENERIC_NOP1 +#define ASM_NOP2 GENERIC_NOP2 +#define ASM_NOP3 GENERIC_NOP3 +#define ASM_NOP4 GENERIC_NOP4 +#define ASM_NOP5 GENERIC_NOP5 +#define ASM_NOP6 GENERIC_NOP6 +#define ASM_NOP7 GENERIC_NOP7 +#define ASM_NOP8 GENERIC_NOP8 +#endif + +#define ASM_NOP_MAX 8 + #define HAVE_ARCH_PICK_MMAP_LAYOUT 1 #define ARCH_HAS_PREFETCHW #define ARCH_HAS_SPINLOCK_PREFETCH Index: linux-2.6-x86/include/asm-x86/processor_32.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_32.h +++ linux-2.6-x86/include/asm-x86/processor_32.h @@ -18,7 +18,6 @@ #include <linux/init.h> #include <asm/desc_defs.h> - /* * the following now lives in the per cpu area: * extern int cpu_llc_id[NR_CPUS]; @@ -144,88 +143,4 @@ extern unsigned long thread_saved_pc(str #define KSTK_ESP(task) (task_pt_regs(task)->sp) -/* generic versions from gas */ -#define GENERIC_NOP1 ".byte 0x90\n" -#define GENERIC_NOP2 ".byte 0x89,0xf6\n" -#define GENERIC_NOP3 ".byte 0x8d,0x76,0x00\n" -#define GENERIC_NOP4 ".byte 0x8d,0x74,0x26,0x00\n" -#define GENERIC_NOP5 GENERIC_NOP1 GENERIC_NOP4 -#define GENERIC_NOP6 ".byte 0x8d,0xb6,0x00,0x00,0x00,0x00\n" -#define GENERIC_NOP7 ".byte 0x8d,0xb4,0x26,0x00,0x00,0x00,0x00\n" -#define GENERIC_NOP8 GENERIC_NOP1 GENERIC_NOP7 - -/* Opteron nops */ -#define K8_NOP1 GENERIC_NOP1 -#define K8_NOP2 ".byte 0x66,0x90\n" -#define K8_NOP3 ".byte 0x66,0x66,0x90\n" -#define K8_NOP4 ".byte 0x66,0x66,0x66,0x90\n" -#define K8_NOP5 K8_NOP3 K8_NOP2 -#define K8_NOP6 K8_NOP3 K8_NOP3 -#define K8_NOP7 K8_NOP4 K8_NOP3 -#define K8_NOP8 K8_NOP4 K8_NOP4 - -/* K7 nops */ -/* uses eax dependencies (arbitary choice) */ -#define K7_NOP1 GENERIC_NOP1 -#define K7_NOP2 ".byte 0x8b,0xc0\n" -#define K7_NOP3 ".byte 0x8d,0x04,0x20\n" -#define K7_NOP4 ".byte 0x8d,0x44,0x20,0x00\n" -#define K7_NOP5 K7_NOP4 ASM_NOP1 -#define K7_NOP6 ".byte 0x8d,0x80,0,0,0,0\n" -#define K7_NOP7 ".byte 0x8D,0x04,0x05,0,0,0,0\n" -#define K7_NOP8 K7_NOP7 ASM_NOP1 - -/* P6 nops */ -/* uses eax dependencies (Intel-recommended choice) */ -#define P6_NOP1 GENERIC_NOP1 -#define P6_NOP2 ".byte 0x66,0x90\n" -#define P6_NOP3 ".byte 0x0f,0x1f,0x00\n" -#define P6_NOP4 ".byte 0x0f,0x1f,0x40,0\n" -#define P6_NOP5 ".byte 0x0f,0x1f,0x44,0x00,0\n" -#define P6_NOP6 ".byte 0x66,0x0f,0x1f,0x44,0x00,0\n" -#define P6_NOP7 ".byte 0x0f,0x1f,0x80,0,0,0,0\n" -#define P6_NOP8 ".byte 0x0f,0x1f,0x84,0x00,0,0,0,0\n" - -#ifdef CONFIG_MK8 -#define ASM_NOP1 K8_NOP1 -#define ASM_NOP2 K8_NOP2 -#define ASM_NOP3 K8_NOP3 -#define ASM_NOP4 K8_NOP4 -#define ASM_NOP5 K8_NOP5 -#define ASM_NOP6 K8_NOP6 -#define ASM_NOP7 K8_NOP7 -#define ASM_NOP8 K8_NOP8 -#elif defined(CONFIG_MK7) -#define ASM_NOP1 K7_NOP1 -#define ASM_NOP2 K7_NOP2 -#define ASM_NOP3 K7_NOP3 -#define ASM_NOP4 K7_NOP4 -#define ASM_NOP5 K7_NOP5 -#define ASM_NOP6 K7_NOP6 -#define ASM_NOP7 K7_NOP7 -#define ASM_NOP8 K7_NOP8 -#elif defined(CONFIG_M686) || defined(CONFIG_MPENTIUMII) || \ - defined(CONFIG_MPENTIUMIII) || defined(CONFIG_MPENTIUMM) || \ - defined(CONFIG_MCORE2) || defined(CONFIG_PENTIUM4) -#define ASM_NOP1 P6_NOP1 -#define ASM_NOP2 P6_NOP2 -#define ASM_NOP3 P6_NOP3 -#define ASM_NOP4 P6_NOP4 -#define ASM_NOP5 P6_NOP5 -#define ASM_NOP6 P6_NOP6 -#define ASM_NOP7 P6_NOP7 -#define ASM_NOP8 P6_NOP8 -#else -#define ASM_NOP1 GENERIC_NOP1 -#define ASM_NOP2 GENERIC_NOP2 -#define ASM_NOP3 GENERIC_NOP3 -#define ASM_NOP4 GENERIC_NOP4 -#define ASM_NOP5 GENERIC_NOP5 -#define ASM_NOP6 GENERIC_NOP6 -#define ASM_NOP7 GENERIC_NOP7 -#define ASM_NOP8 GENERIC_NOP8 -#endif - -#define ASM_NOP_MAX 8 - #endif /* __ASM_I386_PROCESSOR_H */ Index: linux-2.6-x86/include/asm-x86/processor_64.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_64.h +++ linux-2.6-x86/include/asm-x86/processor_64.h @@ -80,48 +80,4 @@ DECLARE_PER_CPU(struct orig_ist, orig_is #define task_pt_regs(tsk) ((struct pt_regs *)(tsk)->thread.sp0 - 1) #define KSTK_ESP(tsk) -1 /* sorry. doesn't work for syscall. */ - -#if defined(CONFIG_MPSC) || defined(CONFIG_MCORE2) -#define ASM_NOP1 P6_NOP1 -#define ASM_NOP2 P6_NOP2 -#define ASM_NOP3 P6_NOP3 -#define ASM_NOP4 P6_NOP4 -#define ASM_NOP5 P6_NOP5 -#define ASM_NOP6 P6_NOP6 -#define ASM_NOP7 P6_NOP7 -#define ASM_NOP8 P6_NOP8 -#else -#define ASM_NOP1 K8_NOP1 -#define ASM_NOP2 K8_NOP2 -#define ASM_NOP3 K8_NOP3 -#define ASM_NOP4 K8_NOP4 -#define ASM_NOP5 K8_NOP5 -#define ASM_NOP6 K8_NOP6 -#define ASM_NOP7 K8_NOP7 -#define ASM_NOP8 K8_NOP8 -#endif - -/* Opteron nops */ -#define K8_NOP1 ".byte 0x90\n" -#define K8_NOP2 ".byte 0x66,0x90\n" -#define K8_NOP3 ".byte 0x66,0x66,0x90\n" -#define K8_NOP4 ".byte 0x66,0x66,0x66,0x90\n" -#define K8_NOP5 K8_NOP3 K8_NOP2 -#define K8_NOP6 K8_NOP3 K8_NOP3 -#define K8_NOP7 K8_NOP4 K8_NOP3 -#define K8_NOP8 K8_NOP4 K8_NOP4 - -/* P6 nops */ -/* uses eax dependencies (Intel-recommended choice) */ -#define P6_NOP1 ".byte 0x90\n" -#define P6_NOP2 ".byte 0x66,0x90\n" -#define P6_NOP3 ".byte 0x0f,0x1f,0x00\n" -#define P6_NOP4 ".byte 0x0f,0x1f,0x40,0\n" -#define P6_NOP5 ".byte 0x0f,0x1f,0x44,0x00,0\n" -#define P6_NOP6 ".byte 0x66,0x0f,0x1f,0x44,0x00,0\n" -#define P6_NOP7 ".byte 0x0f,0x1f,0x80,0,0,0,0\n" -#define P6_NOP8 ".byte 0x0f,0x1f,0x84,0x00,0,0,0,0\n" - -#define ASM_NOP_MAX 8 - #endif /* __ASM_X86_64_PROCESSOR_H */ ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <11979320603229-git-send-email! -gcosta@redhat.com>]
[parent not found: <11979320603229-git-send-email-gcosta@redhat.com>]
* [PATCH 20/21] [PATCH] move i387 definitions to processor.h [not found] ` <11979320603229-git-send-email-gcosta@redhat.com> @ 2007-12-17 22:52 ` Glauber de Oliveira Costa 0 siblings, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland This patch moves i387 definitions from processor_32.h and processor_64.h to processor.h. They are different. Very different. And there's appearently nothing we can do about it, so they're enclosed inside ifdefs. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- include/asm-x86/processor.h | 66 ++++++++++++++++++++++++++++++++++++++++ include/asm-x86/processor_32.h | 49 ----------------------------- include/asm-x86/processor_64.h | 17 ---------- 3 files changed, 66 insertions(+), 66 deletions(-) Index: linux-2.6-x86/include/asm-x86/processor.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor.h +++ linux-2.6-x86/include/asm-x86/processor.h @@ -223,8 +223,74 @@ struct orig_ist { }; #ifdef CONFIG_X86_32 +struct i387_fsave_struct { + long cwd; + long swd; + long twd; + long fip; + long fcs; + long foo; + long fos; + long st_space[20]; /* 8*10 bytes for each FP-reg = 80 bytes */ + long status; /* software status information */ +}; + +struct i387_fxsave_struct { + unsigned short cwd; + unsigned short swd; + unsigned short twd; + unsigned short fop; + long fip; + long fcs; + long foo; + long fos; + long mxcsr; + long mxcsr_mask; + long st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */ + long xmm_space[32]; /* 8*16 bytes for each XMM-reg = 128 bytes */ + long padding[56]; +} __attribute__((aligned(16))); + +struct i387_soft_struct { + long cwd; + long swd; + long twd; + long fip; + long fcs; + long foo; + long fos; + long st_space[20]; /* 8*10 bytes for each FP-reg = 80 bytes */ + unsigned char ftop, changed, lookahead, no_update, rm, alimit; + struct info *info; + unsigned long entry_eip; +}; + +union i387_union { + struct i387_fsave_struct fsave; + struct i387_fxsave_struct fxsave; + struct i387_soft_struct soft; +}; + # include "processor_32.h" #else +struct i387_fxsave_struct { + u16 cwd; + u16 swd; + u16 twd; + u16 fop; + u64 rip; + u64 rdp; + u32 mxcsr; + u32 mxcsr_mask; + u32 st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */ + u32 xmm_space[64]; /* 16*16 bytes for each XMM-reg = 256 bytes */ + u32 padding[24]; +} __attribute__((aligned(16))); + +union i387_union { + struct i387_fxsave_struct fxsave; +}; + # include "processor_64.h" #endif Index: linux-2.6-x86/include/asm-x86/processor_32.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_32.h +++ linux-2.6-x86/include/asm-x86/processor_32.h @@ -29,55 +29,6 @@ DECLARE_PER_CPU(u8, cpu_llc_id); */ #define TASK_SIZE (PAGE_OFFSET) - -struct i387_fsave_struct { - long cwd; - long swd; - long twd; - long fip; - long fcs; - long foo; - long fos; - long st_space[20]; /* 8*10 bytes for each FP-reg = 80 bytes */ - long status; /* software status information */ -}; - -struct i387_fxsave_struct { - unsigned short cwd; - unsigned short swd; - unsigned short twd; - unsigned short fop; - long fip; - long fcs; - long foo; - long fos; - long mxcsr; - long mxcsr_mask; - long st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */ - long xmm_space[32]; /* 8*16 bytes for each XMM-reg = 128 bytes */ - long padding[56]; -} __attribute__ ((aligned (16))); - -struct i387_soft_struct { - long cwd; - long swd; - long twd; - long fip; - long fcs; - long foo; - long fos; - long st_space[20]; /* 8*10 bytes for each FP-reg = 80 bytes */ - unsigned char ftop, changed, lookahead, no_update, rm, alimit; - struct info *info; - unsigned long entry_eip; -}; - -union i387_union { - struct i387_fsave_struct fsave; - struct i387_fxsave_struct fxsave; - struct i387_soft_struct soft; -}; - #define INIT_THREAD { \ .sp0 = sizeof(init_stack) + (long)&init_stack, \ .vm86_info = NULL, \ Index: linux-2.6-x86/include/asm-x86/processor_64.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_64.h +++ linux-2.6-x86/include/asm-x86/processor_64.h @@ -31,23 +31,6 @@ #define TASK_SIZE_OF(child) ((test_tsk_thread_flag(child, TIF_IA32)) ? IA32_PAGE_OFFSET : TASK_SIZE64) -struct i387_fxsave_struct { - u16 cwd; - u16 swd; - u16 twd; - u16 fop; - u64 rip; - u64 rdp; - u32 mxcsr; - u32 mxcsr_mask; - u32 st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */ - u32 xmm_space[64]; /* 16*16 bytes for each XMM-reg = 256 bytes */ - u32 padding[24]; -} __attribute__ ((aligned (16))); - -union i387_union { - struct i387_fxsave_struct fxsave; -}; DECLARE_PER_CPU(struct orig_ist, orig_ist); ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <11979320653161-git-send-email-gcosta@redhat.com>]
* [PATCH 21/21] [PATCH] finish processor.h integration [not found] ` <11979320653161-git-send-email-gcosta@redhat.com> @ 2007-12-17 22:52 ` Glauber de Oliveira Costa [not found] ` <11979320693300-git-send-email-gcosta@redhat.com> 1 sibling, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-17 22:52 UTC (permalink / raw) To: linux-kernel Cc: ehabkost, ak, virtualization, chrisw, tglx, anthony, hpa, akpm, Glauber de Oliveira Costa, mingo, roland What's left in processor_32.h and processor_64.h cannot be cleanly integrated. However, it's just a couple of definitions. They are moved to processor.h around ifdefs, and the original files are deleted. Note that there's much less headers included in the final version. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- include/asm-x86/processor.h | 130 +++++++++++++++++++++++++++++++++++++++- include/asm-x86/processor_32.h | 97 ------------------------------ include/asm-x86/processor_64.h | 66 -------------------- 3 files changed, 127 insertions(+), 166 deletions(-) Index: linux-2.6-x86/include/asm-x86/processor.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor.h +++ linux-2.6-x86/include/asm-x86/processor.h @@ -2,13 +2,15 @@ #define __ASM_X86_PROCESSOR_H #include <asm/processor-flags.h> - +#include <asm/desc_defs.h> +#include <asm/msr.h> #include <asm/page.h> #include <asm/percpu.h> #include <asm/system.h> #include <asm/percpu.h> #include <linux/cpumask.h> #include <linux/cache.h> +#include <linux/personality.h> /* * Default implementation of macro that returns current @@ -271,7 +273,11 @@ union i387_union { struct i387_soft_struct soft; }; -# include "processor_32.h" +/* + * the following now lives in the per cpu area: + * extern int cpu_llc_id[NR_CPUS]; + */ +DECLARE_PER_CPU(u8, cpu_llc_id); #else struct i387_fxsave_struct { u16 cwd; @@ -291,7 +297,7 @@ union i387_union { struct i387_fxsave_struct fxsave; }; -# include "processor_64.h" +DECLARE_PER_CPU(struct orig_ist, orig_ist); #endif extern void print_cpu_info(struct cpuinfo_x86 *); @@ -774,6 +780,124 @@ static inline void prefetchw(const void } #define spin_lock_prefetch(x) prefetchw(x) +#ifdef CONFIG_X86_32 +/* + * User space process size: 3GB (default). + */ +#define TASK_SIZE (PAGE_OFFSET) + +#define INIT_THREAD { \ + .sp0 = sizeof(init_stack) + (long)&init_stack, \ + .vm86_info = NULL, \ + .sysenter_cs = __KERNEL_CS, \ + .io_bitmap_ptr = NULL, \ + .fs = __KERNEL_PERCPU, \ +} + +/* + * Note that the .io_bitmap member must be extra-big. This is because + * the CPU will access an additional byte beyond the end of the IO + * permission bitmap. The extra byte must be all 1 bits, and must + * be within the limit. + */ +#define INIT_TSS { \ + .x86_tss = { \ + .sp0 = sizeof(init_stack) + (long)&init_stack, \ + .ss0 = __KERNEL_DS, \ + .ss1 = __KERNEL_CS, \ + .io_bitmap_base = INVALID_IO_BITMAP_OFFSET, \ + }, \ + .io_bitmap = { [0 ... IO_BITMAP_LONGS] = ~0 }, \ +} + +#define start_thread(regs, new_eip, new_esp) do { \ + __asm__("movl %0,%%gs": :"r" (0)); \ + regs->fs = 0; \ + set_fs(USER_DS); \ + regs->ds = __USER_DS; \ + regs->es = __USER_DS; \ + regs->ss = __USER_DS; \ + regs->cs = __USER_CS; \ + regs->ip = new_eip; \ + regs->sp = new_esp; \ +} while (0) + + +extern unsigned long thread_saved_pc(struct task_struct *tsk); + +#define THREAD_SIZE_LONGS (THREAD_SIZE/sizeof(unsigned long)) +#define KSTK_TOP(info) \ +({ \ + unsigned long *__ptr = (unsigned long *)(info); \ + (unsigned long)(&__ptr[THREAD_SIZE_LONGS]); \ +}) + +/* + * The below -8 is to reserve 8 bytes on top of the ring0 stack. + * This is necessary to guarantee that the entire "struct pt_regs" + * is accessable even if the CPU haven't stored the SS/ESP registers + * on the stack (interrupt gate does not save these registers + * when switching to the same priv ring). + * Therefore beware: accessing the ss/esp fields of the + * "struct pt_regs" is possible, but they may contain the + * completely wrong values. + */ +#define task_pt_regs(task) \ +({ \ + struct pt_regs *__regs__; \ + __regs__ = (struct pt_regs *)(KSTK_TOP(task_stack_page(task))-8); \ + __regs__ - 1; \ +}) + +#define KSTK_ESP(task) (task_pt_regs(task)->sp) + +#else +/* + * User space process size. 47bits minus one guard page. + */ +#define TASK_SIZE64 (0x800000000000UL - 4096) + +/* This decides where the kernel will search for a free chunk of vm + * space during mmap's. + */ +#define IA32_PAGE_OFFSET ((current->personality & ADDR_LIMIT_3GB) ? \ + 0xc0000000 : 0xFFFFe000) + +#define TASK_SIZE (test_thread_flag(TIF_IA32) ? \ + IA32_PAGE_OFFSET : TASK_SIZE64) +#define TASK_SIZE_OF(child) ((test_tsk_thread_flag(child, TIF_IA32)) ? \ + IA32_PAGE_OFFSET : TASK_SIZE64) + +#define INIT_THREAD { \ + .sp0 = (unsigned long)&init_stack + sizeof(init_stack) \ +} + +#define INIT_TSS { \ + .x86_tss.sp0 = (unsigned long)&init_stack + sizeof(init_stack) \ +} + +#define start_thread(regs, new_rip, new_rsp) do { \ + asm volatile("movl %0,%%fs; movl %0,%%es; movl %0,%%ds": :"r" (0)); \ + load_gs_index(0); \ + (regs)->ip = (new_rip); \ + (regs)->sp = (new_rsp); \ + write_pda(oldrsp, (new_rsp)); \ + (regs)->cs = __USER_CS; \ + (regs)->ss = __USER_DS; \ + (regs)->flags = 0x200; \ + set_fs(USER_DS); \ +} while (0) + +/* + * Return saved PC of a blocked thread. + * What is this good for? it will be always the scheduler or ret_from_fork. + */ +#define thread_saved_pc(t) (*(unsigned long *)((t)->thread.sp - 8)) + +#define task_pt_regs(tsk) ((struct pt_regs *)(tsk)->thread.sp0 - 1) +#define KSTK_ESP(tsk) -1 /* sorry. doesn't work for syscall. */ +#endif /* CONFIG_X86_64 */ + /* This decides where the kernel will search for a free chunk of vm * space during mmap's. */ Index: linux-2.6-x86/include/asm-x86/processor_32.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_32.h +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (C) 1994 Linus Torvalds - */ - -#ifndef __ASM_I386_PROCESSOR_H -#define __ASM_I386_PROCESSOR_H - -#include <asm/vm86.h> -#include <asm/math_emu.h> -#include <asm/segment.h> -#include <asm/page.h> -#include <asm/types.h> -#include <asm/sigcontext.h> -#include <asm/cpufeature.h> -#include <asm/msr.h> -#include <asm/system.h> -#include <linux/threads.h> -#include <linux/init.h> -#include <asm/desc_defs.h> - -/* - * the following now lives in the per cpu area: - * extern int cpu_llc_id[NR_CPUS]; - */ -DECLARE_PER_CPU(u8, cpu_llc_id); - -/* - * User space process size: 3GB (default). - */ -#define TASK_SIZE (PAGE_OFFSET) - -#define INIT_THREAD { \ - .sp0 = sizeof(init_stack) + (long)&init_stack, \ - .vm86_info = NULL, \ - .sysenter_cs = __KERNEL_CS, \ - .io_bitmap_ptr = NULL, \ - .fs = __KERNEL_PERCPU, \ -} - -/* - * Note that the .io_bitmap member must be extra-big. This is because - * the CPU will access an additional byte beyond the end of the IO - * permission bitmap. The extra byte must be all 1 bits, and must - * be within the limit. - */ -#define INIT_TSS { \ - .x86_tss = { \ - .sp0 = sizeof(init_stack) + (long)&init_stack, \ - .ss0 = __KERNEL_DS, \ - .ss1 = __KERNEL_CS, \ - .io_bitmap_base = INVALID_IO_BITMAP_OFFSET, \ - }, \ - .io_bitmap = { [ 0 ... IO_BITMAP_LONGS] = ~0 }, \ -} - -#define start_thread(regs, new_eip, new_esp) do { \ - __asm__("movl %0,%%gs": :"r" (0)); \ - regs->fs = 0; \ - set_fs(USER_DS); \ - regs->ds = __USER_DS; \ - regs->es = __USER_DS; \ - regs->ss = __USER_DS; \ - regs->cs = __USER_CS; \ - regs->ip = new_eip; \ - regs->sp = new_esp; \ -} while (0) - - -extern unsigned long thread_saved_pc(struct task_struct *tsk); - -#define THREAD_SIZE_LONGS (THREAD_SIZE/sizeof(unsigned long)) -#define KSTK_TOP(info) \ -({ \ - unsigned long *__ptr = (unsigned long *)(info); \ - (unsigned long)(&__ptr[THREAD_SIZE_LONGS]); \ -}) - -/* - * The below -8 is to reserve 8 bytes on top of the ring0 stack. - * This is necessary to guarantee that the entire "struct pt_regs" - * is accessable even if the CPU haven't stored the SS/ESP registers - * on the stack (interrupt gate does not save these registers - * when switching to the same priv ring). - * Therefore beware: accessing the ss/esp fields of the - * "struct pt_regs" is possible, but they may contain the - * completely wrong values. - */ -#define task_pt_regs(task) \ -({ \ - struct pt_regs *__regs__; \ - __regs__ = (struct pt_regs *)(KSTK_TOP(task_stack_page(task))-8); \ - __regs__ - 1; \ -}) - -#define KSTK_ESP(task) (task_pt_regs(task)->sp) - -#endif /* __ASM_I386_PROCESSOR_H */ Index: linux-2.6-x86/include/asm-x86/processor_64.h =================================================================== --- linux-2.6-x86.orig/include/asm-x86/processor_64.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (C) 1994 Linus Torvalds - */ - -#ifndef __ASM_X86_64_PROCESSOR_H -#define __ASM_X86_64_PROCESSOR_H - -#include <asm/segment.h> -#include <asm/page.h> -#include <asm/types.h> -#include <asm/sigcontext.h> -#include <asm/cpufeature.h> -#include <linux/threads.h> -#include <asm/msr.h> -#include <asm/current.h> -#include <asm/system.h> -#include <linux/personality.h> -#include <asm/desc_defs.h> - -/* - * User space process size. 47bits minus one guard page. - */ -#define TASK_SIZE64 (0x800000000000UL - 4096) - -/* This decides where the kernel will search for a free chunk of vm - * space during mmap's. - */ -#define IA32_PAGE_OFFSET ((current->personality & ADDR_LIMIT_3GB) ? 0xc0000000 : 0xFFFFe000) - -#define TASK_SIZE (test_thread_flag(TIF_IA32) ? IA32_PAGE_OFFSET : TASK_SIZE64) -#define TASK_SIZE_OF(child) ((test_tsk_thread_flag(child, TIF_IA32)) ? IA32_PAGE_OFFSET : TASK_SIZE64) - - - -DECLARE_PER_CPU(struct orig_ist, orig_ist); - -#define INIT_THREAD { \ - .sp0 = (unsigned long)&init_stack + sizeof(init_stack) \ -} - -#define INIT_TSS { \ - .x86_tss.sp0 = (unsigned long)&init_stack + sizeof(init_stack) \ -} - -#define start_thread(regs,new_rip,new_rsp) do { \ - asm volatile("movl %0,%%fs; movl %0,%%es; movl %0,%%ds": :"r" (0)); \ - load_gs_index(0); \ - (regs)->ip = (new_rip); \ - (regs)->sp = (new_rsp); \ - write_pda(oldrsp, (new_rsp)); \ - (regs)->cs = __USER_CS; \ - (regs)->ss = __USER_DS; \ - (regs)->flags = 0x200; \ - set_fs(USER_DS); \ -} while(0) - -/* - * Return saved PC of a blocked thread. - * What is this good for? it will be always the scheduler or ret_from_fork. - */ -#define thread_saved_pc(t) (*(unsigned long *)((t)->thread.sp - 8)) - -#define task_pt_regs(tsk) ((struct pt_regs *)(tsk)->thread.sp0 - 1) -#define KSTK_ESP(tsk) -1 /* sorry. doesn't work for syscall. */ - -#endif /* __ASM_X86_64_PROCESSOR_H */ ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <11979320693300-git-send-email-gcosta@redhat.com>]
* Re: [PATCH 21/21] [PATCH] finish processor.h integration [not found] ` <11979320693300-git-send-email-gcosta@redhat.com> @ 2007-12-18 13:19 ` Ingo Molnar [not found] ` <20071218131932.GA9457@elte.hu> 1 sibling, 0 replies; 37+ messages in thread From: Ingo Molnar @ 2007-12-18 13:19 UTC (permalink / raw) To: Glauber de Oliveira Costa Cc: ehabkost, linux-kernel, virtualization, chrisw, anthony, hpa, akpm, tglx, roland, ak [-- Attachment #1: Type: text/plain, Size: 917 bytes --] * Glauber de Oliveira Costa <gcosta@redhat.com> wrote: > What's left in processor_32.h and processor_64.h cannot be cleanly > integrated. However, it's just a couple of definitions. They are moved > to processor.h around ifdefs, and the original files are deleted. Note > that there's much less headers included in the final version. and this patch breaks the build on the attached config, with: CC arch/x86/mm/boot_ioremap_32.o In file included from include/asm/fixmap_32.h:28, from include/asm/fixmap.h:2, from include/asm/pgtable_32.h:16, from include/asm/pgtable.h:2, from arch/x86/mm/boot_ioremap_32.c:21: include/asm/acpi.h:159: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'acpi_fake_nodes' make[1]: *** [arch/x86/mm/boot_ioremap_32.o] Error 1 make: *** [arch/x86/mm/boot_ioremap_32.o] Error 2 Ingo [-- Attachment #2: config --] [-- Type: text/plain, Size: 58882 bytes --] # # Automatically generated make config: don't edit # Linux kernel version: 2.6.24-rc5 # Tue Dec 18 14:01:45 2007 # # CONFIG_64BIT is not set CONFIG_X86_32=y # CONFIG_X86_64 is not set CONFIG_X86=y # CONFIG_GENERIC_LOCKBREAK is not set CONFIG_GENERIC_TIME=y CONFIG_GENERIC_CMOS_UPDATE=y CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_SEMAPHORE_SLEEPERS=y CONFIG_MMU=y CONFIG_ZONE_DMA=y CONFIG_QUICKLIST=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_IOMAP=y CONFIG_GENERIC_BUG=y # CONFIG_GENERIC_GPIO is not set CONFIG_GENERIC_HWEIGHT=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_DMI=y # CONFIG_RWSEM_GENERIC_SPINLOCK is not set CONFIG_RWSEM_XCHGADD_ALGORITHM=y # CONFIG_ARCH_HAS_ILOG2_U32 is not set # CONFIG_ARCH_HAS_ILOG2_U64 is not set CONFIG_GENERIC_CALIBRATE_DELAY=y # CONFIG_GENERIC_TIME_VSYSCALL is not set CONFIG_ARCH_SUPPORTS_OPROFILE=y # CONFIG_ZONE_DMA32 is not set CONFIG_ARCH_POPULATES_NODE_MAP=y # CONFIG_AUDIT_ARCH is not set CONFIG_GENERIC_HARDIRQS=y CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_PENDING_IRQ=y CONFIG_X86_SMP=y CONFIG_X86_HT=y CONFIG_X86_BIOS_REBOOT=y CONFIG_X86_TRAMPOLINE=y CONFIG_KTIME_SCALAR=y CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" # # General setup # CONFIG_EXPERIMENTAL=y CONFIG_LOCK_KERNEL=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set # CONFIG_SWAP is not set CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y CONFIG_POSIX_MQUEUE=y # CONFIG_BSD_PROCESS_ACCT is not set CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y # CONFIG_TASK_XACCT is not set # CONFIG_USER_NS is not set CONFIG_PID_NS=y # CONFIG_AUDIT is not set # CONFIG_IKCONFIG is not set CONFIG_LOG_BUF_SHIFT=20 # CONFIG_CGROUPS is not set CONFIG_FAIR_GROUP_SCHED=y CONFIG_FAIR_USER_SCHED=y # CONFIG_FAIR_CGROUP_SCHED is not set CONFIG_SYSFS_DEPRECATED=y CONFIG_RELAY=y CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=y # CONFIG_EMBEDDED is not set CONFIG_UID16=y CONFIG_SYSCTL_SYSCALL=y CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_EXTRA_PASS is not set CONFIG_HOTPLUG=y CONFIG_PRINTK=y CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y CONFIG_ANON_INODES=y CONFIG_EPOLL=y CONFIG_SIGNALFD=y CONFIG_EVENTFD=y CONFIG_SHMEM=y CONFIG_VM_EVENT_COUNTERS=y CONFIG_SLUB_DEBUG=y # CONFIG_SLAB is not set CONFIG_SLUB=y # CONFIG_SLOB is not set CONFIG_RT_MUTEXES=y # CONFIG_TINY_SHMEM is not set CONFIG_BASE_SMALL=0 CONFIG_MODULES=y # CONFIG_MODULE_UNLOAD is not set # CONFIG_MODVERSIONS is not set CONFIG_MODULE_SRCVERSION_ALL=y CONFIG_KMOD=y CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y CONFIG_LBD=y CONFIG_BLK_DEV_IO_TRACE=y # CONFIG_LSF is not set CONFIG_BLK_DEV_BSG=y # # IO Schedulers # CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_AS=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_CFQ=y # CONFIG_DEFAULT_AS is not set # CONFIG_DEFAULT_DEADLINE is not set CONFIG_DEFAULT_CFQ=y # CONFIG_DEFAULT_NOOP is not set CONFIG_DEFAULT_IOSCHED="cfq" CONFIG_PREEMPT_NOTIFIERS=y # # Processor type and features # CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y CONFIG_SMP=y # CONFIG_X86_PC is not set # CONFIG_X86_ELAN is not set # CONFIG_X86_VOYAGER is not set # CONFIG_X86_NUMAQ is not set # CONFIG_X86_SUMMIT is not set # CONFIG_X86_BIGSMP is not set # CONFIG_X86_VISWS is not set CONFIG_X86_GENERICARCH=y # CONFIG_X86_ES7000 is not set # CONFIG_X86_RDC321X is not set # CONFIG_X86_VSMP is not set CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y # CONFIG_PARAVIRT_GUEST is not set CONFIG_ACPI_SRAT=y CONFIG_HAVE_ARCH_PARSE_SRAT=y CONFIG_X86_SUMMIT_NUMA=y CONFIG_X86_CYCLONE_TIMER=y # CONFIG_M386 is not set # CONFIG_M486 is not set # CONFIG_M586 is not set # CONFIG_M586TSC is not set # CONFIG_M586MMX is not set # CONFIG_M686 is not set # CONFIG_MPENTIUMII is not set CONFIG_MPENTIUMIII=y # CONFIG_MPENTIUMM is not set # CONFIG_MPENTIUM4 is not set # CONFIG_MK6 is not set # CONFIG_MK7 is not set # CONFIG_MK8 is not set # CONFIG_MCRUSOE is not set # CONFIG_MEFFICEON is not set # CONFIG_MWINCHIPC6 is not set # CONFIG_MWINCHIP2 is not set # CONFIG_MWINCHIP3D is not set # CONFIG_MGEODEGX1 is not set # CONFIG_MGEODE_LX is not set # CONFIG_MCYRIXIII is not set # CONFIG_MVIAC3_2 is not set # CONFIG_MVIAC7 is not set # CONFIG_MPSC is not set # CONFIG_MCORE2 is not set # CONFIG_GENERIC_CPU is not set # CONFIG_X86_GENERIC is not set CONFIG_X86_CMPXCHG=y CONFIG_X86_L1_CACHE_SHIFT=5 CONFIG_X86_XADD=y CONFIG_X86_WP_WORKS_OK=y CONFIG_X86_INVLPG=y CONFIG_X86_BSWAP=y CONFIG_X86_POPAD_OK=y CONFIG_X86_GOOD_APIC=y CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_USE_PPRO_CHECKSUM=y CONFIG_X86_TSC=y CONFIG_X86_CMOV=y CONFIG_X86_MINIMUM_CPU_FAMILY=4 CONFIG_X86_DEBUGCTLMSR=y # CONFIG_HPET_TIMER is not set CONFIG_NR_CPUS=8 CONFIG_SCHED_SMT=y # CONFIG_SCHED_MC is not set # CONFIG_PREEMPT_NONE is not set # CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREEMPT=y CONFIG_PREEMPT_BKL=y CONFIG_X86_LOCAL_APIC=y CONFIG_X86_IO_APIC=y CONFIG_X86_MCE=y # CONFIG_X86_MCE_NONFATAL is not set CONFIG_X86_MCE_P4THERMAL=y CONFIG_VM86=y CONFIG_TOSHIBA=m # CONFIG_I8K is not set CONFIG_X86_REBOOTFIXUPS=y # CONFIG_MICROCODE is not set # CONFIG_X86_MSR is not set CONFIG_X86_CPUID=m # CONFIG_NOHIGHMEM is not set # CONFIG_HIGHMEM4G is not set CONFIG_HIGHMEM64G=y CONFIG_PAGE_OFFSET=0xC0000000 CONFIG_HIGHMEM=y CONFIG_X86_PAE=y CONFIG_NUMA=y CONFIG_NODES_SHIFT=3 CONFIG_HAVE_ARCH_BOOTMEM_NODE=y CONFIG_NEED_NODE_MEMMAP_SIZE=y CONFIG_HAVE_ARCH_ALLOC_REMAP=y CONFIG_ARCH_DISCONTIGMEM_ENABLE=y CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_SELECT_MEMORY_MODEL=y # CONFIG_FLATMEM_MANUAL is not set # CONFIG_DISCONTIGMEM_MANUAL is not set CONFIG_SPARSEMEM_MANUAL=y CONFIG_SPARSEMEM=y CONFIG_NEED_MULTIPLE_NODES=y CONFIG_HAVE_MEMORY_PRESENT=y CONFIG_SPARSEMEM_STATIC=y # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set # CONFIG_MEMORY_HOTPLUG is not set CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_MIGRATION=y CONFIG_RESOURCES_64BIT=y CONFIG_ZONE_DMA_FLAG=1 CONFIG_BOUNCE=y CONFIG_NR_QUICK=1 CONFIG_VIRT_TO_BUS=y CONFIG_HIGHPTE=y CONFIG_MATH_EMULATION=y CONFIG_MTRR=y CONFIG_EFI=y # CONFIG_IRQBALANCE is not set CONFIG_BOOT_IOREMAP=y # CONFIG_SECCOMP is not set # CONFIG_HZ_100 is not set # CONFIG_HZ_250 is not set CONFIG_HZ_300=y # CONFIG_HZ_1000 is not set CONFIG_HZ=300 # CONFIG_KEXEC is not set CONFIG_CRASH_DUMP=y CONFIG_PHYSICAL_START=0x100000 CONFIG_RELOCATABLE=y CONFIG_PHYSICAL_ALIGN=0x100000 CONFIG_HOTPLUG_CPU=y # CONFIG_COMPAT_VDSO is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y # CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID is not set # # Power management options # CONFIG_PM=y CONFIG_PM_LEGACY=y # CONFIG_PM_DEBUG is not set CONFIG_SUSPEND_SMP_POSSIBLE=y # CONFIG_SUSPEND is not set CONFIG_HIBERNATION_SMP_POSSIBLE=y CONFIG_ACPI=y # CONFIG_ACPI_PROCFS is not set CONFIG_ACPI_PROCFS_POWER=y # CONFIG_ACPI_PROC_EVENT is not set CONFIG_ACPI_AC=y CONFIG_ACPI_BATTERY=m CONFIG_ACPI_BUTTON=m CONFIG_ACPI_VIDEO=m # CONFIG_ACPI_FAN is not set CONFIG_ACPI_DOCK=y # CONFIG_ACPI_BAY is not set # CONFIG_ACPI_PROCESSOR is not set CONFIG_ACPI_NUMA=y # CONFIG_ACPI_ASUS is not set CONFIG_ACPI_TOSHIBA=y CONFIG_ACPI_BLACKLIST_YEAR=0 # CONFIG_ACPI_DEBUG is not set CONFIG_ACPI_EC=y CONFIG_ACPI_POWER=y CONFIG_ACPI_SYSTEM=y CONFIG_X86_PM_TIMER=y # CONFIG_ACPI_CONTAINER is not set CONFIG_ACPI_SBS=m # # CPU Frequency scaling # CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_TABLE=y # CONFIG_CPU_FREQ_DEBUG is not set CONFIG_CPU_FREQ_STAT=y # CONFIG_CPU_FREQ_STAT_DETAILS is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set CONFIG_CPU_FREQ_GOV_PERFORMANCE=y # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set CONFIG_CPU_FREQ_GOV_USERSPACE=m CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m # # CPUFreq processor drivers # CONFIG_X86_POWERNOW_K6=y # CONFIG_X86_POWERNOW_K7 is not set CONFIG_X86_POWERNOW_K8=y # CONFIG_X86_GX_SUSPMOD is not set CONFIG_X86_SPEEDSTEP_CENTRINO=m CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y # CONFIG_X86_SPEEDSTEP_ICH is not set CONFIG_X86_SPEEDSTEP_SMI=y CONFIG_X86_P4_CLOCKMOD=y # CONFIG_X86_CPUFREQ_NFORCE2 is not set # CONFIG_X86_LONGRUN is not set # CONFIG_X86_E_POWERSAVER is not set # # shared options # CONFIG_X86_SPEEDSTEP_LIB=y # CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK is not set # CONFIG_CPU_IDLE is not set # # Bus options (PCI etc.) # CONFIG_PCI=y # CONFIG_PCI_GOBIOS is not set # CONFIG_PCI_GOMMCONFIG is not set CONFIG_PCI_GODIRECT=y # CONFIG_PCI_GOANY is not set CONFIG_PCI_DIRECT=y CONFIG_PCI_DOMAINS=y CONFIG_PCIEPORTBUS=y CONFIG_HOTPLUG_PCI_PCIE=m CONFIG_PCIEAER=y CONFIG_ARCH_SUPPORTS_MSI=y # CONFIG_PCI_MSI is not set CONFIG_PCI_LEGACY=y # CONFIG_HT_IRQ is not set CONFIG_ISA_DMA_API=y # CONFIG_ISA is not set # CONFIG_MCA is not set # CONFIG_SCx200 is not set CONFIG_K8_NB=y CONFIG_PCCARD=m # CONFIG_PCMCIA_DEBUG is not set CONFIG_PCMCIA=m # CONFIG_PCMCIA_LOAD_CIS is not set # CONFIG_PCMCIA_IOCTL is not set CONFIG_CARDBUS=y # # PC-card bridges # CONFIG_YENTA=m CONFIG_YENTA_O2=y CONFIG_YENTA_RICOH=y CONFIG_YENTA_TI=y CONFIG_YENTA_ENE_TUNE=y CONFIG_YENTA_TOSHIBA=y CONFIG_PD6729=m # CONFIG_I82092 is not set CONFIG_PCCARD_NONSTATIC=m CONFIG_HOTPLUG_PCI=m # CONFIG_HOTPLUG_PCI_FAKE is not set # CONFIG_HOTPLUG_PCI_ACPI is not set CONFIG_HOTPLUG_PCI_CPCI=y # CONFIG_HOTPLUG_PCI_CPCI_ZT5550 is not set # CONFIG_HOTPLUG_PCI_CPCI_GENERIC is not set # CONFIG_HOTPLUG_PCI_SHPC is not set # # Executable file formats / Emulations # CONFIG_BINFMT_ELF=y CONFIG_BINFMT_AOUT=y # CONFIG_BINFMT_MISC is not set # # Networking # CONFIG_NET=y # # Networking options # CONFIG_PACKET=y # CONFIG_PACKET_MMAP is not set CONFIG_UNIX=y CONFIG_XFRM=y CONFIG_XFRM_USER=m # CONFIG_XFRM_SUB_POLICY is not set # CONFIG_XFRM_MIGRATE is not set CONFIG_NET_KEY=y # CONFIG_NET_KEY_MIGRATE is not set CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y # CONFIG_ASK_IP_FIB_HASH is not set CONFIG_IP_FIB_TRIE=y # CONFIG_IP_FIB_HASH is not set CONFIG_IP_MULTIPLE_TABLES=y CONFIG_IP_ROUTE_MULTIPATH=y CONFIG_IP_ROUTE_VERBOSE=y # CONFIG_IP_PNP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE is not set # CONFIG_IP_MROUTE is not set CONFIG_ARPD=y # CONFIG_SYN_COOKIES is not set CONFIG_INET_AH=y CONFIG_INET_ESP=m CONFIG_INET_IPCOMP=y CONFIG_INET_XFRM_TUNNEL=y CONFIG_INET_TUNNEL=y # CONFIG_INET_XFRM_MODE_TRANSPORT is not set CONFIG_INET_XFRM_MODE_TUNNEL=m CONFIG_INET_XFRM_MODE_BEET=y CONFIG_INET_LRO=m # CONFIG_INET_DIAG is not set # CONFIG_TCP_CONG_ADVANCED is not set CONFIG_TCP_CONG_CUBIC=y CONFIG_DEFAULT_TCP_CONG="cubic" # CONFIG_TCP_MD5SIG is not set CONFIG_IP_VS=y # CONFIG_IP_VS_DEBUG is not set CONFIG_IP_VS_TAB_BITS=12 # # IPVS transport protocol load balancing support # CONFIG_IP_VS_PROTO_TCP=y CONFIG_IP_VS_PROTO_UDP=y CONFIG_IP_VS_PROTO_ESP=y CONFIG_IP_VS_PROTO_AH=y # # IPVS scheduler # # CONFIG_IP_VS_RR is not set CONFIG_IP_VS_WRR=m # CONFIG_IP_VS_LC is not set CONFIG_IP_VS_WLC=y CONFIG_IP_VS_LBLC=m # CONFIG_IP_VS_LBLCR is not set CONFIG_IP_VS_DH=m CONFIG_IP_VS_SH=y CONFIG_IP_VS_SED=y CONFIG_IP_VS_NQ=m # # IPVS application helper # # CONFIG_IP_VS_FTP is not set CONFIG_IPV6=m # CONFIG_IPV6_PRIVACY is not set # CONFIG_IPV6_ROUTER_PREF is not set # CONFIG_IPV6_OPTIMISTIC_DAD is not set # CONFIG_INET6_AH is not set # CONFIG_INET6_ESP is not set # CONFIG_INET6_IPCOMP is not set CONFIG_IPV6_MIP6=m # CONFIG_INET6_XFRM_TUNNEL is not set # CONFIG_INET6_TUNNEL is not set # CONFIG_INET6_XFRM_MODE_TRANSPORT is not set # CONFIG_INET6_XFRM_MODE_TUNNEL is not set # CONFIG_INET6_XFRM_MODE_BEET is not set CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m # CONFIG_IPV6_SIT is not set # CONFIG_IPV6_TUNNEL is not set CONFIG_IPV6_MULTIPLE_TABLES=y # CONFIG_IPV6_SUBTREES is not set # CONFIG_NETLABEL is not set # CONFIG_NETWORK_SECMARK is not set CONFIG_NETFILTER=y # CONFIG_NETFILTER_DEBUG is not set # # Core Netfilter Configuration # CONFIG_NETFILTER_NETLINK=y # CONFIG_NETFILTER_NETLINK_QUEUE is not set # CONFIG_NETFILTER_NETLINK_LOG is not set CONFIG_NF_CONNTRACK_ENABLED=m CONFIG_NF_CONNTRACK=m CONFIG_NF_CT_ACCT=y CONFIG_NF_CONNTRACK_MARK=y CONFIG_NF_CONNTRACK_EVENTS=y # CONFIG_NF_CT_PROTO_SCTP is not set CONFIG_NF_CT_PROTO_UDPLITE=m # CONFIG_NF_CONNTRACK_AMANDA is not set CONFIG_NF_CONNTRACK_FTP=m CONFIG_NF_CONNTRACK_H323=m # CONFIG_NF_CONNTRACK_IRC is not set CONFIG_NF_CONNTRACK_NETBIOS_NS=m # CONFIG_NF_CONNTRACK_PPTP is not set CONFIG_NF_CONNTRACK_SANE=m # CONFIG_NF_CONNTRACK_SIP is not set # CONFIG_NF_CONNTRACK_TFTP is not set # CONFIG_NF_CT_NETLINK is not set CONFIG_NETFILTER_XTABLES=y # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set # CONFIG_NETFILTER_XT_TARGET_MARK is not set # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set CONFIG_NETFILTER_XT_TARGET_NFLOG=m CONFIG_NETFILTER_XT_TARGET_NOTRACK=m # CONFIG_NETFILTER_XT_TARGET_TRACE is not set CONFIG_NETFILTER_XT_TARGET_TCPMSS=m # CONFIG_NETFILTER_XT_MATCH_COMMENT is not set # CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set # CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set # CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set # CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set CONFIG_NETFILTER_XT_MATCH_DCCP=y # CONFIG_NETFILTER_XT_MATCH_DSCP is not set CONFIG_NETFILTER_XT_MATCH_ESP=y # CONFIG_NETFILTER_XT_MATCH_HELPER is not set # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set CONFIG_NETFILTER_XT_MATCH_MAC=m CONFIG_NETFILTER_XT_MATCH_MARK=m # CONFIG_NETFILTER_XT_MATCH_POLICY is not set # CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m CONFIG_NETFILTER_XT_MATCH_QUOTA=m # CONFIG_NETFILTER_XT_MATCH_REALM is not set CONFIG_NETFILTER_XT_MATCH_SCTP=y CONFIG_NETFILTER_XT_MATCH_STATE=m CONFIG_NETFILTER_XT_MATCH_STATISTIC=m # CONFIG_NETFILTER_XT_MATCH_STRING is not set CONFIG_NETFILTER_XT_MATCH_TCPMSS=m CONFIG_NETFILTER_XT_MATCH_TIME=m # CONFIG_NETFILTER_XT_MATCH_U32 is not set CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m # # IP: Netfilter Configuration # # CONFIG_NF_CONNTRACK_IPV4 is not set # CONFIG_IP_NF_QUEUE is not set CONFIG_IP_NF_IPTABLES=y CONFIG_IP_NF_MATCH_IPRANGE=y CONFIG_IP_NF_MATCH_TOS=y CONFIG_IP_NF_MATCH_RECENT=y CONFIG_IP_NF_MATCH_ECN=y CONFIG_IP_NF_MATCH_AH=y # CONFIG_IP_NF_MATCH_TTL is not set CONFIG_IP_NF_MATCH_OWNER=y CONFIG_IP_NF_MATCH_ADDRTYPE=y CONFIG_IP_NF_FILTER=y # CONFIG_IP_NF_TARGET_REJECT is not set CONFIG_IP_NF_TARGET_LOG=m CONFIG_IP_NF_TARGET_ULOG=m # CONFIG_IP_NF_MANGLE is not set # CONFIG_IP_NF_RAW is not set CONFIG_IP_NF_ARPTABLES=m # CONFIG_IP_NF_ARPFILTER is not set CONFIG_IP_NF_ARP_MANGLE=m # # IPv6: Netfilter Configuration (EXPERIMENTAL) # # CONFIG_NF_CONNTRACK_IPV6 is not set CONFIG_IP6_NF_QUEUE=m CONFIG_IP6_NF_IPTABLES=m CONFIG_IP6_NF_MATCH_RT=m # CONFIG_IP6_NF_MATCH_OPTS is not set CONFIG_IP6_NF_MATCH_FRAG=m # CONFIG_IP6_NF_MATCH_HL is not set CONFIG_IP6_NF_MATCH_OWNER=m # CONFIG_IP6_NF_MATCH_IPV6HEADER is not set # CONFIG_IP6_NF_MATCH_AH is not set # CONFIG_IP6_NF_MATCH_MH is not set CONFIG_IP6_NF_MATCH_EUI64=m CONFIG_IP6_NF_FILTER=m # CONFIG_IP6_NF_TARGET_LOG is not set CONFIG_IP6_NF_TARGET_REJECT=m # CONFIG_IP6_NF_MANGLE is not set CONFIG_IP6_NF_RAW=m CONFIG_IP_DCCP=y CONFIG_IP_DCCP_ACKVEC=y # # DCCP CCIDs Configuration (EXPERIMENTAL) # CONFIG_IP_DCCP_CCID2=m # CONFIG_IP_DCCP_CCID2_DEBUG is not set CONFIG_IP_DCCP_CCID3=y CONFIG_IP_DCCP_TFRC_LIB=y CONFIG_IP_DCCP_CCID3_DEBUG=y CONFIG_IP_DCCP_CCID3_RTO=100 CONFIG_IP_SCTP=m # CONFIG_SCTP_DBG_MSG is not set CONFIG_SCTP_DBG_OBJCNT=y # CONFIG_SCTP_HMAC_NONE is not set CONFIG_SCTP_HMAC_SHA1=y # CONFIG_SCTP_HMAC_MD5 is not set CONFIG_TIPC=m CONFIG_TIPC_ADVANCED=y CONFIG_TIPC_ZONES=3 CONFIG_TIPC_CLUSTERS=1 CONFIG_TIPC_NODES=255 CONFIG_TIPC_SLAVE_NODES=0 CONFIG_TIPC_PORTS=8191 CONFIG_TIPC_LOG=0 # CONFIG_TIPC_DEBUG is not set CONFIG_ATM=y CONFIG_ATM_CLIP=m # CONFIG_ATM_CLIP_NO_ICMP is not set CONFIG_ATM_LANE=y CONFIG_ATM_MPOA=y CONFIG_ATM_BR2684=y # CONFIG_ATM_BR2684_IPFILTER is not set # CONFIG_BRIDGE is not set CONFIG_VLAN_8021Q=y # CONFIG_DECNET is not set CONFIG_LLC=y CONFIG_LLC2=m # CONFIG_IPX is not set CONFIG_ATALK=m CONFIG_DEV_APPLETALK=m # CONFIG_IPDDP is not set CONFIG_X25=y CONFIG_LAPB=y CONFIG_ECONET=y CONFIG_ECONET_AUNUDP=y # CONFIG_ECONET_NATIVE is not set CONFIG_WAN_ROUTER=y # CONFIG_NET_SCHED is not set CONFIG_NET_SCH_FIFO=y # # Network testing # # CONFIG_NET_PKTGEN is not set CONFIG_HAMRADIO=y # # Packet Radio protocols # CONFIG_AX25=y CONFIG_AX25_DAMA_SLAVE=y CONFIG_NETROM=y # CONFIG_ROSE is not set # # AX.25 network device drivers # # CONFIG_MKISS is not set CONFIG_6PACK=y CONFIG_BPQETHER=y CONFIG_BAYCOM_SER_FDX=y # CONFIG_BAYCOM_SER_HDX is not set CONFIG_BAYCOM_PAR=m # CONFIG_BAYCOM_EPP is not set # CONFIG_YAM is not set CONFIG_IRDA=y # # IrDA protocols # CONFIG_IRLAN=y # CONFIG_IRCOMM is not set CONFIG_IRDA_ULTRA=y # # IrDA options # # CONFIG_IRDA_CACHE_LAST_LSAP is not set CONFIG_IRDA_FAST_RR=y # CONFIG_IRDA_DEBUG is not set # # Infrared-port device drivers # # # SIR device drivers # CONFIG_IRTTY_SIR=m # # Dongle support # # CONFIG_DONGLE is not set CONFIG_KINGSUN_DONGLE=m CONFIG_KSDAZZLE_DONGLE=m CONFIG_KS959_DONGLE=y # # Old SIR device drivers # # # Old Serial dongle support # # # FIR device drivers # CONFIG_USB_IRDA=y CONFIG_SIGMATEL_FIR=y # CONFIG_NSC_FIR is not set # CONFIG_WINBOND_FIR is not set CONFIG_TOSHIBA_FIR=y # CONFIG_SMC_IRCC_FIR is not set CONFIG_ALI_FIR=y CONFIG_VLSI_FIR=y # CONFIG_VIA_FIR is not set CONFIG_MCS_FIR=y CONFIG_BT=y CONFIG_BT_L2CAP=y # CONFIG_BT_SCO is not set CONFIG_BT_RFCOMM=m CONFIG_BT_RFCOMM_TTY=y # CONFIG_BT_BNEP is not set CONFIG_BT_HIDP=y # # Bluetooth device drivers # # CONFIG_BT_HCIUSB is not set CONFIG_BT_HCIBTUSB=y # CONFIG_BT_HCIUART is not set CONFIG_BT_HCIBCM203X=m CONFIG_BT_HCIBPA10X=m CONFIG_BT_HCIBFUSB=m # CONFIG_BT_HCIDTL1 is not set # CONFIG_BT_HCIBT3C is not set # CONFIG_BT_HCIBLUECARD is not set CONFIG_BT_HCIBTUART=m CONFIG_BT_HCIVHCI=m CONFIG_AF_RXRPC=y # CONFIG_AF_RXRPC_DEBUG is not set CONFIG_RXKAD=y CONFIG_FIB_RULES=y # # Wireless # CONFIG_CFG80211=y # CONFIG_NL80211 is not set CONFIG_WIRELESS_EXT=y CONFIG_MAC80211=y CONFIG_MAC80211_RCSIMPLE=y # CONFIG_MAC80211_LEDS is not set # CONFIG_MAC80211_DEBUGFS is not set CONFIG_MAC80211_DEBUG=y # CONFIG_MAC80211_VERBOSE_DEBUG is not set CONFIG_MAC80211_LOWTX_FRAME_DUMP=y CONFIG_TKIP_DEBUG=y CONFIG_MAC80211_DEBUG_COUNTERS=y # CONFIG_MAC80211_IBSS_DEBUG is not set # CONFIG_MAC80211_VERBOSE_PS_DEBUG is not set CONFIG_IEEE80211=y CONFIG_IEEE80211_DEBUG=y CONFIG_IEEE80211_CRYPT_WEP=y # CONFIG_IEEE80211_CRYPT_CCMP is not set CONFIG_IEEE80211_CRYPT_TKIP=y CONFIG_IEEE80211_SOFTMAC=m # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set CONFIG_RFKILL=y # CONFIG_RFKILL_INPUT is not set CONFIG_RFKILL_LEDS=y CONFIG_NET_9P=y CONFIG_NET_9P_FD=y # CONFIG_NET_9P_DEBUG is not set # # Device Drivers # # # Generic Driver Options # CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y # CONFIG_SYS_HYPERVISOR is not set CONFIG_CONNECTOR=m # CONFIG_MTD is not set CONFIG_PARPORT=m CONFIG_PARPORT_PC=m CONFIG_PARPORT_SERIAL=m # CONFIG_PARPORT_PC_FIFO is not set CONFIG_PARPORT_PC_SUPERIO=y CONFIG_PARPORT_PC_PCMCIA=m # CONFIG_PARPORT_GSC is not set # CONFIG_PARPORT_AX88796 is not set # CONFIG_PARPORT_1284 is not set CONFIG_PARPORT_NOT_PC=y CONFIG_PNP=y # CONFIG_PNP_DEBUG is not set # # Protocols # CONFIG_PNPACPI=y CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_FD is not set # CONFIG_PARIDE is not set CONFIG_BLK_CPQ_DA=m CONFIG_BLK_CPQ_CISS_DA=m # CONFIG_CISS_SCSI_TAPE is not set CONFIG_BLK_DEV_DAC960=m CONFIG_BLK_DEV_UMEM=y # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=m # CONFIG_BLK_DEV_CRYPTOLOOP is not set CONFIG_BLK_DEV_NBD=y # CONFIG_BLK_DEV_SX8 is not set CONFIG_BLK_DEV_UB=y CONFIG_BLK_DEV_RAM=m CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 CONFIG_CDROM_PKTCDVD=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD_WCACHE=y # CONFIG_ATA_OVER_ETH is not set CONFIG_MISC_DEVICES=y CONFIG_IBM_ASM=m # CONFIG_PHANTOM is not set CONFIG_EEPROM_93CX6=y CONFIG_SGI_IOC4=m # CONFIG_TIFM_CORE is not set CONFIG_ASUS_LAPTOP=m # CONFIG_FUJITSU_LAPTOP is not set # CONFIG_MSI_LAPTOP is not set # CONFIG_SONY_LAPTOP is not set CONFIG_THINKPAD_ACPI=m # CONFIG_THINKPAD_ACPI_DEBUG is not set CONFIG_THINKPAD_ACPI_BAY=y # CONFIG_IDE is not set # # SCSI device support # # CONFIG_RAID_ATTRS is not set CONFIG_SCSI=y CONFIG_SCSI_DMA=y CONFIG_SCSI_TGT=m CONFIG_SCSI_NETLINK=y CONFIG_SCSI_PROC_FS=y # # SCSI support type (disk, tape, CD-ROM) # CONFIG_BLK_DEV_SD=y # CONFIG_CHR_DEV_ST is not set CONFIG_CHR_DEV_OSST=y # CONFIG_BLK_DEV_SR is not set # CONFIG_CHR_DEV_SG is not set # CONFIG_CHR_DEV_SCH is not set # # Some SCSI devices (e.g. CD jukebox) support multiple LUNs # # CONFIG_SCSI_MULTI_LUN is not set # CONFIG_SCSI_CONSTANTS is not set CONFIG_SCSI_LOGGING=y # CONFIG_SCSI_SCAN_ASYNC is not set CONFIG_SCSI_WAIT_SCAN=m # # SCSI Transports # CONFIG_SCSI_SPI_ATTRS=y CONFIG_SCSI_FC_ATTRS=m # CONFIG_SCSI_FC_TGT_ATTRS is not set CONFIG_SCSI_ISCSI_ATTRS=m CONFIG_SCSI_SAS_ATTRS=m CONFIG_SCSI_SAS_LIBSAS=m # CONFIG_SCSI_SAS_ATA is not set # CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set CONFIG_SCSI_SRP_ATTRS=m CONFIG_SCSI_SRP_TGT_ATTRS=y # CONFIG_SCSI_LOWLEVEL is not set CONFIG_SCSI_LOWLEVEL_PCMCIA=y # CONFIG_PCMCIA_AHA152X is not set # CONFIG_PCMCIA_FDOMAIN is not set CONFIG_PCMCIA_NINJA_SCSI=m # CONFIG_PCMCIA_QLOGIC is not set # CONFIG_PCMCIA_SYM53C500 is not set CONFIG_ATA=y # CONFIG_ATA_NONSTANDARD is not set CONFIG_ATA_ACPI=y CONFIG_SATA_AHCI=y # CONFIG_SATA_SVW is not set CONFIG_ATA_PIIX=y # CONFIG_SATA_MV is not set CONFIG_SATA_NV=m # CONFIG_PDC_ADMA is not set CONFIG_SATA_QSTOR=y CONFIG_SATA_PROMISE=y # CONFIG_SATA_SX4 is not set # CONFIG_SATA_SIL is not set CONFIG_SATA_SIL24=y CONFIG_SATA_SIS=m CONFIG_SATA_ULI=m CONFIG_SATA_VIA=m CONFIG_SATA_VITESSE=m # CONFIG_SATA_INIC162X is not set # CONFIG_PATA_ACPI is not set CONFIG_PATA_ALI=m CONFIG_PATA_AMD=y CONFIG_PATA_ARTOP=m CONFIG_PATA_ATIIXP=y CONFIG_PATA_CMD640_PCI=y CONFIG_PATA_CMD64X=y CONFIG_PATA_CS5520=m # CONFIG_PATA_CS5530 is not set CONFIG_PATA_CS5535=y CONFIG_PATA_CS5536=y CONFIG_PATA_CYPRESS=y CONFIG_PATA_EFAR=m # CONFIG_ATA_GENERIC is not set CONFIG_PATA_HPT366=m CONFIG_PATA_HPT37X=y # CONFIG_PATA_HPT3X2N is not set CONFIG_PATA_HPT3X3=m CONFIG_PATA_HPT3X3_DMA=y CONFIG_PATA_IT821X=y CONFIG_PATA_IT8213=m CONFIG_PATA_JMICRON=m CONFIG_PATA_TRIFLEX=y # CONFIG_PATA_MARVELL is not set CONFIG_PATA_MPIIX=m CONFIG_PATA_OLDPIIX=y CONFIG_PATA_NETCELL=y CONFIG_PATA_NS87410=y CONFIG_PATA_NS87415=y CONFIG_PATA_OPTI=m CONFIG_PATA_OPTIDMA=m CONFIG_PATA_PCMCIA=m CONFIG_PATA_PDC_OLD=m CONFIG_PATA_RADISYS=m CONFIG_PATA_RZ1000=m # CONFIG_PATA_SC1200 is not set # CONFIG_PATA_SERVERWORKS is not set CONFIG_PATA_PDC2027X=m CONFIG_PATA_SIL680=y CONFIG_PATA_SIS=y CONFIG_PATA_VIA=m CONFIG_PATA_WINBOND=m CONFIG_MD=y CONFIG_BLK_DEV_MD=y CONFIG_MD_LINEAR=m # CONFIG_MD_RAID0 is not set CONFIG_MD_RAID1=y CONFIG_MD_RAID10=y CONFIG_MD_RAID456=y # CONFIG_MD_RAID5_RESHAPE is not set # CONFIG_MD_MULTIPATH is not set CONFIG_MD_FAULTY=y # CONFIG_BLK_DEV_DM is not set CONFIG_FUSION=y CONFIG_FUSION_SPI=m CONFIG_FUSION_FC=m CONFIG_FUSION_SAS=m CONFIG_FUSION_MAX_SGE=128 # CONFIG_FUSION_CTL is not set CONFIG_FUSION_LOGGING=y # # IEEE 1394 (FireWire) support # # CONFIG_FIREWIRE is not set CONFIG_IEEE1394=y # # Subsystem Options # # CONFIG_IEEE1394_VERBOSEDEBUG is not set # # Controllers # CONFIG_IEEE1394_PCILYNX=m CONFIG_IEEE1394_OHCI1394=y # # Protocols # # CONFIG_IEEE1394_VIDEO1394 is not set # CONFIG_IEEE1394_SBP2 is not set CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y CONFIG_IEEE1394_ETH1394=y CONFIG_IEEE1394_DV1394=y # CONFIG_IEEE1394_RAWIO is not set CONFIG_I2O=m # CONFIG_I2O_LCT_NOTIFY_ON_CHANGES is not set # CONFIG_I2O_EXT_ADAPTEC is not set CONFIG_I2O_CONFIG=m CONFIG_I2O_CONFIG_OLD_IOCTL=y # CONFIG_I2O_BUS is not set CONFIG_I2O_BLOCK=m CONFIG_I2O_SCSI=m CONFIG_I2O_PROC=m # CONFIG_MACINTOSH_DRIVERS is not set CONFIG_NETDEVICES=y CONFIG_NETDEVICES_MULTIQUEUE=y CONFIG_DUMMY=y CONFIG_BONDING=y CONFIG_MACVLAN=m # CONFIG_EQUALIZER is not set # CONFIG_TUN is not set CONFIG_VETH=m CONFIG_NET_SB1000=m CONFIG_IP1000=m # CONFIG_ARCNET is not set CONFIG_PHYLIB=m # # MII PHY device drivers # # CONFIG_MARVELL_PHY is not set # CONFIG_DAVICOM_PHY is not set # CONFIG_QSEMI_PHY is not set # CONFIG_LXT_PHY is not set # CONFIG_CICADA_PHY is not set # CONFIG_VITESSE_PHY is not set # CONFIG_SMSC_PHY is not set # CONFIG_BROADCOM_PHY is not set # CONFIG_ICPLUS_PHY is not set CONFIG_FIXED_PHY=m # CONFIG_FIXED_MII_10_FDX is not set CONFIG_FIXED_MII_100_FDX=y # CONFIG_FIXED_MII_1000_FDX is not set CONFIG_FIXED_MII_AMNT=1 CONFIG_MDIO_BITBANG=m CONFIG_NET_ETHERNET=y CONFIG_MII=y CONFIG_HAPPYMEAL=y CONFIG_SUNGEM=y CONFIG_CASSINI=m CONFIG_NET_VENDOR_3COM=y CONFIG_VORTEX=m CONFIG_TYPHOON=y # CONFIG_NET_TULIP is not set # CONFIG_HP100 is not set # CONFIG_IBM_NEW_EMAC_ZMII is not set # CONFIG_IBM_NEW_EMAC_RGMII is not set # CONFIG_IBM_NEW_EMAC_TAH is not set # CONFIG_IBM_NEW_EMAC_EMAC4 is not set CONFIG_NET_PCI=y CONFIG_PCNET32=y CONFIG_PCNET32_NAPI=y CONFIG_AMD8111_ETH=y # CONFIG_AMD8111E_NAPI is not set # CONFIG_ADAPTEC_STARFIRE is not set CONFIG_B44=m CONFIG_B44_PCI_AUTOSELECT=y CONFIG_B44_PCICORE_AUTOSELECT=y CONFIG_B44_PCI=y CONFIG_FORCEDETH=y CONFIG_FORCEDETH_NAPI=y # CONFIG_EEPRO100 is not set CONFIG_E100=y # CONFIG_FEALNX is not set CONFIG_NATSEMI=y CONFIG_NE2K_PCI=y CONFIG_8139CP=m CONFIG_8139TOO=y # CONFIG_8139TOO_PIO is not set CONFIG_8139TOO_TUNE_TWISTER=y CONFIG_8139TOO_8129=y # CONFIG_8139_OLD_RX_RESET is not set # CONFIG_SIS900 is not set # CONFIG_EPIC100 is not set CONFIG_SUNDANCE=y # CONFIG_SUNDANCE_MMIO is not set CONFIG_TLAN=y CONFIG_VIA_RHINE=y CONFIG_VIA_RHINE_MMIO=y CONFIG_VIA_RHINE_NAPI=y CONFIG_SC92031=y # CONFIG_NET_POCKET is not set CONFIG_NETDEV_1000=y CONFIG_ACENIC=y # CONFIG_ACENIC_OMIT_TIGON_I is not set CONFIG_DL2K=m CONFIG_E1000=y # CONFIG_E1000_NAPI is not set CONFIG_E1000_DISABLE_PACKET_SPLIT=y CONFIG_E1000E=y CONFIG_NS83820=y # CONFIG_HAMACHI is not set # CONFIG_YELLOWFIN is not set CONFIG_R8169=y CONFIG_R8169_NAPI=y CONFIG_R8169_VLAN=y # CONFIG_SIS190 is not set # CONFIG_SKGE is not set CONFIG_SKY2=y # CONFIG_SKY2_DEBUG is not set CONFIG_SK98LIN=y CONFIG_VIA_VELOCITY=y # CONFIG_TIGON3 is not set CONFIG_BNX2=y CONFIG_QLA3XXX=y CONFIG_ATL1=y # CONFIG_NETDEV_10000 is not set CONFIG_TR=y # CONFIG_IBMOL is not set # CONFIG_IBMLS is not set CONFIG_3C359=y # CONFIG_TMS380TR is not set # # Wireless LAN # # CONFIG_WLAN_PRE80211 is not set CONFIG_WLAN_80211=y # CONFIG_PCMCIA_RAYCS is not set # CONFIG_IPW2100 is not set CONFIG_IPW2200=y # CONFIG_IPW2200_MONITOR is not set CONFIG_IPW2200_QOS=y # CONFIG_IPW2200_DEBUG is not set CONFIG_LIBERTAS=m CONFIG_LIBERTAS_USB=m CONFIG_LIBERTAS_CS=m # CONFIG_LIBERTAS_DEBUG is not set CONFIG_AIRO=y CONFIG_HERMES=m CONFIG_PLX_HERMES=m CONFIG_TMD_HERMES=m CONFIG_NORTEL_HERMES=m CONFIG_PCI_HERMES=m # CONFIG_PCMCIA_HERMES is not set # CONFIG_PCMCIA_SPECTRUM is not set CONFIG_ATMEL=m # CONFIG_PCI_ATMEL is not set CONFIG_PCMCIA_ATMEL=m CONFIG_AIRO_CS=m CONFIG_PCMCIA_WL3501=m # CONFIG_PRISM54 is not set # CONFIG_USB_ZD1201 is not set CONFIG_RTL8187=y CONFIG_ADM8211=y # CONFIG_P54_COMMON is not set # CONFIG_IWLWIFI is not set # CONFIG_HOSTAP is not set CONFIG_BCM43XX=m # CONFIG_BCM43XX_DEBUG is not set CONFIG_BCM43XX_DMA=y # CONFIG_BCM43XX_DMA_AND_PIO_MODE is not set CONFIG_BCM43XX_DMA_MODE=y # CONFIG_BCM43XX_PIO_MODE is not set CONFIG_B43=y CONFIG_B43_PCI_AUTOSELECT=y CONFIG_B43_PCICORE_AUTOSELECT=y CONFIG_B43_DEBUG=y CONFIG_B43_PIO=y # CONFIG_B43_DMA_AND_PIO_MODE is not set # CONFIG_B43_DMA_MODE is not set CONFIG_B43_PIO_MODE=y CONFIG_B43LEGACY=y CONFIG_B43LEGACY_PCI_AUTOSELECT=y CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y # CONFIG_B43LEGACY_DEBUG is not set CONFIG_B43LEGACY_PIO=y # CONFIG_B43LEGACY_DMA_AND_PIO_MODE is not set # CONFIG_B43LEGACY_DMA_MODE is not set CONFIG_B43LEGACY_PIO_MODE=y CONFIG_ZD1211RW=m CONFIG_ZD1211RW_DEBUG=y CONFIG_RT2X00=y CONFIG_RT2X00_LIB=y CONFIG_RT2X00_LIB_PCI=y CONFIG_RT2X00_LIB_USB=y CONFIG_RT2X00_LIB_FIRMWARE=y CONFIG_RT2X00_LIB_RFKILL=y CONFIG_RT2400PCI=m # CONFIG_RT2400PCI_RFKILL is not set CONFIG_RT2500PCI=y CONFIG_RT2500PCI_RFKILL=y CONFIG_RT61PCI=y CONFIG_RT61PCI_RFKILL=y CONFIG_RT2500USB=m CONFIG_RT73USB=y CONFIG_RT2X00_DEBUG=y # # USB Network Adapters # CONFIG_USB_CATC=m CONFIG_USB_KAWETH=y CONFIG_USB_PEGASUS=y CONFIG_USB_RTL8150=m # CONFIG_USB_USBNET is not set # CONFIG_NET_PCMCIA is not set CONFIG_WAN=y # CONFIG_LANMEDIA is not set CONFIG_HDLC=m CONFIG_HDLC_RAW=m # CONFIG_HDLC_RAW_ETH is not set CONFIG_HDLC_CISCO=m # CONFIG_HDLC_FR is not set # CONFIG_HDLC_PPP is not set # CONFIG_HDLC_X25 is not set # CONFIG_PCI200SYN is not set CONFIG_WANXL=m # CONFIG_PC300 is not set # CONFIG_PC300TOO is not set # CONFIG_FARSYNC is not set # CONFIG_DSCC4 is not set # CONFIG_DLCI is not set CONFIG_WAN_ROUTER_DRIVERS=y CONFIG_CYCLADES_SYNC=y CONFIG_CYCLOMX_X25=y CONFIG_LAPBETHER=y CONFIG_X25_ASY=m CONFIG_SBNI=y # CONFIG_SBNI_MULTILINE is not set CONFIG_ATM_DRIVERS=y CONFIG_ATM_DUMMY=y CONFIG_ATM_TCP=m # CONFIG_ATM_LANAI is not set CONFIG_ATM_ENI=m CONFIG_ATM_ENI_DEBUG=y CONFIG_ATM_ENI_TUNE_BURST=y # CONFIG_ATM_ENI_BURST_TX_16W is not set CONFIG_ATM_ENI_BURST_TX_8W=y CONFIG_ATM_ENI_BURST_TX_4W=y # CONFIG_ATM_ENI_BURST_TX_2W is not set CONFIG_ATM_ENI_BURST_RX_16W=y # CONFIG_ATM_ENI_BURST_RX_8W is not set CONFIG_ATM_ENI_BURST_RX_4W=y # CONFIG_ATM_ENI_BURST_RX_2W is not set # CONFIG_ATM_FIRESTREAM is not set CONFIG_ATM_ZATM=y CONFIG_ATM_ZATM_DEBUG=y # CONFIG_ATM_NICSTAR is not set CONFIG_ATM_IDT77252=y # CONFIG_ATM_IDT77252_DEBUG is not set CONFIG_ATM_IDT77252_RCV_ALL=y CONFIG_ATM_IDT77252_USE_SUNI=y # CONFIG_ATM_AMBASSADOR is not set # CONFIG_ATM_HORIZON is not set CONFIG_ATM_IA=m # CONFIG_ATM_IA_DEBUG is not set # CONFIG_ATM_FORE200E_MAYBE is not set CONFIG_ATM_HE=y CONFIG_ATM_HE_USE_SUNI=y # CONFIG_FDDI is not set CONFIG_HIPPI=y CONFIG_ROADRUNNER=y # CONFIG_ROADRUNNER_LARGE_RINGS is not set CONFIG_PLIP=m # CONFIG_PPP is not set CONFIG_SLIP=m CONFIG_SLIP_COMPRESSED=y CONFIG_SLHC=m CONFIG_SLIP_SMART=y # CONFIG_SLIP_MODE_SLIP6 is not set # CONFIG_NET_FC is not set CONFIG_SHAPER=y CONFIG_NETCONSOLE=y # CONFIG_NETCONSOLE_DYNAMIC is not set CONFIG_NETPOLL=y # CONFIG_NETPOLL_TRAP is not set CONFIG_NET_POLL_CONTROLLER=y # CONFIG_ISDN is not set # CONFIG_PHONE is not set # # Input device support # CONFIG_INPUT=y CONFIG_INPUT_FF_MEMLESS=y CONFIG_INPUT_POLLDEV=y # # Userland interfaces # CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSEDEV_PSAUX=y CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_JOYDEV=m # CONFIG_INPUT_EVDEV is not set CONFIG_INPUT_EVBUG=m # # Input Device Drivers # CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y CONFIG_KEYBOARD_SUNKBD=m CONFIG_KEYBOARD_LKKBD=y # CONFIG_KEYBOARD_XTKBD is not set CONFIG_KEYBOARD_NEWTON=m CONFIG_KEYBOARD_STOWAWAY=y # CONFIG_INPUT_MOUSE is not set CONFIG_INPUT_JOYSTICK=y # CONFIG_JOYSTICK_ANALOG is not set CONFIG_JOYSTICK_A3D=y CONFIG_JOYSTICK_ADI=m CONFIG_JOYSTICK_COBRA=y CONFIG_JOYSTICK_GF2K=y # CONFIG_JOYSTICK_GRIP is not set # CONFIG_JOYSTICK_GRIP_MP is not set CONFIG_JOYSTICK_GUILLEMOT=y # CONFIG_JOYSTICK_INTERACT is not set # CONFIG_JOYSTICK_SIDEWINDER is not set CONFIG_JOYSTICK_TMDC=m CONFIG_JOYSTICK_IFORCE=y # CONFIG_JOYSTICK_IFORCE_USB is not set # CONFIG_JOYSTICK_IFORCE_232 is not set # CONFIG_JOYSTICK_WARRIOR is not set # CONFIG_JOYSTICK_MAGELLAN is not set CONFIG_JOYSTICK_SPACEORB=y CONFIG_JOYSTICK_SPACEBALL=y # CONFIG_JOYSTICK_STINGER is not set # CONFIG_JOYSTICK_TWIDJOY is not set CONFIG_JOYSTICK_DB9=m # CONFIG_JOYSTICK_GAMECON is not set CONFIG_JOYSTICK_TURBOGRAFX=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_XPAD=m CONFIG_JOYSTICK_XPAD_FF=y # CONFIG_JOYSTICK_XPAD_LEDS is not set CONFIG_INPUT_TABLET=y CONFIG_TABLET_USB_ACECAD=y CONFIG_TABLET_USB_AIPTEK=y # CONFIG_TABLET_USB_GTCO is not set CONFIG_TABLET_USB_KBTAB=y CONFIG_TABLET_USB_WACOM=y # CONFIG_INPUT_TOUCHSCREEN is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_PCSPKR=m CONFIG_INPUT_WISTRON_BTNS=m CONFIG_INPUT_ATLAS_BTNS=y CONFIG_INPUT_ATI_REMOTE=m CONFIG_INPUT_ATI_REMOTE2=y # CONFIG_INPUT_KEYSPAN_REMOTE is not set CONFIG_INPUT_POWERMATE=y # CONFIG_INPUT_YEALINK is not set CONFIG_INPUT_UINPUT=m # # Hardware I/O ports # CONFIG_SERIO=y CONFIG_SERIO_I8042=y CONFIG_SERIO_SERPORT=m CONFIG_SERIO_CT82C710=y # CONFIG_SERIO_PARKBD is not set CONFIG_SERIO_PCIPS2=y CONFIG_SERIO_LIBPS2=y CONFIG_SERIO_RAW=y CONFIG_GAMEPORT=y CONFIG_GAMEPORT_NS558=m CONFIG_GAMEPORT_L4=y CONFIG_GAMEPORT_EMU10K1=y CONFIG_GAMEPORT_FM801=y # # Character devices # CONFIG_VT=y CONFIG_VT_CONSOLE=y CONFIG_HW_CONSOLE=y # CONFIG_VT_HW_CONSOLE_BINDING is not set # CONFIG_SERIAL_NONSTANDARD is not set # # Serial drivers # CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_PNP=y CONFIG_SERIAL_8250_CS=m CONFIG_SERIAL_8250_NR_UARTS=4 CONFIG_SERIAL_8250_RUNTIME_UARTS=4 # CONFIG_SERIAL_8250_EXTENDED is not set # # Non-8250 serial port support # CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_JSM=m CONFIG_UNIX98_PTYS=y # CONFIG_LEGACY_PTYS is not set CONFIG_PRINTER=m CONFIG_LP_CONSOLE=y # CONFIG_PPDEV is not set CONFIG_IPMI_HANDLER=m CONFIG_IPMI_PANIC_EVENT=y CONFIG_IPMI_PANIC_STRING=y CONFIG_IPMI_DEVICE_INTERFACE=m CONFIG_IPMI_SI=m # CONFIG_IPMI_WATCHDOG is not set # CONFIG_IPMI_POWEROFF is not set CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_INTEL=y # CONFIG_HW_RANDOM_AMD is not set CONFIG_HW_RANDOM_GEODE=m # CONFIG_HW_RANDOM_VIA is not set CONFIG_NVRAM=m CONFIG_RTC=m CONFIG_GEN_RTC=m # CONFIG_GEN_RTC_X is not set # CONFIG_R3964 is not set # CONFIG_APPLICOM is not set # CONFIG_SONYPI is not set # # PCMCIA character devices # # CONFIG_SYNCLINK_CS is not set CONFIG_CARDMAN_4000=m CONFIG_CARDMAN_4040=m # CONFIG_MWAVE is not set # CONFIG_PC8736x_GPIO is not set CONFIG_NSC_GPIO=y CONFIG_CS5535_GPIO=y CONFIG_RAW_DRIVER=y CONFIG_MAX_RAW_DEVS=256 CONFIG_HPET=y # CONFIG_HPET_RTC_IRQ is not set CONFIG_HPET_MMAP=y CONFIG_HANGCHECK_TIMER=m CONFIG_TCG_TPM=m # CONFIG_TCG_TIS is not set # CONFIG_TCG_NSC is not set # CONFIG_TCG_ATMEL is not set # CONFIG_TCG_INFINEON is not set CONFIG_TELCLOCK=y CONFIG_DEVPORT=y CONFIG_I2C=m CONFIG_I2C_BOARDINFO=y # CONFIG_I2C_CHARDEV is not set # # I2C Algorithms # CONFIG_I2C_ALGOBIT=m # CONFIG_I2C_ALGOPCF is not set CONFIG_I2C_ALGOPCA=m # # I2C Hardware Bus support # # CONFIG_I2C_ALI1535 is not set # CONFIG_I2C_ALI1563 is not set CONFIG_I2C_ALI15X3=m CONFIG_I2C_AMD756=m CONFIG_I2C_AMD756_S4882=m # CONFIG_I2C_AMD8111 is not set CONFIG_I2C_I801=m # CONFIG_I2C_I810 is not set CONFIG_I2C_PIIX4=m CONFIG_I2C_NFORCE2=m CONFIG_I2C_OCORES=m # CONFIG_I2C_PARPORT is not set # CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_PROSAVAGE=m # CONFIG_I2C_SAVAGE4 is not set # CONFIG_I2C_SIMTEC is not set # CONFIG_SCx200_ACB is not set CONFIG_I2C_SIS5595=m # CONFIG_I2C_SIS630 is not set CONFIG_I2C_SIS96X=m # CONFIG_I2C_TAOS_EVM is not set # CONFIG_I2C_STUB is not set # CONFIG_I2C_TINY_USB is not set CONFIG_I2C_VIA=m # CONFIG_I2C_VIAPRO is not set CONFIG_I2C_VOODOO3=m # # Miscellaneous I2C Chip support # CONFIG_SENSORS_DS1337=m CONFIG_SENSORS_DS1374=m CONFIG_DS1682=m # CONFIG_SENSORS_EEPROM is not set # CONFIG_SENSORS_PCF8574 is not set # CONFIG_SENSORS_PCA9539 is not set CONFIG_SENSORS_PCF8591=m # CONFIG_SENSORS_MAX6875 is not set # CONFIG_SENSORS_TSL2550 is not set # CONFIG_I2C_DEBUG_CORE is not set CONFIG_I2C_DEBUG_ALGO=y CONFIG_I2C_DEBUG_BUS=y # CONFIG_I2C_DEBUG_CHIP is not set # # SPI support # # CONFIG_SPI is not set # CONFIG_SPI_MASTER is not set CONFIG_W1=m # CONFIG_W1_CON is not set # # 1-wire Bus Masters # # CONFIG_W1_MASTER_MATROX is not set # CONFIG_W1_MASTER_DS2490 is not set CONFIG_W1_MASTER_DS2482=m # # 1-wire Slaves # # CONFIG_W1_SLAVE_THERM is not set # CONFIG_W1_SLAVE_SMEM is not set # CONFIG_W1_SLAVE_DS2433 is not set # CONFIG_W1_SLAVE_DS2760 is not set CONFIG_POWER_SUPPLY=y # CONFIG_POWER_SUPPLY_DEBUG is not set CONFIG_PDA_POWER=m # CONFIG_BATTERY_DS2760 is not set CONFIG_HWMON=y CONFIG_HWMON_VID=m CONFIG_SENSORS_ABITUGURU=y CONFIG_SENSORS_ABITUGURU3=m # CONFIG_SENSORS_AD7418 is not set CONFIG_SENSORS_ADM1021=m # CONFIG_SENSORS_ADM1025 is not set CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m # CONFIG_SENSORS_ADM9240 is not set CONFIG_SENSORS_ADT7470=m # CONFIG_SENSORS_K8TEMP is not set # CONFIG_SENSORS_ASB100 is not set CONFIG_SENSORS_ATXP1=m # CONFIG_SENSORS_DS1621 is not set # CONFIG_SENSORS_I5K_AMB is not set CONFIG_SENSORS_F71805F=m CONFIG_SENSORS_F71882FG=m # CONFIG_SENSORS_F75375S is not set # CONFIG_SENSORS_FSCHER is not set CONFIG_SENSORS_FSCPOS=m CONFIG_SENSORS_FSCHMD=m # CONFIG_SENSORS_GL518SM is not set CONFIG_SENSORS_GL520SM=m CONFIG_SENSORS_CORETEMP=y # CONFIG_SENSORS_IBMPEX is not set # CONFIG_SENSORS_IT87 is not set # CONFIG_SENSORS_LM63 is not set # CONFIG_SENSORS_LM75 is not set CONFIG_SENSORS_LM77=m # CONFIG_SENSORS_LM78 is not set CONFIG_SENSORS_LM80=m # CONFIG_SENSORS_LM83 is not set CONFIG_SENSORS_LM85=m # CONFIG_SENSORS_LM87 is not set CONFIG_SENSORS_LM90=m # CONFIG_SENSORS_LM92 is not set CONFIG_SENSORS_LM93=m CONFIG_SENSORS_MAX1619=m # CONFIG_SENSORS_MAX6650 is not set CONFIG_SENSORS_PC87360=m CONFIG_SENSORS_PC87427=y CONFIG_SENSORS_SIS5595=m CONFIG_SENSORS_DME1737=m CONFIG_SENSORS_SMSC47M1=y CONFIG_SENSORS_SMSC47M192=m CONFIG_SENSORS_SMSC47B397=y CONFIG_SENSORS_THMC50=m CONFIG_SENSORS_VIA686A=m # CONFIG_SENSORS_VT1211 is not set # CONFIG_SENSORS_VT8231 is not set CONFIG_SENSORS_W83781D=m # CONFIG_SENSORS_W83791D is not set CONFIG_SENSORS_W83792D=m CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83627HF=m # CONFIG_SENSORS_W83627EHF is not set CONFIG_SENSORS_HDAPS=y CONFIG_SENSORS_APPLESMC=m # CONFIG_HWMON_DEBUG_CHIP is not set # CONFIG_WATCHDOG is not set # # Sonics Silicon Backplane # CONFIG_SSB_POSSIBLE=y CONFIG_SSB=y CONFIG_SSB_PCIHOST_POSSIBLE=y CONFIG_SSB_PCIHOST=y # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y CONFIG_SSB_DRIVER_PCICORE=y # # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # # Multimedia devices # # CONFIG_VIDEO_DEV is not set CONFIG_DVB_CORE=y CONFIG_DVB_CORE_ATTACH=y CONFIG_DVB_CAPTURE_DRIVERS=y # # Supported SAA7146 based PCI Adapters # # # Supported USB Adapters # CONFIG_DVB_USB=m CONFIG_DVB_USB_DEBUG=y CONFIG_DVB_USB_A800=m # CONFIG_DVB_USB_DIBUSB_MB is not set CONFIG_DVB_USB_DIBUSB_MC=m CONFIG_DVB_USB_DIB0700=m CONFIG_DVB_USB_UMT_010=m CONFIG_DVB_USB_CXUSB=m CONFIG_DVB_USB_M920X=m CONFIG_DVB_USB_GL861=m CONFIG_DVB_USB_AU6610=m CONFIG_DVB_USB_DIGITV=m # CONFIG_DVB_USB_VP7045 is not set CONFIG_DVB_USB_VP702X=m # CONFIG_DVB_USB_GP8PSK is not set CONFIG_DVB_USB_NOVA_T_USB2=m # CONFIG_DVB_USB_TTUSB2 is not set CONFIG_DVB_USB_DTT200U=m # CONFIG_DVB_USB_OPERA1 is not set # CONFIG_DVB_USB_AF9005 is not set # CONFIG_DVB_TTUSB_BUDGET is not set CONFIG_DVB_TTUSB_DEC=y CONFIG_DVB_CINERGYT2=y # CONFIG_DVB_CINERGYT2_TUNING is not set # # Supported FlexCopII (B2C2) Adapters # # CONFIG_DVB_B2C2_FLEXCOP is not set # # Supported BT878 Adapters # # # Supported Pluto2 Adapters # CONFIG_DVB_PLUTO2=m # # Supported DVB Frontends # # # Customise DVB Frontends # CONFIG_DVB_FE_CUSTOMISE=y # # DVB-S (satellite) frontends # CONFIG_DVB_STV0299=m CONFIG_DVB_CX24110=m CONFIG_DVB_CX24123=m # CONFIG_DVB_TDA8083 is not set CONFIG_DVB_MT312=m # CONFIG_DVB_VES1X93 is not set # CONFIG_DVB_S5H1420 is not set CONFIG_DVB_TDA10086=m # # DVB-T (terrestrial) frontends # CONFIG_DVB_SP8870=m CONFIG_DVB_SP887X=m # CONFIG_DVB_CX22700 is not set # CONFIG_DVB_CX22702 is not set # CONFIG_DVB_L64781 is not set CONFIG_DVB_TDA1004X=m # CONFIG_DVB_NXT6000 is not set # CONFIG_DVB_MT352 is not set CONFIG_DVB_ZL10353=m # CONFIG_DVB_DIB3000MB is not set CONFIG_DVB_DIB3000MC=m CONFIG_DVB_DIB7000M=m CONFIG_DVB_DIB7000P=m # # DVB-C (cable) frontends # # CONFIG_DVB_VES1820 is not set # CONFIG_DVB_TDA10021 is not set # CONFIG_DVB_TDA10023 is not set CONFIG_DVB_STV0297=m # # ATSC (North American/Korean Terrestrial/Cable DTV) frontends # # CONFIG_DVB_NXT200X is not set CONFIG_DVB_OR51211=m # CONFIG_DVB_OR51132 is not set CONFIG_DVB_BCM3510=m # CONFIG_DVB_LGDT330X is not set CONFIG_DVB_S5H1409=m # # Tuners/PLL support # # CONFIG_DVB_PLL is not set CONFIG_DVB_TDA826X=m # CONFIG_DVB_TDA827X is not set CONFIG_DVB_TUNER_QT1010=m # CONFIG_DVB_TUNER_MT2060 is not set # CONFIG_DVB_TUNER_MT2266 is not set CONFIG_DVB_TUNER_MT2131=m CONFIG_DVB_TUNER_DIB0070=m # # Miscellaneous devices # CONFIG_DVB_LNBP21=m CONFIG_DVB_ISL6421=m # CONFIG_DVB_TUA6100 is not set CONFIG_DAB=y CONFIG_USB_DABUSB=m # # Graphics support # CONFIG_AGP=m # CONFIG_AGP_ALI is not set # CONFIG_AGP_ATI is not set CONFIG_AGP_AMD=m CONFIG_AGP_AMD64=m CONFIG_AGP_INTEL=m # CONFIG_AGP_NVIDIA is not set # CONFIG_AGP_SIS is not set CONFIG_AGP_SWORKS=m CONFIG_AGP_VIA=m # CONFIG_AGP_EFFICEON is not set CONFIG_DRM=m # CONFIG_DRM_TDFX is not set CONFIG_DRM_R128=m # CONFIG_DRM_RADEON is not set # CONFIG_DRM_I810 is not set # CONFIG_DRM_I830 is not set CONFIG_DRM_I915=m CONFIG_DRM_MGA=m CONFIG_DRM_SIS=m # CONFIG_DRM_VIA is not set CONFIG_DRM_SAVAGE=m CONFIG_VGASTATE=m CONFIG_VIDEO_OUTPUT_CONTROL=m CONFIG_FB=m # CONFIG_FIRMWARE_EDID is not set CONFIG_FB_DDC=m CONFIG_FB_CFB_FILLRECT=m CONFIG_FB_CFB_COPYAREA=m CONFIG_FB_CFB_IMAGEBLIT=m # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set # CONFIG_FB_SYS_FILLRECT is not set # CONFIG_FB_SYS_COPYAREA is not set # CONFIG_FB_SYS_IMAGEBLIT is not set # CONFIG_FB_SYS_FOPS is not set CONFIG_FB_DEFERRED_IO=y # CONFIG_FB_SVGALIB is not set # CONFIG_FB_MACMODES is not set # CONFIG_FB_BACKLIGHT is not set CONFIG_FB_MODE_HELPERS=y CONFIG_FB_TILEBLITTING=y # # Frame buffer hardware drivers # # CONFIG_FB_CIRRUS is not set # CONFIG_FB_PM2 is not set CONFIG_FB_CYBER2000=m # CONFIG_FB_ARC is not set # CONFIG_FB_VGA16 is not set # CONFIG_FB_UVESA is not set # CONFIG_FB_HECUBA is not set CONFIG_FB_HGA=m CONFIG_FB_HGA_ACCEL=y # CONFIG_FB_S1D13XXX is not set CONFIG_FB_NVIDIA=m # CONFIG_FB_NVIDIA_I2C is not set # CONFIG_FB_NVIDIA_DEBUG is not set # CONFIG_FB_NVIDIA_BACKLIGHT is not set CONFIG_FB_RIVA=m CONFIG_FB_RIVA_I2C=y CONFIG_FB_RIVA_DEBUG=y # CONFIG_FB_RIVA_BACKLIGHT is not set CONFIG_FB_I810=m # CONFIG_FB_I810_GTF is not set CONFIG_FB_LE80578=m # CONFIG_FB_CARILLO_RANCH is not set # CONFIG_FB_INTEL is not set # CONFIG_FB_MATROX is not set # CONFIG_FB_RADEON is not set # CONFIG_FB_ATY128 is not set CONFIG_FB_ATY=m CONFIG_FB_ATY_CT=y CONFIG_FB_ATY_GENERIC_LCD=y CONFIG_FB_ATY_GX=y # CONFIG_FB_ATY_BACKLIGHT is not set # CONFIG_FB_S3 is not set CONFIG_FB_SAVAGE=m CONFIG_FB_SAVAGE_I2C=y CONFIG_FB_SAVAGE_ACCEL=y CONFIG_FB_SIS=m # CONFIG_FB_SIS_300 is not set CONFIG_FB_SIS_315=y # CONFIG_FB_NEOMAGIC is not set CONFIG_FB_KYRO=m # CONFIG_FB_3DFX is not set # CONFIG_FB_VOODOO1 is not set # CONFIG_FB_VT8623 is not set # CONFIG_FB_CYBLA is not set CONFIG_FB_TRIDENT=m # CONFIG_FB_TRIDENT_ACCEL is not set # CONFIG_FB_ARK is not set # CONFIG_FB_PM3 is not set # CONFIG_FB_GEODE is not set # CONFIG_FB_VIRTUAL is not set # CONFIG_BACKLIGHT_LCD_SUPPORT is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_CORGI is not set CONFIG_BACKLIGHT_PROGEAR=m # # Display device support # CONFIG_DISPLAY_SUPPORT=m # # Display hardware drivers # # # Console display driver support # CONFIG_VGA_CONSOLE=y CONFIG_VGACON_SOFT_SCROLLBACK=y CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64 CONFIG_VIDEO_SELECT=y CONFIG_DUMMY_CONSOLE=y # CONFIG_FRAMEBUFFER_CONSOLE is not set # CONFIG_LOGO is not set # # Sound # CONFIG_SOUND=y # # Advanced Linux Sound Architecture # CONFIG_SND=y CONFIG_SND_TIMER=y CONFIG_SND_PCM=y CONFIG_SND_HWDEP=y CONFIG_SND_RAWMIDI=y CONFIG_SND_SEQUENCER=y CONFIG_SND_SEQ_DUMMY=y CONFIG_SND_OSSEMUL=y # CONFIG_SND_MIXER_OSS is not set CONFIG_SND_PCM_OSS=m # CONFIG_SND_PCM_OSS_PLUGINS is not set CONFIG_SND_SEQUENCER_OSS=y # CONFIG_SND_RTCTIMER is not set # CONFIG_SND_DYNAMIC_MINORS is not set # CONFIG_SND_SUPPORT_OLD_API is not set # CONFIG_SND_VERBOSE_PROCFS is not set CONFIG_SND_VERBOSE_PRINTK=y # CONFIG_SND_DEBUG is not set # # Generic devices # CONFIG_SND_MPU401_UART=y CONFIG_SND_OPL3_LIB=y CONFIG_SND_VX_LIB=y CONFIG_SND_AC97_CODEC=y CONFIG_SND_DUMMY=y CONFIG_SND_VIRMIDI=m # CONFIG_SND_MTPAV is not set CONFIG_SND_MTS64=m CONFIG_SND_SERIAL_U16550=y CONFIG_SND_MPU401=y CONFIG_SND_PORTMAN2X4=m CONFIG_SND_SB_COMMON=y CONFIG_SND_SB16_DSP=y # # PCI devices # # CONFIG_SND_AD1889 is not set CONFIG_SND_ALS300=y # CONFIG_SND_ALS4000 is not set # CONFIG_SND_ALI5451 is not set CONFIG_SND_ATIIXP=y CONFIG_SND_ATIIXP_MODEM=y CONFIG_SND_AU8810=y # CONFIG_SND_AU8820 is not set CONFIG_SND_AU8830=y # CONFIG_SND_AZT3328 is not set CONFIG_SND_BT87X=m CONFIG_SND_BT87X_OVERCLOCK=y CONFIG_SND_CA0106=m CONFIG_SND_CMIPCI=y # CONFIG_SND_CS4281 is not set CONFIG_SND_CS46XX=y CONFIG_SND_CS46XX_NEW_DSP=y CONFIG_SND_CS5530=y CONFIG_SND_CS5535AUDIO=m CONFIG_SND_DARLA20=y # CONFIG_SND_GINA20 is not set # CONFIG_SND_LAYLA20 is not set CONFIG_SND_DARLA24=y # CONFIG_SND_GINA24 is not set # CONFIG_SND_LAYLA24 is not set CONFIG_SND_MONA=m CONFIG_SND_MIA=y # CONFIG_SND_ECHO3G is not set CONFIG_SND_INDIGO=y CONFIG_SND_INDIGOIO=y CONFIG_SND_INDIGODJ=m # CONFIG_SND_EMU10K1 is not set CONFIG_SND_EMU10K1X=y CONFIG_SND_ENS1370=m CONFIG_SND_ENS1371=m CONFIG_SND_ES1938=m CONFIG_SND_ES1968=m CONFIG_SND_FM801=m # CONFIG_SND_FM801_TEA575X_BOOL is not set CONFIG_SND_HDA_INTEL=y # CONFIG_SND_HDA_HWDEP is not set CONFIG_SND_HDA_CODEC_REALTEK=y # CONFIG_SND_HDA_CODEC_ANALOG is not set # CONFIG_SND_HDA_CODEC_SIGMATEL is not set CONFIG_SND_HDA_CODEC_VIA=y # CONFIG_SND_HDA_CODEC_ATIHDMI is not set # CONFIG_SND_HDA_CODEC_CONEXANT is not set CONFIG_SND_HDA_CODEC_CMEDIA=y CONFIG_SND_HDA_CODEC_SI3054=y CONFIG_SND_HDA_GENERIC=y CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 # CONFIG_SND_HDSP is not set CONFIG_SND_HDSPM=y # CONFIG_SND_ICE1712 is not set CONFIG_SND_ICE1724=y CONFIG_SND_INTEL8X0=m CONFIG_SND_INTEL8X0M=m # CONFIG_SND_KORG1212 is not set # CONFIG_SND_MAESTRO3 is not set # CONFIG_SND_MIXART is not set CONFIG_SND_NM256=m CONFIG_SND_PCXHR=y CONFIG_SND_RIPTIDE=m CONFIG_SND_RME32=y # CONFIG_SND_RME96 is not set CONFIG_SND_RME9652=y CONFIG_SND_SONICVIBES=y CONFIG_SND_TRIDENT=m CONFIG_SND_VIA82XX=m # CONFIG_SND_VIA82XX_MODEM is not set CONFIG_SND_VX222=y # CONFIG_SND_YMFPCI is not set # CONFIG_SND_AC97_POWER_SAVE is not set # # USB devices # CONFIG_SND_USB_AUDIO=m CONFIG_SND_USB_USX2Y=y CONFIG_SND_USB_CAIAQ=y # CONFIG_SND_USB_CAIAQ_INPUT is not set # # PCMCIA devices # CONFIG_SND_VXPOCKET=m CONFIG_SND_PDAUDIOCF=m # # System on Chip audio support # CONFIG_SND_SOC=m # # SoC Audio support for SuperH # # # Open Sound System # CONFIG_SOUND_PRIME=m CONFIG_SOUND_TRIDENT=m CONFIG_SOUND_MSNDCLAS=m CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin" CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin" # CONFIG_SOUND_MSNDPIN is not set # CONFIG_SOUND_OSS is not set CONFIG_AC97_BUS=y CONFIG_HID_SUPPORT=y CONFIG_HID=y CONFIG_HID_DEBUG=y CONFIG_HIDRAW=y # # USB Input Devices # CONFIG_USB_HID=m CONFIG_USB_HIDINPUT_POWERBOOK=y # CONFIG_HID_FF is not set # CONFIG_USB_HIDDEV is not set # # USB HID Boot Protocol drivers # CONFIG_USB_KBD=m CONFIG_USB_MOUSE=y CONFIG_USB_SUPPORT=y CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB_ARCH_HAS_OHCI=y CONFIG_USB_ARCH_HAS_EHCI=y CONFIG_USB=y CONFIG_USB_DEBUG=y # # Miscellaneous USB options # # CONFIG_USB_DEVICEFS is not set # CONFIG_USB_DEVICE_CLASS is not set # CONFIG_USB_DYNAMIC_MINORS is not set CONFIG_USB_SUSPEND=y CONFIG_USB_PERSIST=y # CONFIG_USB_OTG is not set # # USB Host Controller Drivers # CONFIG_USB_EHCI_HCD=y # CONFIG_USB_EHCI_SPLIT_ISO is not set # CONFIG_USB_EHCI_ROOT_HUB_TT is not set CONFIG_USB_EHCI_TT_NEWSCHED=y # CONFIG_USB_ISP116X_HCD is not set CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD_SSB=y # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_USB_UHCI_HCD=y CONFIG_USB_SL811_HCD=y CONFIG_USB_SL811_CS=m # CONFIG_USB_R8A66597_HCD is not set # # USB Device Class drivers # CONFIG_USB_ACM=y # CONFIG_USB_PRINTER is not set # # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' # # # may also be needed; see USB_STORAGE Help for more information # CONFIG_USB_STORAGE=m CONFIG_USB_STORAGE_DEBUG=y CONFIG_USB_STORAGE_DATAFAB=y CONFIG_USB_STORAGE_FREECOM=y # CONFIG_USB_STORAGE_ISD200 is not set CONFIG_USB_STORAGE_DPCM=y # CONFIG_USB_STORAGE_USBAT is not set CONFIG_USB_STORAGE_SDDR09=y CONFIG_USB_STORAGE_SDDR55=y # CONFIG_USB_STORAGE_JUMPSHOT is not set CONFIG_USB_STORAGE_ALAUDA=y CONFIG_USB_STORAGE_KARMA=y # CONFIG_USB_LIBUSUAL is not set # # USB Imaging devices # CONFIG_USB_MDC800=m # CONFIG_USB_MICROTEK is not set CONFIG_USB_MON=y # # USB port drivers # CONFIG_USB_USS720=m # # USB Serial Converter support # # CONFIG_USB_SERIAL is not set # # USB Miscellaneous drivers # CONFIG_USB_EMI62=m CONFIG_USB_EMI26=y CONFIG_USB_ADUTUX=y CONFIG_USB_AUERSWALD=m CONFIG_USB_RIO500=m CONFIG_USB_LEGOTOWER=m CONFIG_USB_LCD=y CONFIG_USB_BERRY_CHARGE=y # CONFIG_USB_LED is not set # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set # CONFIG_USB_PHIDGET is not set CONFIG_USB_IDMOUSE=y # CONFIG_USB_FTDI_ELAN is not set # CONFIG_USB_APPLEDISPLAY is not set CONFIG_USB_SISUSBVGA=y # CONFIG_USB_SISUSBVGA_CON is not set CONFIG_USB_LD=y CONFIG_USB_TRANCEVIBRATOR=m # CONFIG_USB_IOWARRIOR is not set # # USB DSL modem support # # CONFIG_USB_ATM is not set # # USB Gadget Support # # CONFIG_USB_GADGET is not set # CONFIG_MMC is not set CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y # # LED drivers # # # LED Triggers # CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m # CONFIG_INFINIBAND is not set # CONFIG_EDAC is not set CONFIG_RTC_LIB=m CONFIG_RTC_CLASS=m # # RTC interfaces # # CONFIG_RTC_INTF_SYSFS is not set CONFIG_RTC_INTF_PROC=y CONFIG_RTC_INTF_DEV=y # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set CONFIG_RTC_DRV_TEST=m # # I2C RTC drivers # CONFIG_RTC_DRV_DS1307=m # CONFIG_RTC_DRV_DS1374 is not set # CONFIG_RTC_DRV_DS1672 is not set # CONFIG_RTC_DRV_MAX6900 is not set # CONFIG_RTC_DRV_RS5C372 is not set CONFIG_RTC_DRV_ISL1208=m # CONFIG_RTC_DRV_X1205 is not set # CONFIG_RTC_DRV_PCF8563 is not set CONFIG_RTC_DRV_PCF8583=m CONFIG_RTC_DRV_M41T80=m CONFIG_RTC_DRV_M41T80_WDT=y # # SPI RTC drivers # # # Platform RTC drivers # CONFIG_RTC_DRV_CMOS=m # CONFIG_RTC_DRV_DS1553 is not set CONFIG_RTC_DRV_STK17TA8=m # CONFIG_RTC_DRV_DS1742 is not set CONFIG_RTC_DRV_M48T86=m CONFIG_RTC_DRV_M48T59=m # CONFIG_RTC_DRV_V3020 is not set # # on-CPU RTC drivers # CONFIG_DMADEVICES=y # # DMA Devices # CONFIG_INTEL_IOATDMA=y CONFIG_DMA_ENGINE=y # # DMA Clients # # CONFIG_NET_DMA is not set CONFIG_DCA=y CONFIG_AUXDISPLAY=y # CONFIG_KS0108 is not set CONFIG_VIRTUALIZATION=y CONFIG_KVM=y # CONFIG_KVM_INTEL is not set CONFIG_KVM_AMD=y # # Userspace I/O # CONFIG_UIO=m # CONFIG_UIO_CIF is not set # # Firmware Drivers # CONFIG_EDD=y # CONFIG_EFI_VARS is not set CONFIG_DELL_RBU=m # CONFIG_DCDBAS is not set CONFIG_DMIID=y # # File systems # CONFIG_EXT2_FS=y # CONFIG_EXT2_FS_XATTR is not set CONFIG_EXT2_FS_XIP=y CONFIG_FS_XIP=y CONFIG_EXT3_FS=y CONFIG_EXT3_FS_XATTR=y CONFIG_EXT3_FS_POSIX_ACL=y CONFIG_EXT3_FS_SECURITY=y CONFIG_EXT4DEV_FS=y # CONFIG_EXT4DEV_FS_XATTR is not set CONFIG_JBD=y # CONFIG_JBD_DEBUG is not set CONFIG_JBD2=y # CONFIG_JBD2_DEBUG is not set CONFIG_FS_MBCACHE=y # CONFIG_REISERFS_FS is not set CONFIG_JFS_FS=y # CONFIG_JFS_POSIX_ACL is not set # CONFIG_JFS_SECURITY is not set CONFIG_JFS_DEBUG=y CONFIG_JFS_STATISTICS=y CONFIG_FS_POSIX_ACL=y CONFIG_XFS_FS=y # CONFIG_XFS_QUOTA is not set # CONFIG_XFS_SECURITY is not set CONFIG_XFS_POSIX_ACL=y CONFIG_XFS_RT=y # CONFIG_GFS2_FS is not set # CONFIG_OCFS2_FS is not set CONFIG_MINIX_FS=y CONFIG_ROMFS_FS=y # CONFIG_INOTIFY is not set CONFIG_QUOTA=y # CONFIG_QUOTA_NETLINK_INTERFACE is not set CONFIG_PRINT_QUOTA_WARNING=y CONFIG_QFMT_V1=m CONFIG_QFMT_V2=y CONFIG_QUOTACTL=y # CONFIG_DNOTIFY is not set CONFIG_AUTOFS_FS=y # CONFIG_AUTOFS4_FS is not set CONFIG_FUSE_FS=m # # CD-ROM/DVD Filesystems # CONFIG_ISO9660_FS=y # CONFIG_JOLIET is not set CONFIG_ZISOFS=y CONFIG_UDF_FS=y CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems # CONFIG_FAT_FS=m # CONFIG_MSDOS_FS is not set CONFIG_VFAT_FS=m CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" CONFIG_NTFS_FS=m CONFIG_NTFS_DEBUG=y # CONFIG_NTFS_RW is not set # # Pseudo filesystems # CONFIG_PROC_FS=y # CONFIG_PROC_KCORE is not set # CONFIG_PROC_VMCORE is not set CONFIG_PROC_SYSCTL=y CONFIG_SYSFS=y # CONFIG_TMPFS is not set CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y CONFIG_CONFIGFS_FS=y # # Miscellaneous filesystems # # CONFIG_ADFS_FS is not set CONFIG_AFFS_FS=y CONFIG_ECRYPT_FS=y CONFIG_HFS_FS=y CONFIG_HFSPLUS_FS=m CONFIG_BEFS_FS=m # CONFIG_BEFS_DEBUG is not set CONFIG_BFS_FS=m CONFIG_EFS_FS=y # CONFIG_CRAMFS is not set CONFIG_VXFS_FS=y CONFIG_HPFS_FS=m # CONFIG_QNX4FS_FS is not set CONFIG_SYSV_FS=m CONFIG_UFS_FS=y # CONFIG_UFS_FS_WRITE is not set # CONFIG_UFS_DEBUG is not set CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=m CONFIG_NFS_V3=y CONFIG_NFS_V3_ACL=y CONFIG_NFS_V4=y CONFIG_NFS_DIRECTIO=y CONFIG_NFSD=y CONFIG_NFSD_V2_ACL=y CONFIG_NFSD_V3=y CONFIG_NFSD_V3_ACL=y # CONFIG_NFSD_V4 is not set CONFIG_NFSD_TCP=y CONFIG_LOCKD=y CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=y CONFIG_NFS_ACL_SUPPORT=y CONFIG_NFS_COMMON=y CONFIG_SUNRPC=y CONFIG_SUNRPC_GSS=y # CONFIG_SUNRPC_BIND34 is not set CONFIG_RPCSEC_GSS_KRB5=y CONFIG_RPCSEC_GSS_SPKM3=y CONFIG_SMB_FS=m CONFIG_SMB_NLS_DEFAULT=y CONFIG_SMB_NLS_REMOTE="cp437" CONFIG_CIFS=y # CONFIG_CIFS_STATS is not set CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_XATTR=y CONFIG_CIFS_POSIX=y # CONFIG_CIFS_DEBUG2 is not set # CONFIG_CIFS_EXPERIMENTAL is not set CONFIG_NCP_FS=m CONFIG_NCPFS_PACKET_SIGNING=y CONFIG_NCPFS_IOCTL_LOCKING=y # CONFIG_NCPFS_STRONG is not set # CONFIG_NCPFS_NFS_NS is not set # CONFIG_NCPFS_OS2_NS is not set CONFIG_NCPFS_SMALLDOS=y CONFIG_NCPFS_NLS=y # CONFIG_NCPFS_EXTRAS is not set # CONFIG_CODA_FS is not set CONFIG_AFS_FS=y # CONFIG_AFS_DEBUG is not set # CONFIG_9P_FS is not set # # Partition Types # CONFIG_PARTITION_ADVANCED=y CONFIG_ACORN_PARTITION=y # CONFIG_ACORN_PARTITION_CUMANA is not set CONFIG_ACORN_PARTITION_EESOX=y # CONFIG_ACORN_PARTITION_ICS is not set # CONFIG_ACORN_PARTITION_ADFS is not set # CONFIG_ACORN_PARTITION_POWERTEC is not set CONFIG_ACORN_PARTITION_RISCIX=y CONFIG_OSF_PARTITION=y # CONFIG_AMIGA_PARTITION is not set CONFIG_ATARI_PARTITION=y # CONFIG_MAC_PARTITION is not set CONFIG_MSDOS_PARTITION=y CONFIG_BSD_DISKLABEL=y CONFIG_MINIX_SUBPARTITION=y # CONFIG_SOLARIS_X86_PARTITION is not set # CONFIG_UNIXWARE_DISKLABEL is not set # CONFIG_LDM_PARTITION is not set CONFIG_SGI_PARTITION=y # CONFIG_ULTRIX_PARTITION is not set # CONFIG_SUN_PARTITION is not set # CONFIG_KARMA_PARTITION is not set CONFIG_EFI_PARTITION=y # CONFIG_SYSV68_PARTITION is not set CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_737 is not set # CONFIG_NLS_CODEPAGE_775 is not set CONFIG_NLS_CODEPAGE_850=m CONFIG_NLS_CODEPAGE_852=y # CONFIG_NLS_CODEPAGE_855 is not set CONFIG_NLS_CODEPAGE_857=m CONFIG_NLS_CODEPAGE_860=m CONFIG_NLS_CODEPAGE_861=m # CONFIG_NLS_CODEPAGE_862 is not set CONFIG_NLS_CODEPAGE_863=m CONFIG_NLS_CODEPAGE_864=m CONFIG_NLS_CODEPAGE_865=m CONFIG_NLS_CODEPAGE_866=m CONFIG_NLS_CODEPAGE_869=y # CONFIG_NLS_CODEPAGE_936 is not set CONFIG_NLS_CODEPAGE_950=y # CONFIG_NLS_CODEPAGE_932 is not set CONFIG_NLS_CODEPAGE_949=m CONFIG_NLS_CODEPAGE_874=m CONFIG_NLS_ISO8859_8=m CONFIG_NLS_CODEPAGE_1250=y CONFIG_NLS_CODEPAGE_1251=m CONFIG_NLS_ASCII=m CONFIG_NLS_ISO8859_1=m CONFIG_NLS_ISO8859_2=y CONFIG_NLS_ISO8859_3=m CONFIG_NLS_ISO8859_4=y # CONFIG_NLS_ISO8859_5 is not set CONFIG_NLS_ISO8859_6=m # CONFIG_NLS_ISO8859_7 is not set CONFIG_NLS_ISO8859_9=y CONFIG_NLS_ISO8859_13=y # CONFIG_NLS_ISO8859_14 is not set CONFIG_NLS_ISO8859_15=m CONFIG_NLS_KOI8_R=y # CONFIG_NLS_KOI8_U is not set CONFIG_NLS_UTF8=y # CONFIG_DLM is not set # CONFIG_INSTRUMENTATION is not set # # Kernel hacking # CONFIG_TRACE_IRQFLAGS_SUPPORT=y # CONFIG_PRINTK_TIME is not set CONFIG_ENABLE_WARN_DEPRECATED=y CONFIG_ENABLE_MUST_CHECK=y CONFIG_MAGIC_SYSRQ=y # CONFIG_UNUSED_SYMBOLS is not set CONFIG_DEBUG_FS=y CONFIG_HEADERS_CHECK=y # CONFIG_DEBUG_KERNEL is not set # CONFIG_SLUB_DEBUG_ON is not set CONFIG_DEBUG_BUGVERBOSE=y # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set CONFIG_SAMPLES=y CONFIG_EARLY_PRINTK=y CONFIG_X86_FIND_SMP_CONFIG=y CONFIG_X86_MPPARSE=y CONFIG_DOUBLEFAULT=y CONFIG_IO_DELAY_TYPE_0X80=0 CONFIG_IO_DELAY_TYPE_0XED=1 CONFIG_IO_DELAY_TYPE_UDELAY=2 CONFIG_IO_DELAY_TYPE_NONE=3 CONFIG_IO_DELAY_0X80=y # CONFIG_IO_DELAY_0XED is not set # CONFIG_IO_DELAY_UDELAY is not set # CONFIG_IO_DELAY_NONE is not set CONFIG_DEFAULT_IO_DELAY_TYPE=0 # # Security options # CONFIG_KEYS=y # CONFIG_KEYS_DEBUG_PROC_KEYS is not set CONFIG_SECURITY=y # CONFIG_SECURITY_NETWORK is not set CONFIG_SECURITY_CAPABILITIES=y # CONFIG_SECURITY_FILE_CAPABILITIES is not set # CONFIG_SECURITY_ROOTPLUG is not set CONFIG_XOR_BLOCKS=y CONFIG_ASYNC_CORE=y CONFIG_ASYNC_MEMCPY=y CONFIG_ASYNC_XOR=y CONFIG_CRYPTO=y CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ABLKCIPHER=m CONFIG_CRYPTO_AEAD=m CONFIG_CRYPTO_BLKCIPHER=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=m # CONFIG_CRYPTO_NULL is not set CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=m # CONFIG_CRYPTO_SHA512 is not set CONFIG_CRYPTO_WP512=y # CONFIG_CRYPTO_TGR192 is not set CONFIG_CRYPTO_GF128MUL=y CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_LRW=y CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_CRYPTD=m CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_FCRYPT=y # CONFIG_CRYPTO_BLOWFISH is not set CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_TWOFISH_COMMON=m # CONFIG_CRYPTO_TWOFISH_586 is not set # CONFIG_CRYPTO_SERPENT is not set CONFIG_CRYPTO_AES=y # CONFIG_CRYPTO_AES_586 is not set CONFIG_CRYPTO_CAST5=y CONFIG_CRYPTO_CAST6=y CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_ARC4=y # CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_ANUBIS is not set CONFIG_CRYPTO_SEED=y CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_MICHAEL_MIC=y CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CAMELLIA=m # CONFIG_CRYPTO_TEST is not set CONFIG_CRYPTO_AUTHENC=m # CONFIG_CRYPTO_HW is not set # # Library routines # CONFIG_BITREVERSE=y CONFIG_CRC_CCITT=y CONFIG_CRC16=y CONFIG_CRC_ITU_T=y CONFIG_CRC32=y CONFIG_CRC7=m CONFIG_LIBCRC32C=y CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y CONFIG_HAS_DMA=y CONFIG_CHECK_SIGNATURE=y [-- Attachment #3: Type: text/plain, Size: 184 bytes --] _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <20071218131932.GA9457@elte.hu>]
* Re: [PATCH 21/21] [PATCH] finish processor.h integration [not found] ` <20071218131932.GA9457@elte.hu> @ 2007-12-18 13:38 ` Ingo Molnar [not found] ` <20071218133818.GA9941@elte.hu> 1 sibling, 0 replies; 37+ messages in thread From: Ingo Molnar @ 2007-12-18 13:38 UTC (permalink / raw) To: Glauber de Oliveira Costa Cc: ehabkost, linux-kernel, virtualization, chrisw, anthony, hpa, akpm, tglx, roland, ak * Ingo Molnar <mingo@elte.hu> wrote: > > What's left in processor_32.h and processor_64.h cannot be cleanly > > integrated. However, it's just a couple of definitions. They are > > moved to processor.h around ifdefs, and the original files are > > deleted. Note that there's much less headers included in the final > > version. > > and this patch breaks the build on the attached config, with: > > CC arch/x86/mm/boot_ioremap_32.o > In file included from include/asm/fixmap_32.h:28, > from include/asm/fixmap.h:2, > from include/asm/pgtable_32.h:16, > from include/asm/pgtable.h:2, > from arch/x86/mm/boot_ioremap_32.c:21: > include/asm/acpi.h:159: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'acpi_fake_nodes' > make[1]: *** [arch/x86/mm/boot_ioremap_32.o] Error 1 > make: *** [arch/x86/mm/boot_ioremap_32.o] Error 2 really, please do _much_ more careful unification. We unified two full architectures in .24-rc1 and there was _not a single regression_ due to that unification. Not a single build failure, not a single boot or runtime failure. here the problem is apparently caused by your patch, a careless 'unification' of include file sections. 32-bit had this: -#include <asm/vm86.h> -#include <asm/math_emu.h> -#include <asm/segment.h> -#include <asm/page.h> -#include <asm/types.h> -#include <asm/sigcontext.h> -#include <asm/cpufeature.h> -#include <asm/msr.h> -#include <asm/system.h> -#include <linux/threads.h> -#include <linux/init.h> -#include <asm/desc_defs.h> 64-bit had this: -#include <asm/segment.h> -#include <asm/page.h> -#include <asm/types.h> -#include <asm/sigcontext.h> -#include <asm/cpufeature.h> -#include <linux/threads.h> -#include <asm/msr.h> -#include <asm/current.h> -#include <asm/system.h> -#include <linux/personality.h> -#include <asm/desc_defs.h> and the 'unified' processor.h has: +#include <asm/desc_defs.h> +#include <asm/msr.h> #include <asm/page.h> #include <asm/percpu.h> #include <asm/system.h> #include <asm/percpu.h> #include <linux/cpumask.h> #include <linux/cache.h> +#include <linux/personality.h> Those are visible, _crutial_ differences totally unmentioned in the patch. yes, our include file dependencies are a jungle, the differences between 32-bit and 64-bit are arbitrary in 80% of the cases, but still there's no reason why this couldnt be done correctly. The patch below is a quick bandaid that adds the missing bits. Ingo ------------------> Subject: x86: fix include file mess From: Ingo Molnar <mingo@elte.hu> fix include file mess. Signed-off-by: Ingo Molnar <mingo@elte.hu> --- include/asm-x86/processor.h | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) Index: linux-x86.q/include/asm-x86/processor.h =================================================================== --- linux-x86.q.orig/include/asm-x86/processor.h +++ linux-x86.q/include/asm-x86/processor.h @@ -6,15 +6,27 @@ struct task_struct; struct mm_struct; +#ifdef CONFIG_X86_32 +# include <asm/math_emu.h> +# include <asm/vm86.h> +#endif + +#include <asm/cpufeature.h> +#include <asm/current.h> #include <asm/desc_defs.h> #include <asm/msr.h> #include <asm/page.h> #include <asm/percpu.h> +#include <asm/segment.h> +#include <asm/sigcontext.h> #include <asm/system.h> -#include <asm/percpu.h> -#include <linux/cpumask.h> +#include <asm/types.h> + #include <linux/cache.h> +#include <linux/cpumask.h> +#include <linux/init.h> #include <linux/personality.h> +#include <linux/threads.h> /* * Default implementation of macro that returns current ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <20071218133818.GA9941@elte.hu>]
* Re: [PATCH 21/21] [PATCH] finish processor.h integration [not found] ` <20071218133818.GA9941@elte.hu> @ 2007-12-18 13:40 ` Ingo Molnar 2007-12-18 13:48 ` Glauber de Oliveira Costa ` (2 subsequent siblings) 3 siblings, 0 replies; 37+ messages in thread From: Ingo Molnar @ 2007-12-18 13:40 UTC (permalink / raw) To: Glauber de Oliveira Costa Cc: ehabkost, linux-kernel, virtualization, chrisw, anthony, hpa, akpm, tglx, roland, ak * Ingo Molnar <mingo@elte.hu> wrote: > yes, our include file dependencies are a jungle, the differences > between 32-bit and 64-bit are arbitrary in 80% of the cases, but still > there's no reason why this couldnt be done correctly. The patch below > is a quick bandaid that adds the missing bits. the bandaid didnt work - so i removed the 21/21 patch for the time being. Ingo ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 21/21] [PATCH] finish processor.h integration [not found] ` <20071218133818.GA9941@elte.hu> 2007-12-18 13:40 ` Ingo Molnar @ 2007-12-18 13:48 ` Glauber de Oliveira Costa [not found] ` <20071218134018.GA13193@elte.hu> [not found] ` <4767CFC5.3010703@redhat.com> 3 siblings, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-18 13:48 UTC (permalink / raw) To: Ingo Molnar Cc: ehabkost, linux-kernel, virtualization, chrisw, anthony, hpa, akpm, tglx, roland, ak Ingo Molnar wrote: > * Ingo Molnar <mingo@elte.hu> wrote: > >>> What's left in processor_32.h and processor_64.h cannot be cleanly >>> integrated. However, it's just a couple of definitions. They are >>> moved to processor.h around ifdefs, and the original files are >>> deleted. Note that there's much less headers included in the final >>> version. >> and this patch breaks the build on the attached config, with: >> >> CC arch/x86/mm/boot_ioremap_32.o >> In file included from include/asm/fixmap_32.h:28, >> from include/asm/fixmap.h:2, >> from include/asm/pgtable_32.h:16, >> from include/asm/pgtable.h:2, >> from arch/x86/mm/boot_ioremap_32.c:21: >> include/asm/acpi.h:159: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'acpi_fake_nodes' >> make[1]: *** [arch/x86/mm/boot_ioremap_32.o] Error 1 >> make: *** [arch/x86/mm/boot_ioremap_32.o] Error 2 > > really, please do _much_ more careful unification. We unified two full > architectures in .24-rc1 and there was _not a single regression_ due to > that unification. Not a single build failure, not a single boot or > runtime failure. IIRC, 24-rc1 was a different story. Most, if not all patches, had no binary diff, etc. This is not the case here. > here the problem is apparently caused by your patch, a careless > 'unification' of include file sections. 32-bit had this: Point is this patches do unification, but they are not just that, as you can see. I am attempting to cleanup headers that appears not to be used, I am effectivelly adding a new feature to x86_64, and so on. I am testing everything, all I sent works in my configs, and your testing, and point out the configs that breaks is really much appreciated. > -#include <asm/vm86.h> > -#include <asm/math_emu.h> > -#include <asm/segment.h> > -#include <asm/page.h> > -#include <asm/types.h> > -#include <asm/sigcontext.h> > -#include <asm/cpufeature.h> > -#include <asm/msr.h> > -#include <asm/system.h> > -#include <linux/threads.h> > -#include <linux/init.h> > -#include <asm/desc_defs.h> > > 64-bit had this: > > -#include <asm/segment.h> > -#include <asm/page.h> > -#include <asm/types.h> > -#include <asm/sigcontext.h> > -#include <asm/cpufeature.h> > -#include <linux/threads.h> > -#include <asm/msr.h> > -#include <asm/current.h> > -#include <asm/system.h> > -#include <linux/personality.h> > -#include <asm/desc_defs.h> > > and the 'unified' processor.h has: > > +#include <asm/desc_defs.h> > +#include <asm/msr.h> > #include <asm/page.h> > #include <asm/percpu.h> > #include <asm/system.h> > #include <asm/percpu.h> > #include <linux/cpumask.h> > #include <linux/cache.h> > +#include <linux/personality.h> > > Those are visible, _crutial_ differences totally unmentioned in the > patch. > > yes, our include file dependencies are a jungle, the differences between > 32-bit and 64-bit are arbitrary in 80% of the cases, but still there's > no reason why this couldnt be done correctly. The patch below is a quick > bandaid that adds the missing bits. And that's because I'm trying to drop headers that are not used anymore. Again, getting test for other people but me, helps making sure it's correct. I am working on updating the series now, and will send an updated version. > Ingo > > ------------------> > Subject: x86: fix include file mess > From: Ingo Molnar <mingo@elte.hu> > > fix include file mess. > > Signed-off-by: Ingo Molnar <mingo@elte.hu> > --- > include/asm-x86/processor.h | 16 ++++++++++++++-- > 1 file changed, 14 insertions(+), 2 deletions(-) > > Index: linux-x86.q/include/asm-x86/processor.h > =================================================================== > --- linux-x86.q.orig/include/asm-x86/processor.h > +++ linux-x86.q/include/asm-x86/processor.h > @@ -6,15 +6,27 @@ > struct task_struct; > struct mm_struct; > > +#ifdef CONFIG_X86_32 > +# include <asm/math_emu.h> > +# include <asm/vm86.h> > +#endif > + > +#include <asm/cpufeature.h> > +#include <asm/current.h> > #include <asm/desc_defs.h> > #include <asm/msr.h> > #include <asm/page.h> > #include <asm/percpu.h> > +#include <asm/segment.h> > +#include <asm/sigcontext.h> > #include <asm/system.h> > -#include <asm/percpu.h> > -#include <linux/cpumask.h> > +#include <asm/types.h> > + > #include <linux/cache.h> > +#include <linux/cpumask.h> > +#include <linux/init.h> > #include <linux/personality.h> > +#include <linux/threads.h> > > /* > * Default implementation of macro that returns current ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <20071218134018.GA13193@elte.hu>]
* Re: [PATCH 21/21] [PATCH] finish processor.h integration [not found] ` <20071218134018.GA13193@elte.hu> @ 2007-12-18 13:49 ` Glauber de Oliveira Costa 2007-12-18 15:44 ` Ingo Molnar 0 siblings, 1 reply; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-18 13:49 UTC (permalink / raw) To: Ingo Molnar Cc: ehabkost, linux-kernel, virtualization, chrisw, anthony, hpa, akpm, tglx, roland, ak Ingo Molnar wrote: > * Ingo Molnar <mingo@elte.hu> wrote: > >> yes, our include file dependencies are a jungle, the differences >> between 32-bit and 64-bit are arbitrary in 80% of the cases, but still >> there's no reason why this couldnt be done correctly. The patch below >> is a quick bandaid that adds the missing bits. > > the bandaid didnt work - so i removed the 21/21 patch for the time > being. I will also have updates for other patches, If you want, you can drop the series entirely, and wait for the new one to come ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 21/21] [PATCH] finish processor.h integration 2007-12-18 13:49 ` Glauber de Oliveira Costa @ 2007-12-18 15:44 ` Ingo Molnar 0 siblings, 0 replies; 37+ messages in thread From: Ingo Molnar @ 2007-12-18 15:44 UTC (permalink / raw) To: Glauber de Oliveira Costa Cc: ehabkost, linux-kernel, virtualization, chrisw, anthony, hpa, akpm, tglx, roland, ak * Glauber de Oliveira Costa <gcosta@redhat.com> wrote: > Ingo Molnar wrote: >> * Ingo Molnar <mingo@elte.hu> wrote: >> >>> yes, our include file dependencies are a jungle, the differences between >>> 32-bit and 64-bit are arbitrary in 80% of the cases, but still there's no >>> reason why this couldnt be done correctly. The patch below is a quick >>> bandaid that adds the missing bits. >> >> the bandaid didnt work - so i removed the 21/21 patch for the time being. > > I will also have updates for other patches, If you want, you can drop > the series entirely, and wait for the new one to come please send delta patches for this lot from now on - those are a lot more testable. Ingo ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <4767CFC5.3010703@redhat.com>]
* Re: [PATCH 21/21] [PATCH] finish processor.h integration [not found] ` <4767CFC5.3010703@redhat.com> @ 2007-12-18 15:43 ` Ingo Molnar 0 siblings, 0 replies; 37+ messages in thread From: Ingo Molnar @ 2007-12-18 15:43 UTC (permalink / raw) To: Glauber de Oliveira Costa Cc: ehabkost, linux-kernel, virtualization, chrisw, anthony, hpa, akpm, tglx, roland, ak * Glauber de Oliveira Costa <gcosta@redhat.com> wrote: >> here the problem is apparently caused by your patch, a careless >> 'unification' of include file sections. 32-bit had this: > > Point is this patches do unification, but they are not just that, as > you can see. I am attempting to cleanup headers that appears not to be > used, [...] do cleanups and unification in _separate_ patches. We do not want to change a SINGLE LINE OF SOURCE CODE in a patch that says "unify" and moves a block of code from one file to another, ok? If you see some obvious cleanups do it in pre or post patches (whichever looks more logical). That makes it totally bisectable and i can drop the bogus cleanup patch instead of having to drop a full unification patch. Ingo ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 13/21] [PATCH] change bitwise operations to get a void parameter. [not found] ` <11979320302030-git-send-email-gcosta@redhat.com> 2007-12-17 22:52 ` [PATCH 14/21] [PATCH] unify x86_cpuinfo struct Glauber de Oliveira Costa [not found] ` <11979320354186-git-send-email-gcosta@redhat.com> @ 2007-12-18 5:18 ` Rusty Russell [not found] ` <200712181618.43852.rusty@rustcorp.com.au> 3 siblings, 0 replies; 37+ messages in thread From: Rusty Russell @ 2007-12-18 5:18 UTC (permalink / raw) To: Glauber de Oliveira Costa Cc: ehabkost, linux-kernel, virtualization, chrisw, tglx, anthony, hpa, akpm, mingo, roland, ak On Tuesday 18 December 2007 09:52:36 Glauber de Oliveira Costa wrote: > This patch changes the bitwise operations in bitops.h to get > a void pointers as a parameter. Before this patch, a lot of warnings > can be seen. They're gone after it. No, this is a backwards step! These warnings are important for non-arch-specific code: I fought hard to get them made into unsigned longs. But I'm happy for this to be applied as is, then I'll grab the git tree, revert it and fix the warnings... Rusty. ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <200712181618.43852.rusty@rustcorp.com.au>]
* Re: [PATCH 13/21] [PATCH] change bitwise operations to get a void parameter. [not found] ` <200712181618.43852.rusty@rustcorp.com.au> @ 2007-12-18 5:38 ` H. Peter Anvin 2007-12-18 12:40 ` Glauber de Oliveira Costa [not found] ` <5d6222a80712180440l72faa8fere9588ea6894cf1cb@mail.gmail.com> 2 siblings, 0 replies; 37+ messages in thread From: H. Peter Anvin @ 2007-12-18 5:38 UTC (permalink / raw) To: Rusty Russell Cc: ehabkost, linux-kernel, Glauber de Oliveira Costa, chrisw, tglx, anthony, akpm, virtualization, mingo, roland, ak Rusty Russell wrote: > On Tuesday 18 December 2007 09:52:36 Glauber de Oliveira Costa wrote: >> This patch changes the bitwise operations in bitops.h to get >> a void pointers as a parameter. Before this patch, a lot of warnings >> can be seen. They're gone after it. > > No, this is a backwards step! These warnings are important for > non-arch-specific code: I fought hard to get them made into unsigned longs. > > But I'm happy for this to be applied as is, then I'll grab the git tree, > revert it and fix the warnings... > Yes, it's particularly nasty as it'll work fine on littleendian arches, and fail on bigendian arches... -hpa ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 13/21] [PATCH] change bitwise operations to get a void parameter. [not found] ` <200712181618.43852.rusty@rustcorp.com.au> 2007-12-18 5:38 ` H. Peter Anvin @ 2007-12-18 12:40 ` Glauber de Oliveira Costa [not found] ` <5d6222a80712180440l72faa8fere9588ea6894cf1cb@mail.gmail.com> 2 siblings, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-18 12:40 UTC (permalink / raw) To: Rusty Russell Cc: ehabkost, linux-kernel, Glauber de Oliveira Costa, chrisw, tglx, anthony, hpa, akpm, virtualization, mingo, roland, ak On Dec 18, 2007 3:18 AM, Rusty Russell <rusty@rustcorp.com.au> wrote: > On Tuesday 18 December 2007 09:52:36 Glauber de Oliveira Costa wrote: > > This patch changes the bitwise operations in bitops.h to get > > a void pointers as a parameter. Before this patch, a lot of warnings > > can be seen. They're gone after it. > > No, this is a backwards step! These warnings are important for > non-arch-specific code: I fought hard to get them made into unsigned longs. > > But I'm happy for this to be applied as is, then I'll grab the git tree, > revert it and fix the warnings... > Even before my processor.h patches, there are a lot of warnings caused by this. If Ingo does not mind getting more warnings, I can drop this patch entirely, and you (or someone else) can fix them later on. -- Glauber de Oliveira Costa. "Free as in Freedom" http://glommer.net "The less confident you are, the more serious you have to act." ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <5d6222a80712180440l72faa8fere9588ea6894cf1cb@mail.gmail.com>]
* Re: [PATCH 13/21] [PATCH] change bitwise operations to get a void parameter. [not found] ` <5d6222a80712180440l72faa8fere9588ea6894cf1cb@mail.gmail.com> @ 2007-12-18 17:26 ` H. Peter Anvin 0 siblings, 0 replies; 37+ messages in thread From: H. Peter Anvin @ 2007-12-18 17:26 UTC (permalink / raw) To: Glauber de Oliveira Costa Cc: ehabkost, linux-kernel, Glauber de Oliveira Costa, chrisw, mingo, anthony, akpm, virtualization, tglx, roland, ak Glauber de Oliveira Costa wrote: > On Dec 18, 2007 3:18 AM, Rusty Russell <rusty@rustcorp.com.au> wrote: >> On Tuesday 18 December 2007 09:52:36 Glauber de Oliveira Costa wrote: >>> This patch changes the bitwise operations in bitops.h to get >>> a void pointers as a parameter. Before this patch, a lot of warnings >>> can be seen. They're gone after it. >> No, this is a backwards step! These warnings are important for >> non-arch-specific code: I fought hard to get them made into unsigned longs. >> >> But I'm happy for this to be applied as is, then I'll grab the git tree, >> revert it and fix the warnings... >> > Even before my processor.h patches, there are a lot of warnings caused by this. > If Ingo does not mind getting more warnings, I can drop this patch > entirely, and you (or someone else) > can fix them later on. For any code that can be executed on a bigendian processor, those are real bugs. For littleendian-only code they're arguably nuisance warnings, but still... -hpa ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 7/21] [PATCH] unify common parts of processor.h [not found] ` <11979320011968-git-send-email-gcosta@redhat.com> 2007-12-17 22:52 ` [PATCH 8/21] [PATCH] unify current_text_addr Glauber de Oliveira Costa [not found] ` <1197932006634-git-send-email-gcosta@redhat.com> @ 2007-12-18 11:45 ` Ingo Molnar [not found] ` <20071218114504.GA22832@elte.hu> 3 siblings, 0 replies; 37+ messages in thread From: Ingo Molnar @ 2007-12-18 11:45 UTC (permalink / raw) To: Glauber de Oliveira Costa Cc: ehabkost, linux-kernel, virtualization, chrisw, anthony, hpa, akpm, tglx, roland, ak [-- Attachment #1: Type: text/plain, Size: 891 bytes --] * Glauber de Oliveira Costa <gcosta@redhat.com> wrote: > This patch moves the pieces of processor_32.h and processor_64 that > are equal to processor.h. Only what's exactly the same is moved > around, the rest not being touched. argh, it doesnt even build cleanly: In file included from include/linux/elf.h:6, from include/linux/module.h:14, from include/linux/crypto.h:21, from arch/x86/kernel/asm-offsets_32.c:7, from arch/x86/kernel/asm-offsets.c:2: include/asm/elf.h:286: warning: 'struct mm_struct' declared inside parameter list include/asm/elf.h:286: warning: its scope is only this definition or declaration, which is probably not what you want due to zapping this bit of include/asm-x86/processor_32.h: -/* Forward declaration, a strange C thing */ -struct task_struct; -struct mm_struct; Ingo [-- Attachment #2: config --] [-- Type: text/plain, Size: 50045 bytes --] # # Automatically generated make config: don't edit # Linux kernel version: 2.6.24-rc5 # Tue Dec 18 12:27:00 2007 # # CONFIG_64BIT is not set CONFIG_X86_32=y # CONFIG_X86_64 is not set CONFIG_X86=y # CONFIG_GENERIC_LOCKBREAK is not set CONFIG_GENERIC_TIME=y CONFIG_GENERIC_CMOS_UPDATE=y CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_SEMAPHORE_SLEEPERS=y CONFIG_MMU=y CONFIG_ZONE_DMA=y CONFIG_QUICKLIST=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_IOMAP=y CONFIG_GENERIC_BUG=y # CONFIG_GENERIC_GPIO is not set CONFIG_GENERIC_HWEIGHT=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_DMI=y # CONFIG_RWSEM_GENERIC_SPINLOCK is not set CONFIG_RWSEM_XCHGADD_ALGORITHM=y # CONFIG_ARCH_HAS_ILOG2_U32 is not set # CONFIG_ARCH_HAS_ILOG2_U64 is not set CONFIG_GENERIC_CALIBRATE_DELAY=y # CONFIG_GENERIC_TIME_VSYSCALL is not set CONFIG_ARCH_SUPPORTS_OPROFILE=y # CONFIG_ZONE_DMA32 is not set CONFIG_ARCH_POPULATES_NODE_MAP=y # CONFIG_AUDIT_ARCH is not set CONFIG_GENERIC_HARDIRQS=y CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_PENDING_IRQ=y CONFIG_X86_SMP=y CONFIG_X86_HT=y CONFIG_X86_BIOS_REBOOT=y CONFIG_X86_TRAMPOLINE=y CONFIG_KTIME_SCALAR=y CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" # # General setup # CONFIG_EXPERIMENTAL=y CONFIG_LOCK_KERNEL=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_SWAP=y # CONFIG_SYSVIPC is not set # CONFIG_POSIX_MQUEUE is not set CONFIG_BSD_PROCESS_ACCT=y # CONFIG_BSD_PROCESS_ACCT_V3 is not set CONFIG_TASKSTATS=y # CONFIG_TASK_DELAY_ACCT is not set # CONFIG_TASK_XACCT is not set CONFIG_USER_NS=y CONFIG_PID_NS=y # CONFIG_AUDIT is not set # CONFIG_IKCONFIG is not set CONFIG_LOG_BUF_SHIFT=20 # CONFIG_CGROUPS is not set CONFIG_FAIR_GROUP_SCHED=y CONFIG_FAIR_USER_SCHED=y # CONFIG_FAIR_CGROUP_SCHED is not set CONFIG_SYSFS_DEPRECATED=y CONFIG_RELAY=y # CONFIG_BLK_DEV_INITRD is not set # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=y # CONFIG_EMBEDDED is not set CONFIG_UID16=y CONFIG_SYSCTL_SYSCALL=y CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_EXTRA_PASS is not set CONFIG_HOTPLUG=y CONFIG_PRINTK=y CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y CONFIG_ANON_INODES=y CONFIG_EPOLL=y CONFIG_SIGNALFD=y CONFIG_EVENTFD=y CONFIG_SHMEM=y CONFIG_VM_EVENT_COUNTERS=y CONFIG_SLAB=y # CONFIG_SLUB is not set # CONFIG_SLOB is not set CONFIG_RT_MUTEXES=y # CONFIG_TINY_SHMEM is not set CONFIG_BASE_SMALL=0 CONFIG_MODULES=y # CONFIG_MODULE_UNLOAD is not set # CONFIG_MODVERSIONS is not set CONFIG_MODULE_SRCVERSION_ALL=y CONFIG_KMOD=y CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y CONFIG_LBD=y # CONFIG_BLK_DEV_IO_TRACE is not set # CONFIG_LSF is not set CONFIG_BLK_DEV_BSG=y # # IO Schedulers # CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_AS=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_CFQ=m # CONFIG_DEFAULT_AS is not set # CONFIG_DEFAULT_DEADLINE is not set # CONFIG_DEFAULT_CFQ is not set CONFIG_DEFAULT_NOOP=y CONFIG_DEFAULT_IOSCHED="noop" # # Processor type and features # CONFIG_TICK_ONESHOT=y # CONFIG_NO_HZ is not set CONFIG_HIGH_RES_TIMERS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y CONFIG_SMP=y # CONFIG_X86_PC is not set # CONFIG_X86_ELAN is not set # CONFIG_X86_VOYAGER is not set # CONFIG_X86_NUMAQ is not set # CONFIG_X86_SUMMIT is not set # CONFIG_X86_BIGSMP is not set # CONFIG_X86_VISWS is not set CONFIG_X86_GENERICARCH=y # CONFIG_X86_ES7000 is not set # CONFIG_X86_RDC321X is not set # CONFIG_X86_VSMP is not set CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y # CONFIG_PARAVIRT_GUEST is not set CONFIG_X86_CYCLONE_TIMER=y # CONFIG_M386 is not set # CONFIG_M486 is not set # CONFIG_M586 is not set # CONFIG_M586TSC is not set # CONFIG_M586MMX is not set # CONFIG_M686 is not set # CONFIG_MPENTIUMII is not set # CONFIG_MPENTIUMIII is not set # CONFIG_MPENTIUMM is not set # CONFIG_MPENTIUM4 is not set # CONFIG_MK6 is not set CONFIG_MK7=y # CONFIG_MK8 is not set # CONFIG_MCRUSOE is not set # CONFIG_MEFFICEON is not set # CONFIG_MWINCHIPC6 is not set # CONFIG_MWINCHIP2 is not set # CONFIG_MWINCHIP3D is not set # CONFIG_MGEODEGX1 is not set # CONFIG_MGEODE_LX is not set # CONFIG_MCYRIXIII is not set # CONFIG_MVIAC3_2 is not set # CONFIG_MVIAC7 is not set # CONFIG_MPSC is not set # CONFIG_MCORE2 is not set # CONFIG_GENERIC_CPU is not set # CONFIG_X86_GENERIC is not set CONFIG_X86_CMPXCHG=y CONFIG_X86_L1_CACHE_SHIFT=6 CONFIG_X86_XADD=y CONFIG_X86_WP_WORKS_OK=y CONFIG_X86_INVLPG=y CONFIG_X86_BSWAP=y CONFIG_X86_POPAD_OK=y CONFIG_X86_GOOD_APIC=y CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_USE_PPRO_CHECKSUM=y CONFIG_X86_USE_3DNOW=y CONFIG_X86_TSC=y CONFIG_X86_CMOV=y CONFIG_X86_MINIMUM_CPU_FAMILY=4 CONFIG_X86_DEBUGCTLMSR=y # CONFIG_HPET_TIMER is not set CONFIG_NR_CPUS=8 CONFIG_SCHED_SMT=y # CONFIG_SCHED_MC is not set # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y # CONFIG_PREEMPT is not set CONFIG_PREEMPT_BKL=y CONFIG_X86_LOCAL_APIC=y CONFIG_X86_IO_APIC=y # CONFIG_X86_MCE is not set CONFIG_VM86=y CONFIG_TOSHIBA=m CONFIG_I8K=m # CONFIG_X86_REBOOTFIXUPS is not set CONFIG_MICROCODE=m CONFIG_MICROCODE_OLD_INTERFACE=y # CONFIG_X86_MSR is not set # CONFIG_X86_CPUID is not set CONFIG_NOHIGHMEM=y # CONFIG_HIGHMEM4G is not set # CONFIG_HIGHMEM64G is not set CONFIG_PAGE_OFFSET=0xC0000000 # CONFIG_X86_PAE is not set CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y # CONFIG_DISCONTIGMEM_MANUAL is not set # CONFIG_SPARSEMEM_MANUAL is not set CONFIG_FLATMEM=y CONFIG_FLAT_NODE_MEM_MAP=y # CONFIG_SPARSEMEM_STATIC is not set # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set CONFIG_SPLIT_PTLOCK_CPUS=4 # CONFIG_RESOURCES_64BIT is not set CONFIG_ZONE_DMA_FLAG=1 CONFIG_BOUNCE=y CONFIG_NR_QUICK=1 CONFIG_VIRT_TO_BUS=y # CONFIG_MATH_EMULATION is not set CONFIG_MTRR=y CONFIG_IRQBALANCE=y # CONFIG_SECCOMP is not set CONFIG_HZ_100=y # CONFIG_HZ_250 is not set # CONFIG_HZ_300 is not set # CONFIG_HZ_1000 is not set CONFIG_HZ=100 # CONFIG_KEXEC is not set CONFIG_PHYSICAL_START=0x100000 # CONFIG_RELOCATABLE is not set CONFIG_PHYSICAL_ALIGN=0x100000 CONFIG_HOTPLUG_CPU=y CONFIG_COMPAT_VDSO=y # # Power management options # # CONFIG_PM is not set CONFIG_SUSPEND_SMP_POSSIBLE=y CONFIG_HIBERNATION_SMP_POSSIBLE=y # # CPU Frequency scaling # CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_TABLE=y # CONFIG_CPU_FREQ_DEBUG is not set CONFIG_CPU_FREQ_STAT=m # CONFIG_CPU_FREQ_STAT_DETAILS is not set CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_POWERSAVE=m CONFIG_CPU_FREQ_GOV_USERSPACE=m CONFIG_CPU_FREQ_GOV_ONDEMAND=m # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set # # CPUFreq processor drivers # # CONFIG_X86_POWERNOW_K6 is not set CONFIG_X86_POWERNOW_K7=y CONFIG_X86_POWERNOW_K8=y # CONFIG_X86_GX_SUSPMOD is not set CONFIG_X86_SPEEDSTEP_CENTRINO=m CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y # CONFIG_X86_SPEEDSTEP_ICH is not set CONFIG_X86_SPEEDSTEP_SMI=m # CONFIG_X86_P4_CLOCKMOD is not set CONFIG_X86_CPUFREQ_NFORCE2=m CONFIG_X86_LONGRUN=y # CONFIG_X86_E_POWERSAVER is not set # # shared options # CONFIG_X86_SPEEDSTEP_LIB=m CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_GOV_LADDER=y # # Bus options (PCI etc.) # CONFIG_PCI=y # CONFIG_PCI_GOBIOS is not set # CONFIG_PCI_GOMMCONFIG is not set CONFIG_PCI_GODIRECT=y # CONFIG_PCI_GOANY is not set CONFIG_PCI_DIRECT=y CONFIG_PCI_DOMAINS=y CONFIG_PCIEPORTBUS=y # CONFIG_HOTPLUG_PCI_PCIE is not set # CONFIG_PCIEAER is not set CONFIG_ARCH_SUPPORTS_MSI=y CONFIG_PCI_MSI=y # CONFIG_PCI_LEGACY is not set CONFIG_HT_IRQ=y CONFIG_ISA_DMA_API=y # CONFIG_ISA is not set # CONFIG_MCA is not set CONFIG_SCx200=m # CONFIG_SCx200HR_TIMER is not set CONFIG_PCCARD=y # CONFIG_PCMCIA_DEBUG is not set CONFIG_PCMCIA=y # CONFIG_PCMCIA_LOAD_CIS is not set # CONFIG_PCMCIA_IOCTL is not set CONFIG_CARDBUS=y # # PC-card bridges # CONFIG_YENTA=m CONFIG_YENTA_O2=y CONFIG_YENTA_RICOH=y CONFIG_YENTA_TI=y CONFIG_YENTA_ENE_TUNE=y CONFIG_YENTA_TOSHIBA=y CONFIG_PD6729=m CONFIG_I82092=m CONFIG_PCCARD_NONSTATIC=m CONFIG_HOTPLUG_PCI=y # CONFIG_HOTPLUG_PCI_FAKE is not set CONFIG_HOTPLUG_PCI_CPCI=y CONFIG_HOTPLUG_PCI_CPCI_ZT5550=y CONFIG_HOTPLUG_PCI_SHPC=y # # Executable file formats / Emulations # CONFIG_BINFMT_ELF=y CONFIG_BINFMT_AOUT=y # CONFIG_BINFMT_MISC is not set # # Networking # CONFIG_NET=y # # Networking options # CONFIG_PACKET=y CONFIG_PACKET_MMAP=y CONFIG_UNIX=y CONFIG_XFRM=y CONFIG_XFRM_USER=m CONFIG_XFRM_SUB_POLICY=y # CONFIG_XFRM_MIGRATE is not set CONFIG_NET_KEY=m # CONFIG_NET_KEY_MIGRATE is not set CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y # CONFIG_ASK_IP_FIB_HASH is not set CONFIG_IP_FIB_TRIE=y # CONFIG_IP_FIB_HASH is not set # CONFIG_IP_MULTIPLE_TABLES is not set # CONFIG_IP_ROUTE_MULTIPATH is not set # CONFIG_IP_ROUTE_VERBOSE is not set # CONFIG_IP_PNP is not set # CONFIG_NET_IPIP is not set CONFIG_NET_IPGRE=m # CONFIG_NET_IPGRE_BROADCAST is not set CONFIG_IP_MROUTE=y # CONFIG_IP_PIMSM_V1 is not set # CONFIG_IP_PIMSM_V2 is not set CONFIG_ARPD=y CONFIG_SYN_COOKIES=y # CONFIG_INET_AH is not set CONFIG_INET_ESP=m CONFIG_INET_IPCOMP=y CONFIG_INET_XFRM_TUNNEL=y CONFIG_INET_TUNNEL=y CONFIG_INET_XFRM_MODE_TRANSPORT=y CONFIG_INET_XFRM_MODE_TUNNEL=m # CONFIG_INET_XFRM_MODE_BEET is not set CONFIG_INET_LRO=m CONFIG_INET_DIAG=m CONFIG_INET_TCP_DIAG=m # CONFIG_TCP_CONG_ADVANCED is not set CONFIG_TCP_CONG_CUBIC=y CONFIG_DEFAULT_TCP_CONG="cubic" # CONFIG_TCP_MD5SIG is not set CONFIG_IP_VS=y CONFIG_IP_VS_DEBUG=y CONFIG_IP_VS_TAB_BITS=12 # # IPVS transport protocol load balancing support # CONFIG_IP_VS_PROTO_TCP=y CONFIG_IP_VS_PROTO_UDP=y CONFIG_IP_VS_PROTO_ESP=y # CONFIG_IP_VS_PROTO_AH is not set # # IPVS scheduler # # CONFIG_IP_VS_RR is not set CONFIG_IP_VS_WRR=y # CONFIG_IP_VS_LC is not set CONFIG_IP_VS_WLC=y CONFIG_IP_VS_LBLC=y # CONFIG_IP_VS_LBLCR is not set CONFIG_IP_VS_DH=y # CONFIG_IP_VS_SH is not set # CONFIG_IP_VS_SED is not set # CONFIG_IP_VS_NQ is not set # # IPVS application helper # # CONFIG_IP_VS_FTP is not set CONFIG_IPV6=m # CONFIG_IPV6_PRIVACY is not set CONFIG_IPV6_ROUTER_PREF=y # CONFIG_IPV6_ROUTE_INFO is not set # CONFIG_IPV6_OPTIMISTIC_DAD is not set # CONFIG_INET6_AH is not set CONFIG_INET6_ESP=m CONFIG_INET6_IPCOMP=m # CONFIG_IPV6_MIP6 is not set CONFIG_INET6_XFRM_TUNNEL=m CONFIG_INET6_TUNNEL=m CONFIG_INET6_XFRM_MODE_TRANSPORT=m # CONFIG_INET6_XFRM_MODE_TUNNEL is not set CONFIG_INET6_XFRM_MODE_BEET=m CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m CONFIG_IPV6_SIT=m CONFIG_IPV6_TUNNEL=m CONFIG_IPV6_MULTIPLE_TABLES=y # CONFIG_IPV6_SUBTREES is not set CONFIG_NETLABEL=y # CONFIG_NETWORK_SECMARK is not set CONFIG_NETFILTER=y # CONFIG_NETFILTER_DEBUG is not set # # Core Netfilter Configuration # CONFIG_NETFILTER_NETLINK=m # CONFIG_NETFILTER_NETLINK_QUEUE is not set # CONFIG_NETFILTER_NETLINK_LOG is not set CONFIG_NF_CONNTRACK_ENABLED=y CONFIG_NF_CONNTRACK=y CONFIG_NF_CT_ACCT=y CONFIG_NF_CONNTRACK_MARK=y CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CT_PROTO_SCTP=m # CONFIG_NF_CT_PROTO_UDPLITE is not set CONFIG_NF_CONNTRACK_AMANDA=m # CONFIG_NF_CONNTRACK_FTP is not set # CONFIG_NF_CONNTRACK_H323 is not set CONFIG_NF_CONNTRACK_IRC=y CONFIG_NF_CONNTRACK_NETBIOS_NS=y # CONFIG_NF_CONNTRACK_PPTP is not set CONFIG_NF_CONNTRACK_SANE=y CONFIG_NF_CONNTRACK_SIP=m CONFIG_NF_CONNTRACK_TFTP=y CONFIG_NETFILTER_XTABLES=m # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set CONFIG_NETFILTER_XT_TARGET_CONNMARK=m # CONFIG_NETFILTER_XT_TARGET_DSCP is not set # CONFIG_NETFILTER_XT_TARGET_MARK is not set # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set CONFIG_NETFILTER_XT_TARGET_NFLOG=m # CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set # CONFIG_NETFILTER_XT_TARGET_TRACE is not set # CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set # CONFIG_NETFILTER_XT_MATCH_COMMENT is not set CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m # CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set CONFIG_NETFILTER_XT_MATCH_CONNMARK=m CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m # CONFIG_NETFILTER_XT_MATCH_DCCP is not set CONFIG_NETFILTER_XT_MATCH_DSCP=m CONFIG_NETFILTER_XT_MATCH_ESP=m CONFIG_NETFILTER_XT_MATCH_HELPER=m CONFIG_NETFILTER_XT_MATCH_LENGTH=m # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set CONFIG_NETFILTER_XT_MATCH_MAC=m # CONFIG_NETFILTER_XT_MATCH_MARK is not set # CONFIG_NETFILTER_XT_MATCH_POLICY is not set # CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set # CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set # CONFIG_NETFILTER_XT_MATCH_QUOTA is not set CONFIG_NETFILTER_XT_MATCH_REALM=m # CONFIG_NETFILTER_XT_MATCH_SCTP is not set # CONFIG_NETFILTER_XT_MATCH_STATE is not set CONFIG_NETFILTER_XT_MATCH_STATISTIC=m CONFIG_NETFILTER_XT_MATCH_STRING=m CONFIG_NETFILTER_XT_MATCH_TCPMSS=m CONFIG_NETFILTER_XT_MATCH_TIME=m # CONFIG_NETFILTER_XT_MATCH_U32 is not set CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m # # IP: Netfilter Configuration # CONFIG_NF_CONNTRACK_IPV4=y # CONFIG_NF_CONNTRACK_PROC_COMPAT is not set CONFIG_IP_NF_QUEUE=m CONFIG_IP_NF_IPTABLES=m # CONFIG_IP_NF_MATCH_IPRANGE is not set # CONFIG_IP_NF_MATCH_TOS is not set # CONFIG_IP_NF_MATCH_RECENT is not set # CONFIG_IP_NF_MATCH_ECN is not set CONFIG_IP_NF_MATCH_AH=m # CONFIG_IP_NF_MATCH_TTL is not set CONFIG_IP_NF_MATCH_OWNER=m # CONFIG_IP_NF_MATCH_ADDRTYPE is not set CONFIG_IP_NF_FILTER=m CONFIG_IP_NF_TARGET_REJECT=m # CONFIG_IP_NF_TARGET_LOG is not set # CONFIG_IP_NF_TARGET_ULOG is not set # CONFIG_NF_NAT is not set CONFIG_IP_NF_MANGLE=m CONFIG_IP_NF_TARGET_TOS=m CONFIG_IP_NF_TARGET_ECN=m # CONFIG_IP_NF_TARGET_TTL is not set CONFIG_IP_NF_TARGET_CLUSTERIP=m CONFIG_IP_NF_RAW=m # CONFIG_IP_NF_ARPTABLES is not set # # IPv6: Netfilter Configuration (EXPERIMENTAL) # CONFIG_NF_CONNTRACK_IPV6=m CONFIG_IP6_NF_QUEUE=m CONFIG_IP6_NF_IPTABLES=m CONFIG_IP6_NF_MATCH_RT=m # CONFIG_IP6_NF_MATCH_OPTS is not set # CONFIG_IP6_NF_MATCH_FRAG is not set # CONFIG_IP6_NF_MATCH_HL is not set # CONFIG_IP6_NF_MATCH_OWNER is not set # CONFIG_IP6_NF_MATCH_IPV6HEADER is not set CONFIG_IP6_NF_MATCH_AH=m CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_EUI64=m # CONFIG_IP6_NF_FILTER is not set CONFIG_IP6_NF_MANGLE=m CONFIG_IP6_NF_TARGET_HL=m CONFIG_IP6_NF_RAW=m CONFIG_IP_DCCP=y CONFIG_INET_DCCP_DIAG=m CONFIG_IP_DCCP_ACKVEC=y # # DCCP CCIDs Configuration (EXPERIMENTAL) # CONFIG_IP_DCCP_CCID2=m CONFIG_IP_DCCP_CCID2_DEBUG=y # CONFIG_IP_DCCP_CCID3 is not set CONFIG_IP_SCTP=m CONFIG_SCTP_DBG_MSG=y CONFIG_SCTP_DBG_OBJCNT=y # CONFIG_SCTP_HMAC_NONE is not set # CONFIG_SCTP_HMAC_SHA1 is not set CONFIG_SCTP_HMAC_MD5=y CONFIG_TIPC=y # CONFIG_TIPC_ADVANCED is not set CONFIG_TIPC_DEBUG=y # CONFIG_ATM is not set # CONFIG_BRIDGE is not set CONFIG_VLAN_8021Q=m # CONFIG_DECNET is not set CONFIG_LLC=y # CONFIG_LLC2 is not set # CONFIG_IPX is not set # CONFIG_ATALK is not set CONFIG_X25=y CONFIG_LAPB=y CONFIG_ECONET=m # CONFIG_ECONET_AUNUDP is not set CONFIG_ECONET_NATIVE=y CONFIG_WAN_ROUTER=m CONFIG_NET_SCHED=y # # Queueing/Scheduling # CONFIG_NET_SCH_CBQ=y CONFIG_NET_SCH_HTB=y CONFIG_NET_SCH_HFSC=y CONFIG_NET_SCH_PRIO=y CONFIG_NET_SCH_RR=y CONFIG_NET_SCH_RED=m # CONFIG_NET_SCH_SFQ is not set CONFIG_NET_SCH_TEQL=m # CONFIG_NET_SCH_TBF is not set CONFIG_NET_SCH_GRED=y # CONFIG_NET_SCH_DSMARK is not set CONFIG_NET_SCH_NETEM=y CONFIG_NET_SCH_INGRESS=m # # Classification # CONFIG_NET_CLS=y # CONFIG_NET_CLS_BASIC is not set # CONFIG_NET_CLS_TCINDEX is not set CONFIG_NET_CLS_ROUTE4=m CONFIG_NET_CLS_ROUTE=y CONFIG_NET_CLS_FW=y # CONFIG_NET_CLS_U32 is not set CONFIG_NET_CLS_RSVP=y CONFIG_NET_CLS_RSVP6=y # CONFIG_NET_EMATCH is not set CONFIG_NET_CLS_ACT=y CONFIG_NET_ACT_POLICE=y # CONFIG_NET_ACT_GACT is not set CONFIG_NET_ACT_MIRRED=y # CONFIG_NET_ACT_IPT is not set # CONFIG_NET_ACT_NAT is not set CONFIG_NET_ACT_PEDIT=m # CONFIG_NET_ACT_SIMP is not set CONFIG_NET_CLS_POLICE=y # CONFIG_NET_CLS_IND is not set CONFIG_NET_SCH_FIFO=y # # Network testing # # CONFIG_NET_PKTGEN is not set CONFIG_NET_TCPPROBE=m # CONFIG_HAMRADIO is not set CONFIG_IRDA=y # # IrDA protocols # CONFIG_IRLAN=m # CONFIG_IRNET is not set CONFIG_IRCOMM=m CONFIG_IRDA_ULTRA=y # # IrDA options # CONFIG_IRDA_CACHE_LAST_LSAP=y CONFIG_IRDA_FAST_RR=y # CONFIG_IRDA_DEBUG is not set # # Infrared-port device drivers # # # SIR device drivers # CONFIG_IRTTY_SIR=y # # Dongle support # CONFIG_DONGLE=y CONFIG_ESI_DONGLE=y CONFIG_ACTISYS_DONGLE=m CONFIG_TEKRAM_DONGLE=y CONFIG_TOIM3232_DONGLE=m CONFIG_LITELINK_DONGLE=m # CONFIG_MA600_DONGLE is not set CONFIG_GIRBIL_DONGLE=m # CONFIG_MCP2120_DONGLE is not set # CONFIG_OLD_BELKIN_DONGLE is not set CONFIG_ACT200L_DONGLE=m CONFIG_KINGSUN_DONGLE=y # CONFIG_KSDAZZLE_DONGLE is not set CONFIG_KS959_DONGLE=m # # Old SIR device drivers # # # Old Serial dongle support # # # FIR device drivers # # CONFIG_USB_IRDA is not set CONFIG_SIGMATEL_FIR=m # CONFIG_NSC_FIR is not set # CONFIG_WINBOND_FIR is not set # CONFIG_TOSHIBA_FIR is not set CONFIG_SMC_IRCC_FIR=m CONFIG_ALI_FIR=m CONFIG_VLSI_FIR=m CONFIG_VIA_FIR=m CONFIG_MCS_FIR=m # CONFIG_BT is not set CONFIG_AF_RXRPC=y # CONFIG_AF_RXRPC_DEBUG is not set # CONFIG_RXKAD is not set CONFIG_FIB_RULES=y # # Wireless # CONFIG_CFG80211=y CONFIG_NL80211=y CONFIG_WIRELESS_EXT=y CONFIG_MAC80211=y CONFIG_MAC80211_RCSIMPLE=y CONFIG_MAC80211_DEBUGFS=y CONFIG_MAC80211_DEBUG=y # CONFIG_MAC80211_VERBOSE_DEBUG is not set CONFIG_MAC80211_LOWTX_FRAME_DUMP=y # CONFIG_TKIP_DEBUG is not set # CONFIG_MAC80211_DEBUG_COUNTERS is not set CONFIG_MAC80211_IBSS_DEBUG=y CONFIG_MAC80211_VERBOSE_PS_DEBUG=y CONFIG_IEEE80211=y # CONFIG_IEEE80211_DEBUG is not set CONFIG_IEEE80211_CRYPT_WEP=y # CONFIG_IEEE80211_CRYPT_CCMP is not set CONFIG_IEEE80211_CRYPT_TKIP=y CONFIG_IEEE80211_SOFTMAC=y CONFIG_IEEE80211_SOFTMAC_DEBUG=y # CONFIG_RFKILL is not set CONFIG_NET_9P=y CONFIG_NET_9P_FD=m CONFIG_NET_9P_DEBUG=y # # Device Drivers # # # Generic Driver Options # CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y # CONFIG_SYS_HYPERVISOR is not set CONFIG_CONNECTOR=m # CONFIG_MTD is not set CONFIG_PARPORT=m # CONFIG_PARPORT_PC is not set # CONFIG_PARPORT_GSC is not set # CONFIG_PARPORT_AX88796 is not set # CONFIG_PARPORT_1284 is not set # CONFIG_BLK_DEV is not set CONFIG_MISC_DEVICES=y # CONFIG_IBM_ASM is not set CONFIG_PHANTOM=y CONFIG_EEPROM_93CX6=m CONFIG_SGI_IOC4=y CONFIG_TIFM_CORE=y CONFIG_TIFM_7XX1=m # CONFIG_IDE is not set # # SCSI device support # CONFIG_RAID_ATTRS=y CONFIG_SCSI=y CONFIG_SCSI_DMA=y CONFIG_SCSI_TGT=m CONFIG_SCSI_NETLINK=y CONFIG_SCSI_PROC_FS=y # # SCSI support type (disk, tape, CD-ROM) # CONFIG_BLK_DEV_SD=y CONFIG_CHR_DEV_ST=y CONFIG_CHR_DEV_OSST=y CONFIG_BLK_DEV_SR=y # CONFIG_BLK_DEV_SR_VENDOR is not set # CONFIG_CHR_DEV_SG is not set CONFIG_CHR_DEV_SCH=m # # Some SCSI devices (e.g. CD jukebox) support multiple LUNs # CONFIG_SCSI_MULTI_LUN=y # CONFIG_SCSI_CONSTANTS is not set # CONFIG_SCSI_LOGGING is not set # CONFIG_SCSI_SCAN_ASYNC is not set CONFIG_SCSI_WAIT_SCAN=m # # SCSI Transports # CONFIG_SCSI_SPI_ATTRS=y CONFIG_SCSI_FC_ATTRS=y CONFIG_SCSI_ISCSI_ATTRS=y CONFIG_SCSI_SAS_ATTRS=y CONFIG_SCSI_SAS_LIBSAS=y # CONFIG_SCSI_SAS_ATA is not set # CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set CONFIG_SCSI_SRP_ATTRS=y CONFIG_SCSI_LOWLEVEL=y CONFIG_ISCSI_TCP=y # CONFIG_BLK_DEV_3W_XXXX_RAID is not set # CONFIG_SCSI_3W_9XXX is not set CONFIG_SCSI_ACARD=m CONFIG_SCSI_AACRAID=y CONFIG_SCSI_AIC7XXX=y CONFIG_AIC7XXX_CMDS_PER_DEVICE=32 CONFIG_AIC7XXX_RESET_DELAY_MS=5000 # CONFIG_AIC7XXX_DEBUG_ENABLE is not set CONFIG_AIC7XXX_DEBUG_MASK=0 CONFIG_AIC7XXX_REG_PRETTY_PRINT=y CONFIG_SCSI_AIC7XXX_OLD=m # CONFIG_SCSI_AIC79XX is not set CONFIG_SCSI_AIC94XX=y # CONFIG_AIC94XX_DEBUG is not set # CONFIG_SCSI_DPT_I2O is not set CONFIG_SCSI_ADVANSYS=m CONFIG_SCSI_ARCMSR=m CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_MM=y CONFIG_MEGARAID_MAILBOX=y CONFIG_MEGARAID_LEGACY=m # CONFIG_MEGARAID_SAS is not set # CONFIG_SCSI_HPTIOP is not set CONFIG_SCSI_BUSLOGIC=m CONFIG_SCSI_OMIT_FLASHPOINT=y CONFIG_SCSI_DMX3191D=m # CONFIG_SCSI_EATA is not set CONFIG_SCSI_FUTURE_DOMAIN=y CONFIG_SCSI_IPS=y # CONFIG_SCSI_INITIO is not set CONFIG_SCSI_INIA100=m CONFIG_SCSI_STEX=y CONFIG_SCSI_SYM53C8XX_2=m CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 CONFIG_SCSI_SYM53C8XX_MMIO=y # CONFIG_SCSI_IPR is not set # CONFIG_SCSI_QLOGIC_1280 is not set CONFIG_SCSI_QLA_FC=y CONFIG_SCSI_QLA_ISCSI=y CONFIG_SCSI_LPFC=m CONFIG_SCSI_DC395x=y CONFIG_SCSI_DC390T=m CONFIG_SCSI_NSP32=y # CONFIG_SCSI_DEBUG is not set CONFIG_SCSI_SRP=m CONFIG_SCSI_LOWLEVEL_PCMCIA=y # CONFIG_PCMCIA_AHA152X is not set CONFIG_PCMCIA_FDOMAIN=y # CONFIG_PCMCIA_NINJA_SCSI is not set # CONFIG_PCMCIA_QLOGIC is not set CONFIG_PCMCIA_SYM53C500=y CONFIG_ATA=y # CONFIG_ATA_NONSTANDARD is not set CONFIG_SATA_AHCI=y CONFIG_SATA_SVW=y CONFIG_ATA_PIIX=y CONFIG_SATA_MV=m CONFIG_SATA_NV=y CONFIG_PDC_ADMA=m CONFIG_SATA_QSTOR=m # CONFIG_SATA_PROMISE is not set CONFIG_SATA_SX4=m CONFIG_SATA_SIL=y # CONFIG_SATA_SIL24 is not set # CONFIG_SATA_SIS is not set CONFIG_SATA_ULI=y CONFIG_SATA_VIA=m CONFIG_SATA_VITESSE=y CONFIG_SATA_INIC162X=m CONFIG_PATA_ALI=y CONFIG_PATA_AMD=y CONFIG_PATA_ARTOP=y # CONFIG_PATA_ATIIXP is not set CONFIG_PATA_CMD640_PCI=m CONFIG_PATA_CMD64X=y CONFIG_PATA_CS5520=y CONFIG_PATA_CS5530=y CONFIG_PATA_CS5535=m CONFIG_PATA_CS5536=m CONFIG_PATA_CYPRESS=y CONFIG_PATA_EFAR=m CONFIG_ATA_GENERIC=m # CONFIG_PATA_HPT366 is not set CONFIG_PATA_HPT37X=m CONFIG_PATA_HPT3X2N=y CONFIG_PATA_HPT3X3=m CONFIG_PATA_HPT3X3_DMA=y CONFIG_PATA_IT821X=m CONFIG_PATA_IT8213=m CONFIG_PATA_JMICRON=m CONFIG_PATA_TRIFLEX=y # CONFIG_PATA_MARVELL is not set CONFIG_PATA_MPIIX=y CONFIG_PATA_OLDPIIX=y CONFIG_PATA_NETCELL=m CONFIG_PATA_NS87410=m # CONFIG_PATA_NS87415 is not set CONFIG_PATA_OPTI=m CONFIG_PATA_OPTIDMA=y # CONFIG_PATA_PCMCIA is not set CONFIG_PATA_PDC_OLD=y # CONFIG_PATA_RADISYS is not set CONFIG_PATA_RZ1000=y CONFIG_PATA_SC1200=y CONFIG_PATA_SERVERWORKS=y # CONFIG_PATA_PDC2027X is not set # CONFIG_PATA_SIL680 is not set CONFIG_PATA_SIS=m CONFIG_PATA_VIA=m CONFIG_PATA_WINBOND=y # CONFIG_MD is not set CONFIG_FUSION=y CONFIG_FUSION_SPI=y CONFIG_FUSION_FC=m CONFIG_FUSION_SAS=m CONFIG_FUSION_MAX_SGE=128 CONFIG_FUSION_CTL=m CONFIG_FUSION_LOGGING=y # # IEEE 1394 (FireWire) support # # CONFIG_FIREWIRE is not set # CONFIG_IEEE1394 is not set CONFIG_I2O=m # CONFIG_I2O_LCT_NOTIFY_ON_CHANGES is not set # CONFIG_I2O_EXT_ADAPTEC is not set # CONFIG_I2O_CONFIG is not set CONFIG_I2O_BUS=m # CONFIG_I2O_BLOCK is not set # CONFIG_I2O_SCSI is not set # CONFIG_I2O_PROC is not set CONFIG_MACINTOSH_DRIVERS=y CONFIG_MAC_EMUMOUSEBTN=y CONFIG_NETDEVICES=y # CONFIG_NETDEVICES_MULTIQUEUE is not set CONFIG_IFB=m # CONFIG_DUMMY is not set CONFIG_BONDING=y CONFIG_MACVLAN=m CONFIG_EQUALIZER=y # CONFIG_TUN is not set CONFIG_VETH=y CONFIG_IP1000=m # CONFIG_ARCNET is not set CONFIG_PHYLIB=y # # MII PHY device drivers # # CONFIG_MARVELL_PHY is not set CONFIG_DAVICOM_PHY=m CONFIG_QSEMI_PHY=m # CONFIG_LXT_PHY is not set CONFIG_CICADA_PHY=m CONFIG_VITESSE_PHY=y # CONFIG_SMSC_PHY is not set # CONFIG_BROADCOM_PHY is not set CONFIG_ICPLUS_PHY=m CONFIG_FIXED_PHY=m CONFIG_FIXED_MII_10_FDX=y # CONFIG_FIXED_MII_100_FDX is not set CONFIG_FIXED_MII_1000_FDX=y CONFIG_FIXED_MII_AMNT=1 CONFIG_MDIO_BITBANG=y CONFIG_NET_ETHERNET=y CONFIG_MII=y CONFIG_HAPPYMEAL=y CONFIG_SUNGEM=m CONFIG_CASSINI=y # CONFIG_NET_VENDOR_3COM is not set CONFIG_NET_TULIP=y # CONFIG_DE2104X is not set # CONFIG_TULIP is not set CONFIG_DE4X5=m # CONFIG_WINBOND_840 is not set CONFIG_DM9102=m # CONFIG_ULI526X is not set CONFIG_PCMCIA_XIRCOM=y CONFIG_HP100=m # CONFIG_IBM_NEW_EMAC_ZMII is not set # CONFIG_IBM_NEW_EMAC_RGMII is not set # CONFIG_IBM_NEW_EMAC_TAH is not set # CONFIG_IBM_NEW_EMAC_EMAC4 is not set CONFIG_NET_PCI=y CONFIG_PCNET32=y # CONFIG_PCNET32_NAPI is not set # CONFIG_AMD8111_ETH is not set CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADAPTEC_STARFIRE_NAPI is not set # CONFIG_B44 is not set CONFIG_FORCEDETH=y CONFIG_FORCEDETH_NAPI=y # CONFIG_EEPRO100 is not set CONFIG_E100=y # CONFIG_FEALNX is not set # CONFIG_NATSEMI is not set CONFIG_NE2K_PCI=m CONFIG_8139CP=y CONFIG_8139TOO=y CONFIG_8139TOO_PIO=y # CONFIG_8139TOO_TUNE_TWISTER is not set # CONFIG_8139TOO_8129 is not set # CONFIG_8139_OLD_RX_RESET is not set CONFIG_SIS900=m # CONFIG_EPIC100 is not set # CONFIG_SUNDANCE is not set CONFIG_TLAN=m CONFIG_VIA_RHINE=m # CONFIG_VIA_RHINE_MMIO is not set CONFIG_VIA_RHINE_NAPI=y CONFIG_SC92031=m CONFIG_NET_POCKET=y CONFIG_ATP=m # CONFIG_DE600 is not set CONFIG_DE620=m # CONFIG_NETDEV_1000 is not set # CONFIG_NETDEV_10000 is not set CONFIG_TR=y CONFIG_IBMOL=m # CONFIG_IBMLS is not set CONFIG_3C359=y # CONFIG_TMS380TR is not set # # Wireless LAN # CONFIG_WLAN_PRE80211=y CONFIG_STRIP=m CONFIG_PCMCIA_WAVELAN=m # CONFIG_PCMCIA_NETWAVE is not set # CONFIG_WLAN_80211 is not set # # USB Network Adapters # CONFIG_USB_CATC=m CONFIG_USB_KAWETH=m CONFIG_USB_PEGASUS=m CONFIG_USB_RTL8150=m CONFIG_USB_USBNET=y # CONFIG_USB_NET_AX8817X is not set CONFIG_USB_NET_CDCETHER=y # CONFIG_USB_NET_DM9601 is not set # CONFIG_USB_NET_GL620A is not set CONFIG_USB_NET_NET1080=m CONFIG_USB_NET_PLUSB=m CONFIG_USB_NET_MCS7830=y # CONFIG_USB_NET_RNDIS_HOST is not set # CONFIG_USB_NET_CDC_SUBSET is not set CONFIG_USB_NET_ZAURUS=y CONFIG_NET_PCMCIA=y CONFIG_PCMCIA_3C589=m # CONFIG_PCMCIA_3C574 is not set CONFIG_PCMCIA_FMVJ18X=y CONFIG_PCMCIA_PCNET=y # CONFIG_PCMCIA_NMCLAN is not set CONFIG_PCMCIA_SMC91C92=m CONFIG_PCMCIA_XIRC2PS=y CONFIG_PCMCIA_AXNET=m CONFIG_PCMCIA_IBMTR=m CONFIG_WAN=y CONFIG_LANMEDIA=m CONFIG_HDLC=m # CONFIG_HDLC_RAW is not set # CONFIG_HDLC_RAW_ETH is not set CONFIG_HDLC_CISCO=m # CONFIG_HDLC_FR is not set CONFIG_HDLC_PPP=m # CONFIG_HDLC_X25 is not set CONFIG_PCI200SYN=m # CONFIG_WANXL is not set CONFIG_PC300=m # # Cyclades-PC300 MLPPP support is disabled. # # # Refer to the file README.mlppp, provided by PC300 package. # CONFIG_PC300TOO=m # CONFIG_FARSYNC is not set CONFIG_DSCC4=m # CONFIG_DSCC4_PCISYNC is not set # CONFIG_DSCC4_PCI_RST is not set # CONFIG_DLCI is not set # CONFIG_WAN_ROUTER_DRIVERS is not set # CONFIG_LAPBETHER is not set # CONFIG_X25_ASY is not set CONFIG_SBNI=y # CONFIG_SBNI_MULTILINE is not set # CONFIG_FDDI is not set CONFIG_HIPPI=y CONFIG_ROADRUNNER=y CONFIG_ROADRUNNER_LARGE_RINGS=y CONFIG_PLIP=m CONFIG_PPP=m CONFIG_PPP_MULTILINK=y # CONFIG_PPP_FILTER is not set # CONFIG_PPP_ASYNC is not set # CONFIG_PPP_SYNC_TTY is not set # CONFIG_PPP_DEFLATE is not set # CONFIG_PPP_BSDCOMP is not set # CONFIG_PPP_MPPE is not set # CONFIG_PPPOE is not set # CONFIG_PPPOL2TP is not set CONFIG_SLIP=m # CONFIG_SLIP_COMPRESSED is not set CONFIG_SLHC=m CONFIG_SLIP_SMART=y # CONFIG_SLIP_MODE_SLIP6 is not set # CONFIG_NET_FC is not set CONFIG_SHAPER=m CONFIG_NETCONSOLE=y CONFIG_NETCONSOLE_DYNAMIC=y CONFIG_NETPOLL=y # CONFIG_NETPOLL_TRAP is not set CONFIG_NET_POLL_CONTROLLER=y CONFIG_ISDN=m CONFIG_ISDN_I4L=m CONFIG_ISDN_PPP=y CONFIG_ISDN_PPP_VJ=y # CONFIG_ISDN_MPP is not set # CONFIG_IPPP_FILTER is not set CONFIG_ISDN_PPP_BSDCOMP=m CONFIG_ISDN_AUDIO=y # CONFIG_ISDN_TTY_FAX is not set # CONFIG_ISDN_X25 is not set # # ISDN feature submodules # CONFIG_ISDN_DIVERSION=m # # ISDN4Linux hardware drivers # # # Passive cards # CONFIG_ISDN_DRV_HISAX=m # # D-channel protocol features # CONFIG_HISAX_EURO=y # CONFIG_DE_AOC is not set CONFIG_HISAX_NO_SENDCOMPLETE=y # CONFIG_HISAX_NO_LLC is not set # CONFIG_HISAX_NO_KEYPAD is not set CONFIG_HISAX_1TR6=y CONFIG_HISAX_NI1=y CONFIG_HISAX_MAX_CARDS=8 # # HiSax supported cards # # CONFIG_HISAX_16_3 is not set # CONFIG_HISAX_S0BOX is not set CONFIG_HISAX_FRITZPCI=y CONFIG_HISAX_AVM_A1_PCMCIA=y CONFIG_HISAX_ELSA=y # CONFIG_HISAX_DIEHLDIVA is not set # CONFIG_HISAX_SEDLBAUER is not set CONFIG_HISAX_NICCY=y # CONFIG_HISAX_GAZEL is not set CONFIG_HISAX_HFC_SX=y # CONFIG_HISAX_DEBUG is not set # # HiSax PCMCIA card service modules # CONFIG_HISAX_ELSA_CS=m CONFIG_HISAX_AVM_A1_CS=m # # HiSax sub driver modules # # CONFIG_HISAX_ST5481 is not set CONFIG_HISAX_HFCUSB=m # CONFIG_HISAX_HFC4S8S is not set # # Active cards # CONFIG_ISDN_DRV_GIGASET=m # CONFIG_GIGASET_BASE is not set # CONFIG_GIGASET_M105 is not set # CONFIG_GIGASET_M101 is not set # CONFIG_GIGASET_DEBUG is not set # CONFIG_GIGASET_UNDOCREQ is not set CONFIG_ISDN_CAPI=m CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y # CONFIG_CAPI_TRACE is not set # CONFIG_ISDN_CAPI_MIDDLEWARE is not set # CONFIG_ISDN_CAPI_CAPI20 is not set # CONFIG_ISDN_CAPI_CAPIDRV is not set # # CAPI hardware drivers # CONFIG_CAPI_AVM=y CONFIG_ISDN_DRV_AVMB1_B1PCI=m CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m # CONFIG_ISDN_DRV_AVMB1_AVM_CS is not set # CONFIG_ISDN_DRV_AVMB1_T1PCI is not set # CONFIG_ISDN_DRV_AVMB1_C4 is not set CONFIG_CAPI_EICON=y # CONFIG_ISDN_DIVAS is not set CONFIG_PHONE=y CONFIG_PHONE_IXJ=m CONFIG_PHONE_IXJ_PCMCIA=m # # Input device support # CONFIG_INPUT=y CONFIG_INPUT_FF_MEMLESS=m CONFIG_INPUT_POLLDEV=y # # Userland interfaces # CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSEDEV_PSAUX=y CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # CONFIG_INPUT_JOYDEV is not set # CONFIG_INPUT_EVDEV is not set CONFIG_INPUT_EVBUG=y # # Input Device Drivers # CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y CONFIG_KEYBOARD_SUNKBD=m CONFIG_KEYBOARD_LKKBD=y CONFIG_KEYBOARD_XTKBD=y CONFIG_KEYBOARD_NEWTON=y CONFIG_KEYBOARD_STOWAWAY=y # CONFIG_INPUT_MOUSE is not set # CONFIG_INPUT_JOYSTICK is not set CONFIG_INPUT_TABLET=y # CONFIG_TABLET_USB_ACECAD is not set CONFIG_TABLET_USB_AIPTEK=y CONFIG_TABLET_USB_GTCO=m # CONFIG_TABLET_USB_KBTAB is not set CONFIG_TABLET_USB_WACOM=y CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_ADS7846=y # CONFIG_TOUCHSCREEN_FUJITSU is not set CONFIG_TOUCHSCREEN_GUNZE=m CONFIG_TOUCHSCREEN_ELO=m CONFIG_TOUCHSCREEN_MTOUCH=m CONFIG_TOUCHSCREEN_MK712=y CONFIG_TOUCHSCREEN_PENMOUNT=m CONFIG_TOUCHSCREEN_TOUCHRIGHT=m CONFIG_TOUCHSCREEN_TOUCHWIN=y CONFIG_TOUCHSCREEN_UCB1400=y # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set # CONFIG_INPUT_MISC is not set # # Hardware I/O ports # CONFIG_SERIO=y CONFIG_SERIO_I8042=y CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_CT82C710 is not set # CONFIG_SERIO_PARKBD is not set CONFIG_SERIO_PCIPS2=m CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_RAW is not set CONFIG_GAMEPORT=m CONFIG_GAMEPORT_NS558=m # CONFIG_GAMEPORT_L4 is not set # CONFIG_GAMEPORT_EMU10K1 is not set CONFIG_GAMEPORT_FM801=m # # Character devices # CONFIG_VT=y CONFIG_VT_CONSOLE=y CONFIG_HW_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y # CONFIG_SERIAL_NONSTANDARD is not set # # Serial drivers # CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_CS=y CONFIG_SERIAL_8250_NR_UARTS=4 CONFIG_SERIAL_8250_RUNTIME_UARTS=4 CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_MANY_PORTS=y # CONFIG_SERIAL_8250_SHARE_IRQ is not set # CONFIG_SERIAL_8250_DETECT_IRQ is not set CONFIG_SERIAL_8250_RSA=y # # Non-8250 serial port support # CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_JSM=m CONFIG_UNIX98_PTYS=y # CONFIG_LEGACY_PTYS is not set CONFIG_PRINTER=m # CONFIG_LP_CONSOLE is not set # CONFIG_PPDEV is not set # CONFIG_TIPAR is not set CONFIG_IPMI_HANDLER=m # CONFIG_IPMI_PANIC_EVENT is not set # CONFIG_IPMI_DEVICE_INTERFACE is not set # CONFIG_IPMI_SI is not set CONFIG_IPMI_WATCHDOG=m CONFIG_IPMI_POWEROFF=m # CONFIG_HW_RANDOM is not set # CONFIG_NVRAM is not set # CONFIG_RTC is not set CONFIG_GEN_RTC=y # CONFIG_GEN_RTC_X is not set CONFIG_R3964=y CONFIG_APPLICOM=y CONFIG_SONYPI=y # # PCMCIA character devices # CONFIG_SYNCLINK_CS=y CONFIG_CARDMAN_4000=y CONFIG_CARDMAN_4040=m CONFIG_MWAVE=m CONFIG_SCx200_GPIO=m CONFIG_PC8736x_GPIO=y CONFIG_NSC_GPIO=y CONFIG_CS5535_GPIO=y # CONFIG_RAW_DRIVER is not set # CONFIG_HANGCHECK_TIMER is not set # CONFIG_TCG_TPM is not set CONFIG_TELCLOCK=y CONFIG_DEVPORT=y CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CHARDEV=y # # I2C Algorithms # CONFIG_I2C_ALGOBIT=y CONFIG_I2C_ALGOPCF=y CONFIG_I2C_ALGOPCA=y # # I2C Hardware Bus support # CONFIG_I2C_ALI1535=y CONFIG_I2C_ALI1563=m # CONFIG_I2C_ALI15X3 is not set CONFIG_I2C_AMD756=m # CONFIG_I2C_AMD756_S4882 is not set CONFIG_I2C_AMD8111=y # CONFIG_I2C_I801 is not set # CONFIG_I2C_I810 is not set CONFIG_I2C_PIIX4=y CONFIG_I2C_NFORCE2=y # CONFIG_I2C_OCORES is not set # CONFIG_I2C_PARPORT is not set # CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_PROSAVAGE=y CONFIG_I2C_SAVAGE4=m CONFIG_I2C_SIMTEC=y CONFIG_SCx200_I2C=m CONFIG_SCx200_I2C_SCL=12 CONFIG_SCx200_I2C_SDA=13 # CONFIG_SCx200_ACB is not set CONFIG_I2C_SIS5595=m CONFIG_I2C_SIS630=y CONFIG_I2C_SIS96X=y CONFIG_I2C_TAOS_EVM=y CONFIG_I2C_STUB=m CONFIG_I2C_TINY_USB=y CONFIG_I2C_VIA=y CONFIG_I2C_VIAPRO=m CONFIG_I2C_VOODOO3=y # # Miscellaneous I2C Chip support # CONFIG_SENSORS_DS1337=m CONFIG_SENSORS_DS1374=m # CONFIG_DS1682 is not set CONFIG_SENSORS_EEPROM=y # CONFIG_SENSORS_PCF8574 is not set # CONFIG_SENSORS_PCA9539 is not set CONFIG_SENSORS_PCF8591=m # CONFIG_SENSORS_MAX6875 is not set CONFIG_SENSORS_TSL2550=m # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set CONFIG_I2C_DEBUG_CHIP=y # # SPI support # CONFIG_SPI=y CONFIG_SPI_MASTER=y # # SPI Master Controller Drivers # CONFIG_SPI_BITBANG=y CONFIG_SPI_BUTTERFLY=m CONFIG_SPI_LM70_LLP=m # # SPI Protocol Masters # CONFIG_SPI_AT25=m # CONFIG_SPI_SPIDEV is not set CONFIG_SPI_TLE62X0=m CONFIG_W1=m CONFIG_W1_CON=y # # 1-wire Bus Masters # CONFIG_W1_MASTER_MATROX=m CONFIG_W1_MASTER_DS2490=m # CONFIG_W1_MASTER_DS2482 is not set # # 1-wire Slaves # CONFIG_W1_SLAVE_THERM=m # CONFIG_W1_SLAVE_SMEM is not set CONFIG_W1_SLAVE_DS2433=m # CONFIG_W1_SLAVE_DS2433_CRC is not set CONFIG_W1_SLAVE_DS2760=m CONFIG_POWER_SUPPLY=m # CONFIG_POWER_SUPPLY_DEBUG is not set # CONFIG_PDA_POWER is not set CONFIG_BATTERY_DS2760=m # CONFIG_HWMON is not set # CONFIG_WATCHDOG is not set # # Sonics Silicon Backplane # CONFIG_SSB_POSSIBLE=y CONFIG_SSB=m CONFIG_SSB_PCIHOST_POSSIBLE=y # CONFIG_SSB_PCIHOST is not set CONFIG_SSB_PCMCIAHOST_POSSIBLE=y # CONFIG_SSB_PCMCIAHOST is not set # CONFIG_SSB_DEBUG is not set # # Multifunction device drivers # CONFIG_MFD_SM501=y # # Multimedia devices # # CONFIG_VIDEO_DEV is not set CONFIG_DVB_CORE=y CONFIG_DVB_CORE_ATTACH=y # CONFIG_DVB_CAPTURE_DRIVERS is not set # CONFIG_DAB is not set # # Graphics support # CONFIG_AGP=m CONFIG_AGP_ALI=m CONFIG_AGP_ATI=m CONFIG_AGP_AMD=m # CONFIG_AGP_AMD64 is not set CONFIG_AGP_INTEL=m # CONFIG_AGP_NVIDIA is not set CONFIG_AGP_SIS=m CONFIG_AGP_SWORKS=m CONFIG_AGP_VIA=m # CONFIG_AGP_EFFICEON is not set # CONFIG_DRM is not set CONFIG_VGASTATE=m CONFIG_VIDEO_OUTPUT_CONTROL=m CONFIG_FB=m CONFIG_FIRMWARE_EDID=y CONFIG_FB_DDC=m CONFIG_FB_CFB_FILLRECT=m CONFIG_FB_CFB_COPYAREA=m CONFIG_FB_CFB_IMAGEBLIT=m # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set # CONFIG_FB_SYS_FILLRECT is not set # CONFIG_FB_SYS_COPYAREA is not set # CONFIG_FB_SYS_IMAGEBLIT is not set # CONFIG_FB_SYS_FOPS is not set CONFIG_FB_DEFERRED_IO=y # CONFIG_FB_SVGALIB is not set # CONFIG_FB_MACMODES is not set # CONFIG_FB_BACKLIGHT is not set CONFIG_FB_MODE_HELPERS=y CONFIG_FB_TILEBLITTING=y # # Frame buffer hardware drivers # # CONFIG_FB_CIRRUS is not set # CONFIG_FB_PM2 is not set # CONFIG_FB_CYBER2000 is not set # CONFIG_FB_ARC is not set # CONFIG_FB_VGA16 is not set # CONFIG_FB_UVESA is not set # CONFIG_FB_HECUBA is not set CONFIG_FB_HGA=m # CONFIG_FB_HGA_ACCEL is not set CONFIG_FB_S1D13XXX=m # CONFIG_FB_NVIDIA is not set # CONFIG_FB_RIVA is not set CONFIG_FB_I810=m # CONFIG_FB_I810_GTF is not set CONFIG_FB_LE80578=m CONFIG_FB_CARILLO_RANCH=m # CONFIG_FB_INTEL is not set CONFIG_FB_MATROX=m CONFIG_FB_MATROX_MILLENIUM=y CONFIG_FB_MATROX_MYSTIQUE=y CONFIG_FB_MATROX_G=y # CONFIG_FB_MATROX_I2C is not set # CONFIG_FB_MATROX_MULTIHEAD is not set # CONFIG_FB_RADEON is not set # CONFIG_FB_ATY128 is not set CONFIG_FB_ATY=m # CONFIG_FB_ATY_CT is not set CONFIG_FB_ATY_GX=y # CONFIG_FB_ATY_BACKLIGHT is not set # CONFIG_FB_S3 is not set CONFIG_FB_SAVAGE=m CONFIG_FB_SAVAGE_I2C=y CONFIG_FB_SAVAGE_ACCEL=y # CONFIG_FB_SIS is not set CONFIG_FB_NEOMAGIC=m # CONFIG_FB_KYRO is not set CONFIG_FB_3DFX=m CONFIG_FB_3DFX_ACCEL=y CONFIG_FB_VOODOO1=m # CONFIG_FB_VT8623 is not set # CONFIG_FB_CYBLA is not set # CONFIG_FB_TRIDENT is not set # CONFIG_FB_ARK is not set # CONFIG_FB_PM3 is not set CONFIG_FB_GEODE=y CONFIG_FB_GEODE_LX=m # CONFIG_FB_GEODE_GX is not set # CONFIG_FB_GEODE_GX1 is not set CONFIG_FB_SM501=m # CONFIG_FB_VIRTUAL is not set CONFIG_BACKLIGHT_LCD_SUPPORT=y CONFIG_LCD_CLASS_DEVICE=m # CONFIG_LCD_LTV350QV is not set CONFIG_BACKLIGHT_CLASS_DEVICE=m # CONFIG_BACKLIGHT_CORGI is not set CONFIG_BACKLIGHT_PROGEAR=m CONFIG_BACKLIGHT_CARILLO_RANCH=m # # Display device support # CONFIG_DISPLAY_SUPPORT=m # # Display hardware drivers # # # Console display driver support # CONFIG_VGA_CONSOLE=y CONFIG_VGACON_SOFT_SCROLLBACK=y CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64 CONFIG_VIDEO_SELECT=y CONFIG_DUMMY_CONSOLE=y # CONFIG_FRAMEBUFFER_CONSOLE is not set CONFIG_FONT_8x16=y # CONFIG_LOGO is not set # # Sound # CONFIG_SOUND=y # # Advanced Linux Sound Architecture # # CONFIG_SND is not set # # Open Sound System # # CONFIG_SOUND_PRIME is not set CONFIG_AC97_BUS=y CONFIG_HID_SUPPORT=y CONFIG_HID=m # CONFIG_HID_DEBUG is not set CONFIG_HIDRAW=y # # USB Input Devices # # CONFIG_USB_HID is not set # # USB HID Boot Protocol drivers # # CONFIG_USB_KBD is not set CONFIG_USB_MOUSE=y CONFIG_USB_SUPPORT=y CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB_ARCH_HAS_OHCI=y CONFIG_USB_ARCH_HAS_EHCI=y CONFIG_USB=y CONFIG_USB_DEBUG=y # # Miscellaneous USB options # CONFIG_USB_DEVICEFS=y # CONFIG_USB_DEVICE_CLASS is not set # CONFIG_USB_DYNAMIC_MINORS is not set # CONFIG_USB_OTG is not set # # USB Host Controller Drivers # CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_SPLIT_ISO=y CONFIG_USB_EHCI_ROOT_HUB_TT=y # CONFIG_USB_EHCI_TT_NEWSCHED is not set # CONFIG_USB_ISP116X_HCD is not set CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_USB_UHCI_HCD=y CONFIG_USB_U132_HCD=m CONFIG_USB_SL811_HCD=y CONFIG_USB_SL811_CS=m CONFIG_USB_R8A66597_HCD=y # # USB Device Class drivers # # CONFIG_USB_ACM is not set CONFIG_USB_PRINTER=y # # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' # # # may also be needed; see USB_STORAGE Help for more information # CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE_DEBUG=y # CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_FREECOM is not set # CONFIG_USB_STORAGE_ISD200 is not set CONFIG_USB_STORAGE_DPCM=y # CONFIG_USB_STORAGE_USBAT is not set # CONFIG_USB_STORAGE_SDDR09 is not set # CONFIG_USB_STORAGE_SDDR55 is not set # CONFIG_USB_STORAGE_JUMPSHOT is not set CONFIG_USB_STORAGE_ALAUDA=y # CONFIG_USB_STORAGE_KARMA is not set CONFIG_USB_LIBUSUAL=y # # USB Imaging devices # CONFIG_USB_MDC800=y # CONFIG_USB_MICROTEK is not set # CONFIG_USB_MON is not set # # USB port drivers # # CONFIG_USB_USS720 is not set # # USB Serial Converter support # # CONFIG_USB_SERIAL is not set # # USB Miscellaneous drivers # CONFIG_USB_EMI62=y # CONFIG_USB_EMI26 is not set # CONFIG_USB_ADUTUX is not set # CONFIG_USB_AUERSWALD is not set CONFIG_USB_RIO500=y CONFIG_USB_LEGOTOWER=y # CONFIG_USB_LCD is not set # CONFIG_USB_BERRY_CHARGE is not set CONFIG_USB_LED=m # CONFIG_USB_CYPRESS_CY7C63 is not set CONFIG_USB_CYTHERM=m CONFIG_USB_PHIDGET=y CONFIG_USB_PHIDGETKIT=y CONFIG_USB_PHIDGETMOTORCONTROL=y # CONFIG_USB_PHIDGETSERVO is not set CONFIG_USB_IDMOUSE=m CONFIG_USB_FTDI_ELAN=m # CONFIG_USB_APPLEDISPLAY is not set CONFIG_USB_SISUSBVGA=y CONFIG_USB_SISUSBVGA_CON=y # CONFIG_USB_LD is not set CONFIG_USB_TRANCEVIBRATOR=m CONFIG_USB_IOWARRIOR=y # CONFIG_USB_TEST is not set # # USB DSL modem support # # # USB Gadget Support # CONFIG_USB_GADGET=y # CONFIG_USB_GADGET_DEBUG_FILES is not set # CONFIG_USB_GADGET_DEBUG_FS is not set CONFIG_USB_GADGET_SELECTED=y CONFIG_USB_GADGET_AMD5536UDC=y CONFIG_USB_AMD5536UDC=y # CONFIG_USB_GADGET_ATMEL_USBA is not set # CONFIG_USB_GADGET_FSL_USB2 is not set # CONFIG_USB_GADGET_NET2280 is not set # CONFIG_USB_GADGET_PXA2XX is not set # CONFIG_USB_GADGET_M66592 is not set # CONFIG_USB_GADGET_GOKU is not set # CONFIG_USB_GADGET_LH7A40X is not set # CONFIG_USB_GADGET_OMAP is not set # CONFIG_USB_GADGET_S3C2410 is not set # CONFIG_USB_GADGET_AT91 is not set # CONFIG_USB_GADGET_DUMMY_HCD is not set CONFIG_USB_GADGET_DUALSPEED=y CONFIG_USB_ZERO=y # CONFIG_USB_ETH is not set # CONFIG_USB_GADGETFS is not set # CONFIG_USB_FILE_STORAGE is not set # CONFIG_USB_G_SERIAL is not set # CONFIG_USB_MIDI_GADGET is not set CONFIG_MMC=y # CONFIG_MMC_DEBUG is not set CONFIG_MMC_UNSAFE_RESUME=y # # MMC/SD Card Drivers # # CONFIG_MMC_BLOCK is not set CONFIG_SDIO_UART=m # # MMC/SD Host Controller Drivers # CONFIG_MMC_SDHCI=m # CONFIG_MMC_RICOH_MMC is not set CONFIG_MMC_WBSD=y CONFIG_MMC_TIFM_SD=y CONFIG_MMC_SPI=y CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y # # LED drivers # CONFIG_LEDS_NET48XX=m # CONFIG_LEDS_WRAP is not set # # LED Triggers # # CONFIG_LEDS_TRIGGERS is not set CONFIG_INFINIBAND=y # CONFIG_INFINIBAND_USER_MAD is not set # CONFIG_INFINIBAND_USER_ACCESS is not set CONFIG_INFINIBAND_ADDR_TRANS=y CONFIG_INFINIBAND_MTHCA=y CONFIG_INFINIBAND_MTHCA_DEBUG=y CONFIG_INFINIBAND_AMSO1100=y # CONFIG_INFINIBAND_AMSO1100_DEBUG is not set # CONFIG_MLX4_INFINIBAND is not set # CONFIG_INFINIBAND_IPOIB is not set CONFIG_INFINIBAND_SRP=y # CONFIG_INFINIBAND_ISER is not set # CONFIG_EDAC is not set CONFIG_RTC_LIB=y CONFIG_RTC_CLASS=y # CONFIG_RTC_HCTOSYS is not set # CONFIG_RTC_DEBUG is not set # # RTC interfaces # CONFIG_RTC_INTF_SYSFS=y CONFIG_RTC_INTF_PROC=y # CONFIG_RTC_INTF_DEV is not set CONFIG_RTC_DRV_TEST=m # # I2C RTC drivers # CONFIG_RTC_DRV_DS1307=y CONFIG_RTC_DRV_DS1374=m CONFIG_RTC_DRV_DS1672=m CONFIG_RTC_DRV_MAX6900=y CONFIG_RTC_DRV_RS5C372=m CONFIG_RTC_DRV_ISL1208=m CONFIG_RTC_DRV_X1205=m # CONFIG_RTC_DRV_PCF8563 is not set CONFIG_RTC_DRV_PCF8583=m # CONFIG_RTC_DRV_M41T80 is not set # # SPI RTC drivers # CONFIG_RTC_DRV_RS5C348=y CONFIG_RTC_DRV_MAX6902=y # # Platform RTC drivers # # CONFIG_RTC_DRV_CMOS is not set CONFIG_RTC_DRV_DS1553=m CONFIG_RTC_DRV_STK17TA8=y CONFIG_RTC_DRV_DS1742=y # CONFIG_RTC_DRV_M48T86 is not set # CONFIG_RTC_DRV_M48T59 is not set # CONFIG_RTC_DRV_V3020 is not set # # on-CPU RTC drivers # # CONFIG_DMADEVICES is not set # CONFIG_AUXDISPLAY is not set # CONFIG_VIRTUALIZATION is not set # # Userspace I/O # CONFIG_UIO=m # CONFIG_UIO_CIF is not set # # Firmware Drivers # CONFIG_EDD=m CONFIG_DELL_RBU=y CONFIG_DCDBAS=y CONFIG_DMIID=y # # File systems # CONFIG_EXT2_FS=y # CONFIG_EXT2_FS_XATTR is not set # CONFIG_EXT2_FS_XIP is not set CONFIG_EXT3_FS=y CONFIG_EXT3_FS_XATTR=y CONFIG_EXT3_FS_POSIX_ACL=y CONFIG_EXT3_FS_SECURITY=y CONFIG_EXT4DEV_FS=y CONFIG_EXT4DEV_FS_XATTR=y # CONFIG_EXT4DEV_FS_POSIX_ACL is not set CONFIG_EXT4DEV_FS_SECURITY=y CONFIG_JBD=y # CONFIG_JBD_DEBUG is not set CONFIG_JBD2=y # CONFIG_JBD2_DEBUG is not set CONFIG_FS_MBCACHE=y CONFIG_REISERFS_FS=y # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_PROC_INFO=y CONFIG_REISERFS_FS_XATTR=y CONFIG_REISERFS_FS_POSIX_ACL=y # CONFIG_REISERFS_FS_SECURITY is not set CONFIG_JFS_FS=m CONFIG_JFS_POSIX_ACL=y CONFIG_JFS_SECURITY=y CONFIG_JFS_DEBUG=y CONFIG_JFS_STATISTICS=y CONFIG_FS_POSIX_ACL=y CONFIG_XFS_FS=y CONFIG_XFS_QUOTA=y CONFIG_XFS_SECURITY=y # CONFIG_XFS_POSIX_ACL is not set # CONFIG_XFS_RT is not set CONFIG_GFS2_FS=m # CONFIG_GFS2_FS_LOCKING_NOLOCK is not set CONFIG_GFS2_FS_LOCKING_DLM=m CONFIG_OCFS2_FS=m # CONFIG_OCFS2_DEBUG_MASKLOG is not set CONFIG_OCFS2_DEBUG_FS=y CONFIG_MINIX_FS=y CONFIG_ROMFS_FS=m CONFIG_INOTIFY=y # CONFIG_INOTIFY_USER is not set CONFIG_QUOTA=y # CONFIG_QUOTA_NETLINK_INTERFACE is not set # CONFIG_PRINT_QUOTA_WARNING is not set CONFIG_QFMT_V1=y CONFIG_QFMT_V2=y CONFIG_QUOTACTL=y CONFIG_DNOTIFY=y CONFIG_AUTOFS_FS=m CONFIG_AUTOFS4_FS=y CONFIG_FUSE_FS=y # # CD-ROM/DVD Filesystems # CONFIG_ISO9660_FS=m # CONFIG_JOLIET is not set CONFIG_ZISOFS=y CONFIG_UDF_FS=y CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems # CONFIG_FAT_FS=m CONFIG_MSDOS_FS=m # CONFIG_VFAT_FS is not set CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_NTFS_FS=m CONFIG_NTFS_DEBUG=y # CONFIG_NTFS_RW is not set # # Pseudo filesystems # CONFIG_PROC_FS=y # CONFIG_PROC_KCORE is not set CONFIG_PROC_SYSCTL=y CONFIG_SYSFS=y CONFIG_TMPFS=y # CONFIG_TMPFS_POSIX_ACL is not set # CONFIG_HUGETLBFS is not set # CONFIG_HUGETLB_PAGE is not set CONFIG_CONFIGFS_FS=y # # Miscellaneous filesystems # CONFIG_ADFS_FS=m CONFIG_ADFS_FS_RW=y CONFIG_AFFS_FS=y # CONFIG_ECRYPT_FS is not set # CONFIG_HFS_FS is not set CONFIG_HFSPLUS_FS=m CONFIG_BEFS_FS=m # CONFIG_BEFS_DEBUG is not set # CONFIG_BFS_FS is not set CONFIG_EFS_FS=m CONFIG_CRAMFS=y # CONFIG_VXFS_FS is not set CONFIG_HPFS_FS=y CONFIG_QNX4FS_FS=m CONFIG_SYSV_FS=m # CONFIG_UFS_FS is not set CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=m CONFIG_NFS_V3=y # CONFIG_NFS_V3_ACL is not set CONFIG_NFS_V4=y CONFIG_NFS_DIRECTIO=y CONFIG_NFSD=y CONFIG_NFSD_V2_ACL=y CONFIG_NFSD_V3=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y CONFIG_NFSD_TCP=y CONFIG_LOCKD=y CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=y CONFIG_NFS_ACL_SUPPORT=y CONFIG_NFS_COMMON=y CONFIG_SUNRPC=y CONFIG_SUNRPC_GSS=y # CONFIG_SUNRPC_XPRT_RDMA is not set CONFIG_SUNRPC_BIND34=y CONFIG_RPCSEC_GSS_KRB5=y CONFIG_RPCSEC_GSS_SPKM3=m CONFIG_SMB_FS=y # CONFIG_SMB_NLS_DEFAULT is not set # CONFIG_CIFS is not set # CONFIG_NCP_FS is not set CONFIG_CODA_FS=m # CONFIG_CODA_FS_OLD_API is not set CONFIG_AFS_FS=y # CONFIG_AFS_DEBUG is not set # CONFIG_9P_FS is not set # # Partition Types # CONFIG_PARTITION_ADVANCED=y CONFIG_ACORN_PARTITION=y CONFIG_ACORN_PARTITION_CUMANA=y # CONFIG_ACORN_PARTITION_EESOX is not set CONFIG_ACORN_PARTITION_ICS=y # CONFIG_ACORN_PARTITION_ADFS is not set CONFIG_ACORN_PARTITION_POWERTEC=y CONFIG_ACORN_PARTITION_RISCIX=y CONFIG_OSF_PARTITION=y CONFIG_AMIGA_PARTITION=y # CONFIG_ATARI_PARTITION is not set CONFIG_MAC_PARTITION=y CONFIG_MSDOS_PARTITION=y CONFIG_BSD_DISKLABEL=y # CONFIG_MINIX_SUBPARTITION is not set # CONFIG_SOLARIS_X86_PARTITION is not set # CONFIG_UNIXWARE_DISKLABEL is not set # CONFIG_LDM_PARTITION is not set CONFIG_SGI_PARTITION=y # CONFIG_ULTRIX_PARTITION is not set # CONFIG_SUN_PARTITION is not set # CONFIG_KARMA_PARTITION is not set CONFIG_EFI_PARTITION=y CONFIG_SYSV68_PARTITION=y CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-1" # CONFIG_NLS_CODEPAGE_437 is not set # CONFIG_NLS_CODEPAGE_737 is not set CONFIG_NLS_CODEPAGE_775=y CONFIG_NLS_CODEPAGE_850=y CONFIG_NLS_CODEPAGE_852=y CONFIG_NLS_CODEPAGE_855=y CONFIG_NLS_CODEPAGE_857=m CONFIG_NLS_CODEPAGE_860=m CONFIG_NLS_CODEPAGE_861=y # CONFIG_NLS_CODEPAGE_862 is not set CONFIG_NLS_CODEPAGE_863=y CONFIG_NLS_CODEPAGE_864=y CONFIG_NLS_CODEPAGE_865=y CONFIG_NLS_CODEPAGE_866=y CONFIG_NLS_CODEPAGE_869=m CONFIG_NLS_CODEPAGE_936=m # CONFIG_NLS_CODEPAGE_950 is not set CONFIG_NLS_CODEPAGE_932=y CONFIG_NLS_CODEPAGE_949=m # CONFIG_NLS_CODEPAGE_874 is not set CONFIG_NLS_ISO8859_8=y # CONFIG_NLS_CODEPAGE_1250 is not set CONFIG_NLS_CODEPAGE_1251=m CONFIG_NLS_ASCII=m # CONFIG_NLS_ISO8859_1 is not set CONFIG_NLS_ISO8859_2=m CONFIG_NLS_ISO8859_3=y CONFIG_NLS_ISO8859_4=m CONFIG_NLS_ISO8859_5=m CONFIG_NLS_ISO8859_6=m # CONFIG_NLS_ISO8859_7 is not set CONFIG_NLS_ISO8859_9=y CONFIG_NLS_ISO8859_13=m CONFIG_NLS_ISO8859_14=y CONFIG_NLS_ISO8859_15=y CONFIG_NLS_KOI8_R=m # CONFIG_NLS_KOI8_U is not set CONFIG_NLS_UTF8=m CONFIG_DLM=m # CONFIG_DLM_DEBUG is not set CONFIG_INSTRUMENTATION=y CONFIG_PROFILING=y CONFIG_OPROFILE=y CONFIG_KPROBES=y # CONFIG_MARKERS is not set # # Kernel hacking # CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_PRINTK_TIME=y # CONFIG_ENABLE_WARN_DEPRECATED is not set CONFIG_ENABLE_MUST_CHECK=y CONFIG_MAGIC_SYSRQ=y CONFIG_UNUSED_SYMBOLS=y CONFIG_DEBUG_FS=y CONFIG_HEADERS_CHECK=y # CONFIG_DEBUG_KERNEL is not set CONFIG_DEBUG_BUGVERBOSE=y # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set # CONFIG_SAMPLES is not set CONFIG_EARLY_PRINTK=y CONFIG_X86_FIND_SMP_CONFIG=y CONFIG_X86_MPPARSE=y CONFIG_DOUBLEFAULT=y CONFIG_IO_DELAY_TYPE_0X80=0 CONFIG_IO_DELAY_TYPE_0XED=1 CONFIG_IO_DELAY_TYPE_UDELAY=2 CONFIG_IO_DELAY_TYPE_NONE=3 # CONFIG_IO_DELAY_0X80 is not set # CONFIG_IO_DELAY_0XED is not set CONFIG_IO_DELAY_UDELAY=y # CONFIG_IO_DELAY_NONE is not set CONFIG_DEFAULT_IO_DELAY_TYPE=2 # # Security options # CONFIG_KEYS=y CONFIG_KEYS_DEBUG_PROC_KEYS=y CONFIG_SECURITY=y # CONFIG_SECURITY_NETWORK is not set CONFIG_SECURITY_CAPABILITIES=y # CONFIG_SECURITY_FILE_CAPABILITIES is not set # CONFIG_SECURITY_ROOTPLUG is not set CONFIG_CRYPTO=y CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ABLKCIPHER=m CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_BLKCIPHER=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=m CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_WP512=y # CONFIG_CRYPTO_TGR192 is not set CONFIG_CRYPTO_GF128MUL=y CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_PCBC=y # CONFIG_CRYPTO_LRW is not set CONFIG_CRYPTO_XTS=y CONFIG_CRYPTO_CRYPTD=m CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_FCRYPT=m # CONFIG_CRYPTO_BLOWFISH is not set CONFIG_CRYPTO_TWOFISH=y CONFIG_CRYPTO_TWOFISH_COMMON=y CONFIG_CRYPTO_TWOFISH_586=y CONFIG_CRYPTO_SERPENT=y CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_AES_586=y CONFIG_CRYPTO_CAST5=y CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_TEA=y CONFIG_CRYPTO_ARC4=y CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_ANUBIS=y # CONFIG_CRYPTO_SEED is not set CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_MICHAEL_MIC=y CONFIG_CRYPTO_CRC32C=y # CONFIG_CRYPTO_CAMELLIA is not set # CONFIG_CRYPTO_TEST is not set CONFIG_CRYPTO_AUTHENC=y # CONFIG_CRYPTO_HW is not set # # Library routines # CONFIG_BITREVERSE=y CONFIG_CRC_CCITT=y CONFIG_CRC16=y CONFIG_CRC_ITU_T=y CONFIG_CRC32=y CONFIG_CRC7=y CONFIG_LIBCRC32C=y CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y CONFIG_TEXTSEARCH=y CONFIG_TEXTSEARCH_KMP=m CONFIG_TEXTSEARCH_BM=m CONFIG_TEXTSEARCH_FSM=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y CONFIG_HAS_DMA=y CONFIG_CHECK_SIGNATURE=y [-- Attachment #3: Type: text/plain, Size: 184 bytes --] _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <20071218114504.GA22832@elte.hu>]
* Re: [PATCH 7/21] [PATCH] unify common parts of processor.h [not found] ` <20071218114504.GA22832@elte.hu> @ 2007-12-18 12:05 ` Glauber de Oliveira Costa [not found] ` <4767B78A.5030903@redhat.com> 1 sibling, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-18 12:05 UTC (permalink / raw) To: Ingo Molnar Cc: ehabkost, linux-kernel, virtualization, chrisw, anthony, hpa, akpm, tglx, roland, ak Ingo Molnar wrote: > * Glauber de Oliveira Costa <gcosta@redhat.com> wrote: > >> This patch moves the pieces of processor_32.h and processor_64 that >> are equal to processor.h. Only what's exactly the same is moved >> around, the rest not being touched. > > argh, it doesnt even build cleanly: > > In file included from include/linux/elf.h:6, > from include/linux/module.h:14, > from include/linux/crypto.h:21, > from arch/x86/kernel/asm-offsets_32.c:7, > from arch/x86/kernel/asm-offsets.c:2: > include/asm/elf.h:286: warning: 'struct mm_struct' declared inside parameter list > include/asm/elf.h:286: warning: its scope is only this definition or declaration, which is probably not what you want > > due to zapping this bit of include/asm-x86/processor_32.h: > > -/* Forward declaration, a strange C thing */ > -struct task_struct; > -struct mm_struct; > > Ingo > I'll test it with your config, and repost. ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <4767B78A.5030903@redhat.com>]
* Re: [PATCH 7/21] [PATCH] unify common parts of processor.h [not found] ` <4767B78A.5030903@redhat.com> @ 2007-12-18 14:00 ` Ingo Molnar 0 siblings, 0 replies; 37+ messages in thread From: Ingo Molnar @ 2007-12-18 14:00 UTC (permalink / raw) To: Glauber de Oliveira Costa Cc: ehabkost, linux-kernel, virtualization, chrisw, anthony, hpa, akpm, tglx, roland, ak * Glauber de Oliveira Costa <gcosta@redhat.com> wrote: >> due to zapping this bit of include/asm-x86/processor_32.h: >> >> -/* Forward declaration, a strange C thing */ >> -struct task_struct; >> -struct mm_struct; >> >> Ingo >> > I'll test it with your config, and repost. i've pushed out a new iteration of x86.git, which includes 20 out of your 21 patches, so please repost relative to that tree. i have fixed the above problem by adding those 3 lines. Ingo ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 3/21] [PATCH] move desc_empty to where they belong 2007-12-17 22:52 ` [PATCH 3/21] [PATCH] move desc_empty to where they belong Glauber de Oliveira Costa 2007-12-17 22:52 ` [PATCH 4/21] [PATCH] move load_cr3 to a common place Glauber de Oliveira Costa [not found] ` <11979319853319-git-send-email-gcosta@redhat.com> @ 2007-12-18 5:14 ` Rusty Russell [not found] ` <200712181614.37890.rusty@rustcorp.com.au> 3 siblings, 0 replies; 37+ messages in thread From: Rusty Russell @ 2007-12-18 5:14 UTC (permalink / raw) To: Glauber de Oliveira Costa Cc: ehabkost, linux-kernel, virtualization, chrisw, tglx, anthony, hpa, akpm, mingo, roland, ak On Tuesday 18 December 2007 09:52:26 Glauber de Oliveira Costa wrote: > +static inline int desc_empty(const void *ptr) > +{ > + const u32 *desc = ptr; > + return !(desc[0] | desc[1]); > +} Erk. This really needs to be a union, not a void *. I guess we can clean it later. Rusty. ^ permalink raw reply [flat|nested] 37+ messages in thread
[parent not found: <200712181614.37890.rusty@rustcorp.com.au>]
* Re: [PATCH 3/21] [PATCH] move desc_empty to where they belong [not found] ` <200712181614.37890.rusty@rustcorp.com.au> @ 2007-12-18 12:03 ` Glauber de Oliveira Costa 0 siblings, 0 replies; 37+ messages in thread From: Glauber de Oliveira Costa @ 2007-12-18 12:03 UTC (permalink / raw) To: Rusty Russell Cc: ehabkost, linux-kernel, virtualization, chrisw, tglx, anthony, hpa, akpm, mingo, roland, ak Rusty Russell wrote: > On Tuesday 18 December 2007 09:52:26 Glauber de Oliveira Costa wrote: >> +static inline int desc_empty(const void *ptr) >> +{ >> + const u32 *desc = ptr; >> + return !(desc[0] | desc[1]); >> +} > > Erk. This really needs to be a union, not a void *. I guess we can clean it > later. > > Rusty. My last series, that unified desc_struct, made it possible to do that. However, the intent of this, is just move it to a common place. ^ permalink raw reply [flat|nested] 37+ messages in thread
end of thread, other threads:[~2007-12-18 17:26 UTC | newest]
Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <11979319641796-git-send-email-gcosta@redhat.com>
2007-12-17 22:52 ` [PATCH 1/21] move tsc definitions to were they belong Glauber de Oliveira Costa
2007-12-17 22:52 ` [PATCH 2/21] [PATCH] get rid of _MASK flags Glauber de Oliveira Costa
[not found] ` <11979319763641-git-send-email-gcosta@redhat.com>
2007-12-17 22:52 ` [PATCH 3/21] [PATCH] move desc_empty to where they belong Glauber de Oliveira Costa
2007-12-17 22:52 ` [PATCH 4/21] [PATCH] move load_cr3 to a common place Glauber de Oliveira Costa
[not found] ` <11979319853319-git-send-email-gcosta@redhat.com>
2007-12-17 22:52 ` [PATCH 5/21] [PATCH] unify paravirt pieces of processor.h Glauber de Oliveira Costa
[not found] ` <11979319903443-git-send-email-gcosta@redhat.com>
2007-12-17 22:52 ` [PATCH 6/21] [PATCH] move the definition of set_iopl_mask to common header Glauber de Oliveira Costa
[not found] ` <11979319953427-git-send-email-gcosta@redhat.com>
2007-12-17 22:52 ` [PATCH 7/21] [PATCH] unify common parts of processor.h Glauber de Oliveira Costa
[not found] ` <11979320011968-git-send-email-gcosta@redhat.com>
2007-12-17 22:52 ` [PATCH 8/21] [PATCH] unify current_text_addr Glauber de Oliveira Costa
[not found] ` <1197932006634-git-send-email-gcosta@redhat.com>
2007-12-17 22:52 ` [PATCH 9/21] [PATCH] unify tss_struct Glauber de Oliveira Costa
[not found] ` <11979320114180-git-send-email-gcosta@redhat.com>
2007-12-17 22:52 ` [PATCH 10/21] [PATCH] provide x86_64 with a load_sp0 function Glauber de Oliveira Costa
[not found] ` <11979320163651-git-send-email-gcosta@redhat.com>
2007-12-17 22:52 ` [PATCH 11/21] [PATCH] unify thread struct Glauber de Oliveira Costa
[not found] ` <11979320211287-git-send-email-gcosta@redhat.com>
2007-12-17 22:52 ` [PATCH 12/21] [PATCH] unify TASK_ALIGN definitions Glauber de Oliveira Costa
[not found] ` <11979320252102-git-send-email-gcosta@redhat.com>
2007-12-17 22:52 ` [PATCH 13/21] [PATCH] change bitwise operations to get a void parameter Glauber de Oliveira Costa
[not found] ` <11979320302030-git-send-email-gcosta@redhat.com>
2007-12-17 22:52 ` [PATCH 14/21] [PATCH] unify x86_cpuinfo struct Glauber de Oliveira Costa
[not found] ` <11979320354186-git-send-email-gcosta@redhat.com>
2007-12-17 22:52 ` [PATCH 15/21] [PATCH] remove legacy stuff from processor_64.h Glauber de Oliveira Costa
[not found] ` <11979320401316-git-send-email-gcosta@redhat.com>
2007-12-17 22:52 ` [PATCH 16/21] [PATCH] unify mm_segment_t definition Glauber de Oliveira Costa
[not found] ` <11979320451308-git-send-email-gcosta@redhat.com>
2007-12-17 22:52 ` [PATCH 17/21] [PATCH] move definitions to processor.h Glauber de Oliveira Costa
[not found] ` <1197932050948-git-send-email-gcosta@redhat.com>
2007-12-17 22:52 ` [PATCH 18/21] [PATCH] unify prefetch operations Glauber de Oliveira Costa
[not found] ` <11979320551036-git-send-email-gcosta@redhat.com>
2007-12-17 22:52 ` [PATCH 19/21] [PATCH] unify asm nops Glauber de Oliveira Costa
[not found] ` <11979320603229-git-send-email! -gcosta@redhat.com>
[not found] ` <11979320603229-git-send-email-gcosta@redhat.com>
2007-12-17 22:52 ` [PATCH 20/21] [PATCH] move i387 definitions to processor.h Glauber de Oliveira Costa
[not found] ` <11979320653161-git-send-email-gcosta@redhat.com>
2007-12-17 22:52 ` [PATCH 21/21] [PATCH] finish processor.h integration Glauber de Oliveira Costa
[not found] ` <11979320693300-git-send-email-gcosta@redhat.com>
2007-12-18 13:19 ` Ingo Molnar
[not found] ` <20071218131932.GA9457@elte.hu>
2007-12-18 13:38 ` Ingo Molnar
[not found] ` <20071218133818.GA9941@elte.hu>
2007-12-18 13:40 ` Ingo Molnar
2007-12-18 13:48 ` Glauber de Oliveira Costa
[not found] ` <20071218134018.GA13193@elte.hu>
2007-12-18 13:49 ` Glauber de Oliveira Costa
2007-12-18 15:44 ` Ingo Molnar
[not found] ` <4767CFC5.3010703@redhat.com>
2007-12-18 15:43 ` Ingo Molnar
2007-12-18 5:18 ` [PATCH 13/21] [PATCH] change bitwise operations to get a void parameter Rusty Russell
[not found] ` <200712181618.43852.rusty@rustcorp.com.au>
2007-12-18 5:38 ` H. Peter Anvin
2007-12-18 12:40 ` Glauber de Oliveira Costa
[not found] ` <5d6222a80712180440l72faa8fere9588ea6894cf1cb@mail.gmail.com>
2007-12-18 17:26 ` H. Peter Anvin
2007-12-18 11:45 ` [PATCH 7/21] [PATCH] unify common parts of processor.h Ingo Molnar
[not found] ` <20071218114504.GA22832@elte.hu>
2007-12-18 12:05 ` Glauber de Oliveira Costa
[not found] ` <4767B78A.5030903@redhat.com>
2007-12-18 14:00 ` Ingo Molnar
2007-12-18 5:14 ` [PATCH 3/21] [PATCH] move desc_empty to where they belong Rusty Russell
[not found] ` <200712181614.37890.rusty@rustcorp.com.au>
2007-12-18 12:03 ` Glauber de Oliveira Costa
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).