Re: [Qemu-devel] virtio 1 issues

2015-08-09 Thread Jason Wang
On 08/07/2015 06:49 PM, Cornelia Huck wrote: > On Fri, 07 Aug 2015 13:07:35 +0800 > Jason Wang wrote: > >>> 2. ring resizing is broken - it actually has a comment: >>> /* TODO: need a way to put num back on reset. */ >>> guest that runs out of memory might down-size the ring. >>> Afterwa

Re: [Qemu-devel] [Qemu-ppc] [PATCH v3 0/4] target-ppc: Add FWNMI support in qemu for powerKVM guests

2015-08-09 Thread Sam Bobroff
On Sun, Aug 09, 2015 at 03:53:02PM +0200, Alexander Graf wrote: > > > On 07.08.15 05:37, Sam Bobroff wrote: > > Hello Aravinda and all, > > > > On Wed, Jul 08, 2015 at 01:58:13PM +0530, Aravinda Prasad wrote: > >> On Friday 03 July 2015 11:31 AM, David Gibson wrote: > >>> On Thu, Jul 02, 2015 at

Re: [Qemu-devel] [RFC PATCH v4 00/11] sPAPR CPU hotplug

2015-08-09 Thread Bharata B Rao
On Thu, Aug 06, 2015 at 04:42:05PM +0800, Zhu Guihua wrote: > > On 08/06/2015 01:27 PM, Bharata B Rao wrote: > >Hi, > > > >This is the next version of CPU hotplug support patchset for PowerPC > >sPAPR guests. This is a split-out from the previous version (v3) that > >was carrying CPU and memory ho

Re: [Qemu-devel] [PATCH for-2.5] piix: Document coreboot-specific RAM size config register

2015-08-09 Thread Ed Swierk
That original coreboot code certainly looks like a mistake. Thanks for helping close the decade-long loop. On Fri, Aug 7, 2015 at 12:15 PM, Eduardo Habkost wrote: > The existing i440fx initialization code sets a PCI config register that > isn't documented anywhere in the Intel 440FX datasheet.

[Qemu-devel] [Bug 1483070] [NEW] VIRTIO Sequential Write IOPS limits not working

2015-08-09 Thread James Watson
Public bug reported: Root Problem: IOPS limit does not work for VIRTIO devices if the disk workload is a sequential write. To confirm: IDE disk devices - the IOPS limit works fine. Disk transfer speed limit works fine. VIRTIO disk devices - the IOPS limit works fine for random IO (write/read) a

Re: [Qemu-devel] [PATCH for-2.5 5/6] qmp: add monitor command to add/remove a child

2015-08-09 Thread Wen Congyang
On 08/07/2015 09:12 PM, Alberto Garcia wrote: > On Fri 31 Jul 2015 11:19:14 AM CEST, Wen Congyang wrote: >> +## >> +# @child-add >> +# >> +# Add a new child to quorum. This is useful to fix a broken quorum >> child. > > But the idea is that this can be eventually used by other drivers, isn't > it?

Re: [Qemu-devel] [PATCH for-2.5 03/30] m68k: introduce read_imXX() functions

2015-08-09 Thread Andreas Schwab
Laurent Vivier writes: > Read a 8, 16 or 32bit immediat constant. > > An Immediat constant is stored in the instruction opcode and s/Immediat/immediate/ Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for some

[Qemu-devel] [PATCH for-2.5 26/30] m68k: add mull/divl

2015-08-09 Thread Laurent Vivier
Signed-off-by: Laurent Vivier --- target-m68k/cpu.h | 3 + target-m68k/helper.h| 6 ++ target-m68k/op_helper.c | 143 target-m68k/qregs.def | 1 + target-m68k/translate.c | 65 ++ 5 files changed, 208 insertio

[Qemu-devel] [PATCH for-2.5 22/30] m68k: add cas instruction

2015-08-09 Thread Laurent Vivier
Signed-off-by: Laurent Vivier --- target-m68k/translate.c | 65 + 1 file changed, 65 insertions(+) diff --git a/target-m68k/translate.c b/target-m68k/translate.c index add3b69..9a7558a 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translat

