Displaying 20 results from an estimated 600 matches similar to: "[RFC, PATCH 10/24] i386 Vmi descriptor changes"
2007 Apr 18
0
[RFC, PATCH 13/24] i386 Vmi system header
Fairly straightforward code motion in system.h into the sub-arch
layer. Affected functionality include control register accessors,
which are virtualizable but with great overhead due to the #GP
cost; wbinvd, and most importantly, halt and interrupt control,
which is non-virtualizable.
Since read_cr4_safe can never fault on a VMI kernel (P5+ processor
is required for VMI), we can omit the fault
2007 Apr 18
0
[RFC, PATCH 13/24] i386 Vmi system header
Fairly straightforward code motion in system.h into the sub-arch
layer. Affected functionality include control register accessors,
which are virtualizable but with great overhead due to the #GP
cost; wbinvd, and most importantly, halt and interrupt control,
which is non-virtualizable.
Since read_cr4_safe can never fault on a VMI kernel (P5+ processor
is required for VMI), we can omit the fault
2007 Apr 18
0
[RFC, PATCH 18/24] i386 Vmi tlbflush header
Again, more simple code movement. Move page invalidations and local
and global flushes to the sub-arch layer. Note global here does not
mean SMP, but the global bit of the page table entry.
Signed-off-by: Zachary Amsden <zach@vmware.com>
Index: linux-2.6.16-rc5/include/asm-i386/tlbflush.h
===================================================================
---
2007 Apr 18
0
[RFC, PATCH 18/24] i386 Vmi tlbflush header
Again, more simple code movement. Move page invalidations and local
and global flushes to the sub-arch layer. Note global here does not
mean SMP, but the global bit of the page table entry.
Signed-off-by: Zachary Amsden <zach@vmware.com>
Index: linux-2.6.16-rc5/include/asm-i386/tlbflush.h
===================================================================
---
2007 Apr 18
1
[RFC, PATCH 16/24] i386 Vmi io header
Move I/O instruction building to the sub-arch layer. Some very crafty
but esoteric macros are used here to get optimized native instructions
for port I/O in Linux be writing raw instruction strings. Adding a
wrapper layer here is fairly easy, and makes the full range of I/O
instructions available to the VMI interface.
Also, slowing down I/O is not a useful operation in a VM, so there
is a VMI
2007 Apr 18
1
[RFC, PATCH 16/24] i386 Vmi io header
Move I/O instruction building to the sub-arch layer. Some very crafty
but esoteric macros are used here to get optimized native instructions
for port I/O in Linux be writing raw instruction strings. Adding a
wrapper layer here is fairly easy, and makes the full range of I/O
instructions available to the VMI interface.
Also, slowing down I/O is not a useful operation in a VM, so there
is a VMI
2007 Apr 18
0
[RFC, PATCH 15/24] i386 Vmi apic header
Move APIC read / write accessors to sub-arch layer. Note that we
don't bother to implement apic_write_atomic any different, as it
is only present to work around old processor erratums (Pentium
Processor Spec update 11AP), and VMI kernels do not offer support
for this class of processor.
Signed-off-by: Zachary Amsden <zach@vmware.com>
Signed-off-by: Daniel Arai <arai@vmware.com>
2007 Apr 18
0
[RFC, PATCH 15/24] i386 Vmi apic header
Move APIC read / write accessors to sub-arch layer. Note that we
don't bother to implement apic_write_atomic any different, as it
is only present to work around old processor erratums (Pentium
Processor Spec update 11AP), and VMI kernels do not offer support
for this class of processor.
Signed-off-by: Zachary Amsden <zach@vmware.com>
Signed-off-by: Daniel Arai <arai@vmware.com>
2007 Apr 18
1
[RFC, PATCH 12/24] i386 Vmi processor header
Fairly straight code motion. Split non-virtualizable pieces of
processor.h into default and VMI subarches. CPUID is
non-virtualizable, since it doesn't trap, and very often the
hypervisor will want to hide specific feature bits from the
kernel. To provide a replacement for call sites that use
CPUID as a serializing instruction, the sync_core() macro is
still available.
Signed-off-by:
2007 Apr 18
1
[RFC, PATCH 12/24] i386 Vmi processor header
Fairly straight code motion. Split non-virtualizable pieces of
processor.h into default and VMI subarches. CPUID is
non-virtualizable, since it doesn't trap, and very often the
hypervisor will want to hide specific feature bits from the
kernel. To provide a replacement for call sites that use
CPUID as a serializing instruction, the sync_core() macro is
still available.
Signed-off-by:
2007 Apr 18
2
[RFC, PATCH 17/24] i386 Vmi msr patch
Fairly straightforward code motion of MSR / TSC / PMC accessors
to the sub-arch level. Note that rdmsr/wrmsr_safe functions are
not moved; Linux relies on the fault behavior here in the event
that certain MSRs are not supported on hardware, and combining
this with a VMI wrapper is overly complicated. The instructions
are virtualizable with trap and emulate, not on critical code
paths, and only
2007 Apr 18
2
[RFC, PATCH 17/24] i386 Vmi msr patch
Fairly straightforward code motion of MSR / TSC / PMC accessors
to the sub-arch level. Note that rdmsr/wrmsr_safe functions are
not moved; Linux relies on the fault behavior here in the event
that certain MSRs are not supported on hardware, and combining
this with a VMI wrapper is overly complicated. The instructions
are virtualizable with trap and emulate, not on critical code
paths, and only
2007 Apr 18
0
[RFC, PATCH 23/24] i386 Vmi timer patch
In a virtualized environment, virtual machines will time share the system
with each other and with other processes running on the host system.
Therefore, a VM's virtual CPUs (VCPUs) will be executing on the host's
physical CPUs (pcpus) for only some portion of time.
The VMI exposes a paravirtual view of time to the guest operating systems
so that they may operate more effectively in a
2007 Apr 18
0
[RFC, PATCH 23/24] i386 Vmi timer patch
In a virtualized environment, virtual machines will time share the system
with each other and with other processes running on the host system.
Therefore, a VM's virtual CPUs (VCPUs) will be executing on the host's
physical CPUs (pcpus) for only some portion of time.
The VMI exposes a paravirtual view of time to the guest operating systems
so that they may operate more effectively in a
2007 Apr 18
0
[PATCH 11/12] subarch-desc
i386 Transparent paravirtualization subarch patch #5
This change encapsulates descriptor and task register management.
Diffs against: 2.6.13-rc4-mm1
Signed-off-by: Zachary Amsden <zach@vmware.com>
Index: linux-2.6.13/include/asm-i386/desc.h
===================================================================
--- linux-2.6.13.orig/include/asm-i386/desc.h 2005-08-08 17:31:59.000000000 -0700
2007 Apr 18
0
[PATCH 11/12] subarch-desc
i386 Transparent paravirtualization subarch patch #5
This change encapsulates descriptor and task register management.
Diffs against: 2.6.13-rc4-mm1
Signed-off-by: Zachary Amsden <zach@vmware.com>
Index: linux-2.6.13/include/asm-i386/desc.h
===================================================================
--- linux-2.6.13.orig/include/asm-i386/desc.h 2005-08-08 17:31:59.000000000 -0700
2007 Apr 18
2
[PATCH 1/14] i386 / Make write ldt return error code
Xen requires error returns from the hypercall to update LDT entries,
and this generates completely equivalent code on native.
Patch-base: 2.6.13-rc5-mm1
Patch-keys: i386 desc ldt paravirt xen
Signed-off-by: Zachary Amsden <zach@vmware.com>
Index: linux-2.6.13/include/asm-i386/mach-default/mach_desc.h
===================================================================
---
2007 Apr 18
2
[PATCH 1/14] i386 / Make write ldt return error code
Xen requires error returns from the hypercall to update LDT entries,
and this generates completely equivalent code on native.
Patch-base: 2.6.13-rc5-mm1
Patch-keys: i386 desc ldt paravirt xen
Signed-off-by: Zachary Amsden <zach@vmware.com>
Index: linux-2.6.13/include/asm-i386/mach-default/mach_desc.h
===================================================================
---
2007 Apr 18
2
[PATCH 3/6] i386 virtualization - Make ldt a desc struct
* zach@vmware.com (zach@vmware.com) wrote:
> Make the LDT a desc_struct pointer, since this is what it actually is.
I like that plan.
> There is code which relies on the fact that LDTs are allocated in page
> chunks, and it is both cleaner and more convenient to keep the rather
> poorly named "size" variable from the LDT in terms of LDT pages.
I noticed it's replaced
2007 Apr 18
2
[PATCH 3/6] i386 virtualization - Make ldt a desc struct
* zach@vmware.com (zach@vmware.com) wrote:
> Make the LDT a desc_struct pointer, since this is what it actually is.
I like that plan.
> There is code which relies on the fact that LDTs are allocated in page
> chunks, and it is both cleaner and more convenient to keep the rather
> poorly named "size" variable from the LDT in terms of LDT pages.
I noticed it's replaced