From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id EEA7D21E1455E for ; Tue, 15 Aug 2017 03:40:04 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 2FA9F6880C; Tue, 15 Aug 2017 10:42:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 2FA9F6880C Authentication-Results: ext-mx04.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx04.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=lersek@redhat.com Received: from lacos-laptop-7.usersys.redhat.com (ovpn-116-68.phx2.redhat.com [10.3.116.68]) by smtp.corp.redhat.com (Postfix) with ESMTP id D49F45D6A8; Tue, 15 Aug 2017 10:42:27 +0000 (UTC) To: Brijesh Singh , edk2-devel@lists.01.org Cc: Jordan Justen , Tom Lendacky , Ard Biesheuvel References: <1502107139-412-1-git-send-email-brijesh.singh@amd.com> <7dc9df48-98c4-4df4-9b8b-7732ad3f4f2d@amd.com> <528814fa-03a9-cb12-57b2-5a516d087b96@redhat.com> <5751db0c-8a86-1a2e-16b0-f0292f84f120@amd.com> From: Laszlo Ersek Message-ID: <82e062ef-3df6-7aef-cb3a-fa0db4e3ada6@redhat.com> Date: Tue, 15 Aug 2017 12:42:26 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <5751db0c-8a86-1a2e-16b0-f0292f84f120@amd.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Tue, 15 Aug 2017 10:42:29 +0000 (UTC) Subject: Re: [PATCH v1 00/14] OvmfPkg/Virtio: Add APIs to map system physical to device address X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Aug 2017 10:40:05 -0000 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit On 08/12/17 00:22, Brijesh Singh wrote: > > > On 08/09/2017 12:56 PM, Laszlo Ersek wrote: > >>> >>> Sure, I will make the necessary changes in VirtioMmioDeviceLib and try >>> do the build test but I don't have aarch64 platform to verify at the >>> runtime. >> >> Actually, dependent on your GNU/Linux distribution, it is pretty easy to >> do on x86_64 too. It comes together from two parts: >> >> (1) installing an aarch64 cross compiler >> (2) installing qemu-system-aarch64 (from source or distro package), >> and then either using it directly (from the cmdline) or with the >> libvirt toolstack >> >> The only "real" difference is that it's going to use TCG and not KVM >> (software emulation rather than hardware virtualization), so it will be >> slower, but that's not really a problem if you only care about your VM >> until the firmware boots the OS :) >> >> On Fedora, the cross-compiler (and cross-binutils) packages are built >> from the following SRPMs: >> >> https://koji.fedoraproject.org/koji/buildinfo?buildID=921790 >> https://koji.fedoraproject.org/koji/buildinfo?buildID=912429 >> >> ("cross-gcc", "cross-binutils") >> >> Linaro distributes distro-independent cross compilers: >> >> http://www.linaro.org/downloads/ >> >> Build instructions for ArmVirtQemu, and usage hints for the QEMU command >> line, can be found in the Linaro Wiki: >> >> https://wiki.linaro.org/LEG/UEFIforQEMU > > v2 is almost ready for review, I have made all the necessary changes in > VirtioMmioDeviceLib and it builds fine for aarch64 but I am having trouble > booting the qemu-aarch64 in general. On serial console I see the UEFI debug > messages but it never reaches to UEFI shell. > > I have been following the steps from > https://wiki.linaro.org/LEG/UEFIforQEMU > > qemu-system-aarch64 \ > -m 1024 \ > -cpu cortex-a57 \ > -M virt \ > -bios QEMU_EFI.fd \ > -serial stdio > > I tried this steps with and without my patches and it resulted in the same. > It seems like I am missing something in the qemu cli, do I need to pass > special dtb file or something similar ? The above command line is not right ("-bios"). Please scroll down the wiki page, to the section heading saying "Using persistent UEFI variables". There it explains how to pad the images and how to use two -pflash options. ... Perhaps even that part of the article is a bit out-of-date now. Basically, today ArmVirtQemu should be used the same way as OVMF, except for the padding. The build produces two files: - QEMU_EFI.fd (fw binary) - QEMU_VARS.fd (varstore template) Each should be padded to 64MiB with zeros at the end (write a small script for that), then use them with two pflash drives similarly to OVMF. Thanks! Laszlo > P.S: the wiki talks about a prebuilt qcow2 image but the link is dead, > instead > I downloaded a qcow2 file from Ubuntu repo. > > -Brijesh