[Qemu-devel] [PATCH for-2.5 21/30] m68k: add bkpt

2015-08-09 Thread Laurent Vivier
Signed-off-by: Laurent Vivier --- target-m68k/translate.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/target-m68k/translate.c b/target-m68k/translate.c index b7d15e9..add3b69 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -1625,6 +1625,11 @@ DISAS_INSN(swap)

[Qemu-devel] [PATCH for-2.5 24/30] m68k: add DBcc and Scc (memory operand)

2015-08-09 Thread Laurent Vivier
Signed-off-by: Laurent Vivier --- target-m68k/translate.c | 47 +++ 1 file changed, 47 insertions(+) diff --git a/target-m68k/translate.c b/target-m68k/translate.c index 95d58d1..cb746d7 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.

[Qemu-devel] [PATCH for-2.5 19/30] m68k: add cmpm

2015-08-09 Thread Laurent Vivier
Signed-off-by: Laurent Vivier --- target-m68k/translate.c | 18 ++ 1 file changed, 18 insertions(+) diff --git a/target-m68k/translate.c b/target-m68k/translate.c index ae57792..adf4521 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -2002,6 +2002,24 @@ DISA

[Qemu-devel] [PATCH for-2.5 25/30] m68k: add abcd, sbcd, nbcd instructions

2015-08-09 Thread Laurent Vivier
Signed-off-by: Laurent Vivier --- target-m68k/helper.c| 91 + target-m68k/helper.h| 3 ++ target-m68k/translate.c | 82 3 files changed, 176 insertions(+) diff --git a/target-m68k/helper.c b/tar

[Qemu-devel] [PATCH for-2.5 27/30] m68k: add addx/subx/negx

2015-08-09 Thread Laurent Vivier
Signed-off-by: Laurent Vivier --- target-m68k/helper.c| 96 ++--- target-m68k/helper.h| 8 ++- target-m68k/translate.c | 141 3 files changed, 192 insertions(+), 53 deletions(-) diff --git a/target-m68k/helpe

[Qemu-devel] [PATCH for-2.5 30/30] m68k: add bitfield instructions

2015-08-09 Thread Laurent Vivier
Signed-off-by: Laurent Vivier --- target-m68k/helper.c| 61 + target-m68k/helper.h| 4 + target-m68k/translate.c | 331 3 files changed, 396 insertions(+) diff --git a/target-m68k/helper.c b/target-m68k/helper.c index 532f366..a

[Qemu-devel] [PATCH for-2.5 23/30] m68k: add linkl

2015-08-09 Thread Laurent Vivier
Signed-off-by: Laurent Vivier --- target-m68k/translate.c | 21 +++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/target-m68k/translate.c b/target-m68k/translate.c index 9a7558a..95d58d1 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -1789

[Qemu-devel] [PATCH for-2.5 20/30] m68k: add exg

2015-08-09 Thread Laurent Vivier
Signed-off-by: Laurent Vivier --- target-m68k/translate.c | 34 +- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/target-m68k/translate.c b/target-m68k/translate.c index adf4521..b7d15e9 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translat

[Qemu-devel] [PATCH for-2.5 16/30] m68k: Add all access modes and data sizes to some 680x0 instructions

2015-08-09 Thread Laurent Vivier
The following instruction can use all access modes and data sizes: add, sub, neg, not, and, or, eor, ori, andi, subi, addi, eori, cmpi, swap Signed-off-by: Laurent Vivier --- target-m68k/translate.c | 123 ++-- 1 file changed, 76 insertions(+), 47 del

[Qemu-devel] [PATCH for-2.5 29/30] m68k: add rol/rox/ror/roxr

2015-08-09 Thread Laurent Vivier
Signed-off-by: Laurent Vivier --- target-m68k/helper.c| 212 target-m68k/helper.h| 14 target-m68k/translate.c | 207 ++ 3 files changed, 433 insertions(+) diff --git a/target-m68k/helper.c

