Add the documentation about the zoned device support to virtio-blk
emulation.
Signed-off-by: Sam Li
Reviewed-by: Stefan Hajnoczi
---
docs/devel/zoned-storage.rst | 41 ++
docs/system/qemu-block-drivers.rst.inc | 6
2 files changed, 47 insertions(+)
creat
Use sysfs attribute files to get the string value of device
zoned model. Then get_sysfs_zoned_model can convert it to
BlockZoneModel type in QEMU.
Signed-off-by: Sam Li
Reviewed-by: Hannes Reinecke
---
block/file-posix.c | 93 ++--
include/block/block_i
raw-format driver usually sits on top of file-posix driver. It needs to
pass through requests of zone commands.
Signed-off-by: Sam Li
Reviewed-by: Stefan Hajnoczi
---
block/raw-format.c | 13 +
1 file changed, 13 insertions(+)
diff --git a/block/raw-format.c b/block/raw-format.c
in
We have added new block layer APIs of zoned block devices. Test it with:
Create a null_blk device, run each zone operation on it and see
whether reporting right zone information.
Signed-off-by: Sam Li
Reviewed-by: Stefan Hajnoczi
---
tests/qemu-iotests/tests/zoned.out | 53 ++
t
By adding zone management operations in BlockDriver, storage controller
emulation can use the new block layer APIs including Report Zone and
four zone management operations (open, close, finish, reset).
Add zoned storage commands of the device: zone_report(zrp), zone_open(zo),
zone_close(zc), zone
Signed-off-by: Sam Li
Reviewed-by: Stefan Hajnoczi
---
include/block/block-common.h | 43
1 file changed, 43 insertions(+)
diff --git a/include/block/block-common.h b/include/block/block-common.h
index fdb7306e78..36bd0e480e 100644
--- a/include/block/block-
Use sysfs attribute files to get the long value of zoned device
information.
Signed-off-by: Sam Li
Reviewed-by: Hannes Reinecke
Reviewed-by: Stefan Hajnoczi
---
block/file-posix.c | 27 +++
1 file changed, 27 insertions(+)
diff --git a/block/file-posix.c b/block/file-p
Putting zoned/non-zoned BlockDrivers on top of each other is not
allowed.
Signed-off-by: Sam Li
Reviewed-by: Stefan Hajnoczi
---
block.c | 14 ++
block/raw-format.c | 1 +
include/block/block_int-common.h | 5 +
3 files changed, 20 insert
Zoned Block Devices (ZBDs) devide the LBA space to block regions called zones
that are larger than the LBA size. It can only allow sequential writes, which
reduces write amplification in SSD, leading to higher throughput and increased
capacity. More details about ZBDs can be found at:
https://zone
On Tue, Aug 16, 2022 at 02:15:57PM +0800, Xuan Zhuo wrote:
> On Tue, 16 Aug 2022 02:14:10 -0400, "Michael S. Tsirkin"
> wrote:
> > On Tue, Aug 16, 2022 at 09:06:12AM +0800, Kangjie Xu wrote:
> > > The virtio queue reset function has already been defined in the virtio
> > > spec 1.2.
> > > The re
On Tue, Aug 16, 2022 at 09:06:12AM +0800, Kangjie Xu wrote:
> The virtio queue reset function has already been defined in the virtio spec
> 1.2.
> The relevant virtio spec information is here:
>
> https://github.com/oasis-tcs/virtio-spec/issues/124
> https://github.com/oasis-tcs/virtio-sp
Thomas,
Sure will try with the USB Passthrough. Do you have any thoughts on
accessing the wireless interface inside the QEMU.
Thanks in Anticipation.
Regards,
Vaishnavi
On Tue, Aug 16, 2022 at 11:27 AM Thomas Huth wrote:
> On 16/08/2022 06.22, vaishu venkat wrote:
> > Hi Thomas,
> >
> > Th
On 16/08/2022 06.22, vaishu venkat wrote:
Hi Thomas,
Thanks for prompt response.
We currently using the QEMU version as below,
*
*
*qemu-system-aarch64 -version
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.23)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers*
Could
On 16/08/2022 02.19, Philippe Mathieu-Daudé wrote:
On 15/8/22 09:26, Milica Lazarevic wrote:
Helper methods from NMD class like NMD::renumber_registers,
NMD::decode_gpr_gpr4... etc. are removed from the class. They're now
declared global static functions.
Following helper methods have been dele
On Mon, Aug 15, 2022 at 1:26 PM Richard Henderson
wrote:
>
> On 8/15/22 14:03, Peter Maydell wrote:
> > The riscv target incorrectly enabled semihosting always, whether the
> > user asked for it or not. Call semihosting_enabled() passing the
> > correct value to the is_userspace argument, which f
XVentanaCondOps is Ventana custom extension. Add
its extension entry in the ISA Ext array
Signed-off-by: Rahul Pathak
---
This patch is based on branch riscv-to-apply.next (Alistair qemu tree)
Based on top commit: f2a91d8b78
target/riscv/cpu.c | 1 +
1 file changed, 1 insertion(+)
diff --git
On 15/08/22 18:34, Chao Peng wrote:
> On Fri, Aug 12, 2022 at 02:18:43PM +0530, Nikunj A. Dadhania wrote:
>>
>>
>> On 12/08/22 12:48, Gupta, Pankaj wrote:
>>>
However, fallocate() preallocates full guest memory before starting
the guest.
With this behaviour gues
Hi Peter,
Thanks for quick reply.
We don't have an existing application running with qemu functionality.
On Mon, Aug 15, 2022 at 9:36 PM Peter Maydell
wrote:
> On Mon, 15 Aug 2022 at 16:53, vaishu venkat
> wrote:
> >
> > Hi team,
> > We are currently required to use QEMU for vir
Hi Thomas,
Thanks for prompt response.
We currently using the QEMU version as below,
*qemu-system-aarch64 -versionQEMU emulator version 4.2.1 (Debian
1:4.2-3ubuntu6.23)Copyright (c) 2003-2019 Fabrice Bellard and the QEMU
Project developers*
Could you please guide us with the, how to access th
at 11:37 PM, Jinhao Fan wrote:
> This patch series changes qemu-nvme's interrupt emulation to use event
> notifiers, which can ensure thread-safe interrupt delivery when iothread
> is used. In the first two patches, I convert qemu-nvme's IO emulation
> logic to send irq via eventfd, so that the a
Update vhost_net_virtqueue_restart() for vhost-user scenario.
Signed-off-by: Kangjie Xu
Signed-off-by: Xuan Zhuo
---
hw/net/vhost_net.c | 4
1 file changed, 4 insertions(+)
diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c
index c0d408f3b4..778081e54a 100644
--- a/hw/net/vhost_net.c
++
Introduce the fucntion flush_or_purge_queued_packets(), it will be
used in device reset and virtqueue reset. Therefore, we extract the
common logic as a new function.
Signed-off-by: Kangjie Xu
Signed-off-by: Xuan Zhuo
---
hw/net/virtio-net.c | 17 +++--
1 file changed, 11 insertions
Add virtqueue reset feature for vhost-user.
Signed-off-by: Kangjie Xu
Signed-off-by: Xuan Zhuo
---
hw/net/vhost_net.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c
index 9ea160e4e9..5bc89f2842 100644
--- a/hw/net/vhost_net.c
+++ b/hw/net/vhost_net.c
Update vhost_net_virtqueue_stop() for vhost-user scenario.
Signed-off-by: Kangjie Xu
Signed-off-by: Xuan Zhuo
---
hw/net/vhost_net.c | 4
1 file changed, 4 insertions(+)
diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c
index 2ab67e875e..c0d408f3b4 100644
--- a/hw/net/vhost_net.c
+++ b
From: Xuan Zhuo
virtio-net, vhost-kernel, vhost-user implement queue reset.
Queued packets in the corresponding queue pair are flushed
or purged.
Signed-off-by: Xuan Zhuo
Signed-off-by: Kangjie Xu
---
hw/net/virtio-net.c | 19 +++
1 file changed, 19 insertions(+)
diff --git a
Update vhost_dev_virtqueue_stop() for vhost-user scenario.
Signed-off-by: Kangjie Xu
Signed-off-by: Xuan Zhuo
---
hw/virtio/vhost.c | 19 +++
1 file changed, 19 insertions(+)
diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
index fc3f550c76..a0d6824353 100644
--- a/hw/virtio/
virtio-net: support queue_enable for vhost
Support queue_enable in vhost scenario. It can be called when
a vq reset operation is performed and the vq will be restared.
It should be noted that we can restart the vq when the vhost has
already started. When launching a new vhost-user device, the vho
Introduce the interface vhost_reset_vring(). The interface is a wrapper
to send a VHOST_USER_RESET_VRING message to the back-end. It will reset
an individual vring in the back-end. Meanwhile, it will wait for a reply
to ensure the reset has been completed.
Signed-off-by: Kangjie Xu
Signed-off-by:
The interface to set enable status for a single vring is lacked in
VhostOps, since the vhost_set_vring_enable_op will manipulate all
virtqueues in a device.
Resetting a single vq will rely on this interface.
Signed-off-by: Kangjie Xu
Signed-off-by: Xuan Zhuo
---
hw/virtio/vhost-user.c
Introduce vhost_virtqueue_stop(), which can reset the virtqueue
in the device. Then it will unmap vrings and the desc of the
virtqueue.
This patch only considers the case for vhost-kernel, when
NetClientDriver is NET_CLIENT_DRIVER_TAP.
Signed-off-by: Kangjie Xu
Signed-off-by: Xuan Zhuo
---
hw/
Update vhost_dev_virtqueue_restart() for vhost-user scenario.
Signed-off-by: Kangjie Xu
Signed-off-by: Xuan Zhuo
---
hw/virtio/vhost.c | 26 ++
1 file changed, 22 insertions(+), 4 deletions(-)
diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
index a0d6824353..bd90cfe1
Introduce vhost_net_virtqueue_restart(), which can restart the
virtqueue when the vhost net started running before. If it fails
to restart the virtqueue, the device will be stopped.
This patch only considers the case for vhost-kernel, when
NetClientDriver is NET_CLIENT_DRIVER_TAP.
Signed-off-by:
Introduce vhost_dev_virtqueue_restart(), which can restart the
virtqueue when the vhost has already started running.
Signed-off-by: Kangjie Xu
Signed-off-by: Xuan Zhuo
---
hw/virtio/vhost.c | 13 +
include/hw/virtio/vhost.h | 2 ++
2 files changed, 15 insertions(+)
diff --
Introduce vhost_dev_virtqueue_stop(), which can ummap the
vrings and the desc of it.
Signed-off-by: Kangjie Xu
Signed-off-by: Xuan Zhuo
---
hw/virtio/vhost.c | 9 +
include/hw/virtio/vhost.h | 3 +++
2 files changed, 12 insertions(+)
diff --git a/hw/virtio/vhost.c b/hw/virtio/v
From: Xuan Zhuo
Separate the logic of vq reset. This logic will be called directly
later.
Signed-off-by: Xuan Zhuo
---
hw/virtio/virtio.c | 37 +
1 file changed, 21 insertions(+), 16 deletions(-)
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 5d
A a new command line parameter "queue_reset" is added.
Meanwhile, the vq reset feature is disabled for pre-7.1 machines.
Signed-off-by: Kangjie Xu
Signed-off-by: Xuan Zhuo
---
hw/core/machine.c | 1 +
include/hw/virtio/virtio.h | 4 +++-
2 files changed, 4 insertions(+), 1 deletion(-)
Introduce vhost_virtqueue_unmap() to ummap the vrings and desc
of a virtqueue.
The function will be used later.
Signed-off-by: Kangjie Xu
Signed-off-by: Xuan Zhuo
---
hw/virtio/vhost.c | 20 ++--
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/hw/virtio/vhost.c b
From: Xuan Zhuo
This is updated using scripts/update-linux-headers.sh.
Added VIRTIO_F_RING_RESET, VIRTIO_PCI_COMMON_Q_RESET. It came from here:
https://github.com/oasis-tcs/virtio-spec/issues/124
https://github.com/oasis-tcs/virtio-spec/issues/139
Add VIRTIO_PCI_COMMON_Q_NDATA, which comes from
Add virtqueue reset feature for vhost-kernel.
Signed-off-by: Kangjie Xu
Signed-off-by: Xuan Zhuo
---
hw/net/vhost_net.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c
index 778081e54a..9ea160e4e9 100644
--- a/hw/net/vhost_net.c
+++ b/hw/net/vhost_net
From: Xuan Zhuo
PCI devices support vq reset.
Based on this function, the driver can adjust the size of the ring, and
quickly recycle the buffer in the ring.
The migration of the virtio devices will not happen during a reset
operation. This is becuase the global iothread lock is held. Migration
The virtio queue reset function has already been defined in the virtio spec 1.2.
The relevant virtio spec information is here:
https://github.com/oasis-tcs/virtio-spec/issues/124
https://github.com/oasis-tcs/virtio-spec/issues/139
This patch set is to support this function in QEMU. It con
From: Xuan Zhuo
Introduce a new interface function virtio_queue_reset() to implement
reset for vq.
Add a new callback to VirtioDeviceClass for queue reset operation for
each child device.
Signed-off-by: Xuan Zhuo
---
hw/virtio/virtio.c | 11 +++
include/hw/virtio/virtio.h | 2
To support the reset operation for an individual virtqueue,
we introduce a new message VHOST_USER_RESET_VRING. This
message is submitted by the front-end to reset an individual
virtqueue to initial states in the back-end. The reply is
needed to ensure that the reset operation is complete.
Signed-o
Introduce the interface queue_enable() in VirtioDeviceClass and the
fucntion virtio_queue_enable() in virtio, it can be called when
VIRTIO_PCI_COMMON_Q_ENABLE is written and related virtqueue can be
started. It only supports the devices of virtio 1 or later. The
not-supported devices can only start
PCI devices support vq enable.
Based on this function, the driver can re-enable the virtqueue after the
virtqueue is reset.
Signed-off-by: Kangjie Xu
Signed-off-by: Xuan Zhuo
---
hw/virtio/virtio-pci.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virti
On 12/8/22 16:35, Enrik Berkhan wrote:
In more recent Raspbian OS Linux kernels, the fb driver gives up
immediately if RPI_FIRMWARE_FRAMEBUFFER_GET_NUM_DISPLAYS fails or no
displays are reported.
This change simply always reports one display. It makes bcm2835_fb work
again with these more recent
On 12/8/22 19:41, Peter Maydell wrote:
cpu64.c has ended up in a slightly odd order -- it starts with the
initfns for most of the models-real-hardware CPUs; after that comes a
bunch of support code for SVE, SME, pauth and LPA2 properties. Then
come the initfns for the 'host' and 'max' CPU types,
On 13/8/22 14:15, Anton Kochkov wrote:
While Meson buildsystem accepts the 'false' as a value
for boolean options, it's not covered by the specification
and in general invalid. Some alternative Meson implementations,
like Muon, do not accept 'false' or 'true' as a valid value
for the boolean opti
On 13/8/22 18:27, Jiaxun Yang wrote:
FDT can be awfully fat after series of modifications in fdt
filter. Just pack it up before add to ram.
Signed-off-by: Jiaxun Yang
---
hw/mips/boston.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/mips/boston.c b/hw/mips/boston.c
index 5145179951
Hi Conor,
On 15/8/22 00:48, conor.doo...@microchip.com wrote:
On 14/08/2022 23:08, Alistair Francis wrote:
EXTERNAL EMAIL: Do not click links or open attachments unless you know the
content is safe
On Sat, Aug 13, 2022 at 11:51 PM Conor Dooley wrote:
QEMU support for PolarFire SoC seems to
On 15/8/22 21:03, Peter Maydell wrote:
Honour the commandline -semihosting-config userspace=on option,
instead of always permitting userspace semihosting calls in system
emulation mode, by passing the correct value to the is_userspace
argument of semihosting_enabled().
Note that this is a behavi
On 15/8/22 21:03, Peter Maydell wrote:
Honour the commandline -semihosting-config userspace=on option,
instead of always permitting userspace semihosting calls in system
emulation mode, by passing the correct value to the is_userspace
argument of semihosting_enabled().
Note that this is a behavi
On 15/8/22 21:02, Peter Maydell wrote:
Currently our semihosting implementations generally prohibit use of
semihosting calls in system emulation from the guest userspace. This
is a very long standing behaviour justified originally "to provide
some semblance of security" (since code with access t
On 15/8/22 09:26, Milica Lazarevic wrote:
Modifier static has been added to the remaining functions that shouldn't
be used outside of the nanomips disassembler.
Signed-off-by: Milica Lazarevic
---
disas/nanomips.cpp | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/
On 15/8/22 09:26, Milica Lazarevic wrote:
Helper methods from NMD class like NMD::renumber_registers,
NMD::decode_gpr_gpr4... etc. are removed from the class. They're now
declared global static functions.
Following helper methods have been deleted because they're not used by
the nanomips disasse
On 15/8/22 09:26, Milica Lazarevic wrote:
Header file nanomips.h has been deleted for the nanomips disassembler to
stay consistent with the rest of the disassemblers which don't include
extra header files.
Signed-off-by: Milica Lazarevic
---
disas/nanomips.h | 28
On 15/8/22 16:20, Thomas Huth wrote:
On 15/08/2022 13.07, Philippe Mathieu-Daudé wrote:
On 15/8/22 09:26, Milica Lazarevic wrote:
NMD class methods with the conditional_function type like
NMD::ADDIU_32__cond, NMD::ADDIU_RS5__cond, etc. are removed from the NMD
class. They're now declared global
On 15/8/22 09:26, Milica Lazarevic wrote:
The following is moved from the nanomips.h to nanomips.cpp file:
- #include line
- typedefs
- enums
- definition of the Pool struct.
Header file nanomips.h will be deleted to be consistent with the rest of
the disas/ code.
Signed-off-by: Milica Lazarevic
On 15/8/22 09:26, Milica Lazarevic wrote:
Pool tables are no longer declared as static fields of the NMD
class but as global static variables.
The NMD::Disassemble method is using the MAJOR Pool table variable, so
its implementation is moved to the end of the nanomips.cpp file,
right after the i
On Tue, Aug 16, 2022 at 6:15 AM Maksim Perov wrote:
>
> Previously address is set by default value 0x1000 which is hardcoded in
> target/riscv/cpu_bits.h
> If add to new RISC-V Machine in which ROM area is not based on 0x1000 address
> than there is problem of running simulation
>
> Signed-off-b
On Mon, Aug 15, 2022 at 12:03 PM Peter Maydell wrote:
>
> Honour the commandline -semihosting-config userspace=on option,
> instead of always permitting userspace semihosting calls in system
> emulation mode, by passing the correct value to the is_userspace
> argument of semihosting_enabled().
>
>
Jonathan Cameron wrote:
> On Fri, 12 Aug 2022 16:44:03 +0100
> Jonathan Cameron wrote:
>
> > On Thu, 11 Aug 2022 18:08:57 +0100
> > Jonathan Cameron via wrote:
> >
> > > On Tue, 9 Aug 2022 17:08:25 +0100
> > > Jonathan Cameron wrote:
> > >
> > > > On Tue, 9 Aug 2022 21:07:06 +0800
> > > > B
On 8/8/22 01:21, David Gibson wrote:
On Fri, Aug 05, 2022 at 06:39:43AM -0300, Daniel Henrique Barboza wrote:
Reading the FDT requires that the user saves the fdt_blob and then use
'dtc' to read the contents. Saving the file and using 'dtc' is a strong
use case when we need to compare two FDT
Matheus Ferst writes:
> Create an interrupt masking method for the POWER9 and POWER10
> processors. The new method is based on cpu_has_work_POWER{9,10} and
> ppc_pending_interrupt_legacy.
>
> Signed-off-by: Matheus Ferst
> ---
> target/ppc/excp_helper.c | 160 +++
Add cortex A35 core and enable it for virt board.
Signed-off-by: Hao Wu
Reviewed-by: Joe Komlodi
---
docs/system/arm/virt.rst | 1 +
hw/arm/virt.c| 1 +
target/arm/cpu64.c | 69
3 files changed, 71 insertions(+)
diff --git a/docs/sys
Matheus Ferst writes:
> Critical Input, Watchdog Timer, and Fixed Interval Timer are only
> defined for embedded CPUs. The Programmable Interval Timer is 40x-only.
>
> Signed-off-by: Matheus Ferst
> ---
> target/ppc/excp_helper.c | 18 --
> 1 file changed, 18 deletions(-)
>
> di
On 8/15/22 14:02, Peter Maydell wrote:
Peter Maydell (7):
semihosting: Allow optional use of semihosting from userspace
target/arm: Honour -semihosting-config userspace=on
target/m68k: Honour -semihosting-config userspace=on
target/mips: Honour -semihosting-config userspace=on
targ
On 8/15/22 14:03, Peter Maydell wrote:
The riscv target incorrectly enabled semihosting always, whether the
user asked for it or not. Call semihosting_enabled() passing the
correct value to the is_userspace argument, which fixes this and also
handles the userspace=on argument.
Note that this is
Matheus Ferst writes:
> Rename the method to ppc_interrupt_pending_legacy and create a new
> ppc_interrupt_pending that will call the appropriate interrupt masking
> method based on env->excp_model.
>
> Signed-off-by: Matheus Ferst
> ---
> target/ppc/excp_helper.c | 10 +-
> 1 file chan
> Hi all,
> I am trying to do audio passthrough with qemu. I have tried this
> before as well and it was working fine. Now when I launch qemu with
> graphics and audio passthrough, I am getting below error message and qemu
> launch is failing.
>
> qemu-system-x86_64: iommu has granularity
Previously address is set by default value 0x1000 which is hardcoded in
target/riscv/cpu_bits.h
If add to new RISC-V Machine in which ROM area is not based on 0x1000 address
than there is problem of running simulation
Signed-off-by: Maksim Perov
---
hw/riscv/boot.c | 4
1 file changed, 4
Previously address is set by default value 0x1000 which is hardcoded in
target/riscv/cpu_bits.h
If add to new RISC-V Machine in which ROM area is based on 0x1000 address than
there is problem of running simulation
Signed-off-by: Maksim Perov
---
hw/riscv/boot.c | 4
1 file changed, 4 inse
Matheus Ferst writes:
> Move the interrupt masking logic to a new method, ppc_pending_interrupt,
> and only handle the interrupt processing in ppc_hw_interrupt.
>
> Signed-off-by: Matheus Ferst
> ---
> target/ppc/excp_helper.c | 228 ---
> 1 file changed, 141
[ Adding Fabiano who reworked all exception models for 7.0 and Nick
who rewrote the Linux side sometime ago ]
On 8/15/22 18:20, Matheus Ferst wrote:
Currently, PowerPC interrupts are handled as follows:
1) The CPU_INTERRUPT_HARD bit of cs->interrupt_request gates all
interrupts;
2) The bi
On 8/15/22 15:31, Dr. David Alan Gilbert wrote:
* Daniel Henrique Barboza (danielhb...@gmail.com) wrote:
On 8/8/22 00:30, David Gibson wrote:
On Fri, Aug 05, 2022 at 06:39:42AM -0300, Daniel Henrique Barboza wrote:
To save the FDT blob we have the '-machine dumpdtb=' property.
With this p
Honour the commandline -semihosting-config userspace=on option,
instead of always permitting userspace semihosting calls in system
emulation mode, by passing the correct value to the is_userspace
argument of semihosting_enabled().
Note that this is a behaviour change: if the user wants to
do semih
Honour the commandline -semihosting-config userspace=on option,
instead of always permitting userspace semihosting calls in system
emulation mode, by passing the correct value to the is_userspace
argument of semihosting_enabled().
Note that this is a behaviour change: if the user wants to
do semih
The riscv target incorrectly enabled semihosting always, whether the
user asked for it or not. Call semihosting_enabled() passing the
correct value to the is_userspace argument, which fixes this and also
handles the userspace=on argument.
Note that this is a behaviour change: we used to default t
Honour the commandline -semihosting-config userspace=on option,
instead of never permitting userspace semihosting calls in system
emulation mode, by passing the correct value to the is_userspace
argument of semihosting_enabled(), instead of manually checking and
always forbidding semihosting if the
Honour the commandline -semihosting-config userspace=on option,
instead of never permitting userspace semihosting calls in system
emulation mode, by passing the correct value to the is_userspace
argument of semihosting_enabled(), instead of manually checking and
always forbidding semihosting if the
Honour the commandline -semihosting-config userspace=on option,
instead of always permitting userspace semihosting calls in system
emulation mode, by passing the correct value to the is_userspace
argument of semihosting_enabled().
Note that this is a behaviour change: if the user wants to
do semih
Currently our semihosting implementations generally prohibit use of
semihosting calls in system emulation from the guest userspace. This
is a very long standing behaviour justified originally "to provide
some semblance of security" (since code with access to the
semihosting ABI can do things like
Currently our semihosting implementations usually prohibit use of
semihosting calls in system emulation from the guest userspace. This
is a very long standing behaviour justified originally "to provide
some semblance of security" (since code with access to the semihosting
ABI can do things like re
* Daniel Henrique Barboza (danielhb...@gmail.com) wrote:
> 'info fdt' is only able to print full nodes so far. It would be good to
> be able to also print single properties, since ometimes we just want
> to verify a single value from the FDT.
>
> libfdt does not have support to find a property giv
* Daniel Henrique Barboza (danielhb...@gmail.com) wrote:
>
>
> On 8/8/22 00:30, David Gibson wrote:
> > On Fri, Aug 05, 2022 at 06:39:42AM -0300, Daniel Henrique Barboza wrote:
> > > To save the FDT blob we have the '-machine dumpdtb=' property.
> > > With this property set, the machine saves the
On 8/8/22 00:30, David Gibson wrote:
On Fri, Aug 05, 2022 at 06:39:42AM -0300, Daniel Henrique Barboza wrote:
To save the FDT blob we have the '-machine dumpdtb=' property.
With this property set, the machine saves the FDT in and exit.
The created file can then be converted to plain text dts
On Mon, 15 Aug 2022 18:04:44 +0100
Jonathan Cameron wrote:
> On Fri, 12 Aug 2022 16:44:03 +0100
> Jonathan Cameron wrote:
>
> > On Thu, 11 Aug 2022 18:08:57 +0100
> > Jonathan Cameron via wrote:
> >
> > > On Tue, 9 Aug 2022 17:08:25 +0100
> > > Jonathan Cameron wrote:
> > >
> > > > On
On Fri, 12 Aug 2022 16:44:03 +0100
Jonathan Cameron wrote:
> On Thu, 11 Aug 2022 18:08:57 +0100
> Jonathan Cameron via wrote:
>
> > On Tue, 9 Aug 2022 17:08:25 +0100
> > Jonathan Cameron wrote:
> >
> > > On Tue, 9 Aug 2022 21:07:06 +0800
> > > Bobo WL wrote:
> > >
> > > > Hi Jonathan
On 15/08/2022 09.26, Milica Lazarevic wrote:
Helper methods from NMD class like NMD::renumber_registers,
NMD::decode_gpr_gpr4... etc. are removed from the class. They're now
declared global static functions.
Following helper methods have been deleted because they're not used by
the nanomips disa
Writes to LPCR are hypervisor privileged.
Signed-off-by: Matheus Ferst
---
target/ppc/cpu.c | 2 ++
target/ppc/cpu.h | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/target/ppc/cpu.c b/target/ppc/cpu.c
index 401b6f9e63..9f261bde8e 100644
--- a/target/ppc/cpu.c
+++ b/target/p
Now that cs->interrupt_request indicates if there is any unmasked
interrupt, checking if the CPU has work to do can be simplified to a
single check that works for all CPU models.
Signed-off-by: Matheus Ferst
---
target/ppc/cpu_init.c | 212 +-
1 file chang
This new method will check if any pending interrupt was unmasked and
then call cpu_interrupt/cpu_reset_interrupt accordingly. Code that
raises/lowers or masks/unmasks interrupts should call this method to
keep CPU_INTERRUPT_HARD coherent with env->pending_interrupts.
Signed-off-by: Matheus Ferst
The new method is based on cpu_has_work_POWER7 and
ppc_pending_interrupt_legacy.
Signed-off-by: Matheus Ferst
---
target/ppc/excp_helper.c | 130 +++
1 file changed, 130 insertions(+)
diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c
index 0dbd
Create an interrupt masking method for POWER8. The new method is based
on cpu_has_work_POWER8 and ppc_pending_interrupt_legacy.
Signed-off-by: Matheus Ferst
---
target/ppc/excp_helper.c | 138 +++
1 file changed, 138 insertions(+)
diff --git a/target/ppc/excp
The Hypervisor Virtualization Interrupt was introduced in PowerISA v3.0.
Critical Input, Watchdog Timer, and Fixed Interval Timer are only
defined for embedded CPUs. The Programmable Interval Timer is 40x-only.
Signed-off-by: Matheus Ferst
---
target/ppc/excp_helper.c | 27 --
The Hypervisor Virtualization Interrupt was introduced in PowerISA v3.0.
Critical Input, Watchdog Timer, and Fixed Interval Timer are only
defined for embedded CPUs. The Programmable Interval Timer is 40x-only.
The Event-Based Branch Facility was added in PowerISA v2.07.
Signed-off-by: Matheus Fer
Rename the method to ppc_interrupt_pending_legacy and create a new
ppc_interrupt_pending that will call the appropriate interrupt masking
method based on env->excp_model.
Signed-off-by: Matheus Ferst
---
target/ppc/excp_helper.c | 10 +-
1 file changed, 9 insertions(+), 1 deletion(-)
di
Create an interrupt masking method for the POWER9 and POWER10
processors. The new method is based on cpu_has_work_POWER{9,10} and
ppc_pending_interrupt_legacy.
Signed-off-by: Matheus Ferst
---
target/ppc/excp_helper.c | 160 +++
1 file changed, 160 insertions(
Critical Input, Watchdog Timer, and Fixed Interval Timer are only
defined for embedded CPUs. The Programmable Interval Timer is 40x-only.
Signed-off-by: Matheus Ferst
---
target/ppc/excp_helper.c | 18 --
1 file changed, 18 deletions(-)
diff --git a/target/ppc/excp_helper.c b/ta
This enum defines the bit positions in env->pending_interrupts for each
interrupt. However, except for the comparison in kvmppc_set_interrupt,
the values are always used as (1 << PPC_INTERRUPT_*). Define them
directly like that to save some clutter. No functional change intended.
Signed-off-by: Ma
1 - 100 of 159 matches
Mail list logo