search for: apic_read

Displaying 20 results from an estimated 110 matches for "apic_read".

2007 May 15
3
[PATCH 1/12] Add suspend/resume to devices owned by Xen
...nsigned int apic_lvt1; + unsigned int apic_lvterr; + unsigned int apic_tmict; + unsigned int apic_tdcr; + unsigned int apic_thmr; +} apic_pm_state; + +int lapic_suspend(void) +{ + unsigned long flags; + + if (!apic_pm_state.active) + return 0; + + apic_pm_state.apic_id = apic_read(APIC_ID); + apic_pm_state.apic_taskpri = apic_read(APIC_TASKPRI); + apic_pm_state.apic_ldr = apic_read(APIC_LDR); + apic_pm_state.apic_dfr = apic_read(APIC_DFR); + apic_pm_state.apic_spiv = apic_read(APIC_SPIV); + apic_pm_state.apic_lvtt = apic_read(APIC_LVTT); + apic_pm_state.api...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 04/17] pavarvirt_ops - apci header updates
plain text document attachment (xx-paravirt-apic-header.patch) This patch updates the apic header file for switching apic_read and write for use with paravirt ops. Signed-off-by: Steven Rostedt srostedt@redhat.com Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> Index: clean-start/include/asm-x86_64/apic.h =================================================================== --- clean-start.orig/include/a...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 04/17] pavarvirt_ops - apci header updates
plain text document attachment (xx-paravirt-apic-header.patch) This patch updates the apic header file for switching apic_read and write for use with paravirt ops. Signed-off-by: Steven Rostedt srostedt@redhat.com Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> Index: clean-start/include/asm-x86_64/apic.h =================================================================== --- clean-start.orig/include/a...
2007 Apr 18
0
[RFC, PATCH 15/24] i386 Vmi apic header
...- -static __inline void apic_write(unsigned long reg, unsigned long v) -{ - *((volatile unsigned long *)(APIC_BASE+reg)) = v; -} - -static __inline void apic_write_atomic(unsigned long reg, unsigned long v) -{ - xchg((volatile unsigned long *)(APIC_BASE+reg), v); -} - -static __inline unsigned long apic_read(unsigned long reg) -{ - return *((volatile unsigned long *)(APIC_BASE+reg)); -} - static __inline__ void apic_wait_icr_idle(void) { while ( apic_read( APIC_ICR ) & APIC_ICR_BUSY ) Index: linux-2.6.16-rc5/include/asm-i386/mach-vmi/mach_apicops.h ==============================================...
2007 Apr 18
0
[RFC, PATCH 15/24] i386 Vmi apic header
...- -static __inline void apic_write(unsigned long reg, unsigned long v) -{ - *((volatile unsigned long *)(APIC_BASE+reg)) = v; -} - -static __inline void apic_write_atomic(unsigned long reg, unsigned long v) -{ - xchg((volatile unsigned long *)(APIC_BASE+reg), v); -} - -static __inline unsigned long apic_read(unsigned long reg) -{ - return *((volatile unsigned long *)(APIC_BASE+reg)); -} - static __inline__ void apic_wait_icr_idle(void) { while ( apic_read( APIC_ICR ) & APIC_ICR_BUSY ) Index: linux-2.6.16-rc5/include/asm-i386/mach-vmi/mach_apicops.h ==============================================...
2007 Apr 18
2
[patch] asm/i386/kernel/paravirt.c buildfix
...irt.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, unsigned int *ecx, unsigned int *edx) {
2007 Apr 18
2
[patch] asm/i386/kernel/paravirt.c buildfix
...irt.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, unsigned int *ecx, unsigned int *edx) {
2008 Jul 15
4
Patch from LKML
...> >> > >> 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_secondary_APIC_clock, > >> .startup_ipi_hook = paravirt_nop, > >> Index: linux-2.6/arch/x86/kernel/vmi_32.c &...
2008 Jul 15
4
Patch from LKML
...> >> > >> 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_secondary_APIC_clock, > >> .startup_ipi_hook = paravirt_nop, > >> Index: linux-2.6/arch/x86/kernel/vmi_32.c &...
2007 Jul 09
1
[PATCH RFC] first cut at splitting up paravirt_ops
...+ .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 = native_apic_write_atomic, + .apic_read = native_apic_read, + .setup_boot_cloc...
2007 Jul 09
1
[PATCH RFC] first cut at splitting up paravirt_ops
...+ .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 = native_apic_write_atomic, + .apic_read = native_apic_read, + .setup_boot_cloc...
2007 Apr 18
0
[PATCH 6/6] VMI timer patches
...ch/i386/kernel/paravirt.c --- a/arch/i386/kernel/paravirt.c Thu Dec 14 16:40:14 2006 -0800 +++ b/arch/i386/kernel/paravirt.c Thu Dec 14 16:40:16 2006 -0800 @@ -544,6 +544,8 @@ struct paravirt_ops paravirt_ops = { .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, #endif .set_lazy_mode = (void *)native_nop, diff -r 77e4058e936b arch/i386/kernel/smpboot.c --- a/arch/i386/kernel/smpboot.c Thu Dec 14 16:40:14 2006 -0800 +++ b/arch/i386/ke...
2007 Apr 18
0
[PATCH 6/6] VMI timer patches
...ch/i386/kernel/paravirt.c --- a/arch/i386/kernel/paravirt.c Thu Dec 14 16:40:14 2006 -0800 +++ b/arch/i386/kernel/paravirt.c Thu Dec 14 16:40:16 2006 -0800 @@ -544,6 +544,8 @@ struct paravirt_ops paravirt_ops = { .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, #endif .set_lazy_mode = (void *)native_nop, diff -r 77e4058e936b arch/i386/kernel/smpboot.c --- a/arch/i386/kernel/smpboot.c Thu Dec 14 16:40:14 2006 -0800 +++ b/arch/i386/ke...
2007 Apr 18
0
[PATCH 5/5] Vmi timer.patch
...ch/i386/kernel/paravirt.c --- a/arch/i386/kernel/paravirt.c Tue Dec 12 13:53:09 2006 -0800 +++ b/arch/i386/kernel/paravirt.c Tue Dec 12 13:53:15 2006 -0800 @@ -544,6 +544,8 @@ struct paravirt_ops paravirt_ops = { .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, #endif .set_lazy_mode = (void *)native_nop, diff -r d1ec5a6e3e8c arch/i386/kernel/smpboot.c --- a/arch/i386/kernel/smpboot.c Tue Dec 12 13:53:09 2006 -0800 +++ b/arch/i386/ke...
2007 Apr 18
0
[PATCH 5/5] Vmi timer.patch
...ch/i386/kernel/paravirt.c --- a/arch/i386/kernel/paravirt.c Tue Dec 12 13:53:09 2006 -0800 +++ b/arch/i386/kernel/paravirt.c Tue Dec 12 13:53:15 2006 -0800 @@ -544,6 +544,8 @@ struct paravirt_ops paravirt_ops = { .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, #endif .set_lazy_mode = (void *)native_nop, diff -r d1ec5a6e3e8c arch/i386/kernel/smpboot.c --- a/arch/i386/kernel/smpboot.c Tue Dec 12 13:53:09 2006 -0800 +++ b/arch/i386/ke...
2007 Apr 18
1
[PATCH 9/10] Vmi timer update.patch
...static inline unsigned int 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 ir...
2007 Apr 18
1
[PATCH 9/10] Vmi timer update.patch
...static inline unsigned int 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 ir...
2007 Sep 08
4
[PATCH] Unified shutdown code
...tart_xen (in EARLY_FAIL()) before much + * of the system has been initialized (e.g. before fixmap) + */ +static void machine_teardown(int type) { int i; + int timeout = 10; + + if ( type != TEARDOWN_TYPE_EARLY ) + { + /* Ensure we are the boot CPU. */ + if ( GET_APIC_ID(apic_read(APIC_ID)) != boot_cpu_physical_apicid ) + { + printk("machine_teardown() not called on BSP\n"); + /* Send IPI to the boot CPU (logical cpu 0). */ + on_selected_cpus(cpumask_of_cpu(0), (void *)machine_teardown, + (void *)(unsigned long)type, 1, 0); + /* park us until...
2007 Apr 18
0
[PATCH 8/9] Vmi apic ops.diff
...fdef CONFIG_SMP - paravirt_ops.startup_ipi_hook = vmi_startup_ipi_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...
2007 Apr 18
0
[PATCH 8/9] Vmi apic ops.diff
...fdef CONFIG_SMP - paravirt_ops.startup_ipi_hook = vmi_startup_ipi_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...