[Qemu-devel] [PATCH for-2.5 15/30] m68k: add more modes to movem

2015-08-09 Thread Laurent Vivier
Signed-off-by: Laurent Vivier --- target-m68k/translate.c | 52 - 1 file changed, 39 insertions(+), 13 deletions(-) diff --git a/target-m68k/translate.c b/target-m68k/translate.c index f52aca3..d3a3695 100644 --- a/target-m68k/translate.c +++ b/tar

[Qemu-devel] [PATCH for-2.5 08/30] m68k: update CPU flags management

2015-08-09 Thread Laurent Vivier
Copied from target-i386 Signed-off-by: Laurent Vivier --- cpu-exec.c | 6 -- target-m68k/cpu.c | 2 - target-m68k/cpu.h | 6 +- target-m68k/helper.c| 34 ++--- target-m68k/helper.h| 2 +- target-m68k/translate.c | 195 +++-

[Qemu-devel] [PATCH for-2.5 17/30] m68k: ori/andi/subi/addi/eori/cmpi can modify SR/CCR

2015-08-09 Thread Laurent Vivier
Signed-off-by: Laurent Vivier --- target-m68k/translate.c | 95 ++--- 1 file changed, 58 insertions(+), 37 deletions(-) diff --git a/target-m68k/translate.c b/target-m68k/translate.c index 6a426e1..9e379b3 100644 --- a/target-m68k/translate.c +++ b/tar

[Qemu-devel] [PATCH for-2.5 28/30] m68k: shift/rotate bytes and words

2015-08-09 Thread Laurent Vivier
Signed-off-by: Laurent Vivier --- target-m68k/helper.c| 196 target-m68k/helper.h| 15 +++- target-m68k/translate.c | 183 ++-- 3 files changed, 317 insertions(+), 77 deletions(-) diff --git a/targe

[Qemu-devel] [PATCH for-2.5 07/30] m68k: allow to update flags with operation on words and bytes

2015-08-09 Thread Laurent Vivier
Signed-off-by: Laurent Vivier --- target-m68k/cpu.h | 14 - target-m68k/helper.c| 139 ++-- target-m68k/translate.c | 82 ++-- 3 files changed, 151 insertions(+), 84 deletions(-) diff --git a/target-m68k/cpu.h b/

[Qemu-devel] [PATCH for-2.5 14/30] m68k: allow adda/suba to add/sub word

2015-08-09 Thread Laurent Vivier
Signed-off-by: Laurent Vivier --- target-m68k/translate.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target-m68k/translate.c b/target-m68k/translate.c index 370a2f0..f52aca3 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -1836,7 +1836,7 @@ DISAS

[Qemu-devel] [PATCH for-2.5 01/30] m68k: define m680x0 CPUs and features

2015-08-09 Thread Laurent Vivier
This patch defines five new Motorola 680x0 family CPUs: - M68K_CPUID_M68000, - M68K_CPUID_M68020, - M68K_CPUID_M68030, - M68K_CPUID_M68040, - M68K_CPUID_M68060 And seven new features: - M68K_FEATURE_SCALED_INDEX, scaled address index register - M68K_FEATURE_LONG_MULDI

[Qemu-devel] [PATCH for-2.5 12/30] m68k: Manage divw overflow

2015-08-09 Thread Laurent Vivier
"Overflow may be detected and set before the instruction completes. If the instruction detects an overflow, it sets the overflow condition code, and the operands are unaffected." Signed-off-by: Laurent Vivier --- target-m68k/translate.c | 26 +- 1 file changed, 17 inserti

[Qemu-devel] [PATCH for-2.5 18/30] m68k: addq/subq can work with all the data sizes.

2015-08-09 Thread Laurent Vivier
Improve TCG constant use by creating only once for several uses. Signed-off-by: Laurent Vivier --- target-m68k/translate.c | 46 +++--- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/target-m68k/translate.c b/target-m68k/translate.c index

[Qemu-devel] [PATCH for-2.5 05/30] m68k: define operand sizes

