search for: apic_write

Displaying 20 results from an estimated 99 matches for "apic_write".

2007 May 15
3
[PATCH 1/12] Add suspend/resume to devices owned by Xen
...is will be wrong if we ever support suspend on + * SMP! We''ll need to do this as part of the CPU restore! + */ + rdmsr(MSR_IA32_APICBASE, l, h); + l &= ~MSR_IA32_APICBASE_BASE; + l |= MSR_IA32_APICBASE_ENABLE | mp_lapic_addr; + wrmsr(MSR_IA32_APICBASE, l, h); + + apic_write(APIC_LVTERR, ERROR_APIC_VECTOR | APIC_LVT_MASKED); + apic_write(APIC_ID, apic_pm_state.apic_id); + apic_write(APIC_DFR, apic_pm_state.apic_dfr); + apic_write(APIC_LDR, apic_pm_state.apic_ldr); + apic_write(APIC_TASKPRI, apic_pm_state.apic_taskpri); + apic_write(APIC_SPIV, apic_pm_sta...
2007 Apr 18
0
[RFC, PATCH 15/24] i386 Vmi apic header
Move APIC read / write accessors to sub-arch layer. Note that we don't bother to implement apic_write_atomic any different, as it is only present to work around old processor erratums (Pentium Processor Spec update 11AP), and VMI kernels do not offer support for this class of processor. Signed-off-by: Zachary Amsden <zach@vmware.com> Signed-off-by: Daniel Arai <arai@vmware.com> Index:...
2007 Apr 18
0
[RFC, PATCH 15/24] i386 Vmi apic header
Move APIC read / write accessors to sub-arch layer. Note that we don't bother to implement apic_write_atomic any different, as it is only present to work around old processor erratums (Pentium Processor Spec update 11AP), and VMI kernels do not offer support for this class of processor. Signed-off-by: Zachary Amsden <zach@vmware.com> Signed-off-by: Daniel Arai <arai@vmware.com> Index:...
2007 Apr 18
2
[patch] asm/i386/kernel/paravirt.c buildfix
...nel/paravirt.c =================================================================== --- paravirt-2.6.19-hg686.orig/arch/i386/kernel/paravirt.c +++ paravirt-2.6.19-hg686/arch/i386/kernel/paravirt.c @@ -693,20 +693,6 @@ void halt(void) } EXPORT_SYMBOL_GPL(halt); -#ifdef CONFIG_X86_LOCAL_APIC -void apic_write(unsigned long reg, unsigned long v) -{ - paravirt_ops.apic_write(reg,v); -} -EXPORT_SYMBOL_GPL(apic_write); - -unsigned long apic_read(unsigned long reg) -{ - return paravirt_ops.apic_read(reg); -} -EXPORT_SYMBOL_GPL(apic_read); -#endif - void __cpuid(unsigned int *eax, unsigned int *ebx, u...
2007 Apr 18
2
[patch] asm/i386/kernel/paravirt.c buildfix
...nel/paravirt.c =================================================================== --- paravirt-2.6.19-hg686.orig/arch/i386/kernel/paravirt.c +++ paravirt-2.6.19-hg686/arch/i386/kernel/paravirt.c @@ -693,20 +693,6 @@ void halt(void) } EXPORT_SYMBOL_GPL(halt); -#ifdef CONFIG_X86_LOCAL_APIC -void apic_write(unsigned long reg, unsigned long v) -{ - paravirt_ops.apic_write(reg,v); -} -EXPORT_SYMBOL_GPL(apic_write); - -unsigned long apic_read(unsigned long reg) -{ - return paravirt_ops.apic_read(reg); -} -EXPORT_SYMBOL_GPL(apic_read); -#endif - void __cpuid(unsigned int *eax, unsigned int *ebx, u...
2008 Jul 15
4
Patch from LKML
...ravirt.c > >> +++ linux-2.6/arch/x86/kernel/paravirt.c > >> @@ -373,11 +373,6 @@ struct pv_cpu_ops pv_cpu_ops = { > >> > >> struct pv_apic_ops pv_apic_ops = { > >> #ifdef CONFIG_X86_LOCAL_APIC > >> -#ifndef CONFIG_X86_64 > >> - .apic_write = native_apic_mem_write, > >> - .apic_write_atomic = native_apic_mem_write_atomic, > >> - .apic_read = native_apic_mem_read, > >> -#endif > >> .setup_boot_clock = setup_boot_APIC_clock, > >> .setup_secondary_clock = setup_seco...
2008 Jul 15
4
Patch from LKML
...ravirt.c > >> +++ linux-2.6/arch/x86/kernel/paravirt.c > >> @@ -373,11 +373,6 @@ struct pv_cpu_ops pv_cpu_ops = { > >> > >> struct pv_apic_ops pv_apic_ops = { > >> #ifdef CONFIG_X86_LOCAL_APIC > >> -#ifndef CONFIG_X86_64 > >> - .apic_write = native_apic_mem_write, > >> - .apic_write_atomic = native_apic_mem_write_atomic, > >> - .apic_read = native_apic_mem_read, > >> -#endif > >> .setup_boot_clock = setup_boot_APIC_clock, > >> .setup_secondary_clock = setup_seco...
2007 Apr 18
1
[PATCH 9/10] Vmi timer update.patch
...nt vmi_get_timer_vector(void) +{ +#ifdef CONFIG_X86_IO_APIC + return FIRST_DEVICE_VECTOR; +#else + return FIRST_EXTERNAL_VECTOR; +#endif +} + +/** vmi clockchip */ +#ifdef CONFIG_X86_LOCAL_APIC +static unsigned int startup_timer_irq(unsigned int irq) +{ + unsigned long val = apic_read(APIC_LVTT); + apic_write(APIC_LVTT, vmi_get_timer_vector()); + + return (val & APIC_SEND_PENDING); +} + +static void mask_timer_irq(unsigned int irq) +{ + unsigned long val = apic_read(APIC_LVTT); + apic_write(APIC_LVTT, val | APIC_LVT_MASKED); +} + +static void unmask_timer_irq(unsigned int irq) +{ + unsigned long val...
2007 Apr 18
1
[PATCH 9/10] Vmi timer update.patch
...nt vmi_get_timer_vector(void) +{ +#ifdef CONFIG_X86_IO_APIC + return FIRST_DEVICE_VECTOR; +#else + return FIRST_EXTERNAL_VECTOR; +#endif +} + +/** vmi clockchip */ +#ifdef CONFIG_X86_LOCAL_APIC +static unsigned int startup_timer_irq(unsigned int irq) +{ + unsigned long val = apic_read(APIC_LVTT); + apic_write(APIC_LVTT, vmi_get_timer_vector()); + + return (val & APIC_SEND_PENDING); +} + +static void mask_timer_irq(unsigned int irq) +{ + unsigned long val = apic_read(APIC_LVTT); + apic_write(APIC_LVTT, val | APIC_LVT_MASKED); +} + +static void unmask_timer_irq(unsigned int irq) +{ + unsigned long val...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 04/17] pavarvirt_ops - apci header updates
...x: clean-start/include/asm-x86_64/apic.h =================================================================== --- clean-start.orig/include/asm-x86_64/apic.h +++ clean-start/include/asm-x86_64/apic.h @@ -37,16 +37,24 @@ struct pt_regs; * Basic functions accessing APICs. */ -static __inline void apic_write(unsigned long reg, unsigned int v) +static __inline void native_apic_write(unsigned long reg, unsigned int v) { *((volatile unsigned int *)(APIC_BASE+reg)) = v; } -static __inline unsigned int apic_read(unsigned long reg) +static __inline unsigned int native_apic_read(unsigned long reg) {...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 04/17] pavarvirt_ops - apci header updates
...x: clean-start/include/asm-x86_64/apic.h =================================================================== --- clean-start.orig/include/asm-x86_64/apic.h +++ clean-start/include/asm-x86_64/apic.h @@ -37,16 +37,24 @@ struct pt_regs; * Basic functions accessing APICs. */ -static __inline void apic_write(unsigned long reg, unsigned int v) +static __inline void native_apic_write(unsigned long reg, unsigned int v) { *((volatile unsigned int *)(APIC_BASE+reg)) = v; } -static __inline unsigned int apic_read(unsigned long reg) +static __inline unsigned int native_apic_read(unsigned long reg) {...
2007 Apr 18
0
[PATCH 5/9] Paravirt drop udelay op
...t.c Tue Feb 27 16:23:56 2007 -0800 +++ b/arch/i386/kernel/paravirt.c Tue Feb 27 16:25:26 2007 -0800 @@ -538,7 +538,6 @@ struct paravirt_ops paravirt_ops = { .set_iopl_mask = native_set_iopl_mask, .io_delay = native_io_delay, - .const_udelay = __const_udelay, #ifdef CONFIG_X86_LOCAL_APIC .apic_write = native_apic_write, diff -r 135d1b73c878 arch/i386/kernel/smpboot.c --- a/arch/i386/kernel/smpboot.c Tue Feb 27 16:23:56 2007 -0800 +++ b/arch/i386/kernel/smpboot.c Tue Feb 27 16:27:16 2007 -0800 @@ -33,11 +33,6 @@ * Dave Jones : Report invalid combinations of Athlon CPUs. * Rusty Russell : H...
2007 Apr 18
0
[PATCH 5/9] Paravirt drop udelay op
...t.c Tue Feb 27 16:23:56 2007 -0800 +++ b/arch/i386/kernel/paravirt.c Tue Feb 27 16:25:26 2007 -0800 @@ -538,7 +538,6 @@ struct paravirt_ops paravirt_ops = { .set_iopl_mask = native_set_iopl_mask, .io_delay = native_io_delay, - .const_udelay = __const_udelay, #ifdef CONFIG_X86_LOCAL_APIC .apic_write = native_apic_write, diff -r 135d1b73c878 arch/i386/kernel/smpboot.c --- a/arch/i386/kernel/smpboot.c Tue Feb 27 16:23:56 2007 -0800 +++ b/arch/i386/kernel/smpboot.c Tue Feb 27 16:27:16 2007 -0800 @@ -33,11 +33,6 @@ * Dave Jones : Report invalid combinations of Athlon CPUs. * Rusty Russell : H...
2007 Jul 09
1
[PATCH RFC] first cut at splitting up paravirt_ops
..._entry, + .write_idt_entry = write_dt_entry, + .load_esp0 = native_load_esp0, + + .irq_enable_sysexit = native_irq_enable_sysexit, + .iret = native_iret, + + .set_iopl_mask = native_set_iopl_mask, + .io_delay = native_io_delay, + }, + + .pv_apic_ops = { #ifdef CONFIG_X86_LOCAL_APIC - .apic_write = native_apic_write, - .apic_write_atomic = native_apic_write_atomic, - .apic_read = native_apic_read, - .setup_boot_clock = setup_boot_APIC_clock, - .setup_secondary_clock = setup_secondary_APIC_clock, - .startup_ipi_hook = paravirt_nop, + .apic_write = native_apic_write, + .apic_write_atomic...
2007 Jul 09
1
[PATCH RFC] first cut at splitting up paravirt_ops
..._entry, + .write_idt_entry = write_dt_entry, + .load_esp0 = native_load_esp0, + + .irq_enable_sysexit = native_irq_enable_sysexit, + .iret = native_iret, + + .set_iopl_mask = native_set_iopl_mask, + .io_delay = native_io_delay, + }, + + .pv_apic_ops = { #ifdef CONFIG_X86_LOCAL_APIC - .apic_write = native_apic_write, - .apic_write_atomic = native_apic_write_atomic, - .apic_read = native_apic_read, - .setup_boot_clock = setup_boot_APIC_clock, - .setup_secondary_clock = setup_secondary_APIC_clock, - .startup_ipi_hook = paravirt_nop, + .apic_write = native_apic_write, + .apic_write_atomic...
2007 Oct 09
2
[PATCH RFC REPOST 1/2] paravirt: refactor struct paravirt_ops into smaller pv_*_ops
..._entry, + .write_idt_entry = write_dt_entry, + .load_esp0 = native_load_esp0, + + .irq_enable_sysexit = native_irq_enable_sysexit, + .iret = native_iret, + + .set_iopl_mask = native_set_iopl_mask, + .io_delay = native_io_delay, + }, + + .pv_apic_ops = { #ifdef CONFIG_X86_LOCAL_APIC - .apic_write = native_apic_write, - .apic_write_atomic = native_apic_write_atomic, - .apic_read = native_apic_read, - .setup_boot_clock = setup_boot_APIC_clock, - .setup_secondary_clock = setup_secondary_APIC_clock, - .startup_ipi_hook = paravirt_nop, + .apic_write = native_apic_write, + .apic_write_atomic...
2007 Oct 09
2
[PATCH RFC REPOST 1/2] paravirt: refactor struct paravirt_ops into smaller pv_*_ops
..._entry, + .write_idt_entry = write_dt_entry, + .load_esp0 = native_load_esp0, + + .irq_enable_sysexit = native_irq_enable_sysexit, + .iret = native_iret, + + .set_iopl_mask = native_set_iopl_mask, + .io_delay = native_io_delay, + }, + + .pv_apic_ops = { #ifdef CONFIG_X86_LOCAL_APIC - .apic_write = native_apic_write, - .apic_write_atomic = native_apic_write_atomic, - .apic_read = native_apic_read, - .setup_boot_clock = setup_boot_APIC_clock, - .setup_secondary_clock = setup_secondary_APIC_clock, - .startup_ipi_hook = paravirt_nop, + .apic_write = native_apic_write, + .apic_write_atomic...
2007 Apr 18
0
[PATCH 8/9] Vmi apic ops.diff
...i_hook; - vmi_ops.set_initial_ap_state = vmi_get_function(VMI_CALL_SetInitialAPState); + para_wrap(startup_ipi_hook, vmi_startup_ipi_hook, set_initial_ap_state, SetInitialAPState); #endif #ifdef CONFIG_X86_LOCAL_APIC - paravirt_ops.apic_read = vmi_get_function(VMI_CALL_APICRead); - paravirt_ops.apic_write = vmi_get_function(VMI_CALL_APICWrite); - paravirt_ops.apic_write_atomic = vmi_get_function(VMI_CALL_APICWrite); + para_fill(apic_read, APICRead); + para_fill(apic_write, APICWrite); + para_fill(apic_write_atomic, APICWrite); #endif /* * Check for VMI timer functionality by probing for a cy...
2007 Sep 28
2
[PATCH RFC] paravirt_ops: refactor struct paravirt_ops into smaller pv_*_ops
..._entry, + .write_idt_entry = write_dt_entry, + .load_esp0 = native_load_esp0, + + .irq_enable_sysexit = native_irq_enable_sysexit, + .iret = native_iret, + + .set_iopl_mask = native_set_iopl_mask, + .io_delay = native_io_delay, + }, + + .pv_apic_ops = { #ifdef CONFIG_X86_LOCAL_APIC - .apic_write = native_apic_write, - .apic_write_atomic = native_apic_write_atomic, - .apic_read = native_apic_read, - .setup_boot_clock = setup_boot_APIC_clock, - .setup_secondary_clock = setup_secondary_APIC_clock, - .startup_ipi_hook = paravirt_nop, + .apic_write = native_apic_write, + .apic_write_atomic...
2007 Sep 28
2
[PATCH RFC] paravirt_ops: refactor struct paravirt_ops into smaller pv_*_ops
..._entry, + .write_idt_entry = write_dt_entry, + .load_esp0 = native_load_esp0, + + .irq_enable_sysexit = native_irq_enable_sysexit, + .iret = native_iret, + + .set_iopl_mask = native_set_iopl_mask, + .io_delay = native_io_delay, + }, + + .pv_apic_ops = { #ifdef CONFIG_X86_LOCAL_APIC - .apic_write = native_apic_write, - .apic_write_atomic = native_apic_write_atomic, - .apic_read = native_apic_read, - .setup_boot_clock = setup_boot_APIC_clock, - .setup_secondary_clock = setup_secondary_APIC_clock, - .startup_ipi_hook = paravirt_nop, + .apic_write = native_apic_write, + .apic_write_atomic...