search for: start_eip

Displaying 20 results from an estimated 68 matches for "start_eip".

2007 Apr 18
2
[RFC, PATCH 9/24] i386 Vmi smp support
...ble[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(APState)); + +...
2007 Apr 18
2
[RFC, PATCH 9/24] i386 Vmi smp support
...ble[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(APState)); + +...
2015 Nov 17
1
[PATCH] paravirt: remove unused pv_apic_ops structure
...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/paravirt_types.h b/arch/x86/i...
2015 Nov 17
1
[PATCH] paravirt: remove unused pv_apic_ops structure
...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/paravirt_types.h b/arch/x86/i...
2007 Apr 18
0
[PATCH 4/6] SMP boot hook for paravirt
...++ b/include/asm-i386/paravirt.h Thu Dec 14 16:51:48 2006 -0800 @@ -151,6 +151,8 @@ struct paravirt_ops /* These two are jmp to, not actually called. */ void (fastcall *irq_enable_sysexit)(void); void (fastcall *iret)(void); + + void (fastcall *startup_ipi_hook)(int phys_apicid, unsigned long start_eip, unsigned long start_esp); }; /* Mark a paravirt probe function. */ @@ -323,6 +325,13 @@ static inline unsigned long apic_read(un } #endif +#ifdef CONFIG_SMP +static inline void startup_ipi_hook(int phys_apicid, unsigned long start_eip, + unsigned long start_esp) +{ + return paravirt...
2007 Apr 18
0
[PATCH 4/6] SMP boot hook for paravirt
...++ b/include/asm-i386/paravirt.h Thu Dec 14 16:51:48 2006 -0800 @@ -151,6 +151,8 @@ struct paravirt_ops /* These two are jmp to, not actually called. */ void (fastcall *irq_enable_sysexit)(void); void (fastcall *iret)(void); + + void (fastcall *startup_ipi_hook)(int phys_apicid, unsigned long start_eip, unsigned long start_esp); }; /* Mark a paravirt probe function. */ @@ -323,6 +325,13 @@ static inline unsigned long apic_read(un } #endif +#ifdef CONFIG_SMP +static inline void startup_ipi_hook(int phys_apicid, unsigned long start_eip, + unsigned long start_esp) +{ + return paravirt...
2007 Apr 19
1
[RFC, PATCH 4/5] Paravirt_ops drop internal patches.patch
...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
2012 Nov 29
9
[PATCH] xen: find a better location for the real-mode trampoline
...t MBI_MEMLIMITS */ + jnz 1f + + movzwl 0x413,%eax /* base memory size in kb */ 1: + shl $10-4,%eax /* convert to a segment number */ + + /* Reserve 64kb for the trampoline */ sub $0x1000,%eax /* From arch/x86/smpboot.c: start_eip had better be page-aligned! */ -- 1.8.0
2007 Apr 18
0
[PATCH 9/9] Vmi smp fixes.patch
...ernel/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, AM, WP, NE, MP. */ ap.cr...
2007 Apr 18
0
[PATCH 3/5] Paravirt smp.patch
...a/include/asm-i386/paravirt.h +++ b/include/asm-i386/paravirt.h @@ -148,6 +148,8 @@ struct paravirt_ops /* These two are jmp to, not actually called. */ void (fastcall *irq_enable_sysexit)(void); void (fastcall *iret)(void); + + void (fastcall *startup_ipi_hook)(int phys_apicid, unsigned long start_eip, unsigned long start_esp); }; /* Mark a paravirt probe function. */
2007 Apr 18
0
[PATCH 3/5] Paravirt smp.patch
...a/include/asm-i386/paravirt.h +++ b/include/asm-i386/paravirt.h @@ -148,6 +148,8 @@ struct paravirt_ops /* These two are jmp to, not actually called. */ void (fastcall *irq_enable_sysexit)(void); void (fastcall *iret)(void); + + void (fastcall *startup_ipi_hook)(int phys_apicid, unsigned long start_eip, unsigned long start_esp); }; /* Mark a paravirt probe function. */
2007 Apr 18
0
[PATCH 9/9] Vmi smp fixes.patch
...ernel/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, AM, WP, NE, MP. */ ap.cr...
2007 Apr 18
0
[PATCH 13/21] i386 Gdt page isolation
...==================================== --- linux-2.6.14-zach-work.orig/arch/i386/kernel/smpboot.c 2005-11-04 12:12:35.000000000 -0800 +++ linux-2.6.14-zach-work/arch/i386/kernel/smpboot.c 2005-11-04 17:55:00.000000000 -0800 @@ -877,6 +877,12 @@ static int __devinit do_boot_cpu(int api unsigned long start_eip; unsigned short nmi_high = 0, nmi_low = 0; + if (!cpu_gdt_descr[cpu].address && + !(cpu_gdt_descr[cpu].address = get_zeroed_page(GFP_KERNEL))) { + printk("Failed to allocate GDT for CPU %d\n", cpu); + return 1; + } + ++cpucount; /* Index: linux-2.6.14-zach-work/arc...
2007 Apr 18
0
[PATCH 13/21] i386 Gdt page isolation
...==================================== --- linux-2.6.14-zach-work.orig/arch/i386/kernel/smpboot.c 2005-11-04 12:12:35.000000000 -0800 +++ linux-2.6.14-zach-work/arch/i386/kernel/smpboot.c 2005-11-04 17:55:00.000000000 -0800 @@ -877,6 +877,12 @@ static int __devinit do_boot_cpu(int api unsigned long start_eip; unsigned short nmi_high = 0, nmi_low = 0; + if (!cpu_gdt_descr[cpu].address && + !(cpu_gdt_descr[cpu].address = get_zeroed_page(GFP_KERNEL))) { + printk("Failed to allocate GDT for CPU %d\n", cpu); + return 1; + } + ++cpucount; /* Index: linux-2.6.14-zach-work/arc...
2007 Apr 18
1
[PATCH] Add smp_ops interface
...ll_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
...ll_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
...ic_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, unsigned long v); + unsigned long (*a...
2007 Jul 09
1
[PATCH RFC] first cut at splitting up paravirt_ops
...ic_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, unsigned long v); + unsigned long (*a...
2009 Nov 18
5
[PATCH 0/3] Split up pv-ops
Paravirt ops is currently only capable of either replacing a lot of Linux internal code or none at all. The are users that don't need all of the possibilities pv-ops delivers though. On KVM for example we're perfectly fine not using the PV MMU, thus not touching any MMU code. That way we don't have to improve pv-ops to become fast, we just don't compile the MMU parts in! This
2009 Nov 18
5
[PATCH 0/3] Split up pv-ops
Paravirt ops is currently only capable of either replacing a lot of Linux internal code or none at all. The are users that don't need all of the possibilities pv-ops delivers though. On KVM for example we're perfectly fine not using the PV MMU, thus not touching any MMU code. That way we don't have to improve pv-ops to become fast, we just don't compile the MMU parts in! This