2015-08-09 Thread Laurent Vivier
Signed-off-by: Laurent Vivier --- target-m68k/translate.c | 78 + 1 file changed, 47 insertions(+), 31 deletions(-) diff --git a/target-m68k/translate.c b/target-m68k/translate.c index 6ba71a2..eb7f503 100644 --- a/target-m68k/translate.c +++ b/tar

[Qemu-devel] [PATCH for-2.5 06/30] m68k: REG() macro cleanup

2015-08-09 Thread Laurent Vivier
Signed-off-by: Laurent Vivier --- target-m68k/translate.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/target-m68k/translate.c b/target-m68k/translate.c index eb7f503..f22155d 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -56,9 +56,10 @@ stati

[Qemu-devel] [PATCH for-2.5 10/30] m68k: tst bugfix

2015-08-09 Thread Laurent Vivier
The operand is signed. Signed-off-by: Laurent Vivier --- target-m68k/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target-m68k/translate.c b/target-m68k/translate.c index 5fa39db..359c761 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -157

[Qemu-devel] [PATCH for-2.5 11/30] m68k: improve clr/moveq

2015-08-09 Thread Laurent Vivier
Generate the TCG constant and use it twice, instead of generating the TCG constant twice to use it twice. Signed-off-by: Laurent Vivier --- target-m68k/translate.c | 15 +-- 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/target-m68k/translate.c b/target-m68k/translate.

[Qemu-devel] [PATCH for-2.5 03/30] m68k: introduce read_imXX() functions

2015-08-09 Thread Laurent Vivier
Read a 8, 16 or 32bit immediat constant. An Immediat constant is stored in the instruction opcode and can be in one or two extension words. Signed-off-by: Laurent Vivier --- target-m68k/translate.c | 73 - 1 file changed, 35 insertions(+), 38 dele

[Qemu-devel] [PATCH for-2.5 13/30] m68k: set Z and N on divu/muls overflow as a real 68040

2015-08-09 Thread Laurent Vivier
This allows to compare simulation results with a real 68040. Signed-off-by: Laurent Vivier --- target-m68k/op_helper.c | 38 ++ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/target-m68k/op_helper.c b/target-m68k/op_helper.c index 1af0ca6..716

[Qemu-devel] [PATCH for-2.5 02/30] m68k: manage scaled index

2015-08-09 Thread Laurent Vivier
Scaled index is not supported by 68000, 68008, and 68010. EA = (bd + PC) + Xn.SIZE*SCALE + od Ignore it: M68000 FAMILY PROGRAMMER’S REFERENCE MANUAL 2.4 BRIEF EXTENSION WORD FORMAT COMPATIBILITY "If the MC68000 were to execute an instruction that encoded a scaling factor, the scaling facto

[Qemu-devel] [PATCH for-2.5 09/30] m68k: add X flag helpers

2015-08-09 Thread Laurent Vivier
Signed-off-by: Laurent Vivier --- target-m68k/helper.c| 12 +++- target-m68k/helper.h| 4 +++- target-m68k/translate.c | 29 + 3 files changed, 35 insertions(+), 10 deletions(-) diff --git a/target-m68k/helper.c b/target-m68k/helper.c index c6f5cc0..8

[Qemu-devel] [PATCH for-2.5 00/30] 680x0 instructions emulation

2015-08-09 Thread Laurent Vivier
Current QEMU m68k emulation only supports ColdFire processors. This series adds compatibility with 680x0 processors. Only non-privileged instruction are implemented. 680x0 FPU instructions are not implemented. Once this series included in the QEMU mainline I will send a new series with FPU instr

[Qemu-devel] [PATCH for-2.5 04/30] m68k: set disassembler mode to 680x0 or coldfire

