Eric Auger writes:
> The machine may need to pass reserved regions to the
> virtio-iommu-pci device (such as the MSI window on x86
> or the MSI doorbells on ARM).
>
> So let's add an array of Interval properties.
>
> Note: if some reserved regions are already set by the
> machine code - which sho
Hi Markus,
On 6/27/20 9:03 AM, Markus Armbruster wrote:
> Eric Auger writes:
>
>> The machine may need to pass reserved regions to the
>> virtio-iommu-pci device (such as the MSI window on x86
>> or the MSI doorbells on ARM).
>>
>> So let's add an array of Interval properties.
>>
>> Note: if som
Eric Auger writes:
> This patch implements the PROBE request. At the moment,
> only THE RESV_MEM property is handled. The first goal is
> to report iommu wide reserved regions such as the MSI regions
> set by the machine code. On x86 this will be the IOAPIC MSI
> region, [0xFEE0 - 0xFEEF]
Hi Markus,
On 6/27/20 9:08 AM, Markus Armbruster wrote:
> Eric Auger writes:
>
>> This patch implements the PROBE request. At the moment,
>> only THE RESV_MEM property is handled. The first goal is
>> to report iommu wide reserved regions such as the MSI regions
>> set by the machine code. On x8
BALATON Zoltan writes:
> On Wed, 22 Apr 2020, BALATON Zoltan wrote:
>> On Wed, 22 Apr 2020, Philippe Mathieu-Daudé wrote:
>>> On 4/22/20 4:27 PM, BALATON Zoltan wrote:
On Wed, 22 Apr 2020, Markus Armbruster wrote:
> The Error ** argument must be NULL, &error_abort, &error_fatal, or a
>>
On Fri, Jun 26, 2020 at 05:29:17PM -0400, Peter Xu wrote:
> Hi, Eugenio,
>
> (CCing Eric, Yan and Michael too)
> On Fri, Jun 26, 2020 at 08:41:22AM +0200, Eugenio Pérez wrote:
> > diff --git a/memory.c b/memory.c
> > index 2f15a4b250..7f789710d2 100644
> > --- a/memory.c
> > +++ b/memory.c
> > @@
On Sat, Jun 27, 2020 at 12:37 PM Atish Patra wrote:
>
> On Fri, Jun 26, 2020 at 7:54 PM Bin Meng wrote:
> >
> > Hi Atish,
> >
> > On Sat, Jun 27, 2020 at 12:58 AM Atish Patra wrote:
> > >
> > > On Fri, Jun 26, 2020 at 4:50 AM Bin Meng wrote:
> > > >
> > > > Hi Atish,
> > > >
> > > > On Fri, Jun
On Sat, Jun 27, 2020 at 5:55 PM Bin Meng wrote:
>
> On Sat, Jun 27, 2020 at 12:37 PM Atish Patra wrote:
> >
> > On Fri, Jun 26, 2020 at 7:54 PM Bin Meng wrote:
> > >
> > > Hi Atish,
> > >
> > > On Sat, Jun 27, 2020 at 12:58 AM Atish Patra
> > > wrote:
> > > >
> > > > On Fri, Jun 26, 2020 at 4:
After checking RISCY RTL code, i found the implementation is straight forward
as stated in specs as follows:
if (FPU == 1) begin
if (fp_rnd_mode == 3'b111)
apu_flags = frm_i;
else
apu_flags = fp_rnd_mode;
On Sat, 27 Jun 2020, Markus Armbruster wrote:
BALATON Zoltan writes:
On Wed, 22 Apr 2020, BALATON Zoltan wrote:
On Wed, 22 Apr 2020, Philippe Mathieu-Daudé wrote:
On 4/22/20 4:27 PM, BALATON Zoltan wrote:
On Wed, 22 Apr 2020, Markus Armbruster wrote:
The Error ** argument must be NULL, &er
Peter Maydell writes:
> On Mon, 15 Jun 2020 at 21:43, Markus Armbruster wrote:
>>
>> The following changes since commit 7d3660e79830a069f1848bb4fa1cdf8f666424fb:
>>
>> Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into
>> staging (2020-06-12 23:06:22 +0100)
>>
>> are availa
Vladimir Sementsov-Ogievskiy writes:
> 24.06.2020 19:43, Markus Armbruster wrote:
>> Replace
>>
>> error_setg(&err, ...);
>> error_propagate(errp, err);
>>
>> by
>>
>> error_setg(errp, ...);
>>
>> Related pattern:
>>
>> if (...) {
>> error_setg(&err, ...);
>>
Vladimir Sementsov-Ogievskiy writes:
> 24.06.2020 19:43, Markus Armbruster wrote:
>> When all we do with an Error we receive into a local variable is
>> propagating to somewhere else, we can just as well receive it there
>> right away. Coccinelle script:
>>
>> @@
>> identifier fun, err
Vladimir Sementsov-Ogievskiy writes:
> 24.06.2020 19:43, Markus Armbruster wrote:
>> When all we do with an Error we receive into a local variable is
>> propagating to somewhere else, we can just as well receive it there
>> right away. The previous commit did that for simple cases with
>> Coccin
Cc: David for insurance against me spewing nonsense about migration.
John Snow writes:
> On 6/25/20 12:45 AM, Markus Armbruster wrote:
>> John Snow writes:
>>
>>> On 6/22/20 5:42 AM, Markus Armbruster wrote:
There are three ways to configure backends:
* -nic, -serial, -drive, ..
Hi Philippe,
On Fri, Jun 26, 2020 at 10:05 PM Philippe Mathieu-Daudé
wrote:
>
> On 6/26/20 3:13 PM, Bin Meng wrote:
> > List me as the maintainer for OpenSBI firmware related files.
> >
> > Signed-off-by: Bin Meng
> > ---
> >
> > MAINTAINERS | 7 +++
> > 1 file changed, 7 insertions(+)
> >
There's XtensaOpcodeOps::test_ill that is used to check whether opcode
generates illegal opcode exception or not. The illegal opcode exception
is not special and so this callback can be generalized to provide any
XTENSA_OP_* flags that are not completely static.
Introduce XtensaOpcodeOps::test_exce
On Sat, Jun 27, 2020 at 03:26:45AM -0400, Yan Zhao wrote:
> > -assert(entry->iova >= notifier->start && entry_end <= notifier->end);
> > +if (notifier->notifier_flags & IOMMU_NOTIFIER_ARBITRARY_MASK) {
> > +tmp.iova = MAX(tmp.iova, notifier->start);
> > +tmp.addr_mask = MIN(
On Sat, 27 Jun 2020 at 12:53, Markus Armbruster wrote:
> Peter Maydell writes:
> > Hi. I've just noticed that this commit added new global-scope
> > functions to header files without documentation comments, eg
> >
> > bool qdev_realize_and_unref(DeviceState *dev, BusState *bus, Error **errp);
>
>
Some of the ARMv7 & ARMv8 load/store instructions might trigger a data abort
exception with no valid ISS info to be decoded. The lack of decode info
makes it at least tricky to emulate the instruction which is one of the
(many) reasons why KVM will not even try to do so.
So far, if a guest made an
On ARMv7 & ARMv8 some load/store instructions might trigger a data abort
exception with no valid ISS info to be decoded. The lack of decode info
makes it at least tricky to emulate those instruction which is one of the
(many) reasons why KVM will not even try to do so.
Add support for handling tho
Injecting external data abort through KVM might trigger
an issue on kernels that do not get updated to include the KVM fix.
For those and aarch32 guests, the injected abort gets misconfigured
to be an implementation defined exception. This leads to the guest
repeatedly re-running the faulting instr
Hi Peter,
Hi Andrew
Thanks for quick review.
I have pushed the updated version.
BR
Beata
On Fri, 26 Jun 2020 at 13:59, Peter Maydell wrote:
>
> On Fri, 26 Jun 2020 at 10:01, Andrew Jones wrote:
> > nit: How about using '= {0}' when declaring the variable, rather than this
> > memset?
>
> We pr
Well the make ran for a while and then stopped here:
root@hemlock:~/qemu-5.0.0# gmake -j16
...
CC util/bitops.o
util/qemu-openpty.c:56:12: error: static declaration of
\u2018openpty\u2019 follows non-static declaration
static int openpty(int *amaster, int *aslave, char *name,
From: Jagannathan Raman
SyncSysMemMsg message format is defined. It is used to send
file descriptors of the RAM regions to remote device.
RAM on the remote device is configured with a set of file descriptors.
Old RAM regions are deleted and new regions, each with an fd, is
added to the RAM.
Sign
From: Jagannathan Raman
Allow RAM MemoryRegion to be created from an offset in a file, instead
of allocating at offset of 0 by default. This is needed to synchronize
RAM between QEMU & remote process.
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
From: Elena Ufimtseva
process to avoid blocking the main loop during the message exchanges.
To be used by proxy device.
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
include/io/mpqemu-link.h | 16 +
io/mpqemu-link.c | 78 +++
From: Elena Ufimtseva
Defines MPQemuMsg, which is the message that is sent to the remote
process. This message is sent over QIOChannel and is used to
command the remote process to perform various tasks.
Also defined the helper functions to send and receive messages over the
QIOChannel
Signed-of
From: Elena Ufimtseva
Defines a PCI Device proxy object as a child of TYPE_PCI_DEVICE.
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
MAINTAINERS| 2 ++
hw/pci/Makefile.objs | 1 +
hw/pci/proxy.c | 70
From: Elena Ufimtseva
Hello
This is the v7 of the patchset.
Thank you very much for the detailed feedback for v6. We appreciate your time.
We have addressed the latest comments and suggestions that were
provided on v6 patch series and incorporated to this patchset.
This is the list of changes
From: Jagannathan Raman
Send a message to the remote process to connect PCI device with the
corresponding Proxy object in QEMU
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/i386/remote-msg.c | 39 +
From: Elena Ufimtseva
The Proxy Object sends the PCI config space accesses as messages
to the remote process over the communication channel
TODO:
Investigate if the local PCI config writes can be dropped.
Without the proxy local PCI config space writes for the device,
the driver in the guest tim
From: Elena Ufimtseva
In order to detect remote processes which are hung, the
proxy periodically sends heartbeat messages to confirm if
the remote process is alive. The remote process responds
to this heartbeat message to confirm it is alive.
Signed-off-by: Jagannathan Raman
Signed-off-by: John
From: Jagannathan Raman
IOHUB object is added to manage PCI IRQs. It uses KVM_IRQFD
ioctl to create irqfd to injecting PCI interrupts to the guest.
IOHUB object forwards the irqfd to the remote process. Remote process
uses this fd to directly send interrupts to the guest, bypassing QEMU.
Signed-
From: Jagannathan Raman
PCI host bridge is setup for the remote device process. It is
implemented using remote-pcihost object. It is an extension of the PCI
host bridge setup by QEMU.
Remote-pcihost configures a PCI bus which could be used by the remote
PCI device to latch on to.
Signed-off-by:
From: Elena Ufimtseva
Perform device reset in the remote process when QEMU performs
device reset. This is required to reset the internal state
(like registers, etc...) of emulated devices
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/i38
From: Elena Ufimtseva
The entire array of the memory regions and file handlers.
Will be used in the next patch.
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
include/io/channel.h | 24 +++
io/channel.c | 45 +
From: Jagannathan Raman
Add a configuration option to separate multi-process code
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
---
configure | 11 +++
1 file changed, 11 insertions(+)
diff --git a/configure b/configure
index 4a22dcd56
From: Jagannathan Raman
remote-machine object sets up various subsystems of the remote
device process. Instantiate PCI host bridge object and initialize RAM, IO &
PCI memory regions.
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
---
MAINTAINERS
From: Elena Ufimtseva
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
MAINTAINERS | 2 +
docs/multi-process.rst | 71
scripts/mpqemu-launcher-perf-mode.py | 67 ++
From: Jagannathan Raman
Add memory-listener object which is used to keep the view of the RAM
in sync between QEMU and remote process.
A MemoryListener is registered for system-memory AddressSpace. The
listener sends SYNC_SYSMEM message to the remote process when memory
listener commits the change
From: Elena Ufimtseva
Initialize the common QIOChannel at remote the end
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/i386/remote.c | 16
include/hw/i386/remote.h | 2 ++
2 files changed, 18 insertions(+)
diff
From: Jagannathan Raman
Initializes the message handler function in the remote process. It is
called whenever there's an event pending on QIOChannel that registers
this function.
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
MAINTAINERS
From: John G Johnson
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
MAINTAINERS | 1 +
docs/devel/index.rst | 1 +
docs/devel/multi-process.rst | 957 +++
3 files changed, 959 inser
From: Jagannathan Raman
Proxy device object implements handler for PCI BAR writes and reads.
The handler uses BAR_WRITE/BAR_READ message to communicate to the
remote process with the BAR address and value to be written/read.
The remote process implements handler for BAR_WRITE/BAR_READ
message.
S
From: Jagannathan Raman
Retrieve PCI configuration info about the remote device and
configure the Proxy PCI object based on the returned information
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/i386/remote-msg.c | 23 +++
hw
On Wed, Jun 24, 2020 at 12:44 PM Huacai Chen wrote:
>
> MIPS has two types of KVM: TE & VZ, and TE is the default type. Now we
> can't create a VZ guest in QEMU because it lacks the kvm_type() hook in
> MachineClass. This patch add the the kvm_type() hook to support both of
> the two types.
>
> Re
On Wed, Jun 24, 2020 at 12:46 PM Huacai Chen wrote:
>
> Add myself as a maintainer of Loongson-3 virtual platform, and also add
> Jiaxun Yang as a reviewer.
>
> Signed-off-by: Huacai Chen
> Co-developed-by: Jiaxun Yang
> ---
Applied to MIPS queue, for now without one of two files mentioned in
t
On Wed, Jun 24, 2020 at 12:48 PM Huacai Chen wrote:
>
> Loongson-3 has an integrated liointc (Local I/O interrupt controller).
> It is similar to goldfish interrupt controller, but more powerful (e.g.,
> it can route external interrupt to multi-cores).
>
> Documents about Loongson-3's liointc:
> 1
On Fri, Jun 26, 2020 at 7:00 PM Ahmed Karaman
wrote:
>
> Syntax:
> topN_perf.py [-h] [-n] -- \
> [] \
> []
>
> [-h] - Print the script arguments help message.
> [-n] - Specify the number of top functions to print.
> - If this flag is not specified, the to
On Fri, Jun 26, 2020 at 6:59 PM Ahmed Karaman
wrote:
>
> Python script that prints the top N most executed functions in QEMU
> using callgrind.
>
> Syntax:
> topN_callgrind.py [-h] [-n] -- \
>[] \
>[]
>
> [-h] - Print the script arguments help mess
On Fri, Jun 26, 2020 at 7:02 PM Ahmed Karaman
wrote:
>
> This commit creates a new 'Miscellaneous' section which hosts a new
> 'Performance Tools and Tests' subsection.
> The subsection will contain the the performance scripts and benchmarks
> written as a part of the 'TCG Continuous Benchmarking'
On 5/20/20 10:27 AM, Richard Henderson wrote:
> The kernel ABI for this is (finally) close to being merged:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git/log/?h=for-next/bti-user
>
> I've made a couple of tweaks from v8:
>
> (1) Only map the interpreter or a static executa
From: Huacai Chen
Loongson-3 has an integrated liointc (Local I/O Interrupt Controller).
It is similar to Goldfish interrupt controller, but more powerful (e.g.,
it can route external interrupt to multi-cores).
Documents about Loongson-3's liointc:
1, https://wiki.godson.ac.cn/ip_block:liointc;
From: Ahmed Karaman
Python script that prints the top N most executed functions in QEMU
using callgrind.
Syntax:
topN_callgrind.py [-h] [-n] -- \
[] \
[]
[-h] - Print the script arguments help message.
[-n] - Specify the number of top functions to
From: Huacai Chen
MIPS has two types of KVM: TE & VZ, and TE is the default type. Now we
can't create a VZ guest in QEMU because it lacks the kvm_type() hook in
MachineClass. This patch add the the kvm_type() hook to support both of
the two types.
[AM: Added "if defined" guards.]
Reviewed-by: A
The following changes since commit 553cf5d7c47bee05a3dec9461c1f8430316d516b:
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20200626'
into staging (2020-06-26 18:22:36 +0100)
are available in the git repository at:
https://github.com/AMarkovic/qemu tags/mips-gsoc-queue-
This commit creates a new 'Miscellaneous' section which hosts a new
'Performance Tools and Tests' subsection. This subsection will contain
the the performance scripts and benchmarks written as a part of the
'TCG Continuous Benchmarking' project. Also, it will be a placeholder
for follow-ups to this
From: Huacai Chen
Add myself as the maintainer for Loongson-3 virtual platforms, and
also add Jiaxun Yang as the reviewer.
Signed-off-by: Huacai Chen
Co-developed-by: Jiaxun Yang
Reviewed-by: Aleksandar Markovic
Signed-off-by: Aleksandar Markovic
Message-Id: <1592995531-32600-5-git-send-emai
From: Ahmed Karaman
Syntax:
topN_perf.py [-h] [-n] -- \
[] \
[]
[-h] - Print the script arguments help message.
[-n] - Specify the number of top functions to print.
- If this flag is not specified, the tool defaults to 25.
Example of usage:
topN_perf.p
Hi,
Looking at how Qemu TCG handle "pop rax" instruction on x64, which read
from stack memory, I found that the code in load_helper() in
accel/tcg/cputlb.c is never exercised.
I guess the reason is that TCG try to avoid "trivial" memory access by
optimizing memory read, perhaps by directly readin
On 6/25/20 9:26 AM, Eric Blake wrote:
> I'm not aware of any immediate bugs in qemu where a second runtime
> evaluation of the arguments to MIN() or MAX() causes a problem, but
> proactively preventing such abuse is easier than falling prey to an
> unintended case down the road. At any rate, here'
On Fri, 26 Jun 2020 at 14:57, Paolo Bonzini wrote:
>
> From: Eric Blake
>
> I'm not aware of any immediate bugs in qemu where a second runtime
> evaluation of the arguments to MIN() or MAX() causes a problem, but
> proactively preventing such abuse is easier than falling prey to an
> unintended c
On Fri, 26 Jun 2020 at 16:15, Peter Maydell wrote:
>
> From: Richard Henderson
>
> Because the elements are non-sequential, we cannot eliminate many
> tests straight away like we can for sequential operations. But
> we often have the PTE details handy, so we can test for Tagged.
>
> Reviewed-by:
On Tue, 29 Oct 2019 at 23:00, Michael S. Tsirkin wrote:
>
> From: Jens Freimann
>
> This patch adds a new migration state called wait-unplug. It is entered
> after the SETUP state if failover devices are present. It will transition
> into ACTIVE once all devices were succesfully unplugged from t
On Fri, Jun 26, 2020 at 13:09:48 -0700, Richard Henderson wrote:
> Supercedes: <20200620214551.447392-1-richard.hender...@linaro.org>
>
> Thanks for Emilio's review of v1. I've split "seed" from "rate"
> as suggested, left the comparisons alone, and expanded the comment
> in do_threshold.
Review
Well I removed the "static" from the line
static int openpty(int *amaster, int *aslave, char *name,
struct termios *termp, struct winsize *winp)
in util/qemu-openpty.c. I odn't know if that was the right thing to do
but it did allow it to compile. Now I'm stopped here:
.
On 6/25/20 12:02 PM, Alistair Francis wrote:
>> (3) Do we need to validate vbase_prot for write before updating the PTE for
>> Access or Dirty? That seems like a loop-hole to allow silent modification of
>> hypervisor read-only memory.
>
> That's a good point.
>
> Updating the accessed bit seems
> -Original Message-
> From: Markus Armbruster [mailto:arm...@redhat.com]
> Sent: Thursday, June 25, 2020 12:43 AM
> To: qemu-devel@nongnu.org
> Cc: pbonz...@redhat.com; berra...@redhat.com; ehabk...@redhat.com;
> qemu-bl...@nongnu.org; peter.mayd...@linaro.org;
> vsement...@virtuozzo.com
On Thu, Jun 25, 2020 at 8:37 PM Laurent Vivier wrote:
>
> On 22/06/2020 17:37, Cindy Lu wrote:
> > Currently we have 2 types of vhost backends in QEMU: vhost kernel and
> > vhost-user. The above patch provides a generic device for vDPA purpose,
> > this vDPA device exposes to user space a non-vend
On Thu, Jun 25, 2020 at 12:48 PM Markus Armbruster wrote:
>
> Cindy Lu writes:
>
> > On Tue, Jun 23, 2020 at 5:43 PM Jason Wang wrote:
> >>
> >>
> >> On 2020/6/23 下午5:16, Cindy Lu wrote:
> >> > On Tue, Jun 23, 2020 at 3:07 PM Markus Armbruster
> >> > wrote:
> >> >> Cindy Lu writes:
> >> >>
>
On Sat, Jun 27, 2020 at 08:57:14AM -0400, Peter Xu wrote:
> On Sat, Jun 27, 2020 at 03:26:45AM -0400, Yan Zhao wrote:
> > > -assert(entry->iova >= notifier->start && entry_end <= notifier->end);
> > > +if (notifier->notifier_flags & IOMMU_NOTIFIER_ARBITRARY_MASK) {
> > > +tmp.iova =
>Hi
>
>On Thu, Jun 25, 2020 at 10:47 AM Markus Armbruster wrote:
>>
>> lichun writes:
>>
>> > Signed-off-by: lichun
>> > ---
>> > chardev/char-socket.c | 3 ++-
>> > 1 file changed, 2 insertions(+), 1 deletion(-)
>> >
>> > diff --git a/chardev/char-socket.c b/chardev/char-socket.c
>> > index af
On 2020/6/25 下午7:56, Laurent Vivier wrote:
On 25/06/2020 10:48, Daniel P. Berrangé wrote:
On Wed, Jun 24, 2020 at 09:00:09PM +0200, Laurent Vivier wrote:
qemu_set_nonblock() checks that the file descriptor can be used and, if
not, crashes QEMU. An assert() is used for that. The use of assert(
In migration_shutdown, global var current_migration is freed but not
assigned to NULL, which may cause heap-use-after-free problem if the
following code logic is abnormal.
Signed-off-by: Keqian Zhu
---
migration/migration.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/migration/migration.
75 matches
Mail list logo