Displaying 20 results from an estimated 22 matches for "__switch_t".
2007 Apr 18
2
[PATCH 2/5] Paravirt cpu batching.patch
..._user = native_flush_tlb,
.flush_tlb_kernel = native_flush_tlb_global,
diff -r 320f0d4d2280 arch/i386/kernel/process.c
--- a/arch/i386/kernel/process.c Tue Dec 12 13:50:50 2006 -0800
+++ b/arch/i386/kernel/process.c Tue Dec 12 13:50:53 2006 -0800
@@ -665,6 +665,37 @@ struct task_struct fastcall * __switch_t
load_TLS(next, cpu);
/*
+ * Restore IOPL if needed.
+ */
+ if (unlikely(prev->iopl != next->iopl))
+ set_iopl_mask(next->iopl);
+
+ /*
+ * Now maybe handle debug registers and/or IO bitmaps
+ */
+ if (unlikely((task_thread_info(next_p)->flags & _TIF_WORK_CTXSW)
+ || t...
2007 Apr 18
2
[PATCH 2/5] Paravirt cpu batching.patch
..._user = native_flush_tlb,
.flush_tlb_kernel = native_flush_tlb_global,
diff -r 320f0d4d2280 arch/i386/kernel/process.c
--- a/arch/i386/kernel/process.c Tue Dec 12 13:50:50 2006 -0800
+++ b/arch/i386/kernel/process.c Tue Dec 12 13:50:53 2006 -0800
@@ -665,6 +665,37 @@ struct task_struct fastcall * __switch_t
load_TLS(next, cpu);
/*
+ * Restore IOPL if needed.
+ */
+ if (unlikely(prev->iopl != next->iopl))
+ set_iopl_mask(next->iopl);
+
+ /*
+ * Now maybe handle debug registers and/or IO bitmaps
+ */
+ if (unlikely((task_thread_info(next_p)->flags & _TIF_WORK_CTXSW)
+ || t...
2007 Apr 18
0
[PATCH 2/6] Paravirt CPU hypercall batching mode
..._user = native_flush_tlb,
.flush_tlb_kernel = native_flush_tlb_global,
diff -r 01f2e46c1416 arch/i386/kernel/process.c
--- a/arch/i386/kernel/process.c Thu Dec 14 14:26:24 2006 -0800
+++ b/arch/i386/kernel/process.c Thu Dec 14 14:50:22 2006 -0800
@@ -665,6 +665,31 @@ struct task_struct fastcall * __switch_t
load_TLS(next, cpu);
/*
+ * Now maybe handle debug registers and/or IO bitmaps
+ */
+ if (unlikely((task_thread_info(next_p)->flags & _TIF_WORK_CTXSW)
+ || test_tsk_thread_flag(prev_p, TIF_IO_BITMAP)))
+ __switch_to_xtra(next_p, tss);
+
+ disable_tsc(prev_p, next_p);
+
+ /*
+ *...
2007 Apr 18
0
[PATCH 2/6] Paravirt CPU hypercall batching mode
..._user = native_flush_tlb,
.flush_tlb_kernel = native_flush_tlb_global,
diff -r 01f2e46c1416 arch/i386/kernel/process.c
--- a/arch/i386/kernel/process.c Thu Dec 14 14:26:24 2006 -0800
+++ b/arch/i386/kernel/process.c Thu Dec 14 14:50:22 2006 -0800
@@ -665,6 +665,31 @@ struct task_struct fastcall * __switch_t
load_TLS(next, cpu);
/*
+ * Now maybe handle debug registers and/or IO bitmaps
+ */
+ if (unlikely((task_thread_info(next_p)->flags & _TIF_WORK_CTXSW)
+ || test_tsk_thread_flag(prev_p, TIF_IO_BITMAP)))
+ __switch_to_xtra(next_p, tss);
+
+ disable_tsc(prev_p, next_p);
+
+ /*
+ *...
2007 Apr 18
0
[PATCH 3/6] IOPL handling for paravirt guests
...r paravirt guests
Signed-off-by: Zachary Amsden <zach@vmware.com>
diff -r 8110943fd7ad arch/i386/kernel/process.c
--- a/arch/i386/kernel/process.c Thu Dec 14 16:15:20 2006 -0800
+++ b/arch/i386/kernel/process.c Thu Dec 14 16:21:57 2006 -0800
@@ -665,6 +665,15 @@ struct task_struct fastcall * __switch_t
load_TLS(next, cpu);
/*
+ * Restore IOPL if needed. In normal use, the flags restore
+ * in the switch assembly will handle this. But if the kernel
+ * is running virtualized at a non-zero CPL, the popf will
+ * not restore flags, so it must be done in a separate step.
+ */
+ if (get_k...
2007 Apr 18
0
[PATCH 3/6] IOPL handling for paravirt guests
...r paravirt guests
Signed-off-by: Zachary Amsden <zach@vmware.com>
diff -r 8110943fd7ad arch/i386/kernel/process.c
--- a/arch/i386/kernel/process.c Thu Dec 14 16:15:20 2006 -0800
+++ b/arch/i386/kernel/process.c Thu Dec 14 16:21:57 2006 -0800
@@ -665,6 +665,15 @@ struct task_struct fastcall * __switch_t
load_TLS(next, cpu);
/*
+ * Restore IOPL if needed. In normal use, the flags restore
+ * in the switch assembly will handle this. But if the kernel
+ * is running virtualized at a non-zero CPL, the popf will
+ * not restore flags, so it must be done in a separate step.
+ */
+ if (get_k...
2012 Jun 29
0
[PATCH] linux-2.6.18/x86: improve CR0 read/write handling
...pu == 0 && cpu_gdt_descr->address == 0) {
gdt = (struct desc_struct *)alloc_bootmem_pages(PAGE_SIZE);
/* alloc_bootmem_pages panics on failure, so no check */
--- a/arch/i386/kernel/process-xen.c
+++ b/arch/i386/kernel/process-xen.c
@@ -641,6 +641,8 @@ struct task_struct fastcall * __switch_t
BUG_ON(mcl > _mcl + ARRAY_SIZE(_mcl));
if (unlikely(HYPERVISOR_multicall_check(_mcl, mcl - _mcl, NULL)))
BUG();
+ if (_mcl->op == __HYPERVISOR_fpu_taskswitch)
+ __get_cpu_var(xen_x86_cr0) |= X86_CR0_TS;
/*
* Restore %fs and %gs if needed.
--- a/arch/i386/kernel/traps-xen.c
+++...
2007 Apr 18
1
[RFC, PATCH 19/24] i386 Vmi mmu changes
...ocess.c
===================================================================
--- linux-2.6.16-rc5.orig/arch/i386/kernel/process.c 2006-03-10 13:03:36.000000000 -0800
+++ linux-2.6.16-rc5/arch/i386/kernel/process.c 2006-03-10 15:57:34.000000000 -0800
@@ -662,18 +662,6 @@ struct task_struct fastcall * __switch_t
load_TLS(next, cpu);
/*
- * Restore %fs and %gs if needed.
- *
- * Glibc normally makes %fs be zero, and %gs is one of
- * the TLS segments.
- */
- if (unlikely(prev->fs | next->fs))
- loadsegment(fs, next->fs);
-
- if (prev->gs | next->gs)
- loadsegment(gs, next->gs)...
2007 Apr 18
1
[RFC, PATCH 19/24] i386 Vmi mmu changes
...ocess.c
===================================================================
--- linux-2.6.16-rc5.orig/arch/i386/kernel/process.c 2006-03-10 13:03:36.000000000 -0800
+++ linux-2.6.16-rc5/arch/i386/kernel/process.c 2006-03-10 15:57:34.000000000 -0800
@@ -662,18 +662,6 @@ struct task_struct fastcall * __switch_t
load_TLS(next, cpu);
/*
- * Restore %fs and %gs if needed.
- *
- * Glibc normally makes %fs be zero, and %gs is one of
- * the TLS segments.
- */
- if (unlikely(prev->fs | next->fs))
- loadsegment(fs, next->fs);
-
- if (prev->gs | next->gs)
- loadsegment(gs, next->gs)...
2007 Apr 18
5
[patch 0/5] i386-gdt-pda i386 gdt and pda updates
Hi Andrew,
This patch series adds to the end of the existing i386-gdt-cleanups patches:
allow-per-cpu-variables-to-be-page-aligned.patch
i386-gdt-cleanups-use-per-cpu-variables-for-gdt-pda.patch
i386-gdt-cleanups-use-per-cpu-gdt-immediately-upon-boot.patch
i386-gdt-cleanups-use-per-cpu-gdt-immediately-upon-boot-fix.patch
i386-gdt-cleanups-clean-up-cpu_init.patch
2007 Apr 18
5
[patch 0/5] i386-gdt-pda i386 gdt and pda updates
Hi Andrew,
This patch series adds to the end of the existing i386-gdt-cleanups patches:
allow-per-cpu-variables-to-be-page-aligned.patch
i386-gdt-cleanups-use-per-cpu-variables-for-gdt-pda.patch
i386-gdt-cleanups-use-per-cpu-gdt-immediately-upon-boot.patch
i386-gdt-cleanups-use-per-cpu-gdt-immediately-upon-boot-fix.patch
i386-gdt-cleanups-clean-up-cpu_init.patch
2007 Apr 18
3
Per-cpu patches on top of PDA stuff...
Hi Jeremy, all,
Sorry this took so long, spent last week in Japan at OSDL conf then
netconf. After several false starts, I ended up with a very simple
implementation, which clashes significantly with your work since then
8(. I've pushed the patches anyway, but it's going to be significant
work for me to re-merge them, so I wanted your feedback first.
The first patch simply changes
2007 Apr 18
3
Per-cpu patches on top of PDA stuff...
Hi Jeremy, all,
Sorry this took so long, spent last week in Japan at OSDL conf then
netconf. After several false starts, I ended up with a very simple
implementation, which clashes significantly with your work since then
8(. I've pushed the patches anyway, but it's going to be significant
work for me to re-merge them, so I wanted your feedback first.
The first patch simply changes
2007 Apr 18
8
[patch 0/6] i386 gdt and percpu cleanups
Hi Andi,
This is a series of patches based on your latest queue (as of the
other day, at least).
It includes:
- the most recent patch to compute the appropriate amount of percpu
space to allocate, using a separate reservation for modules where
needed.
- make the percpu sections page-aligned, so that percpu variables can
be page aligned if needed (which is used by gdt_page)
-
2007 Apr 18
8
[patch 0/6] i386 gdt and percpu cleanups
Hi Andi,
This is a series of patches based on your latest queue (as of the
other day, at least).
It includes:
- the most recent patch to compute the appropriate amount of percpu
space to allocate, using a separate reservation for modules where
needed.
- make the percpu sections page-aligned, so that percpu variables can
be page aligned if needed (which is used by gdt_page)
-
2007 Apr 18
31
[PATCH 00/28] Updates for firstfloor paravirt-ops patches
Hi Andi,
This is a set of updates for the firstfloor patch queue.
Quick rundown:
revert-mm-x86_64-mm-account-for-module-percpu-space-separately-from-kernel-percpu.patch
separate-module-percpu-space.patch
Update the module percpu accounting patch
fix-ff-allow-percpu-variables-to-be-page-aligned.patch
Make sure the percpu memory allocation is page-aligned
2007 Apr 18
31
[PATCH 00/28] Updates for firstfloor paravirt-ops patches
Hi Andi,
This is a set of updates for the firstfloor patch queue.
Quick rundown:
revert-mm-x86_64-mm-account-for-module-percpu-space-separately-from-kernel-percpu.patch
separate-module-percpu-space.patch
Update the module percpu accounting patch
fix-ff-allow-percpu-variables-to-be-page-aligned.patch
Make sure the percpu memory allocation is page-aligned
2007 Apr 18
24
[patch 00/24] Xen-paravirt_ops: Xen guest implementation for paravirt_ops interface
Hi Andi,
This patch series implements the Linux Xen guest as a paravirt_ops
backend. The features in implemented this patch series are:
* domU only
* UP only (most code is SMP-safe, but there's no way to create a new vcpu)
* writable pagetables, with late pinning/early unpinning
(no shadow pagetable support)
* supports both PAE and non-PAE modes
* xen hvc console (console=hvc0)
*
2007 Apr 18
24
[patch 00/24] Xen-paravirt_ops: Xen guest implementation for paravirt_ops interface
Hi Andi,
This patch series implements the Linux Xen guest as a paravirt_ops
backend. The features in implemented this patch series are:
* domU only
* UP only (most code is SMP-safe, but there's no way to create a new vcpu)
* writable pagetables, with late pinning/early unpinning
(no shadow pagetable support)
* supports both PAE and non-PAE modes
* xen hvc console (console=hvc0)
*
2007 Apr 18
24
[patch 00/24] Xen-paravirt_ops: Xen guest implementation for paravirt_ops interface
Hi Andi,
This patch series implements the Linux Xen guest as a paravirt_ops
backend. The features in implemented this patch series are:
* domU only
* UP only (most code is SMP-safe, but there's no way to create a new vcpu)
* writable pagetables, with late pinning/early unpinning
(no shadow pagetable support)
* supports both PAE and non-PAE modes
* xen hvc console (console=hvc0)
*