On Saturday, November 30, 2019, Michael Rolnik wrote:
> Aleksandar.
>
> if download AVR specs you can see that some cores implement some
> instructions and some don't.
> We could go other way, just implement all of them regardless of what is
> supported and what is not and hope that executed elf
On Monday, November 25, 2019, Filip Bozuta wrote:
> The script checkpatch.pl located in scripts folder was
> used to detect all errors and warrnings in files:
> hw/mips/mips_malta.c
> hw/mips/gt64xxx_pci.c
> tests/acceptance/linux_ssh_mips_malta.py
>
> All these mips malta machine fil
On Monday, November 25, 2019, Filip Bozuta wrote:
> The script checkpatch.pl located in scripts folder was
> used to detect all errors and warrnings in files:
> hw/mips/mips_malta.c
> hw/mips/gt64xxx_pci.c
> tests/acceptance/linux_ssh_mips_malta.py
>
> All these mips malta machine fil
On Saturday, November 30, 2019, Michael Rolnik wrote:
> Hi Aleksandar.
>
> thanks for pointing that out I was not aware of that.
> I can fix it.
>
>
Hey, Michael,
Please take alook at this:
https://en.m.wikipedia.org/wiki/ATtiny_microcontroller_comparison_chart
It looks that all cases of AVR 1
> Am 30.11.2019 um 20:42 schrieb Markus Armbruster :
>
> cpu_model_from_info() is a helper for qmp_query_cpu_model_expansion(),
> qmp_query_cpu_model_comparison(), qmp_query_cpu_model_baseline(). It
> crashes when the visitor or the QOM setter fails, and its @errp
> argument is null. Messed u
On 11/30/19 8:42 PM, Markus Armbruster wrote:
Local Error * variables are conventionally named @err or @local_err,
and Error ** parameters @errp. Naming local variables like parameters
is confusing. Clean that up.
Naming parameters like local variables is also confusing. Left for
another day.
Markus Armbruster writes:
> Vladimir Sementsov-Ogievskiy writes:
>
>> 29.11.2019 17:11, Vladimir Sementsov-Ogievskiy wrote:
>>> 29.11.2019 17:03, Markus Armbruster wrote:
Vladimir Sementsov-Ogievskiy writes:
> fit_load_fdt forget to check that errp is not NULL and to zero it after
cpu_model_from_info() is a helper for qmp_query_cpu_model_expansion(),
qmp_query_cpu_model_comparison(), qmp_query_cpu_model_baseline(). It
crashes when the visitor or the QOM setter fails, and its @errp
argument is null. Messed up in commit 137974cea3 's390x/cpumodel:
implement QMP interface "qu
Cc: Halil Pasic
Cc: Cornelia Huck
Cc: Christian Borntraeger
Signed-off-by: Markus Armbruster
---
hw/intc/s390_flic_kvm.c | 10 --
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/hw/intc/s390_flic_kvm.c b/hw/intc/s390_flic_kvm.c
index 30d50c2369..33ea61 100644
--- a/hw
memory_device_get_free_addr() crashes when
memory_device_check_addable() fails and its @errp argument is null.
Messed up in commit 1b6d6af21b "pc-dimm: factor out capacity and slot
checks into MemoryDevice".
The bug can't bite as no caller actually passes null. Fix it anyway.
Cc: David Hildenbra
Cc: "Daniel P. Berrangé"
Signed-off-by: Markus Armbruster
---
include/io/task.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/io/task.h b/include/io/task.h
index 5cb9faf9f2..1abbfb8b65 100644
--- a/include/io/task.h
+++ b/include/io/task.h
@@ -119,7 +119,7 @@ typede
Signed-off-by: Markus Armbruster
---
tests/test-blockjob.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/tests/test-blockjob.c b/tests/test-blockjob.c
index e670a20617..4eeb184caf 100644
--- a/tests/test-blockjob.c
+++ b/tests/test-blockjob.c
@@ -48,9 +48,8 @@ static Block
legacy_acpi_cpu_plug_cb() crashes when acpi_set_cpu_present_bit()
fails and its @errp argument is null. Messed up in commit cc43364de7
"acpi/cpu-hotplug: introduce helper function to keep bit setting in
one place".
The bug can't bite as no caller actually passes null, and
acpi_set_cpu_present_bit
sclp_events_bus_realize() crashes when object_property_set_bool()
fails and its @errp argument is null. Messed up in commit f6102c329c
"s390/sclp: rework sclp event facility initialization + device
realization".
The bug can't bite as no caller actually passes null. Fix it anyway.
Cc: David Hild
isa_ipmi_bt_realize(), ipmi_isa_realize(), pci_ipmi_bt_realize(), and
pci_ipmi_kcs_realize() crash when IPMIInterfaceClass method init()
fails and their @errp argument is null. First messed up in commit
0719029c47 "ipmi: Add an ISA KCS low-level interface", then imitated
in commit a9b74079cb "ipmi
get_max_cpu_model() crashes when kvm_s390_get_host_cpu_model() fails
and its @errp argument is null.
apply_cpu_model() crashes when kvm_s390_apply_cpu_model() fails and
its @errp argument is null.
s390_realize_cpu_model() crashes when get_max_cpu_model() or
check_compatibility() fail, and its @er
When os_mem_prealloc() fails, file_ram_alloc() calls qemu_ram_munmap()
and returns null. Except it doesn't when its @errp argument is null,
because it checks for failure with (errp && *errp). Messed up in
commit 056b68af77 "fix qemu exit on memory hotplug when allocation
fails at prealloc time".
s390x-cpu property setters set_feature() and set_feature_group() crash
when the visitor fails and its @errp argument is null. Messed up in
commit 0754f60429 "s390x/cpumodel: expose features and feature groups
as properties".
The bug can't bite as no caller actually passes null. Fix it anyway.
C
PATCH 2-4 fix crash bugs. Including them would be a no-brainer at
-rc0. But we're post -rc3, and even for crash bugs we require a
certain likelihood of users getting bitten.
Jens, please assess impact of PATCH 2's crash bug.
Kevin, please do the same for PATCH 3.
Daniel, please do the same for
virtio_net_handle_migration_primary() returns early when it can't
ensure n->primary_dev is non-null. Checking it again right after that
early return is redundant. Drop.
If n->primary_dev is null on entering failover_replug_primary(), @pdev
will become null, and pdev->partially_hotplugged will cr
build_guest_fsinfo_for_virtual_device() crashes when
build_guest_fsinfo_for_device() fails and its @errp argument is null.
Messed up in commit 46d4c5723e "qga: Add guest-get-fsinfo command".
The bug can't bite as no caller actually passes null. Fix it anyway.
Cc: Michael Roth
Signed-off-by: Mar
fit_load_fdt() recovers from fit_image_addr() failing with ENOENT.
Except it doesn't when its @errp argument is &error_fatal or
&error_abort, because it blindly passes @errp to fit_image_addr().
Messed up in commit 3eb99edb48 "loader-fit: Wean off error_printf()".
The bug can't bite as no caller a
qmp_query_cpu_definitions() tries to ignore get_max_cpu_model()'s
errors. However, it crashes when its @errp argument is null or
&error_abort, and exit(1)s when it's &error_fatal. Messed up in
commit 38cba1f4d8 "s390x: return unavailable features via
query-cpu-definitions".
The bug can't bite as
Cc: "Daniel P. Berrangé"
Signed-off-by: Markus Armbruster
---
include/crypto/tlssession.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/crypto/tlssession.h b/include/crypto/tlssession.h
index e01e1a9dc2..15b9cef086 100644
--- a/include/crypto/tlssession.h
+++ b/incl
Declaring a local Error *err without initializer looks suspicious.
Fuse the declaration with the initialization to avoid that.
Signed-off-by: Markus Armbruster
---
tests/test-qobject-output-visitor.c | 8
tests/test-string-output-visitor.c | 4 ++--
2 files changed, 6 insertions(+), 6
raw_aio_attach_aio_context() passes uninitialized Error *local_err by
reference to laio_init() via aio_setup_linux_aio(). When laio_init()
fails, it passes it on to error_setg_errno(), tripping error_setv()'s
assertion unless @local_err is null by dumb luck.
Fix by initializing @local_err properl
Local Error * variables are conventionally named @err or @local_err,
and Error ** parameters @errp. Naming local variables like parameters
is confusing. Clean that up.
Naming parameters like local variables is also confusing. Left for
another day.
Signed-off-by: Markus Armbruster
---
hw/intc
qcrypto_tls_creds_load_cert() passes uninitialized GError *gerr by
reference to g_file_get_contents(). When g_file_get_contents() fails,
it'll try to set a GError. Unless @gerr is null by dumb luck, this
logs a ERROR_OVERWRITTEN_WARNING warning message and leaves @gerr
unchanged. qcrypto_tls_cre
Functions that take an Error ** parameter to pass an error to the
caller expect the parameter to point to null.
failover_replug_primary() violates this precondition in several
places:
* After qemu_opts_from_qdict() failed, *errp is no longer null.
Passing it to error_setg() is wrong, and will tr
Hi Aleksandar.
thanks for pointing that out I was not aware of that.
I can fix it.
Regards,
Michael Rolnik
On Sat, Nov 30, 2019 at 6:29 PM Aleksandar Markovic <
aleksandar.m.m...@gmail.com> wrote:
>
>
> On Saturday, November 30, 2019, Aleksandar Markovic <
> aleksandar.m.m...@gmail.com> wrote:
Aleksandar.
if download AVR specs you can see that some cores implement some
instructions and some don't.
We could go other way, just implement all of them regardless of what is
supported and what is not and hope that executed elf contains only
supported ones.
Regards,
Michael Rolnik
On Sat, N
There is *-cpu *option where you can specify what CPU you want, if this
option is not specified avr6 (avr6-avr-cpu) is chosen.
*./avr-softmmu/qemu-system-avr -cpu help*
avr1-avr-cpu
avr2-avr-cpu
avr25-avr-cpu
avr3-avr-cpu
avr31-avr-cpu
avr35-avr-cpu
avr4-avr-cpu
avr5-avr-cpu
avr51-avr-cpu
avr6-avr
On Saturday, November 30, 2019, Michael Rolnik wrote:
> Hi Aleksandar.
>
> thanks for pointing that out I was not aware of that.
> I can fix it.
>
That'd be great!
Thanks,
Aleksandar
>
> Regards,
> Michael Rolnik
>
> On Sat, Nov 30, 2019 at 6:29 PM Aleksandar Markovic <
> aleksandar.m.m...@g
Hi Aleksandar.
I guess no testing would be possible.
My previous series of patches (about 2 years ago, before Sarah joined) did
not contain any peripherals, there were only the CPU and the sample board,
I used it to test instructions.
Somebody complained that there are no peripherals and that was
On Saturday, November 30, 2019, Aleksandar Markovic <
aleksandar.m.m...@gmail.com> wrote:
>
>
> On Wednesday, November 27, 2019, Michael Rolnik wrote:
>
> +
>> +
>> +/*
>> + * Performs the logical AND between the contents of register Rd and
>> register
>> + * Rr and places the result in the des
On Saturday, November 23, 2019, Michael Rolnik wrote:
> On Fri, Nov 22, 2019 at 7:12 PM Aleksandar Markovic
> wrote:
> >
> > > +
> > > +static void avr_avr1_initfn(Object *obj)
> > > +{
> > > +AVRCPU *cpu = AVR_CPU(obj);
> > > +CPUAVRState *env = &cpu->env;
> > > +
> > > +avr_set_fea
Public bug reported:
Hi
Now I facing boot linux-5.3 arm64 image failed, without any log, just
hang here.
Host machine: ubuntu-18.04 with 4.15.0-70-generic kernel
Qemu version: qemu-system-aarch64-version 4.1.0
use command: qemu-system-aarch64 -kernel -append "console=ttyAMA0" -m
2048M -smp 2 -
On Wednesday, November 27, 2019, Michael Rolnik wrote:
> Include AVR maintaners in MAINTAINERS file
>
> Signed-off-by: Michael Rolnik
> ---
> MAINTAINERS | 11 +++
> 1 file changed, 11 insertions(+)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 5e5e3e52d6..d7bfb62791 100644
> --- a
On Fri, 29 Nov 2019, BALATON Zoltan wrote:
If the microcode of the microengine/CCE could be reversed or is documented
somewhere it may be easier to implement emulation of that instead of doing
the packet parsing for all possible command packets of which there are quite
a lot, but in the real GP
On Wednesday, November 27, 2019, Michael Rolnik wrote:
> This series of patches adds 8bit AVR cores to QEMU.
> All instruction, except BREAK/DES/SPM/SPMX, are implemented. Not fully
> tested yet.
> However I was able to execute simple code with functions. e.g fibonacci
> calculation.
> This serie
On Fri, 29 Nov 2019 at 20:05, Eduardo Habkost wrote:
> So, to summarize the current issues:
>
> 1) realize triggers a plug operation implicitly.
> 2) unplug triggers unrealize implicitly.
>
> Do you expect to see use cases that will require us to implement
> realize-without-plug?
I don't think so
Le 30/11/2019 à 09:45, Alex Bennée a écrit :
> This is cleaner than poking memory directly and will make later
> clean-ups easier.
>
> Signed-off-by: Alex Bennée
> Reviewed-by: Richard Henderson
> ---
> target/m68k/helper.c | 29 +++--
> 1 file changed, 11 insertions(+),
On Wednesday, November 27, 2019, Michael Rolnik wrote:
> A simple board setup that configures an AVR CPU to run a given firmware
> image.
> This is all that's useful to implement without peripheral emulation as AVR
> CPUs include a lot of on-board peripherals.
>
> NOTE: this is not a real board !
On Wednesday, November 27, 2019, Michael Rolnik wrote:
+
> +
> +/*
> + * Performs the logical AND between the contents of register Rd and
> register
> + * Rr and places the result in the destination register Rd.
> + */
> +static bool trans_AND(DisasContext *ctx, arg_AND *a)
> +{
> +TCGv Rd
On 27.11.2019 01:09, Kevin Wolf wrote:
> Am 26.11.2019 um 22:24 hat Alexander Popov geschrieben:
>> Hello Kevin,
>>
>> Thanks for your review,
>>
>> On 21.11.2019 18:03, Kevin Wolf wrote:
>>> Am 14.11.2019 um 18:25 hat Alexander Popov geschrieben:
The commit a718978ed58a from July 2015 introdu
Patchew URL:
https://patchew.org/QEMU/20191130084602.10818-1-alex.ben...@linaro.org/
Hi,
This series seems to have some coding style problems. See output below for
more information:
Subject: [PATCH v2 00/14] gdbstub refactor and SVE support
Type: series
Message-id: 20191130084602.10818-1-ale
The Linux kernel chooses the default of 64 bytes for SVE registers on
the basis that it is the largest size that won't grow the signal
frame. When debugging larger sizes are also unwieldy in gdb as each
zreg will take over a page of terminal to display.
The user can of course always specify a larg
The test runners job is to start QEMU with guest debug enabled and
then spawn a gdb process running a test script that exercises the
functionality it wants to test.
Signed-off-by: Alex Bennée
---
tests/guest-debug/run-test.py | 57 +++
1 file changed, 57 insertion
We only have one GDBState which should be allocated at the time we
process any commands. This will make further clean-up a bit easier.
Signed-off-by: Alex Bennée
---
gdbstub.c | 539 +++---
1 file changed, 267 insertions(+), 272 deletions(-)
diff
On 30/11/19 09:31, Cameron Esfahani wrote:
> So far so good. Without any workaround, I could get it to fail
> within a few seconds. With your change, I've been running for a few
> minutes without a problem. But, this is on my laptop, so I'll wait
> until I can test it on a wider-range of machine
We don't plumb this in yet as there are complications involved with
binutils and cross-architectiure debugging but it is one step closer.
Example:
./tests/guest-debug/run-test.py \
--qemu ./aarch64-linux-user/qemu-aarch64 \
--qargs "-cpu max" \
--bin ./tests/tcg/aarch64-linux-user/h
We will want to generate similar dynamic XML for gdbstub support of
SVE registers (the upstream doesn't use XML). To that end lightly
rename a few things to make the distinction.
Signed-off-by: Alex Bennée
---
target/arm/cpu.h | 20 +---
target/arm/gdbstub.c | 30
We also expose a the helpers to read/write the the registers.
Signed-off-by: Alex Bennée
---
v2
- instead of zNpM expose zN at sve_max_vq width
- wrap union in union q(us), d(usf), s(usf), h(usf), b(us)
---
target/arm/cpu.h | 10 +++-
target/arm/gdbstub.c | 130
This is described as optional but I'm not convinced of the numbering
when multiple target fragments are sent.
Signed-off-by: Alex Bennée
Reviewed-by: Richard Henderson
---
v2
- post inc param->n in place so we don't get out count wrong
---
target/arm/cpu.h | 2 +-
target/arm/gdbstub.c |
This is cleaner than poking memory directly and will make later
clean-ups easier.
Signed-off-by: Alex Bennée
Reviewed-by: Richard Henderson
---
target/m68k/helper.c | 29 +++--
1 file changed, 11 insertions(+), 18 deletions(-)
diff --git a/target/m68k/helper.c b/target/
This is cleaner than poking memory directly and will make later
clean-ups easier.
Signed-off-by: Alex Bennée
---
v2
- make sure we pass hi/lo correctly as quads are stored in LE order
---
target/arm/helper.c | 18 +++---
1 file changed, 7 insertions(+), 11 deletions(-)
diff --git
Instead of passing a pointer to memory now just extend the GByteArray
to all the read register helpers. They can then safely append their
data through the normal way. We don't bother with this abstraction for
write registers as we have already ensured the buffer being copied
from is the correct siz
This is in preparation for further re-factoring of the register API
with the rest of the code. Theoretically the read register function
could overwrite the MAX_PACKET_LENGTH buffer although currently all
registers are well within the size range.
Signed-off-by: Alex Bennée
Reviewed-by: Richard Hen
Instead of allocating make this entirely static. We shall reduce the
size of the structure in later commits and dynamically allocate parts
of it. We introduce an init and reset helper function to keep all the
manipulation in one place.
Signed-off-by: Alex Bennée
Cc: Damien Hedde
Cc: Richard Hend
Rather than having a static buffer replace str_buf with a GString
which we know can grow on demand. Convert the internal functions to
take a GString instead of a char * and length.
Signed-off-by: Alex Bennée
Reviewed-by: Richard Henderson
---
v2
- fix conflict from status gdbserver_state
-
Signed-off-by: Alex Bennée
---
v2
- take care of endianess of the whole 128 bit word
---
include/exec/gdbstub.h | 13 +
1 file changed, 13 insertions(+)
diff --git a/include/exec/gdbstub.h b/include/exec/gdbstub.h
index 08363969c14..59e366ba3af 100644
--- a/include/exec/gdbstub.h
Hi,
So this is the first fully working version of the SVE gdbstub
implementation. As before the first set of patches are mostly
re-factoring of the gdbstub register interface. I include a new patch
to default the SVE size to a more reasonable number for linux-user to
mirror what the Linux kernel a
So far so good. Without any workaround, I could get it to fail within a few
seconds. With your change, I've been running for a few minutes without a
problem. But, this is on my laptop, so I'll wait until I can test it on a
wider-range of machines at work next week. If it continues to work, I
63 matches
Mail list logo