* [Qemu-devel] [PATCH 1/4] hw/arm/virt: Set default machine and CPU types for mach-virt @ 2018-02-01 17:28 Wei Huang 2018-02-01 17:28 ` [Qemu-devel] [PATCH 2/4] tests/boot-serial-test: Add support for the aarch64 virt machine Wei Huang ` (3 more replies) 0 siblings, 4 replies; 6+ messages in thread From: Wei Huang @ 2018-02-01 17:28 UTC (permalink / raw) To: qemu-devel; +Cc: qemu-arm, peter.maydell, wei, drjones Unlike most other QEMU architectures, the default machine type for mach-virt is not set. This causes problems in situations where the default machine types are not provided (e.g. qtest_start() function in many QEMU tests). This patch designates the latest mach-virt machine type (alias of "virt") as the default machine type. It also changes the default CPU depending on the target. Signed-off-by: Wei Huang <wei@redhat.com> --- hw/arm/virt.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index b334c82..f6b1408 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -68,6 +68,7 @@ mc->desc = "QEMU " # major "." # minor " ARM Virtual Machine"; \ if (latest) { \ mc->alias = "virt"; \ + mc->is_default = 1; \ } \ } \ static const TypeInfo machvirt_##major##_##minor##_info = { \ @@ -1603,7 +1604,12 @@ static void virt_machine_class_init(ObjectClass *oc, void *data) mc->minimum_page_bits = 12; mc->possible_cpu_arch_ids = virt_possible_cpu_arch_ids; mc->cpu_index_to_instance_props = virt_cpu_index_to_props; +#ifdef TARGET_AARCH64 + mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a57"); +#else mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a15"); +#endif + mc->get_default_cpu_node_id = virt_get_default_cpu_node_id; } -- 1.8.3.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Qemu-devel] [PATCH 2/4] tests/boot-serial-test: Add support for the aarch64 virt machine 2018-02-01 17:28 [Qemu-devel] [PATCH 1/4] hw/arm/virt: Set default machine and CPU types for mach-virt Wei Huang @ 2018-02-01 17:28 ` Wei Huang 2018-02-01 21:51 ` Thomas Huth 2018-02-01 17:28 ` [Qemu-devel] [PATCH 3/4] tests: Enable drive_del-test on arm/aarch64 Wei Huang ` (2 subsequent siblings) 3 siblings, 1 reply; 6+ messages in thread From: Wei Huang @ 2018-02-01 17:28 UTC (permalink / raw) To: qemu-devel; +Cc: qemu-arm, peter.maydell, wei, drjones This patch adds a small binary kernel to test aarch64 virt machine's UART. Signed-off-by: Wei Huang <wei@redhat.com> --- tests/Makefile.include | 1 + tests/boot-serial-test.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/tests/Makefile.include b/tests/Makefile.include index ca82e0c..ebdb151 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -367,6 +367,7 @@ gcov-files-arm-y += hw/timer/arm_mptimer.c check-qtest-arm-y += tests/boot-serial-test$(EXESUF) check-qtest-aarch64-y = tests/numa-test$(EXESUF) +check-qtest-aarch64-y += tests/boot-serial-test$(EXESUF) check-qtest-microblazeel-y = $(check-qtest-microblaze-y) diff --git a/tests/boot-serial-test.c b/tests/boot-serial-test.c index 418c5b9..66f7a84 100644 --- a/tests/boot-serial-test.c +++ b/tests/boot-serial-test.c @@ -55,6 +55,13 @@ static const uint8_t bios_raspi2[] = { 0x00, 0x10, 0x20, 0x3f, /* 0x3f201000 = UART0 base addr */ }; +static const uint8_t kernel_aarch64[] = { + 0x81, 0x0a, 0x80, 0x52, /* mov w1, #0x54 */ + 0x02, 0x20, 0xa1, 0xd2, /* mov x2, #0x9000000 */ + 0x41, 0x00, 0x00, 0x39, /* strb w1, [x2] */ + 0xfd, 0xff, 0xff, 0x17, /* b -12 (loop) */ +}; + typedef struct testdef { const char *arch; /* Target architecture */ const char *machine; /* Name of the machine */ @@ -87,6 +94,8 @@ static testdef_t tests[] = { sizeof(kernel_plml605), kernel_plml605 }, { "moxie", "moxiesim", "", "TT", sizeof(bios_moxiesim), 0, bios_moxiesim }, { "arm", "raspi2", "", "TT", sizeof(bios_raspi2), 0, bios_raspi2 }, + { "aarch64", "virt", "-cpu cortex-a57", "TT", sizeof(kernel_aarch64), + kernel_aarch64 }, { NULL } }; -- 1.8.3.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH 2/4] tests/boot-serial-test: Add support for the aarch64 virt machine 2018-02-01 17:28 ` [Qemu-devel] [PATCH 2/4] tests/boot-serial-test: Add support for the aarch64 virt machine Wei Huang @ 2018-02-01 21:51 ` Thomas Huth 0 siblings, 0 replies; 6+ messages in thread From: Thomas Huth @ 2018-02-01 21:51 UTC (permalink / raw) To: Wei Huang, qemu-devel; +Cc: peter.maydell, drjones, qemu-arm On 01.02.2018 18:28, Wei Huang wrote: > This patch adds a small binary kernel to test aarch64 virt machine's > UART. > > Signed-off-by: Wei Huang <wei@redhat.com> > --- > tests/Makefile.include | 1 + > tests/boot-serial-test.c | 9 +++++++++ > 2 files changed, 10 insertions(+) > > diff --git a/tests/Makefile.include b/tests/Makefile.include > index ca82e0c..ebdb151 100644 > --- a/tests/Makefile.include > +++ b/tests/Makefile.include > @@ -367,6 +367,7 @@ gcov-files-arm-y += hw/timer/arm_mptimer.c > check-qtest-arm-y += tests/boot-serial-test$(EXESUF) > > check-qtest-aarch64-y = tests/numa-test$(EXESUF) > +check-qtest-aarch64-y += tests/boot-serial-test$(EXESUF) > > check-qtest-microblazeel-y = $(check-qtest-microblaze-y) > > diff --git a/tests/boot-serial-test.c b/tests/boot-serial-test.c > index 418c5b9..66f7a84 100644 > --- a/tests/boot-serial-test.c > +++ b/tests/boot-serial-test.c > @@ -55,6 +55,13 @@ static const uint8_t bios_raspi2[] = { > 0x00, 0x10, 0x20, 0x3f, /* 0x3f201000 = UART0 base addr */ > }; > > +static const uint8_t kernel_aarch64[] = { > + 0x81, 0x0a, 0x80, 0x52, /* mov w1, #0x54 */ > + 0x02, 0x20, 0xa1, 0xd2, /* mov x2, #0x9000000 */ > + 0x41, 0x00, 0x00, 0x39, /* strb w1, [x2] */ > + 0xfd, 0xff, 0xff, 0x17, /* b -12 (loop) */ > +}; > + > typedef struct testdef { > const char *arch; /* Target architecture */ > const char *machine; /* Name of the machine */ > @@ -87,6 +94,8 @@ static testdef_t tests[] = { > sizeof(kernel_plml605), kernel_plml605 }, > { "moxie", "moxiesim", "", "TT", sizeof(bios_moxiesim), 0, bios_moxiesim }, > { "arm", "raspi2", "", "TT", sizeof(bios_raspi2), 0, bios_raspi2 }, > + { "aarch64", "virt", "-cpu cortex-a57", "TT", sizeof(kernel_aarch64), > + kernel_aarch64 }, > > { NULL } > }; > Acked-by: Thomas Huth <thuth@redhat.com> ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] [PATCH 3/4] tests: Enable drive_del-test on arm/aarch64 2018-02-01 17:28 [Qemu-devel] [PATCH 1/4] hw/arm/virt: Set default machine and CPU types for mach-virt Wei Huang 2018-02-01 17:28 ` [Qemu-devel] [PATCH 2/4] tests/boot-serial-test: Add support for the aarch64 virt machine Wei Huang @ 2018-02-01 17:28 ` Wei Huang 2018-02-01 17:28 ` [Qemu-devel] [PATCH 4/4] tests: Enable xhci test arm/aarch64 Wei Huang 2018-02-01 18:03 ` [Qemu-devel] [PATCH 1/4] hw/arm/virt: Set default machine and CPU types for mach-virt Peter Maydell 3 siblings, 0 replies; 6+ messages in thread From: Wei Huang @ 2018-02-01 17:28 UTC (permalink / raw) To: qemu-devel; +Cc: qemu-arm, peter.maydell, wei, drjones Signed-off-by: Wei Huang <wei@redhat.com> --- tests/Makefile.include | 2 ++ tests/drive_del-test.c | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/Makefile.include b/tests/Makefile.include index ebdb151..e28277c 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -365,9 +365,11 @@ gcov-files-arm-y += arm-softmmu/hw/block/virtio-blk.c check-qtest-arm-y += tests/test-arm-mptimer$(EXESUF) gcov-files-arm-y += hw/timer/arm_mptimer.c check-qtest-arm-y += tests/boot-serial-test$(EXESUF) +check-qtest-arm-y += tests/drive_del-test$(EXESUF) check-qtest-aarch64-y = tests/numa-test$(EXESUF) check-qtest-aarch64-y += tests/boot-serial-test$(EXESUF) +check-qtest-aarch64-y += tests/drive_del-test$(EXESUF) check-qtest-microblazeel-y = $(check-qtest-microblaze-y) diff --git a/tests/drive_del-test.c b/tests/drive_del-test.c index c9ac997..2e39442 100644 --- a/tests/drive_del-test.c +++ b/tests/drive_del-test.c @@ -123,7 +123,8 @@ int main(int argc, char **argv) /* TODO I guess any arch with a hot-pluggable virtio bus would do */ if (!strcmp(arch, "i386") || !strcmp(arch, "x86_64") || !strcmp(arch, "ppc") || !strcmp(arch, "ppc64") || - !strcmp(arch, "s390x")) { + !strcmp(arch, "s390x") || !strcmp(arch, "arm") || + !strcmp(arch, "aarch64")) { qtest_add_func("/drive_del/after_failed_device_add", test_after_failed_device_add); qtest_add_func("/blockdev/drive_del_device_del", -- 1.8.3.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Qemu-devel] [PATCH 4/4] tests: Enable xhci test arm/aarch64 2018-02-01 17:28 [Qemu-devel] [PATCH 1/4] hw/arm/virt: Set default machine and CPU types for mach-virt Wei Huang 2018-02-01 17:28 ` [Qemu-devel] [PATCH 2/4] tests/boot-serial-test: Add support for the aarch64 virt machine Wei Huang 2018-02-01 17:28 ` [Qemu-devel] [PATCH 3/4] tests: Enable drive_del-test on arm/aarch64 Wei Huang @ 2018-02-01 17:28 ` Wei Huang 2018-02-01 18:03 ` [Qemu-devel] [PATCH 1/4] hw/arm/virt: Set default machine and CPU types for mach-virt Peter Maydell 3 siblings, 0 replies; 6+ messages in thread From: Wei Huang @ 2018-02-01 17:28 UTC (permalink / raw) To: qemu-devel; +Cc: qemu-arm, peter.maydell, wei, drjones Signed-off-by: Wei Huang <wei@redhat.com> --- tests/Makefile.include | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/Makefile.include b/tests/Makefile.include index e28277c..a79a7b8 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -366,10 +366,12 @@ check-qtest-arm-y += tests/test-arm-mptimer$(EXESUF) gcov-files-arm-y += hw/timer/arm_mptimer.c check-qtest-arm-y += tests/boot-serial-test$(EXESUF) check-qtest-arm-y += tests/drive_del-test$(EXESUF) +check-qtest-arm-y += tests/usb-hcd-xhci-test$(EXESUF) check-qtest-aarch64-y = tests/numa-test$(EXESUF) check-qtest-aarch64-y += tests/boot-serial-test$(EXESUF) check-qtest-aarch64-y += tests/drive_del-test$(EXESUF) +check-qtest-aarch64-y += tests/usb-hcd-xhci-test$(EXESUF) check-qtest-microblazeel-y = $(check-qtest-microblaze-y) -- 1.8.3.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH 1/4] hw/arm/virt: Set default machine and CPU types for mach-virt 2018-02-01 17:28 [Qemu-devel] [PATCH 1/4] hw/arm/virt: Set default machine and CPU types for mach-virt Wei Huang ` (2 preceding siblings ...) 2018-02-01 17:28 ` [Qemu-devel] [PATCH 4/4] tests: Enable xhci test arm/aarch64 Wei Huang @ 2018-02-01 18:03 ` Peter Maydell 3 siblings, 0 replies; 6+ messages in thread From: Peter Maydell @ 2018-02-01 18:03 UTC (permalink / raw) To: Wei Huang; +Cc: QEMU Developers, qemu-arm, Andrew Jones On 1 February 2018 at 17:28, Wei Huang <wei@redhat.com> wrote: > Unlike most other QEMU architectures, the default machine type for > mach-virt is not set. This is deliberate. There is no single "right" choice for a machine type for Arm boards. We had a bunch of problems back when we did have a default type, because it was the ancient integratorcp board, and users got confused expecting QEMU to just work without specifying a machine type. > This causes problems in situations where the > default machine types are not provided (e.g. qtest_start() function > in many QEMU tests). This patch designates the latest mach-virt > machine type (alias of "virt") as the default machine type. It also > changes the default CPU depending on the target. > +#ifdef TARGET_AARCH64 > + mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a57"); > +#else > mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a15"); > +#endif This makes the behaviour be different depending whether you're running qemu-system-arm or qemu-system-aarch64. The two are supposed to behave the same way if you give them the same command line options (like x86 QEMU). thanks -- PMM ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-02-01 21:55 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-02-01 17:28 [Qemu-devel] [PATCH 1/4] hw/arm/virt: Set default machine and CPU types for mach-virt Wei Huang 2018-02-01 17:28 ` [Qemu-devel] [PATCH 2/4] tests/boot-serial-test: Add support for the aarch64 virt machine Wei Huang 2018-02-01 21:51 ` Thomas Huth 2018-02-01 17:28 ` [Qemu-devel] [PATCH 3/4] tests: Enable drive_del-test on arm/aarch64 Wei Huang 2018-02-01 17:28 ` [Qemu-devel] [PATCH 4/4] tests: Enable xhci test arm/aarch64 Wei Huang 2018-02-01 18:03 ` [Qemu-devel] [PATCH 1/4] hw/arm/virt: Set default machine and CPU types for mach-virt Peter Maydell
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).