2015-08-09 Thread Laurent Vivier
Signed-off-by: Laurent Vivier --- disas.c | 4 target-m68k/translate.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/disas.c b/disas.c index 69a6066..2512001 100644 --- a/disas.c +++ b/disas.c @@ -185,6 +185,7 @@ static int print_insn_od_target(bfd_vm

Re: [Qemu-devel] [RFC v4 5/9] configure: Enable/disable new qemu_{ld, st} excl insns

2015-08-09 Thread Alex Bennée
Aurelien Jarno writes: > On 2015-08-09 10:51, Alex Bennée wrote: >> >> Aurelien Jarno writes: >> >> > On 2015-08-09 09:11, Alex Bennée wrote: >> >> >> >> Aurelien Jarno writes: >> >> >> >> > On 2015-08-07 19:03, Alvise Rigo wrote: >> >> >> Introduce the new --enable-tcg-ldst-excl configure

Re: [Qemu-devel] [sheepdog] [PATCH] sheepdog: fix overlapping metadata update

2015-08-09 Thread Vasiliy Tolstov
2015-08-05 21:58 GMT+03:00 Jeff Cody : > Hi Vasiliy, > > If you run configure with --disable-strip, it will not strip the > debugging symbols from the binary after the build. Then, you can run > gdb on qemu, and do a backtrace after you hit the segfault ('bt'). > That may shed some light, and is

Re: [Qemu-devel] [Qemu-ppc] [PATCH v3 0/4] target-ppc: Add FWNMI support in qemu for powerKVM guests

2015-08-09 Thread Alexander Graf
On 07.08.15 05:37, Sam Bobroff wrote: > Hello Aravinda and all, > > On Wed, Jul 08, 2015 at 01:58:13PM +0530, Aravinda Prasad wrote: >> On Friday 03 July 2015 11:31 AM, David Gibson wrote: >>> On Thu, Jul 02, 2015 at 07:11:52PM +1000, Alexey Kardashevskiy wrote: On 04/02/2015 03:46 PM, Davi

[Qemu-devel] [PATCH] Makefile.target: include top level build dir in vpath

2015-08-09 Thread Michael Marineau
Using ccache with CCACHE_BASEDIR set to $(SRC_PATH) or a parent will rewrite all absolute paths to relative paths. This interacts poorly with QEMU's two-level build directory scheme. For example, lets say BUILD_DIR=$(SRC_PATH)/build so build/blockdev.d will contain: blockdev.o: ../blockdev.c ../

Re: [Qemu-devel] [PATCH v3 2/2] make: load only required dependency files.

2015-08-09 Thread Michael S. Tsirkin
On Sun, Aug 09, 2015 at 12:54:37PM +0100, Peter Maydell wrote: > On 9 August 2015 at 12:39, Michael S. Tsirkin wrote: > > On Sun, Aug 09, 2015 at 12:39:59PM +0300, Victor Kaplansky wrote: > >> -$(eval -include $(addsuffix *.d, $(sort $(dir $($v) > >> +$(eval -include $(patsubst

Re: [Qemu-devel] [PATCH v3 2/3] sPAPR: Support RTAS call ibm, {open, close}-errinjct

2015-08-09 Thread Gavin Shan
On Sat, Aug 08, 2015 at 02:04:17AM +1000, Alexey Kardashevskiy wrote: >On 08/07/2015 01:33 PM, Gavin Shan wrote: >>The patch supports RTAS calls "ibm,{open,close}-errinjct" to >>manupliate the token, which is passed to RTAS call "ibm,errinjct" >>to indicate the valid context for error injection. Ea

Re: [Qemu-devel] [PATCH v3 2/2] make: load only required dependency files.

2015-08-09 Thread Peter Maydell
On 9 August 2015 at 12:39, Michael S. Tsirkin wrote: > On Sun, Aug 09, 2015 at 12:39:59PM +0300, Victor Kaplansky wrote: >> -$(eval -include $(addsuffix *.d, $(sort $(dir $($v) >> +$(eval -include $(patsubst %.o,%.d,$(patsubst %.mo,%.d,$($v >> $(eval $v := $(filter

Re: [Qemu-devel] [PATCH v3 0/2] make: Cleanup and fix of loading of dependency info

2015-08-09 Thread Michael S. Tsirkin
On Sun, Aug 09, 2015 at 12:39:45PM +0300, Victor Kaplansky wrote: > Changes from v2: > > Address comment by Paolo Bonzini: > - Store list of generated hex files in a variable and derive from it > list of dependences to be included. > > Address comment by Alex Bennee and

Re: [Qemu-devel] [PATCH v3 2/2] make: load only required dependency files.

2015-08-09 Thread Michael S. Tsirkin
On Sun, Aug 09, 2015 at 12:39:59PM +0300, Victor Kaplansky wrote: > The old rules.mak loads dependency .d files using include directive > with file glob pattern "*.d". This breaks the build when build tree has > remanent *.d files from another build. > > This patch fixes this by > - loading prec

Re: [Qemu-devel] [RFC v4 5/9] configure: Enable/disable new qemu_{ld, st} excl insns

2015-08-09 Thread Aurelien Jarno
On 2015-08-09 10:51, Alex Bennée wrote: > > Aurelien Jarno writes: > > > On 2015-08-09 09:11, Alex Bennée wrote: > >> > >> Aurelien Jarno writes: > >> > >> > On 2015-08-07 19:03, Alvise Rigo wrote: > >> >> Introduce the new --enable-tcg-ldst-excl configure option to enable the > >> >> LL/SC o

Re: [Qemu-devel] [RFC v4 5/9] configure: Enable/disable new qemu_{ld, st} excl insns

2015-08-09 Thread Alex Bennée
Aurelien Jarno writes: > On 2015-08-09 09:11, Alex Bennée wrote: >> >> Aurelien Jarno writes: >> >> > On 2015-08-07 19:03, Alvise Rigo wrote: >> >> Introduce the new --enable-tcg-ldst-excl configure option to enable the >> >> LL/SC operations only for those backends that support them. >> >>

[Qemu-devel] [PATCH v3 0/2] make: Cleanup and fix of loading of dependency info

2015-08-09 Thread Victor Kaplansky
Changes from v2: Address comment by Paolo Bonzini: - Store list of generated hex files in a variable and derive from it list of dependences to be included. Address comment by Alex Bennee and Michael S. Tsirkin: - Add a comment about difference between $(@D) and $

[Qemu-devel] [PATCH v3 1/2] make: fix where dependency *.d are stored.

2015-08-09 Thread Victor Kaplansky
In rules like "bar/%.o: %.c" there is a difference between $(*D) and $(@D). $(*D) expands to '.', while $(@D) expands to 'bar'. It is cleaner to generate *.d in the same directory where appropriate *.o resides. This allows precise including of dependency info from .d files. As a hack, we also tou

[Qemu-devel] [PATCH v3 2/2] make: load only required dependency files.

2015-08-09 Thread Victor Kaplansky
The old rules.mak loads dependency .d files using include directive with file glob pattern "*.d". This breaks the build when build tree has remanent *.d files from another build. This patch fixes this by - loading precise list of .d files made from *.o and *.mo. - specifying explicit list of r

Re: [Qemu-devel] [RFC v4 5/9] configure: Enable/disable new qemu_{ld, st} excl insns

2015-08-09 Thread Aurelien Jarno
On 2015-08-09 09:11, Alex Bennée wrote: > > Aurelien Jarno writes: > > > On 2015-08-07 19:03, Alvise Rigo wrote: > >> Introduce the new --enable-tcg-ldst-excl configure option to enable the > >> LL/SC operations only for those backends that support them. > >> > >> Suggested-by: Jani Kokkonen >

Re: [Qemu-devel] [RFC v4 5/9] configure: Enable/disable new qemu_{ld, st} excl insns

2015-08-09 Thread Alex Bennée
Aurelien Jarno writes: > On 2015-08-07 19:03, Alvise Rigo wrote: >> Introduce the new --enable-tcg-ldst-excl configure option to enable the >> LL/SC operations only for those backends that support them. >> >> Suggested-by: Jani Kokkonen >> Suggested-by: Claudio Fontana >> Signed-off-by: Alvis