On Mon, 12 Aug 2019 16:48:00 PDT (-0700), bmeng...@gmail.com wrote:
Hi Palmer,
On Tue, Aug 13, 2019 at 6:45 AM Palmer Dabbelt wrote:
On Fri, 19 Jul 2019 06:40:43 PDT (-0700), li...@roeck-us.net wrote:
> Add support for loading initrd with "-initrd "
> to the sifive_u machine. This lets us boo
On Fri, Aug 9, 2019 at 6:35 PM Michael S. Tsirkin wrote:
>
> On Wed, Aug 07, 2019 at 10:22:41AM +0200, Julia Suvorova wrote:
> > Using FLR becomes convenient in cases where resetting the bus is
> > impractical, for example, when debugging the behavior of individual
> > functions.
> >
> > Signed-of
* Philippe Mathieu-Daudé (phi...@redhat.com) wrote:
> Hi David,
>
> On 8/13/19 12:29 PM, Dr. David Alan Gilbert (git) wrote:
> > From: "Dr. David Alan Gilbert"
> >
> > MemoryRegionSection includes an Int128 'size' field;
> > on some platforms the compiler causes an alignment of this to
> > a 128
On 8/14/19 7:25 PM, Dr. David Alan Gilbert wrote:
> * Philippe Mathieu-Daudé (phi...@redhat.com) wrote:
>> Hi David,
>>
>> On 8/13/19 12:29 PM, Dr. David Alan Gilbert (git) wrote:
>>> From: "Dr. David Alan Gilbert"
>>>
>>> MemoryRegionSection includes an Int128 'size' field;
>>> on some platforms
On 8/14/19 9:23 AM, David Hildenbrand wrote:
> Instructions are always fetched from primary address space, except when
> in home address mode. Perform the selection directly in cpu_mmu_index().
>
> get_mem_index() is only used to perform data access, instructions are
> fetched via cpu_lduw_code(),
* Philippe Mathieu-Daudé (phi...@redhat.com) wrote:
> On 8/14/19 7:25 PM, Dr. David Alan Gilbert wrote:
> > * Philippe Mathieu-Daudé (phi...@redhat.com) wrote:
> >> Hi David,
> >>
> >> On 8/13/19 12:29 PM, Dr. David Alan Gilbert (git) wrote:
> >>> From: "Dr. David Alan Gilbert"
> >>>
> >>> MemoryR
On 8/14/19 9:23 AM, David Hildenbrand wrote:
> We want to trace the actual return value, not "0".
>
> Reviewed-by: Cornelia Huck
> Signed-off-by: David Hildenbrand
> ---
> target/s390x/mmu_helper.c | 6 --
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/target/s390x/mmu_
Hi,
I'm using libvhost-user.a to write a vhost backend, in order to receive and
send packets from/to VMs from OVS. I started by reading the vhost-user-bridge.c.
I can now pass the initialization stage, seeing .queue_set_started get invoked.
However, I am stuck at receiving the packet from VM.
So
From: "Dr. David Alan Gilbert"
Provide a comparison function that checks all the fields are the same.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Philippe Mathieu-Daudé
---
include/exec/memory.h | 12
1 file changed, 12 insertions(+)
diff --git a/include/exec/memory.h b/i
From: "Dr. David Alan Gilbert"
This fixes a symptom I've seen on vhost-user on aarch64 where the
daemon would be falsely notified of memory region changes that didn't
exist.
The underlying problem was me memcmp'ing MemoryRegionSections even
though they had padding in.
(Discovered while getting v
From: "Dr. David Alan Gilbert"
MemoryRegionSection includes an Int128 'size' field;
on some platforms the compiler causes an alignment of this to
a 128bit boundary, leaving 8 bytes of dead space.
This deadspace can be filled with junk.
Move the size field to the top avoiding unnecessary alignmen
From: "Dr. David Alan Gilbert"
Using memcmp to compare structures wasn't safe,
as I found out on ARM when I was getting falce miscompares.
Use the helper function for comparing the MRSs.
Fixes: ade6d081fc33948e56e6
Signed-off-by: Dr. David Alan Gilbert
---
hw/virtio/vhost.c | 9 +++--
1
On 8/14/19 9:23 AM, David Hildenbrand wrote:
> Factor it out, add a comment how it all works, and also use it in the
> REAL MMU.
>
> Reviewed-by: Cornelia Huck
> Signed-off-by: David Hildenbrand
> ---
> target/s390x/mmu_helper.c | 113 +++---
> 1 file changed, 69
On Tue, 13 Aug 2019 10:06:58 PDT (-0700), alistai...@gmail.com wrote:
On Mon, Aug 12, 2019 at 4:08 PM Palmer Dabbelt wrote:
On Tue, 30 Jul 2019 16:35:34 PDT (-0700), Alistair Francis wrote:
> From: Atish Patra
>
> As per the RISC-V spec, Floating Point registers are named as f0..f31
> so lets
On 14.08.19 20:01, Thomas Huth wrote:
> On 8/14/19 9:23 AM, David Hildenbrand wrote:
>> Factor it out, add a comment how it all works, and also use it in the
>> REAL MMU.
>>
>> Reviewed-by: Cornelia Huck
>> Signed-off-by: David Hildenbrand
>> ---
>> target/s390x/mmu_helper.c | 113 ++
On Tue, Aug 13, 2019 at 3:54 PM Palmer Dabbelt wrote:
>
> The ISA strings we're providing from QEMU aren't actually legal RISC-V
> ISA strings, as both S and U cannot exist as single-letter extensions
> and must instead be multi-letter strings. We're still using the ISA
> strings inside QEMU to t
On 8/13/19 8:08 PM, Eric Blake wrote:
> On 8/13/19 5:44 PM, John Snow wrote:
>> This is for the purpose of toggling on/off persistence on a bitmap.
>> This enables you to save a bitmap that was not persistent, but may
>> have already accumulated valuable data.
>>
>> This is simply a QOL enhancem
On 8/14/19 9:26 AM, Vladimir Sementsov-Ogievskiy wrote:
> 08.08.2019 0:45, John Snow wrote:
>> FYI: I rebased jsnow/bitmaps on top of kwolf/block-next, itself based on
>> top of v4.1.0-rc4.
>>
>> I'll post this along with the eventual pull request, but here's the
>> diffstat against the publishe
On 8/14/19 3:03 PM, John Snow wrote:
>
> If you'd like to optimize this, I'll invite you to, as a patch.
>
Ah, looks like you're a step ahead of me :)
--js
On 8/14/19 6:07 AM, Vladimir Sementsov-Ogievskiy wrote:
> It's hard and not necessary to maintain outdated versions of these
> commands.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy
> ---
> qemu-deprecated.texi | 4
> qapi/block-core.json | 4
> qapi/transaction.json | 2 +-
On 8/14/19 6:07 AM, Vladimir Sementsov-Ogievskiy wrote:
> To get rid of implicit filters related workarounds in future let's
> deprecate them now.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy
> ---
> qemu-deprecated.texi | 7 +++
> qapi/block-core.json | 6 --
> include
The libqos library functions should never depend on global_qtest,
since these functions might be used in tests that track multiple
test states. Pass around a pointer to the QTestState instead.
Signed-off-by: Thomas Huth
---
v2: Adjust indentations as suggested by Eric
tests/libqos/virtio.c
* rename the write_func to create_write_func,
and init_func to create_init_func
this is preparation for other write_func that will
be used to update the encryption keys.
No functional changes
Signed-off-by: Maxim Levitsky
---
block/crypto.c | 15 ---
1 file changed, 8 inserti
Hi!
This patch series implements key management for luks based encryption
It supports both raw luks images and qcow2 encrypted images.
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1731898
There are still several issues that need to be figured out,
on which the feedback is very welcome,
This adds:
* x-blockdev-update-encryption and x-blockdev-erase-encryption qmp commands
Both commands take the QCryptoKeyManageOptions
the x-blockdev-update-encryption is meant for non destructive addition
of key slots / whatever the encryption driver supports in the future
x-blockdev-eras
Check that keyslots don't overlap with the data,
and check that keyslots don't overlap with each other.
(this is done using naive O(n^2) nested loops,
but since there are just 8 keyslots, this doens't really matter.
Signed-off-by: Maxim Levitsky
---
crypto/block-luks.c | 42 +
This is also a preparation for key read/write/erase functions
* use master key len from the header
* prefer to use crypto params in the QCryptoBlockLUKS
over passing them as function arguments
* define QCRYPTO_BLOCK_LUKS_DEFAULT_ITER_TIME
* Add comments to various crypto parameters in the QCrypt
With upcoming key management, the header will
need to be stored after the image is created.
Extracting load header isn't strictly needed, but
do this anyway for the symmetry.
Also I extracted a function that does basic sanity
checks on the just read header, and a function
which parses all the cry
This adds qcrypto_block_manage_encryption, which
is thin wrapper around manage_encryption of the crypto driver
which is also added
Signed-off-by: Maxim Levitsky
---
crypto/block.c | 29 +
crypto/blockpriv.h | 9 +
include/crypto/block.h | 27 +++
Signed-off-by: Maxim Levitsky
---
crypto/block-luks.c | 64 +++--
1 file changed, 38 insertions(+), 26 deletions(-)
diff --git a/crypto/block-luks.c b/crypto/block-luks.c
index 6bb369f3b4..e1a4df94b7 100644
--- a/crypto/block-luks.c
+++ b/crypto/block-luks
This implements the encryption key management
using the generic code in qcrypto layer
This code adds another 'write_func' because the initialization
write_func works directly on the underlying file,
because during the creation, there is no open instance
of the luks driver, but during regular use,
This is the main purpose of the patchset, to enaable
us to manage luks like header, embedded in the qcow2
image, which standard cryptosetup tools don't support.
Signed-off-by: Maxim Levitsky
---
block/qcow2.c | 27 +++
1 file changed, 27 insertions(+)
diff --git a/block/
Signed-off-by: Maxim Levitsky
---
crypto/block-luks.c | 374 +++-
1 file changed, 373 insertions(+), 1 deletion(-)
diff --git a/crypto/block-luks.c b/crypto/block-luks.c
index 1997e92fe1..2c33643b52 100644
--- a/crypto/block-luks.c
+++ b/crypto/block-luks.
While there are other places where these are still stored in memory,
this is still one less key material area that can be sniffed with
various side channel attacks
Signed-off-by: Maxim Levitsky
---
crypto/block-luks.c | 52 ++---
1 file changed, 44 inser
Signed-off-by: Maxim Levitsky
---
block/crypto.c | 16 ++
block/crypto.h | 3 +
qemu-img-cmds.hx | 13 +
qemu-img.c | 140 +++
4 files changed, 172 insertions(+)
diff --git a/block/crypto.c b/block/crypto.c
index 415b6db041..2fcdf
Signed-off-by: Maxim Levitsky
---
tests/qemu-iotests/257 | 197 ++
tests/qemu-iotests/257.out | 96 +++
tests/qemu-iotests/258 | 95 +++
tests/qemu-iotests/258.out | 30 +
tests/qemu-iotests/259 |
The Aspeed SOCs have two SD/MMC controllers. Add a device that
encapsulates both of these controllers and models the Aspeed-specific
registers and behavior.
Tested by reading from mmcblk0 in Linux:
qemu-system-arm -machine romulus-bmc -nographic -serial mon:stdio \
-drive file=_tmp/flash-romulus,
On Wed, 2019-08-14 at 15:27 -0400, John Snow wrote:
>
> On 8/14/19 6:07 AM, Vladimir Sementsov-Ogievskiy wrote:
> > To get rid of implicit filters related workarounds in future let's
> > deprecate them now.
> >
> > Signed-off-by: Vladimir Sementsov-Ogievskiy
> > ---
> > qemu-deprecated.texi
After failover, the Secondary side of replication shouldn't change state.
Add the necessary checks to ignore requests after failover.
Signed-off-by: Lukas Straub
---
block/replication.c | 31 +++
1 file changed, 27 insertions(+), 4 deletions(-)
diff --git a/block/rep
Hello Everyone,
These Patches add support for continious replication to colo.
Please review.
Regards,
Lukas Straub
Lukas Straub (3):
Replication: Ignore requests after failover
net/filter.c: Add Options to insert filters anywhere in the filter list
Document the qmp commands for continious r
To switch the Secondary to Primary, we need to insert new filters before
the filter-rewriter.
Add the necessary options to insert filters anywhere in the filter list.
Signed-off-by: Lukas Straub
---
include/net/filter.h | 2 ++
net/filter.c | 73
Signed-off-by: Lukas Straub
---
docs/COLO-FT.txt | 185 +++
1 file changed, 138 insertions(+), 47 deletions(-)
diff --git a/docs/COLO-FT.txt b/docs/COLO-FT.txt
index ad24680d13..c08bfbd3a8 100644
--- a/docs/COLO-FT.txt
+++ b/docs/COLO-FT.txt
@@ -145,35
On Tue, Aug 13, 2019 at 04:53:33PM +0800, Tao Xu wrote:
> Hi Igor and Eduardo,
>
> I am wondering if there are more comments about patch 1/11~4/11? Because
> these 4 patch are independent and the patch series are big and pushing for a
> long time. Could the patch 1/11~4/11 be ready for queuing fir
On 8/14/19 3:22 PM, Maxim Levitsky wrote:
> This is an issue that was raised today on IRC with Kevin Wolf. Really thanks
> for the idea!
>
> We agreed that this new qmp interface should take the same options as
> blockdev-create does, however since we want to be able to edit the encryption
> slot
On Tue, Aug 13, 2019 at 10:14 PM Tao Xu wrote:
>
> On 8/14/2019 10:39 AM, Dan Williams wrote:
> > On Tue, Aug 13, 2019 at 8:00 AM Igor Mammedov wrote:
> >>
> >> On Fri, 9 Aug 2019 14:57:25 +0800
> >> Tao wrote:
> >>
> >>> From: Tao Xu
> >>>
> >>> In ACPI 6.3 chapter 5.2.27 Heterogeneous Memory
On Wed, Aug 14, 2019 at 11:34:13AM -0500, Paul Clarke wrote:
> Should these 'checkpatch' ERRORs be addressed, even if it will diverge the
> code style from the existing, surrounding code?
>
> On 8/14/19 11:30 AM, no-re...@patchew.org wrote:
> > This series seems to have some coding style problems
On 8/13/19 2:07 AM, Richard Henderson wrote:
> On 8/10/19 5:12 AM, Jan Bobek wrote:
>> +#define INSNOP_INIT(opT, init_stmt)\
>> +static int insnop_init(opT)(CPUX86State *env, DisasContext *s, \
>> +int modrm, insnop_t(opT) *op)
Patchew URL: https://patchew.org/QEMU/20190814020218.1868-1-quint...@redhat.com/
Hi,
This series failed the asan build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.
=== TEST SCRIPT BEGIN ===
#!/bin/bash
make
The MacOS driver exits if the card does not have an interrupt. If we
set PCI_INTERRUPT_PIN to 1 then it enables VBlank interrupts and it
boots but the mouse poniter can not be moved. This patch implements a
dummy VBlank interrupt by a timer triggered at 60 Hz to test if it
helps. Unfortunately it d
On 8/13/19 2:30 AM, Richard Henderson wrote:
> On 8/10/19 5:12 AM, Jan Bobek wrote:
>> +#define CASES_LEG_NP_0F_W0(opcode) \
>> +case opcode | M_0F | W_0:
>> +#define CASES_LEG_NP_0F_W1(opcode) \
>> +case opcode | M_0F | W_1:
>> +#define CASES_LEG_F3_0F_W0(opcode)
Hi,
I ran into a case where a guest on a SEV capable host, which was
enabled to use SEV and using an older machine type was no longer able
to run when the QEMU version had been updated.
Specifically, when the guest was installed and running under a v2.12
QEMU, set up for SEV (ok it was v2.11 with
On 8/15/2019 4:57 AM, Eduardo Habkost wrote:
On Tue, Aug 13, 2019 at 04:53:33PM +0800, Tao Xu wrote:
Hi Igor and Eduardo,
I am wondering if there are more comments about patch 1/11~4/11? Because
these 4 patch are independent and the patch series are big and pushing for a
long time. Could the pa
On 8/13/19 2:00 AM, Richard Henderson wrote:
> On 8/10/19 5:12 AM, Jan Bobek wrote:
>> This header is intended to eventually list all supported instructions
>> along with some useful details (e.g. mnemonics, opcode, operands etc.)
>> It shall be used (along with some preprocessor magic) anytime we
Hi Palmer,
On Thu, Aug 15, 2019 at 1:06 AM Palmer Dabbelt wrote:
>
> On Mon, 12 Aug 2019 16:48:00 PDT (-0700), bmeng...@gmail.com wrote:
> > Hi Palmer,
> >
> > On Tue, Aug 13, 2019 at 6:45 AM Palmer Dabbelt wrote:
> >>
> >> On Fri, 19 Jul 2019 06:40:43 PDT (-0700), li...@roeck-us.net wrote:
> >>
On Wed, 14 Aug 2019 18:30:59 PDT (-0700), bmeng...@gmail.com wrote:
Hi Palmer,
On Thu, Aug 15, 2019 at 1:06 AM Palmer Dabbelt wrote:
On Mon, 12 Aug 2019 16:48:00 PDT (-0700), bmeng...@gmail.com wrote:
> Hi Palmer,
>
> On Tue, Aug 13, 2019 at 6:45 AM Palmer Dabbelt wrote:
>>
>> On Fri, 19 Jul
On 8/15/2019 5:29 AM, Dan Williams wrote:
On Tue, Aug 13, 2019 at 10:14 PM Tao Xu wrote:
On 8/14/2019 10:39 AM, Dan Williams wrote:
On Tue, Aug 13, 2019 at 8:00 AM Igor Mammedov wrote:
On Fri, 9 Aug 2019 14:57:25 +0800
Tao wrote:
From: Tao Xu
[...]
+for (i = 0; i < machine->num
The previous version can be found at [1]. Changes compared to v2:
- Expanded the instruction operand infrastructure a bit; I am now
fairly confident that it is powerful enough to accommodate for all
the use cases I will need. It's still a bit clunky to work with at
times, but I am ha
From: Richard Henderson
Treat this value the same as we do for rex_b and rex_x.
Signed-off-by: Richard Henderson
---
target/i386/translate.c | 85 +
1 file changed, 44 insertions(+), 41 deletions(-)
diff --git a/target/i386/translate.c b/target/i386/tra
The variable aflag is not used in most of disas_insn; make this clear
by explicitly reducing its scope to the block where it is used.
Suggested-by: Richard Henderson
Reviewed-by: Richard Henderson
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 6 +-
1 file changed, 5 insertions(+),
gvec operations require that all vectors be aligned on 16-byte
boundary; make sure the MM/XMM/YMM/ZMM register file is aligned as
neccessary.
Reviewed-by: Richard Henderson
Signed-off-by: Jan Bobek
---
target/i386/cpu.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/t
From: Richard Henderson
Treat this the same as we already do for other rex bits.
Signed-off-by: Richard Henderson
---
target/i386/translate.c | 19 +++
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/target/i386/translate.c b/target/i386/translate.c
index d74dbfd
Some functions added later are generated by preprocessor macros and
end up being unused (e.g. not all operands can serve as a destination
operand). Disable unused function warnings for the new code until I
figure out how I want to solve this particular issue.
Note: This changeset is intended for d
There already is a variable dflag in DisasContext, so reduce the scope
of the local variable dflag to enforce use of the one in DisasContext.
Suggested-by: Richard Henderson
Reviewed-by: Richard Henderson
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 184 --
This function serves as the point-of-intercept for all newly
implemented instructions. If no new implementation exists, fall back
to gen_sse.
Reviewed-by: Richard Henderson
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 29 -
1 file changed, 28 insertions(+),
The variable pc_start is already a member of DisasContext. Remove the
superfluous local variable.
Reviewed-by: Richard Henderson
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 131
1 file changed, 65 insertions(+), 66 deletions(-)
diff --git a/t
The variable b1 does not change value once assigned. Make this fact
explicit by marking it const.
Reviewed-by: Richard Henderson
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 15 ++-
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/target/i386/translate.c b/tar
The old code uses bitshifts and bitwise-and all over the place for
decoding ModR/M fields. Avoid doing that by introducing proper
decoding operands.
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 62 +
1 file changed, 62 insertions(+)
diff --git a
It is helpful to introduce aliases for some general gvec operations as
it makes a couple of instruction code generators simpler (added
later).
Reviewed-by: Richard Henderson
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/target/i3
The variable is_xmm does not change value after assignment, so make
this fact explicit by marking it const.
Reviewed-by: Richard Henderson
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 17 ++---
1 file changed, 6 insertions(+), 11 deletions(-)
diff --git a/target/i386/tran
It turns out it is useful to be able to declare operand name
aliases. Introduce a macro to capture this functionality.
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 20
1 file changed, 20 insertions(+)
diff --git a/target/i386/translate.c b/target/i386/translate.c
Similar in spirit to the already present gen_(ld,st)(q,o)_env_A0, it
will prove useful in later commits for smaller-sized vector loads.
Reviewed-by: Richard Henderson
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 12
1 file changed, 12 insertions(+)
diff --git a/target/i3
Use the translator macros to define instruction translators required
by MMX instructions.
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 16
1 file changed, 16 insertions(+)
diff --git a/target/i386/translate.c b/target/i386/translate.c
index 76c27d0380..4fecb0d240 1006
Reduce scope of the local variable prefixes to enforce use of prefix
from DisasContext instead.
Suggested-by: Richard Henderson
Reviewed-by: Richard Henderson
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 113
1 file changed, 57 insertions(+),
Introduce code generators required by SSE3 instructions.
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 64 +
1 file changed, 64 insertions(+)
diff --git a/target/i386/translate.c b/target/i386/translate.c
index c72138014a..9da3fbb611 100644
--- a
TCG temporary operands allocate a 32-bit or 64-bit TCG temporary, and
later automatically free it.
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 44 +
1 file changed, 44 insertions(+)
diff --git a/target/i386/translate.c b/target/i386/translate.c
Introduce a helper function to take care of instruction CPUID checks.
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 48 +
1 file changed, 48 insertions(+)
diff --git a/target/i386/translate.c b/target/i386/translate.c
index 6296a02991..0cffa2226b
From: Richard Henderson
We can compute cur_eip from values present within DisasContext.
Signed-off-by: Richard Henderson
---
target/i386/translate.c | 89 -
1 file changed, 44 insertions(+), 45 deletions(-)
diff --git a/target/i386/translate.c b/target/
Add all the SSE3 instruction entries to sse-opcode.inc.h.
Signed-off-by: Jan Bobek
---
target/i386/sse-opcode.inc.h | 20
1 file changed, 20 insertions(+)
diff --git a/target/i386/sse-opcode.inc.h b/target/i386/sse-opcode.inc.h
index efa67b7ce2..0cfe6fbe31 100644
--- a/targ
This permits the ModR/M byte to be passed raw into the code generator,
effectively allowing to short-circuit the operand decoding mechanism
and do the decoding work manually in the code generator.
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 20
1 file changed, 20
The either-or operand attempts to decode one operand, and if it fails,
it falls back to a second operand. It is unifying, meaning that
insnop_arg_t of the second operand must be implicitly castable to
insnop_arg_t of the first operand.
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 46 ++
Many operands can only decode successfully if the ModR/M byte has the
direct form (i.e. MOD=3). Capture this common aspect by introducing a
special direct-only r/m field operand.
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 37 +
1 file changed, 37 i
insnop_arg_t, insnop_ctxt_t and init, prepare and finalize functions
form the basis of instruction operand decoding. Introduce macros for
defining a generic instruction operand; use cases for operand decoding
will be introduced later.
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 28 +++
If a TB has a TBS (TBStatistics) with the TB_JIT_STATS
enabled then we collect statistics of its translation
processes and code translation.
Collecting the number of host instructions seems to be
not simple as it would imply in having to modify several
target source files. So, for now, we are only
This operand yields value of the VEX. field.
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 20
1 file changed, 20 insertions(+)
diff --git a/target/i386/translate.c b/target/i386/translate.c
index c918065b96..4562a097fa 100644
--- a/target/i386/translate.c
+++
This operand attempts to capture the "indirect" or "memory" operand in
a generic way. It significatly reduces the amount code that needs to
be written in order to read operands from memory to temporary storage
and write them back.
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 54 +++
Introduce the immediate-byte operand, which loads a byte from the
instruction stream and passes its value as the operand.
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 18 ++
1 file changed, 18 insertions(+)
diff --git a/target/i386/translate.c b/target/i386/translate.c
In this context, "code generators" are functions that receive decoded
instruction operands and emit TCG ops implementing the correct
instruction functionality. Introduce the naming macros first, actual
generator macros will be added later.
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 3
Replace all others CONFIG_PROFILER statistics and migrate it to
TBStatistics system. However, TCGProfiler still exists and can
be use to store global statistics and times. All TB related
statistics goes to TBStatistics.
Signed-off-by: Vanderson M. do Rosario
---
accel/tcg/tb-stats.c | 95 +
These address the general-purpose register file. The corresponding
32-bit or 64-bit register is passed as the operand value.
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 78 +
1 file changed, 78 insertions(+)
diff --git a/target/i386/translate.c
The memory-pointer operand decodes the indirect form of ModR/M byte,
loads the effective address into a register and passes that register
as the operand.
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 36
1 file changed, 36 insertions(+)
diff --git a
Adding tb_stats [start|pause|stop|filter] command to hmp.
This allows controlling the collection of statistics.
It is also possible to set the level of collection:
all, jit, or exec.
tb_stats filter allow to only collect statistics for the TB
in the last_search list.
The goal of this command is t
These address the SSE/AVX-technology register file. Offset of the
entire corresponding register is passed as the operand value,
regardless of operand-size suffix.
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 117
1 file changed, 117 insertions(+
Instruction "translators" are responsible for decoding and loading
instruction operands, calling the passed-in code generator, and
storing the operands back (if applicable). Once a translator returns,
the instruction has been translated to TCG ops, hence the name.
Signed-off-by: Jan Bobek
---
ta
This header is intended to eventually list all supported instructions
along with some useful details (e.g. mnemonics, opcode, operands etc.)
It shall be used (along with some preprocessor magic) anytime we need
to automatically generate code for every instruction.
Signed-off-by: Jan Bobek
---
ta
These address the MMX-technology register file; the corresponding
cpu_env offset is passed as the operand value. Notably, offset of the
entire register is pased at all times, regardless of the operand-size
suffix.
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 79
dumps, in linux-user mode, the hottest TBs if -d tb_stats is used.
Signed-off-by: Vanderson M. do Rosario
---
linux-user/exit.c | 4
1 file changed, 4 insertions(+)
diff --git a/linux-user/exit.c b/linux-user/exit.c
index bdda720553..7226104959 100644
--- a/linux-user/exit.c
+++ b/linux-us
Code generators defined using these macros rely on a helper function
(as emitted by gen_helper_*).
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 106
1 file changed, 106 insertions(+)
diff --git a/target/i386/translate.c b/target/i386/translate.
Patchew URL: https://patchew.org/QEMU/20190814175535.2023-1-dgilb...@redhat.com/
Hi,
This series failed build test on s390x host. Please find the details below.
=== TEST SCRIPT BEGIN ===
#!/bin/bash
# Testing script will be invoked under the git checkout with
# HEAD pointing to a commit that h
Define code generators required for MMX instructions.
Signed-off-by: Jan Bobek
---
target/i386/translate.c | 111
1 file changed, 111 insertions(+)
diff --git a/target/i386/translate.c b/target/i386/translate.c
index 4fecb0d240..a02e9cd0d2 100644
--- a/t
Adding TBStatistics information to linux perf TB's symbol names.
This commit depends on the following PATCH:
[PATCH v5 00/10] Measure Tiny Code Generation Quality
Signed-off-by: Vanderson M. do Rosario
---
accel/tcg/perf/jitdump.c | 15 ++-
1 file changed, 14 insertions(+), 1 deleti
101 - 200 of 226 matches
Mail list logo