Changes v1-v2
* Disassembler doesn't include GPLv3 code.
* Smashed about 20 commits into the New TCG Target patch,
which is fully functional from the beginning.
* Merged a lot of the follow-on patches such that introducing
the use of an instruction and conditionalizing the use of
Before gcc 4.2, __builtin___clear_cache doesn't exist, and
afterward the gcc s390 backend implements it as nothing.
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.h |5 -
1 files changed, 0 insertions(+), 5 deletions(-)
diff --git a/tcg/s390/tcg-target.h
Signed-off-by: Richard Henderson r...@twiddle.net
---
cpu-exec.c | 42 +++---
1 files changed, 39 insertions(+), 3 deletions(-)
diff --git a/cpu-exec.c b/cpu-exec.c
index c776605..026980a 100644
--- a/cpu-exec.c
+++ b/cpu-exec.c
@@ -1156,11 +1156,47 @@ int
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 25 ++---
1 files changed, 10 insertions(+), 15 deletions(-)
diff --git a/tcg/s390/tcg-target.c b/tcg/s390/tcg-target.c
index 55f0fa9..5b2134b 100644
--- a/tcg/s390/tcg-target.c
+++
There's no _llseek on s390x either. Replace the existing
test for __x86_64__ with a functional test for __NR_llseek.
Signed-off-by: Richard Henderson r...@twiddle.net
---
linux-user/syscall.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/linux-user/syscall.c
This allows the use of direct calls to the helpers,
and a direct branch back to the epilogue.
Signed-off-by: Richard Henderson r...@twiddle.net
---
exec.c |7 +++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/exec.c b/exec.c
index bb3dcad..7bbfe60 100644
--- a/exec.c
+++
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 26 --
1 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/tcg/s390/tcg-target.c b/tcg/s390/tcg-target.c
index 2b80c02..95ea3c8 100644
--- a/tcg/s390/tcg-target.c
+++
Use a define for the temp register instead of hard-coding it.
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 54 ++--
1 files changed, 29 insertions(+), 25 deletions(-)
diff --git a/tcg/s390/tcg-target.c
Some hosts (amd64, ia64) have an ABI that ignores the high bits
of the 64-bit register when passing 32-bit arguments. Others,
like s390x, require the value to be properly sign-extended for
the type. I.e. int32_t must be sign-extended and uint32_t
must be zero-extended to 64-bits.
To effect
Verify that we have all the instruction extensions that we generate.
Future patches can tailor code generation to the set of instructions
that are present.
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 113 +
1
We already have stubs for a TCG target on S390, but were missing code that
would actually generate instructions.
So I took Uli's patch, cleaned it up and present it to you again :-).
I hope I found all odd coding style and unprettiness issues, but if you
still spot one feel free to nag about it.
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 164 -
tcg/s390/tcg-target.h | 20 +++---
2 files changed, 158 insertions(+), 26 deletions(-)
diff --git a/tcg/s390/tcg-target.c b/tcg/s390/tcg-target.c
index
Make better use of the LOAD HALFWORD IMMEDIATE, LOAD IMMEDIATE,
and INSERT IMMEDIATE instruction groups.
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 129 +++--
1 files changed, 113 insertions(+), 16 deletions(-)
diff
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 46 ++
tcg/s390/tcg-target.h |4 ++--
2 files changed, 48 insertions(+), 2 deletions(-)
diff --git a/tcg/s390/tcg-target.c b/tcg/s390/tcg-target.c
index
Try to avoid conflicting with the outgoing function call arguments.
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 23 +--
1 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/tcg/s390/tcg-target.c b/tcg/s390/tcg-target.c
index
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 179 +
1 files changed, 166 insertions(+), 13 deletions(-)
diff --git a/tcg/s390/tcg-target.c b/tcg/s390/tcg-target.c
index 795ddcd..53a92c5 100644
---
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 10 ++
1 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/tcg/s390/tcg-target.c b/tcg/s390/tcg-target.c
index f53038b..826a2c8 100644
--- a/tcg/s390/tcg-target.c
+++ b/tcg/s390/tcg-target.c
@@
The full general-instruction-extension facility was added to binutils
after the change to GPLv3. This is not the entire extension, just
what we're using in TCG.
Signed-off-by: Richard Henderson r...@twiddle.net
---
s390-dis.c | 89 ++-
1
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 43 +++
1 files changed, 39 insertions(+), 4 deletions(-)
diff --git a/tcg/s390/tcg-target.c b/tcg/s390/tcg-target.c
index 5446591..f1e00e9 100644
--- a/tcg/s390/tcg-target.c
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 24
tcg/s390/tcg-target.h | 10 +-
2 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/tcg/s390/tcg-target.c b/tcg/s390/tcg-target.c
index 42e3224..3a98ca3 100644
---
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 60 +---
1 files changed, 56 insertions(+), 4 deletions(-)
diff --git a/tcg/s390/tcg-target.c b/tcg/s390/tcg-target.c
index a17ef91..5446591 100644
---
Create a tcg_prepare_user_ldst to prep the host address to
be used to implement the guest memory operation.
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 33 +
1 files changed, 21 insertions(+), 12 deletions(-)
diff --git
Invent tcg_out_ld_abs, using LOAD RELATIVE instructions, and use it.
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 37 +
1 files changed, 25 insertions(+), 12 deletions(-)
diff --git a/tcg/s390/tcg-target.c
Make use of the reg+reg+disp addressing mode to eliminate
redundant additions. Make use of the load-and-operate insns.
Avoid an extra register copy when using the 64-bit shift insns.
Fix the width of the TLB comparison.
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c
Signed-off-by: Richard Henderson r...@twiddle.net
---
configure |2 ++
tcg/s390/tcg-target.c | 24 ++--
tcg/s390/tcg-target.h |2 ++
3 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 7f5b5b2..e80b820 100755
---
Split out qemu_ld/st_direct with full address components.
Avoid copy from addr_reg to R2 for 64-bit guests.
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 282 ++---
1 files changed, 151 insertions(+), 131 deletions(-)
These instructions are available with the general-instructions-extension
facility. Use them if available.
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 102 +---
1 files changed, 95 insertions(+), 7 deletions(-)
diff
This instruction is always available, and nicely eliminates
the constant load for comparisons against zero.
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 133 +---
1 files changed, 91 insertions(+), 42 deletions(-)
Translation blocks are never big enough to require 32-bit branches.
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 27 ++-
1 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/tcg/s390/tcg-target.c b/tcg/s390/tcg-target.c
index
On 06/04/2010 12:19 PM, Blue Swirl wrote:
Sparc32plus would match, though the ABI does not guarantee that higher
32 bits are preserved.
Actually, it does for %g and %o registers. See section 2.1.1.
I've thought before about how to adjust the __sparcv8plus__ TCG
to use full 64-bit registers
On Thu, Jun 3, 2010 at 12:26 AM, Richard Henderson r...@twiddle.net wrote:
Mirror tcg_out_movi in having a TYPE parameter. This allows x86_64
to perform the move at the proper width, which may elide a REX prefix.
Introduce a TCG_TYPE_REG enumerator to represent the native width
of the host
The TCG translator will *not* work in 32-bit mode, and there is a
check added to query_facilities to enforce that.
However, QEMU can run in KVM mode when built in 32-bit mode, and
this patch is just good enough to enable that method to continue.
Signed-off-by: Richard Henderson r...@twiddle.net
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 119 +---
1 files changed, 111 insertions(+), 8 deletions(-)
diff --git a/tcg/s390/tcg-target.c b/tcg/s390/tcg-target.c
index 53a92c5..a17ef91 100644
---
This patch adds initial support for the -machine option, that allows
command line specification of machine attributes.
Besides its value per-se, it is the saner way we found to
allow for enabling/disabling of kvm's in-kernel irqchip.
machine-related options like kernel, initrd, etc, are now
Both bdrv_can_snapshot() and bdrv_has_snapshot() does not work as advertized.
First issue: Their names implies different porpouses, but they do the same thing
and have exactly the same code. Maybe copied and pasted and forgotten?
bdrv_has_snapshot() is called in various places for actually
On Fri, Jun 4, 2010 at 5:40 PM, Artyom Tarasenko
atar4q...@googlemail.com wrote:
2010/5/27 Bob Breuer breu...@mc.net:
+ /* DBRI (audio) */
+ cpu_register_physical_memory_offset(0xEE0001000ULL, 0x1, bad_mem,
0xE0001000);
Please add a new DBRI device ;-).
Or maybe just a field in
Thanks, applied.
On Fri, Jun 4, 2010 at 4:23 PM, Richard Henderson r...@twiddle.net wrote:
On 06/04/2010 07:27 AM, Paolo Bonzini wrote:
Negative four byte displacements need to be sign-extended after
c086b783eb7a578993d6d2ab62c4c2666800b63d. Do so.
Acked-by: Richard Henderson
The ADD IMMEDIATE instructions are in the extended-immediate facility.
Using them gives us a 32-bit immediate addend.
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 96
1 files changed, 80 insertions(+), 16
These instructions are available with extended-immediate facility.
Signed-off-by: Richard Henderson r...@twiddle.net
---
tcg/s390/tcg-target.c | 44 ++--
1 files changed, 42 insertions(+), 2 deletions(-)
diff --git a/tcg/s390/tcg-target.c
---
kvm-all.c | 32
kvm.h |1 +
2 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/kvm-all.c b/kvm-all.c
index 47f58a6..2982631 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -1257,6 +1257,38 @@ int kvm_set_signal_mask(CPUState *env, const
Latest patch for PCI shared memory device that maps a host shared memory object
to be shared between guests
new in this series
- migration support with 'master' and 'peer' roles for guest to determine
who owns memory. With 'master', the guest has the canonical copy of
the shared
Support an inter-vm shared memory device that maps a shared-memory object as a
PCI device in the guest. This patch also supports interrupts between guest by
communicating over a unix domain socket. This patch applies to the qemu-kvm
repository.
-device ivshmem,size=size in format accepted
This is useful for devices that do not want to take memory regions data with
them on migration.
---
arch_init.c | 28
cpu-all.h|2 ++
cpu-common.h |2 ++
exec.c | 12
4 files changed, 32 insertions(+), 12 deletions(-)
diff --git
phys_ram_dirty are 8-bit values storing 3 dirty bits. Change to more generic
phys_ram_flags and use lower 4-bits for dirty status and leave upper 4 for
other uses.
The names of functions may need to be changed as well, such as
c_p_m_get_dirty().
---
cpu-all.h | 16 +---
exec.c
this code is a standalone server which will pass file descriptors for the shared
memory region and eventfds to support interrupts between guests using inter-VM
shared memory.
---
contrib/ivshmem-server/Makefile | 16 ++
contrib/ivshmem-server/README | 30 +++
---
docs/specs/ivshmem_device_spec.txt | 96
1 files changed, 96 insertions(+), 0 deletions(-)
create mode 100644 docs/specs/ivshmem_device_spec.txt
diff --git a/docs/specs/ivshmem_device_spec.txt
b/docs/specs/ivshmem_device_spec.txt
new file mode 100644
This patch adds a driver for my shared memory PCI device using the uio_pci
interface. The driver has three memory regions. The first memory region is for
device registers for sending interrupts. The second BAR is for receiving MSI-X
interrupts and the third memory region maps the shared memory.
Blue Swirl wrote:
On Thu, Jun 3, 2010 at 7:06 AM, Gleb Natapov g...@redhat.com wrote:
On Thu, Jun 03, 2010 at 10:03:00AM +0300, Gleb Natapov wrote:
On Thu, Jun 03, 2010 at 08:59:23AM +0200, Jan Kiszka wrote:
Gleb Natapov wrote:
On Thu, Jun 03, 2010 at 08:23:46AM +0200, Jan Kiszka wrote:
Blue
no comments?
On Tue, Jun 1, 2010 at 12:26, TeLeMan gele...@gmail.com wrote:
The commit 8e65b7c04965c8355e4ce43211582b6b83054e3d introduced
expire_time of UHCIState. But expire_time is not in vmstate, the
second uhci_frame_timer will not be fired immediately after loadvm.
Signed-off-by:
This patch series introduces the security model for VirtFS.
Brief description of this patch series:
It introduces two type of security models for VirtFS.
They are: mapped and passthrough.
The following is common to both security models.
* Client's VFS determines/enforces the access control.
Signed-off-by: Venkateswararao Jujjuri jv...@linux.vnet.ibm.com
---
hw/file-op-9p.h |2 +-
hw/virtio-9p-local.c | 11 +++
hw/virtio-9p.c |5 -
3 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/hw/file-op-9p.h b/hw/file-op-9p.h
index 307bd1e..1c8d89b
Signed-off-by: Venkateswararao Jujjuri jv...@linux.vnet.ibm.com
---
hw/file-op-9p.h |2 +-
hw/virtio-9p-local.c |9 +++--
hw/virtio-9p.c |9 +++--
3 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/hw/file-op-9p.h b/hw/file-op-9p.h
index
The new option is:
-fsdev fstype,id=myid,path=/share_path/,security_model=[mapped|passthrough]
-virtfs fstype,path=/share_path/,security_model=[mapped|passthrough],mnt_tag=tag
In the case of mapped security model, files are created with QEMU user
credentials and the client-user's credentials are
This patch uses mknod to create socket.
On Host/Fileserver:
-rw---. 1 virfsuid virtfsgid 0 2010-05-11 09:57 asocket1
On Guest/Client:
srwxr-xr-x 1 guestuser guestuser 0 2010-05-11 12:57 asocket1
Signed-off-by: Venkateswararao Jujjuri jv...@linux.vnet.ibm.com
---
hw/file-op-9p.h |1
Signed-off-by: Venkateswararao Jujjuri jv...@linux.vnet.ibm.com
---
hw/virtio-9p-local.c | 62 ++---
1 files changed, 58 insertions(+), 4 deletions(-)
diff --git a/hw/virtio-9p-local.c b/hw/virtio-9p-local.c
index 0a21591..b1d2764 100644
---
Mapped mode stores extended attributes in the user space of the extended
attributes. Given that the user space extended attributes are available
to regular files only, special files are created as regular files on the
fileserver and appropriate mode bits are added to the extended attributes.
This
This patch adds required infrastructure for the new security model.
Signed-off-by: Venkateswararao Jujjuri jv...@linux.vnet.ibm.com
---
hw/file-op-9p.h | 20 +++
hw/virtio-9p-local.c | 65 +++---
hw/virtio-9p.c | 23
Signed-off-by: Venkateswararao Jujjuri jv...@linux.vnet.ibm.com
---
hw/file-op-9p.h |2 +-
hw/virtio-9p-local.c | 35 +--
hw/virtio-9p.c | 12 +---
3 files changed, 43 insertions(+), 6 deletions(-)
diff --git a/hw/file-op-9p.h
In the mapped security model, VirtFS server intercepts and maps
the file object create and get/set attribute requests. Files on the fileserver
will be created with VirtFS servers (QEMU) user credentials and the
client-users credentials are stored in extended attributes. On the request
to get
Mapped mode stores extended attributes in the user space of the extended
attributes. Given that the user space extended attributes are available
to regular files only, special files are created as regular files on the
fileserver and appropriate mode bits are added to the extended attributes.
This
On Fri, 4 Jun 2010 09:12:05 pm Michael S. Tsirkin wrote:
On Fri, Jun 04, 2010 at 08:46:49PM +0930, Rusty Russell wrote:
I'm uncomfortable with moving a field.
We haven't done that before and I wonder what will break with old code.
With e.g. my patch, We only do this conditionally when
201 - 261 of 261 matches
Mail list logo