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...