On Mon, 07 Apr 2008 11:05:06 -0500
Anthony Liguori [EMAIL PROTECTED] wrote:
Perhaps a viable way to fix this upstream would be to catch the vmentry
failure, look to see if SS.CPL != CS.CPL, and if so, invoke
x86_emulate() in a loop until SS.CPL == CS.CPL.
I tried this solution some time ago
Великолепное качество тканей, богатое разнообразие цветовых решений украсит Ваш
дом и сделает Вашу жизнь приятной и красивой.
Известные мировые торговые марки постельного белья - TAC, Tivolyo, Anabella, Le
Vele, Caleffi представленные в нашем магазине, способны удовлетворить вкус
самого
Иностpанные pаботники-особенности тpудовыx отношений и налогообложения.
Новшества в законодательстве
10 апpеля 2008, г. Москва
Пpогpамма:
1. Статус иностpанного гpажданина в pФ. pезиденты и неpезиденты. pегистpация по
месту жительства.
2. Участие иностpанцев в тpудовыx отношенияx в pФ. Кто
Guillaume Thouvenin wrote:
On Mon, 07 Apr 2008 11:05:06 -0500
Anthony Liguori [EMAIL PROTECTED] wrote:
Perhaps a viable way to fix this upstream would be to catch the vmentry
failure, look to see if SS.CPL != CS.CPL, and if so, invoke
x86_emulate() in a loop until SS.CPL == CS.CPL.
On Tue, Apr 08, 2008 at 01:03:58AM +0200, Zdenek Kabelac wrote:
Hi
I've tried to compile git tree for kvm-userspace.git
I've used these configure options:
--disable-gcc-check --with-patched-kernel
using x86-64 platform
I've got this error:
ar rcs libqemu.a exec.o kqemu.o
On Tue, 08 Apr 2008 07:14:13 -0500
Anthony Liguori [EMAIL PROTECTED] wrote:
Guillaume Thouvenin wrote:
On Mon, 07 Apr 2008 11:05:06 -0500
Anthony Liguori [EMAIL PROTECTED] wrote:
Perhaps a viable way to fix this upstream would be to catch the vmentry
failure, look to see if
2008/4/8, Marcelo Tosatti [EMAIL PROTECTED]:
On Tue, Apr 08, 2008 at 01:03:58AM +0200, Zdenek Kabelac wrote:
Hi
I've tried to compile git tree for kvm-userspace.git
I've used these configure options:
--disable-gcc-check --with-patched-kernel
using x86-64 platform
# HG changeset patch
# User Andrea Arcangeli [EMAIL PROTECTED]
# Date 1207666463 -7200
# Node ID 33de2e17d0f5670515833bf8d3d2ea19e2a85b09
# Parent baceb322b45ed43280654dac6c964c9d3d8a936f
Moves all mmu notifier methods outside the PT lock (first and not last
step to make them sleep capable).
# HG changeset patch
# User Andrea Arcangeli [EMAIL PROTECTED]
# Date 1207666462 -7200
# Node ID baceb322b45ed43280654dac6c964c9d3d8a936f
# Parent ec6d8f91b299cf26cce5c3d49bb25d35ee33c137
Core of mmu notifiers.
Signed-off-by: Andrea Arcangeli [EMAIL PROTECTED]
Signed-off-by: Nick Piggin [EMAIL
# HG changeset patch
# User Andrea Arcangeli [EMAIL PROTECTED]
# Date 1207666893 -7200
# Node ID b0cb674314534b9cc4759603f123474d38427b2d
# Parent 20e829e35dfeceeb55a816ef495afda10cd50b98
We no longer abort unmapping in unmap vmas because we can reschedule while
unmapping since we are holding a
# HG changeset patch
# User Andrea Arcangeli [EMAIL PROTECTED]
# Date 1207666972 -7200
# Node ID 3b14e26a4e0491f00bb989be04d8b7e0755ed2d7
# Parent a0c52e4b9b71e2627238b69c0a58905097973279
XPMEM would have used sys_madvise() except that madvise_dontneed()
returns an -EINVAL if VM_PFNMAP is set,
# HG changeset patch
# User Andrea Arcangeli [EMAIL PROTECTED]
# Date 1207666463 -7200
# Node ID 2c2ed514f294dbbfc66157f771bc900789ac6005
# Parent 33de2e17d0f5670515833bf8d3d2ea19e2a85b09
Move the tlb flushing into free_pgtables. The conversion of the locks
taken for reverse map scanning would
# HG changeset patch
# User Andrea Arcangeli [EMAIL PROTECTED]
# Date 1207666968 -7200
# Node ID a0c52e4b9b71e2627238b69c0a58905097973279
# Parent b0cb674314534b9cc4759603f123474d38427b2d
Convert the anon_vma spinlock to a rw semaphore. This allows concurrent
traversal of reverse maps for
# HG changeset patch
# User Andrea Arcangeli [EMAIL PROTECTED]
# Date 1207666972 -7200
# Node ID bd55023b22769ecb14b26c2347947f7d6d63bcea
# Parent 3b14e26a4e0491f00bb989be04d8b7e0755ed2d7
This patch adds a lock ordering rule to avoid a potential deadlock when
multiple mmap_sems need to be locked.
# HG changeset patch
# User Andrea Arcangeli [EMAIL PROTECTED]
# Date 1207666463 -7200
# Node ID 20e829e35dfeceeb55a816ef495afda10cd50b98
# Parent 2c2ed514f294dbbfc66157f771bc900789ac6005
The conversion to a rwsem allows callbacks during rmap traversal
for files in a non atomic context. A rw
The difference with #v11 is a different implementation of mm_lock that
guarantees handling signals in O(N). It's also more lowlatency friendly.
Note that mmu_notifier_unregister may also fail with -EINTR if there are
signal pending or the system runs out of vmalloc space or physical memory,
only
# HG changeset patch
# User Andrea Arcangeli [EMAIL PROTECTED]
# Date 1207666462 -7200
# Node ID ec6d8f91b299cf26cce5c3d49bb25d35ee33c137
# Parent d4c25404de6376297ed34fada14cd6b894410eb0
Lock the entire mm to prevent any mmu related operation to happen.
Signed-off-by: Andrea Arcangeli [EMAIL
Hi,
This is the final integration of dma_ops between x86_64 and i386.
The final code is closer to x86_64 than to i386, which is obviously expected.
At the end, pci-dma_{32,64}.c are gone, pci-nommu_64.c is gone, and the
temporary
pci-base_32.c is gone too.
This patchset received the same level
This one does not build on ia64. I get the following:
[EMAIL PROTECTED] mmu_v12_xpmem_v003_v1]$ make compressed
CHK include/linux/version.h
CHK include/linux/utsrelease.h
CALLscripts/checksyscalls.sh
CHK include/linux/compile.h
CC mm/mmu_notifier.o
In file included
This functions are now called conditionally on their
existence in the struct. So just delete them, instead
of keeping an empty implementation.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/pci-nommu_64.c | 15 ---
1 files changed, 0 insertions(+), 15
This patch introduces pci-dma.c, a common file for pci dma
between i386 and x86_64. As a start, dma_set_mask() is the same
between architectures, and is placed there.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/Makefile |2 +-
arch/x86/kernel/pci-dma.c| 14
This patch implements mapping_error for pci-nommu_64.c.
It takes care to keep the same compatible behaviour it already
had. Although this file is not (yet) used for i386, we introduce
the i386 version here. Again, care is taken, even at the expense of
an ifdef, to keep the same behaviour
To make the code usable in i386, where we have high memory mappings,
we drop te virt_to_bus(sg_virt()) construction in favour of sg_phys.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/pci-nommu_64.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git
This is done to get the code closer to x86_64.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/pci-base_32.c |1 +
include/asm-x86/scatterlist.h |2 --
2 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/pci-base_32.c
we merge the iommu initialization parameters in pci-dma.c
Nice thing, that both architectures at least recognize the same
parameters.
usedac i386 parameter is marked for deprecation
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
Documentation/feature-removal-schedule.txt |7 +++
This patch moves the bootmem functions, that are largely
x86_64-specific into pci-dma.c. The code goes inside an ifdef.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/pci-dma.c| 73 ++
arch/x86/kernel/pci-dma_64.c | 68
They are placed in an ifdef, since they are i386 specific
the structure definition goes to dma-mapping.h.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/pci-dma.c | 81 +++
arch/x86/kernel/pci-dma_32.c | 85
i386 implements the declare coherent memory API, and x86_64 does not
it is reflected in pieces of dma_alloc_coherent and dma_free_coherent.
Those pieces are isolated in separate functions, that are declared
as empty macros in x86_64. This way we can make the code the same.
Signed-off-by: Glauber
It goes to pci-dma.c, and is removed from the arch-specific files.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/pci-dma.c|2 ++
arch/x86/kernel/pci-dma_32.c |4
arch/x86/kernel/pci-dma_64.c |2 --
3 files changed, 2 insertions(+), 6 deletions(-)
diff
This patch puts in the code to retry allocation in case it fails. By its
own, it does not make much sense but making the code look like x86_64.
But later patches in this series will make we try to allocate from
zones other than DMA first, which will possibly fail.
Signed-off-by: Glauber Costa
We call unmap_single, if available.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/pci-dma_32.c |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/x86/kernel/pci-dma_32.c b/arch/x86/kernel/pci-dma_32.c
index 78c7640..49166a4 100644
---
We can do it here to, in the same way x86_64 does.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/pci-dma_32.c | 27 ++-
1 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/arch/x86/kernel/pci-dma_32.c b/arch/x86/kernel/pci-dma_32.c
index
If we fail, we'll loop into the allocation again,
and then allocate in the DMA zone.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/pci-dma_32.c |3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
diff --git a/arch/x86/kernel/pci-dma_32.c
We can use a fallback dev for cases of a NULL device being passed (mostly ISA)
This comes from x86_64 implementation.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/pci-dma_32.c | 13 +
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git
The claim is that i386 does it. Just it does not.
So remove it.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/pci-dma_64.c |4
1 files changed, 0 insertions(+), 4 deletions(-)
diff --git a/arch/x86/kernel/pci-dma_64.c b/arch/x86/kernel/pci-dma_64.c
index
Just return our allocation if we don't have an mmu. For i386, where this patch
is being applied, we never have. So our goal is just to have the code to look
like
x86_64's.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/pci-dma_32.c | 34 --
if the device hasn't provided a mask, abort allocation.
Note that we're using a fallback device now, so it does not cover
the case of a NULL device: just drivers passing NULL masks around.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/pci-dma_32.c |3 +++
1 files
The code in pci-dma_{32,64}.c are now sufficiently
close to each other. We merge them in pci-dma.c.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/Makefile |2 +-
arch/x86/kernel/pci-dma.c| 175 ++
merge pci-base_32.c and pci-nommu_64.c into pci-nommu.c
Their code were made the same, so now they can be merged.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/Makefile |5 +-
arch/x86/kernel/pci-base_32.c | 60
arch/x86/kernel/pci-dma.c
via_no_dac provides a fixup that is the same for both
architectures. Move it to pci-dma.c.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/pci-dma.c | 18 ++
arch/x86/kernel/pci-dma_32.c | 13 -
arch/x86/kernel/pci-dma_64.c | 15
initcalls that triggers the various possibiities for
dma subsys are moved to pci-dma.c.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/pci-dma.c| 25 +
arch/x86/kernel/pci-dma_64.c | 23 ---
2 files changed, 25
Move dma_ops structure definition to pci-dma.c, where it
belongs.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/pci-base_32.c | 11 ---
arch/x86/kernel/pci-dma.c |3 +++
arch/x86/mm/init_64.c |3 ---
3 files changed, 11 insertions(+), 6
This patch adds flush_write_buffers() in some functions of pci-nommu_64.c
They are added anywhere i386 would also have it. This is not a problem
for x86_64, since flush_rite_buffers() an nop for it.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/pci-nommu_64.c |2 ++
1
The code for both arches are very similar, so this patch merge them.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/pci-dma.c| 44 ++
arch/x86/kernel/pci-dma_32.c | 24 --
arch/x86/kernel/pci-dma_64.c | 44
Instead of artificially limiting irq numbers, use arch provided NR_IRQS
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
irqhook/irqhook_main.c | 16 +++-
1 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/irqhook/irqhook_main.c b/irqhook/irqhook_main.c
index
Use the same gfp masks for x86_64 and i386.
It involves using HIGHMEM or DMA32 where necessary, for the sake
of code compatibility, (no real effect), and using the NORETRY
mask for i386.
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
---
arch/x86/kernel/pci-dma_32.c |6 --
On Tue, Apr 08, 2008 at 11:26:19AM -0500, Robin Holt wrote:
This one does not build on ia64. I get the following:
I think it's a common code compilation bug not related to my
patch. Can you test this?
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
---
It may also be useful to allow invalidate_start() to fail in some contexts
(try_to_unmap f.e., maybe if a certain flag is passed). This may allow the
device to get out of tight situations (pending I/O f.e. or time out if
there is no response for network communications). But then that
If you love the fast life, you need a huge key to turn the women on.
http://www.inhieit.com/
-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Register now and save $200. Hurry, offer ends at 11:59 p.m.,
Andrea Arcangeli wrote:
Note that mmu_notifier_unregister may also fail with -EINTR if there are
signal pending or the system runs out of vmalloc space or physical memory,
only exit_mmap guarantees that any kernel module can be unloaded in presence
of an oom condition.
That's unusual.
Liu, Eric E wrote:
High order 32 bits of cr2 are lost.
May I use KVMTRACE_3D(PAGE_FAULT, vcpu, error_code, (u32)cr2,
(u32)((u64)cr2 32), handler) to handle this?
for 32bit gust, it traces some excess data, but after all for 64bit
guest, we don't lost high order bits.
Sure.
Guillaume Thouvenin wrote:
x86 emulate is missing support for jmp far which is used to switch into
protected mode. It just needs to be added.
Ok I see. I understand now why you said in a previous email that KVM
needs to have a proper load_seg() function like the Xen's
Zdenek Kabelac wrote:
Core was generated by `qemu-kvm -s -m 320 -smp 2 -net nic,model=pcnet
-net user -redir'.
Program terminated with signal 11, Segmentation fault.
#0 0x004849a7 in tcp_reass (tp=0x7fabec000d60, ti=0xec000d60,
m=0x0) at slirp/tcp_input.c:208
User mode
Marcelo Tosatti wrote:
Avi, I prefer not to fold mpstate into kvm_save_registers() as a hidden
register because the MPSTATE is only used during migration, whereas
save_registers() is not (seems safer)
But that's the point... what about savevm/loadvm, etc? They deserve to
work too.
--
Any
On Wed, Apr 09, 2008 at 12:46:49AM +0300, Avi Kivity wrote:
That's unusual. What happens to the notifier? Suppose I destroy a vm
Yes it's quite unusual.
without exiting the process, what happens if it fires?
The mmu notifier ops should stop doing stuff (if there will be no
memslots they
# HG changeset patch
# User Jerone Young [EMAIL PROTECTED]
# Date 1207692873 18000
# Branch merge
# Node ID 8ddf560729aac228cd84068e1227e601e68a6840
# Parent 94cbc19df0f0fcab150599b10d859f1a3bc1b7cb
[v2] Move kvm_get_pit to libkvm.c common code
- I am resending this patch removing ia64.
From the FMF, Federal Ministry of Finance
No 12 edidi lane Idumota Lagos
Honourable Minister of Finance, DR USMAN SHAMSUDEEN
Approved by the Nigerian Government
http://www.fmf.gov.ng/portal/detail.php?link=hmf
NOTIFICATION OF PAYMENT VIA ATM CARD
This is to officially inform you that
On Wed, Apr 09, 2008 at 12:59:50AM +0300, Avi Kivity wrote:
Marcelo Tosatti wrote:
Avi, I prefer not to fold mpstate into kvm_save_registers() as a hidden
register because the MPSTATE is only used during migration, whereas
save_registers() is not (seems safer)
But that's the point... what
* On Tuesday 08 April 2008 22:34:36 Glauber Costa wrote:
Instead of artificially limiting irq numbers, use arch provided NR_IRQS
Signed-off-by: Glauber Costa [EMAIL PROTECTED]
Thanks, applied.
Going forward, we're going to use the in-kernel approach for interrupt
injection (which already has
59 matches
Mail list logo