Fwd: [ANNOUNCE] QEMU 5.1.0 is now available
Cédric Le Goater
clg at kaod.org
Tue Aug 18 20:14:25 AEST 2020
On 8/18/20 8:23 AM, Joel Stanley wrote:
> Qemu 5.1 contains a number of enhancements for emulating aspeed
> machines. In addition to the large amount of refactoring that was
> performed, it gained support for:
>
> - AST2600 SMP booting
> - AST2600 A1 revision
> - Fixes for running the AST2600 u-boot (particularly memory training
> for the A1)
> - Simplified network device command line
> - Removed need to pass cpu count and memory size
> - A new machine type from Facebook
5.2 will have a board model for Supermicro X11 BMC.
> Qemu 5.1 has landed in Debian unstable as of today.
>
> If you haven't used qemu before, here are some ways it can be used:
>
> To boot an ast2600 EVB machine with an emmc device from your kernel
> build tree tree:
>
> qemu-system-arm -machine ast2600-evb \
> -nographic -no-reboot \
> -net nic,model=ftgmac100,netdev=netdev1 -netdev
> user,id=netdev1 \
'-nic user' should be enough now. ftgmac100 is the default model.
I like adding 'hostfwd=::2222-:22' for ssh and 'tftp=/var/lib/tftpboot/'
to tftpboot in U-Boot.
If you have libvirt running, then :
-net nic,netdev=netdev0
-netdev bridge,id=netdev0,helper=/usr/libexec/qemu-bridge-helper,br=virbr0
will dhcp from the local machine bridge.
> -dtb arch/arm/boot/dts/aspeed-ast2600-evb.dtb \
> -drive file=rootfs.ext4.qcow2,if=sd,index=2" \
> -append "console=ttyS4 rootwait root=/dev/mmcblk0"
>
> The rootfs.ext4.qcow2 can be grabbed from here:
> https://github.com/shenki/continuous-integration/raw/master/images/arm/rootfs.ext4.qcow2.
>
> Note that qemu doesn't yet support booting from eMMC directly with the
> Aspeed machine type. Patches are welcome.
yes !
Thanks for the summary Joel,
It would be nice to have some OpenBMC images hosted on GH that we could use
for the non-regression tests in QEMU.
Cheers,
C.
>
> ---
>
> To boot an openbmc image on the ast2500, such as Romulus, grab the
> flash image from Jenkins:
>
> https://jenkins.openbmc.org/view/latest/job/latest-master/label=docker-builder,target=romulus/lastSuccessfulBuild/artifact/openbmc/build/tmp/deploy/images/romulus/flash-romulus
>
> and then boot it as follows:
>
> qemu-system-arm -machine romulus-bmc \
> -nographic -no-reboot \
> -net nic,model=ftgmac100,netdev=netdev1 -netdev
> user,id=netdev1 \
> -drive file=flash-romulus,format=raw,if=mtd
>
> ---
>
> You can use this to test a kernel built by yocto:
>
> Download this file:
> https://jenkins.openbmc.org/view/latest/job/latest-master/label=docker-builder,target=romulus/lastSuccessfulBuild/artifact/openbmc/build/tmp/deploy/images/romulus/image-kernel
>
> Run qemu with the 'tftp' option set to the directory where you
> downloaded the above image-kernel. You will need to halt it at the
> u-boot prompt, set a ethaddr, and run 'dhcp image-kernel':
>
> qemu-system-arm -machine romulus-bmc \
> -nographic -no-reboot \
> -net nic,model=ftgmac100,netdev=netdev1 -netdev
> user,id=netdev1,tftp=$PWD \
> -drive file=flash-romulus,format=raw,if=mtd
> U-Boot 2016.07 (Jan 16 2019 - 00:21:48 +0000)
>
> Hit any key to stop autoboot: 1
> ast# setenv ethaddr DE:AD:BE:EF:CA:FE
> ast# dhcp image-kernel
> aspeednic#0: PHY at 0x00
> set_mac_control_register 1453
> Found NCSI Network Controller at (0, 0)
> Found NCSI Network Controller at (0, 1)
> BOOTP broadcast 1
> DHCP client bound to address 10.0.2.15 (2 ms)
> Using device
> TFTP from server 10.0.2.2; our IP address is 10.0.2.15
> Filename 'image-kernel'.
> Load address: 0x83000000
> Loading: #################################################################
> #################################################################
> #################################################################
> #################################################################
> ###############################################
> 62.2 MiB/s
> done
> Bytes transferred = 4372700 (42b8dc hex)
> ast# bootm
> ## Loading kernel from FIT Image at 83000000 ...
> Using 'conf at aspeed-bmc-opp-romulus.dtb' configuration
> Trying 'kernel at 1' kernel subimage
> Description: Linux kernel
> Type: Kernel Image
>
> ---
>
> Here are the commit stats for aspeed code in Qemu 5.1:
>
> $ git diff --stat v5.0.0..v5.1.0 -- hw/**/*aspeed* hw/net/ftgmac100.c
> hw/arm/aspeed.c | 350
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------------------------------------------------
> hw/arm/aspeed_ast2600.c | 261
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> hw/arm/aspeed_soc.c | 181
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------------------------
> hw/gpio/aspeed_gpio.c | 9 +++------
> hw/i2c/aspeed_i2c.c | 3 +--
> hw/misc/aspeed_scu.c | 11 +++++------
> hw/misc/aspeed_sdmc.c | 72
> ++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------
> hw/net/ftgmac100.c | 31 +++++++++++++++++++++++++++----
> hw/sd/aspeed_sdhci.c | 15 ++++-----------
> hw/ssi/aspeed_smc.c | 1 -
> 10 files changed, 509 insertions(+), 425 deletions(-)
>
>
> $ git shortlog v5.0.0..v5.1.0 -- hw/**/*aspeed* hw/net/ftgmac100.c
> Cédric Le Goater (2):
> arm/aspeed: Compute the number of CPUs from the SoC definition
> arm/aspeed: Rework NIC attachment
>
> Erik Smit (1):
> Implement configurable descriptor size in ftgmac100
>
> Joel Stanley (3):
> aspeed: Add boot stub for smp booting
> aspeed: Support AST2600A1 silicon revision
> aspeed: sdmc: Implement AST2600 locking behaviour
>
> Markus Armbruster (22):
> qom: Drop object_property_set_description() parameter @errp
> qom: Drop parameter @errp of object_property_add() & friends
> qdev: Convert uses of qdev_create() with Coccinelle
> ssi: ssi_auto_connect_slaves() never does anything, drop
> ssi: Convert uses of ssi_create_slave_no_init() with Coccinelle
> qom: Tidy up a few object_initialize_child() calls
> qom: Less verbose object_initialize_child()
> sysbus: Drop useless OBJECT() in sysbus_init_child_obj() calls
> sysbus: Convert qdev_set_parent_bus() use with Coccinelle, part 2
> sysbus: Convert qdev_set_parent_bus() use with Coccinelle, part 4
> qdev: Convert bus-less devices to qdev_realize() with Coccinelle
> qdev: Make qdev_prop_set_drive() match the other helpers
> arm/aspeed: Drop aspeed_board_init_flashes() parameter @errp
> aspeed: Clean up roundabout error propagation
> hw/arm: Drop useless object_property_set_link() error handling
> aspeed: Fix realize error API violation
> qdev: Use returned bool to check for qdev_realize() etc. failure
> qapi: Use returned bool to check for failure, Coccinelle part
> qom: Put name parameter before value / visitor parameter
> qom: Use returned bool to check for failure, Coccinelle part
> error: Avoid unnecessary error_propagate() after error_setg()
> error: Eliminate error_propagate() with Coccinelle, part 1
>
> Patrick Williams (1):
> aspeed: Add support for the sonorapass-bmc board
>
> Philippe Mathieu-Daudé (13):
> hw/gpio/aspeed_gpio: Remove dead assignment
> hw: Remove unnecessary DEVICE() cast
> hw/arm/aspeed: Correct DRAM container region size
> hw/arm/aspeed: Remove extraneous MemoryRegion object owner
> hw/arm/aspeed: Rename AspeedBoardState as AspeedMachineState
> hw/arm/aspeed: QOM'ify AspeedMachineState
> hw/arm/aspeed: Describe each PCA9552 device
> hw/arm/aspeed: Do not create and attach empty SD cards by default
> hw/i2c/aspeed_i2c: Simplify aspeed_i2c_get_bus()
> hw/i2c: Rename i2c_try_create_slave() as i2c_slave_new()
> hw/i2c: Rename i2c_realize_and_unref() as i2c_slave_realize_and_unref()
> hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple()
> hw/misc/aspeed_sdmc: Fix incorrect memory size
>
> erik-smit (1):
> ftgmac100: fix dblac write test
>
>
> ---------- Forwarded message ---------
> From: Michael Roth <mdroth at linux.vnet.ibm.com>
> Date: Tue, 11 Aug 2020 at 22:26
> Subject: [ANNOUNCE] QEMU 5.1.0 is now available
> To: <qemu-devel at nongnu.org>
> Cc: <peter.maydell at linaro.org>
>
>
> Hello,
>
> On behalf of the QEMU Team, I'd like to announce the availability of
> the QEMU 5.1.0 release. This release contains 2500+ commits from 235
> authors.
>
> You can grab the tarball from our download page here:
>
> https://www.qemu.org/download/#source
>
> The full list of changes are available at:
>
> https://wiki.qemu.org/ChangeLog/5.1
>
> Highlights include:
>
> * ARM: support for ARMv8.2 TTS2UXN architecture feature
> * ARM: support for ARMv8.5 MemTag architecture feature
> * ARM: new board support for sonorapass-bmc
> * ARM: virt: support for memory hot-unplug
> * ARM: support for nvdimm hotplug for ACPI guests
> * AVR: new architecture support for AVR CPUs
> * AVR: new board support for Arduino Duemilanove, Arduino Mega 2560,
> Arduino Mega, and Arduino UNO
> * MIPS: support for Loongson 3A CPUs (R1 and R4)
> * MIPS: performance improvements for FPU and MSA instruction
> emulation
> * PowerPC: support for guest error recovery via FWNMI
> * RISC-V: support for SiFive E34 and Ibex CPUs
> * RISC-V: new board support for HiFive1 revB and OpenTitan
> * RISC-V: Spike machine now supports more than 1 CPU
> * s390: KVM support for protected virtualization (secure execution mode)
> * x86: improvements to HVF acceleration support on macOS
> * x86: reduced virtualization overhead for non-enlightened Windows
> guests via Windows ACPI Emulated Device Table
>
> * block: support for 2MB logical/physical blocksizes for virtual
> storage devices
> * crypto: support for passing secrets to QEMU via Linux keyring
> * crypto: support for LUKS keyslot management via qemu-img
> * NVMe: support for Persistent Memory Region from NVMe 1.4 spec
> * qemu-img: additional features added for map/convert/measure commands,
> as well as support for zstd compression
> * qemu-img: support for new 'bitmap' command for manipulating
> persistent bitmaps in qcow2 files
> * virtio: TCG guests can now use vhost-user threads
> * virtio: vhost-user now supports registering more than 8 RAM slots
>
> * and lots more...
>
> Thank you to everyone involved!
>
More information about the openbmc
mailing list