Displaying 20 results from an estimated 75 matches for "phys_apicid".
2007 Apr 18
0
[PATCH 4/6] SMP boot hook for paravirt
...+
+ .startup_ipi_hook = (void *)native_nop,
};
EXPORT_SYMBOL(paravirt_ops);
diff -r acfb7a15715f arch/i386/kernel/smpboot.c
--- a/arch/i386/kernel/smpboot.c Thu Dec 14 16:22:03 2006 -0800
+++ b/arch/i386/kernel/smpboot.c Thu Dec 14 16:51:52 2006 -0800
@@ -831,6 +831,13 @@ wakeup_secondary_cpu(int phys_apicid, un
num_starts = 0;
/*
+ * Paravirt / VMI wants a startup IPI hook here to set up the
+ * target processor state.
+ */
+ startup_ipi_hook(phys_apicid, (unsigned long) start_secondary,
+ (unsigned long) stack_start.esp);
+
+ /*
* Run STARTUP IPI loop.
*/
Dprintk("#st...
2007 Apr 18
0
[PATCH 4/6] SMP boot hook for paravirt
...+
+ .startup_ipi_hook = (void *)native_nop,
};
EXPORT_SYMBOL(paravirt_ops);
diff -r acfb7a15715f arch/i386/kernel/smpboot.c
--- a/arch/i386/kernel/smpboot.c Thu Dec 14 16:22:03 2006 -0800
+++ b/arch/i386/kernel/smpboot.c Thu Dec 14 16:51:52 2006 -0800
@@ -831,6 +831,13 @@ wakeup_secondary_cpu(int phys_apicid, un
num_starts = 0;
/*
+ * Paravirt / VMI wants a startup IPI hook here to set up the
+ * target processor state.
+ */
+ startup_ipi_hook(phys_apicid, (unsigned long) start_secondary,
+ (unsigned long) stack_start.esp);
+
+ /*
* Run STARTUP IPI loop.
*/
Dprintk("#st...
2007 Apr 18
2
[RFC, PATCH 9/24] i386 Vmi smp support
...n struct desc_struct idt_table[256];
+extern unsigned char *trampoline_base;
+
+#ifdef CONFIG_SMP
+
+#ifdef CONFIG_HOTPLUG_CPU
+#define DEFAULT_SEND_IPI (1)
+#else
+#define DEFAULT_SEND_IPI (0)
+#endif
+
+int no_broadcast=DEFAULT_SEND_IPI;
+
+APState ap;
+
+void __init
+smpboot_startup_ipi_hook(int phys_apicid, unsigned long start_eip,
+ unsigned long start_esp)
+{
+ /* We require phys_acpicid to be the cpu number. */
+ if (hypervisor_found) {
+ /* Default everything to zero. This is fine for most GPRs. */
+ memset(&ap, 0, sizeof(AP...
2007 Apr 18
2
[RFC, PATCH 9/24] i386 Vmi smp support
...n struct desc_struct idt_table[256];
+extern unsigned char *trampoline_base;
+
+#ifdef CONFIG_SMP
+
+#ifdef CONFIG_HOTPLUG_CPU
+#define DEFAULT_SEND_IPI (1)
+#else
+#define DEFAULT_SEND_IPI (0)
+#endif
+
+int no_broadcast=DEFAULT_SEND_IPI;
+
+APState ap;
+
+void __init
+smpboot_startup_ipi_hook(int phys_apicid, unsigned long start_eip,
+ unsigned long start_esp)
+{
+ /* We require phys_acpicid to be the cpu number. */
+ if (hypervisor_found) {
+ /* Default everything to zero. This is fine for most GPRs. */
+ memset(&ap, 0, sizeof(AP...
2015 Nov 17
1
[PATCH] paravirt: remove unused pv_apic_ops structure
.../x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index 10d0596..4d7f080 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -285,15 +285,6 @@ static inline void slow_down_io(void)
#endif
}
-#ifdef CONFIG_SMP
-static inline void startup_ipi_hook(int phys_apicid, unsigned long start_eip,
- unsigned long start_esp)
-{
- PVOP_VCALL3(pv_apic_ops.startup_ipi_hook,
- phys_apicid, start_eip, start_esp);
-}
-#endif
-
static inline void paravirt_activate_mm(struct mm_struct *prev,
struct mm_struct *next)
{
diff --git a/arch/x86/include/asm/para...
2015 Nov 17
1
[PATCH] paravirt: remove unused pv_apic_ops structure
.../x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index 10d0596..4d7f080 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -285,15 +285,6 @@ static inline void slow_down_io(void)
#endif
}
-#ifdef CONFIG_SMP
-static inline void startup_ipi_hook(int phys_apicid, unsigned long start_eip,
- unsigned long start_esp)
-{
- PVOP_VCALL3(pv_apic_ops.startup_ipi_hook,
- phys_apicid, start_eip, start_esp);
-}
-#endif
-
static inline void paravirt_activate_mm(struct mm_struct *prev,
struct mm_struct *next)
{
diff --git a/arch/x86/include/asm/para...
2007 Apr 18
0
[PATCH 9/9] Vmi smp fixes.patch
...007 -0800
+++ b/arch/i386/kernel/vmi.c Thu Mar 01 18:10:18 2007 -0800
@@ -525,13 +525,14 @@ void vmi_pmd_clear(pmd_t *pmd)
#endif
#ifdef CONFIG_SMP
-struct vmi_ap_state ap;
extern void setup_pda(void);
-static void __init /* XXX cpu hotplug */
+static void __devinit
vmi_startup_ipi_hook(int phys_apicid, unsigned long start_eip,
unsigned long start_esp)
{
+ struct vmi_ap_state ap;
+
/* Default everything to zero. This is fine for most GPRs. */
memset(&ap, 0, sizeof(struct vmi_ap_state));
@@ -570,7 +571,7 @@ vmi_startup_ipi_hook(int phys_apicid, un
/* Protected mode, paging, A...
2007 Apr 18
0
[PATCH 9/9] Vmi smp fixes.patch
...007 -0800
+++ b/arch/i386/kernel/vmi.c Thu Mar 01 18:10:18 2007 -0800
@@ -525,13 +525,14 @@ void vmi_pmd_clear(pmd_t *pmd)
#endif
#ifdef CONFIG_SMP
-struct vmi_ap_state ap;
extern void setup_pda(void);
-static void __init /* XXX cpu hotplug */
+static void __devinit
vmi_startup_ipi_hook(int phys_apicid, unsigned long start_eip,
unsigned long start_esp)
{
+ struct vmi_ap_state ap;
+
/* Default everything to zero. This is fine for most GPRs. */
memset(&ap, 0, sizeof(struct vmi_ap_state));
@@ -570,7 +571,7 @@ vmi_startup_ipi_hook(int phys_apicid, un
/* Protected mode, paging, A...
2007 Apr 19
1
[RFC, PATCH 4/5] Paravirt_ops drop internal patches.patch
...up_boot_clock);
+ paravirt_ops.setup_boot_clock();
}
static inline void setup_secondary_clock(void)
{
- PVOP_VCALL0(setup_secondary_clock);
+ paravirt_ops.setup_secondary_clock();
}
#endif
@@ -711,7 +711,7 @@ static inline void startup_ipi_hook(int
static inline void startup_ipi_hook(int phys_apicid, unsigned long start_eip,
unsigned long start_esp)
{
- PVOP_VCALL3(startup_ipi_hook, phys_apicid, start_eip, start_esp);
+ paravirt_ops.startup_ipi_hook(phys_apicid, start_eip, start_esp);
}
#endif
2007 Apr 18
0
[PATCH 3/5] Paravirt smp.patch
...rq_enable_sysexit,
.iret = native_iret,
+
+ .startup_ipi_hook = (void *)native_nop,
};
EXPORT_SYMBOL(paravirt_ops);
===================================================================
--- a/arch/i386/kernel/smpboot.c
+++ b/arch/i386/kernel/smpboot.c
@@ -820,6 +823,11 @@ wakeup_secondary_cpu(int phys_apicid, un
num_starts = 2;
else
num_starts = 0;
+
+#ifdef CONFIG_PARAVIRT
+ paravirt_ops.startup_ipi_hook(phys_apicid, (unsigned long) start_secondary,
+ (unsigned long) stack_start.esp);
+#endif
/*
* Run STARTUP IPI loop.
==================================================...
2007 Apr 18
0
[PATCH 3/5] Paravirt smp.patch
...rq_enable_sysexit,
.iret = native_iret,
+
+ .startup_ipi_hook = (void *)native_nop,
};
EXPORT_SYMBOL(paravirt_ops);
===================================================================
--- a/arch/i386/kernel/smpboot.c
+++ b/arch/i386/kernel/smpboot.c
@@ -820,6 +823,11 @@ wakeup_secondary_cpu(int phys_apicid, un
num_starts = 2;
else
num_starts = 0;
+
+#ifdef CONFIG_PARAVIRT
+ paravirt_ops.startup_ipi_hook(phys_apicid, (unsigned long) start_secondary,
+ (unsigned long) stack_start.esp);
+#endif
/*
* Run STARTUP IPI loop.
==================================================...
2007 Apr 28
3
huh startup_ipi_hook?
...startup_ipi hook for vmware
commit: ae5da273fe3352febd38658d8d34484cbcfb3423
is quite frankly ridiculous.
In the middle of wake_up_secondary_cpu:
We have:
/*
* Paravirt / VMI wants a startup IPI hook here to set up the
* target processor state.
*/
startup_ipi_hook(phys_apicid, (unsigned long) start_secondary,
(unsigned long) stack_start.esp);
As far as I can tell from reading this there is a completely
different mechanism in place to start for a secondary processor.
Which seems sane.
What doesn't seem sane is bothering to run the rest of the...
2007 Apr 28
3
huh startup_ipi_hook?
...startup_ipi hook for vmware
commit: ae5da273fe3352febd38658d8d34484cbcfb3423
is quite frankly ridiculous.
In the middle of wake_up_secondary_cpu:
We have:
/*
* Paravirt / VMI wants a startup IPI hook here to set up the
* target processor state.
*/
startup_ipi_hook(phys_apicid, (unsigned long) start_secondary,
(unsigned long) stack_start.esp);
As far as I can tell from reading this there is a completely
different mechanism in place to start for a secondary processor.
Which seems sane.
What doesn't seem sane is bothering to run the rest of the...
2007 Apr 18
0
[PATCH 7/10] Resurrect the VMI lazy mode fixes.
...:06 2007 -0700
+++ b/arch/i386/kernel/vmi.c Fri Apr 06 14:25:03 2007 -0700
@@ -69,6 +69,7 @@ static struct {
void (*flush_tlb)(int);
void (*set_initial_ap_state)(int, int);
void (*halt)(void);
+ void (*set_lazy_mode)(int mode);
} vmi_ops;
/*
@@ -545,6 +546,26 @@ vmi_startup_ipi_hook(int phys_apicid, un
}
#endif
+static void vmi_set_lazy_mode(enum paravirt_lazy_mode mode)
+{
+ static DEFINE_PER_CPU(int, lazy_mode);
+
+ if (!vmi_ops.set_lazy_mode)
+ return;
+
+ /* Modes should never nest or overlap */
+ BUG_ON(__get_cpu_var(lazy_mode) && !(mode == PARAVIRT_LAZY_NONE ||
+ m...
2007 Apr 18
0
[PATCH 2/3] Vmi initialize fs for smp
...p for SMP to use FS instead of GS.
Signed-off-by: Zachary Amsden <zach@vmware.com>
diff -r 2ac108843573 arch/i386/kernel/vmi.c
--- a/arch/i386/kernel/vmi.c Thu Jan 04 20:01:52 2007 -0800
+++ b/arch/i386/kernel/vmi.c Thu Jan 04 20:02:42 2007 -0800
@@ -533,8 +533,8 @@ vmi_startup_ipi_hook(int phys_apicid, un
ap.ds = __USER_DS;
ap.es = __USER_DS;
- ap.fs = 0;
- ap.gs = __KERNEL_PDA;
+ ap.fs = __KERNEL_PDA;
+ ap.gs = 0;
ap.eflags = 0;
2007 Apr 18
0
[PATCH 2/3] Vmi initialize fs for smp
...p for SMP to use FS instead of GS.
Signed-off-by: Zachary Amsden <zach@vmware.com>
diff -r 2ac108843573 arch/i386/kernel/vmi.c
--- a/arch/i386/kernel/vmi.c Thu Jan 04 20:01:52 2007 -0800
+++ b/arch/i386/kernel/vmi.c Thu Jan 04 20:02:42 2007 -0800
@@ -533,8 +533,8 @@ vmi_startup_ipi_hook(int phys_apicid, un
ap.ds = __USER_DS;
ap.es = __USER_DS;
- ap.fs = 0;
- ap.gs = __KERNEL_PDA;
+ ap.fs = __KERNEL_PDA;
+ ap.gs = 0;
ap.eflags = 0;
2007 Apr 18
0
[PATCH 7/10] Resurrect the VMI lazy mode fixes.
...:06 2007 -0700
+++ b/arch/i386/kernel/vmi.c Fri Apr 06 14:25:03 2007 -0700
@@ -69,6 +69,7 @@ static struct {
void (*flush_tlb)(int);
void (*set_initial_ap_state)(int, int);
void (*halt)(void);
+ void (*set_lazy_mode)(int mode);
} vmi_ops;
/*
@@ -545,6 +546,26 @@ vmi_startup_ipi_hook(int phys_apicid, un
}
#endif
+static void vmi_set_lazy_mode(enum paravirt_lazy_mode mode)
+{
+ static DEFINE_PER_CPU(int, lazy_mode);
+
+ if (!vmi_ops.set_lazy_mode)
+ return;
+
+ /* Modes should never nest or overlap */
+ BUG_ON(__get_cpu_var(lazy_mode) && !(mode == PARAVIRT_LAZY_NONE ||
+ m...
2007 Apr 18
1
[PATCH] Add smp_ops interface
...mp_ops.smp_call_function_mask(mask, func, info, wait);
+}
+
+void native_smp_prepare_boot_cpu(void);
+void native_smp_prepare_cpus(unsigned int max_cpus);
+int native_cpu_up(unsigned int cpunum);
+void native_smp_cpus_done(unsigned int max_cpus);
#ifndef CONFIG_PARAVIRT
#define startup_ipi_hook(phys_apicid, start_eip, start_esp) \
2007 Apr 18
1
[PATCH] Add smp_ops interface
...mp_ops.smp_call_function_mask(mask, func, info, wait);
+}
+
+void native_smp_prepare_boot_cpu(void);
+void native_smp_prepare_cpus(unsigned int max_cpus);
+int native_cpu_up(unsigned int cpunum);
+void native_smp_cpus_done(unsigned int max_cpus);
#ifndef CONFIG_PARAVIRT
#define startup_ipi_hook(phys_apicid, start_eip, start_esp) \
2007 Jul 09
1
[PATCH RFC] first cut at splitting up paravirt_ops
...this interface.
- */
- void (*apic_write)(unsigned long reg, unsigned long v);
- void (*apic_write_atomic)(unsigned long reg, unsigned long v);
- unsigned long (*apic_read)(unsigned long reg);
- void (*setup_boot_clock)(void);
- void (*setup_secondary_clock)(void);
-
- void (*startup_ipi_hook)(int phys_apicid,
- unsigned long start_eip,
- unsigned long start_esp);
+ /*
+ * Direct APIC operations, principally for VMI. Ideally
+ * these shouldn't be in this interface.
+ */
+ void (*apic_write)(unsigned long reg, unsigned long v);
+ void (*apic_write_atomic)(unsigned long reg, unsigne...