From patchwork Thu Mar 23 17:03:09 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Durrant X-Patchwork-Id: 9641663 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 578FC60327 for ; Thu, 23 Mar 2017 17:05:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4589A27F17 for ; Thu, 23 Mar 2017 17:05:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3911C2841E; Thu, 23 Mar 2017 17:05:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 2BA1227F17 for ; Thu, 23 Mar 2017 17:05:45 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cr69G-0007cr-Nv; Thu, 23 Mar 2017 17:03:42 +0000 Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cr69F-0007cV-Oh for xen-devel@lists.xenproject.org; Thu, 23 Mar 2017 17:03:41 +0000 Received: from [193.109.254.147] by server-6.bemta-6.messagelabs.com id BB/3D-15112-DEFF3D85; Thu, 23 Mar 2017 17:03:41 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrBLMWRWlGSWpSXmKPExsXitHSDve6b/5c jDJoWqVt83zKZyYHR4/CHKywBjFGsmXlJ+RUJrBn/589kLDgmVdGz4TtrA+Nt8S5GDg4JAX+J nUuVuhg5OdgEdCSmPr3EChIWEVCRuL3XACTMLFAs8fd/NzOILSzgIPF64XwWkBIWAVWJ/oWMI CavgLvEhbVWIBUSAnIS54//BKsWAhqyfuosNhCbV0BQ4uTMJywQEyUkDr54wTyBkXsWktQsJK kFjEyrGNWLU4vKUot0TfSSijLTM0pyEzNzdA0NzPRyU4uLE9NTcxKTivWS83M3MQJDgAEIdjB 2X/Y/xCjJwaQkyuu483KEEF9SfkplRmJxRnxRaU5q8SFGGQ4OJQneS/+AcoJFqempFWmZOcBg hElLcPAoifC+AknzFhck5hZnpkOkTjEqSonz9oIkBEASGaV5cG2wCLjEKCslzMsIdIgQT0FqU W5mCar8K0ZxDkYlYd6DIFN4MvNK4Ka/AlrMBLS4bM8FkMUliQgpqQbGI+FPp8TJKEQveF2ptL Bl3fWz/4ozvn99vfVDP8cyt6CuiR7qBvozf609fPz0kwWL4mXMZe/eX36i1mCSykzW1GNrMgU cMy8dP3KheZbUDH3fNLNY+/ks/apH797XW1o6+f6zdd/4snZedFt4v0/kQ9ImByuRgJii7YZL FfdeELiv+KNrUbfvMSWW4oxEQy3mouJEAGAS0pd7AgAA X-Env-Sender: prvs=248a72cc7=Paul.Durrant@citrix.com X-Msg-Ref: server-11.tower-27.messagelabs.com!1490288618!62910798!1 X-Originating-IP: [66.165.176.63] X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAzMDYwNDg=\n, received_headers: No Received headers X-StarScan-Received: X-StarScan-Version: 9.2.3; banners=-,-,- X-VirusChecked: Checked Received: (qmail 7779 invoked from network); 23 Mar 2017 17:03:40 -0000 Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63) by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP; 23 Mar 2017 17:03:40 -0000 X-IronPort-AV: E=Sophos;i="5.36,210,1486425600"; d="scan'208";a="424419038" From: Paul Durrant To: Date: Thu, 23 Mar 2017 17:03:09 +0000 Message-ID: <1490288589-20974-1-git-send-email-paul.durrant@citrix.com> X-Mailer: git-send-email 2.1.4 MIME-Version: 1.0 Cc: Wei Liu , Paul Durrant , Ian Jackson Subject: [Xen-devel] [PATCH] tools/firmware: use a canned config for seabios X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" X-Virus-Scanned: ClamAV using ClamSMTP The use of seabios defconfig kills boot performance of Windows guests because the default is for the int13 handler to use PIO when accessing the emulated IDE device. By instead using a canned configuration with the ATA settings overridden to enable DMA access (and also wider PIO) boot performance is markedly improved without the need to use a different (and possibly not supported) device model. This patch adds the canned configuration into tools/firmware and modifies the Makefile rule to copy it into place. Signed-off-by: Paul Durrant Acked-by: Wei Liu --- Cc: Ian Jackson Cc: Wei Liu --- tools/firmware/Makefile | 2 +- tools/firmware/seabios-config | 108 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 tools/firmware/seabios-config diff --git a/tools/firmware/Makefile b/tools/firmware/Makefile index b840c6a..2ec20f8 100644 --- a/tools/firmware/Makefile +++ b/tools/firmware/Makefile @@ -21,7 +21,7 @@ ovmf-dir: seabios-dir: GIT=$(GIT) $(XEN_ROOT)/scripts/git-checkout.sh $(SEABIOS_UPSTREAM_URL) $(SEABIOS_UPSTREAM_REVISION) seabios-dir - $(MAKE) -C seabios-dir defconfig + cp seabios-config seabios-dir/.config; .PHONY: all all: $(SUBDIRS-y) diff --git a/tools/firmware/seabios-config b/tools/firmware/seabios-config new file mode 100644 index 0000000..4652f9b --- /dev/null +++ b/tools/firmware/seabios-config @@ -0,0 +1,108 @@ +# +# SeaBIOS Configuration +# + +# +# General Features +# +# CONFIG_COREBOOT is not set +CONFIG_QEMU=y +# CONFIG_CSM is not set +CONFIG_QEMU_HARDWARE=y +CONFIG_XEN=y +CONFIG_THREADS=y +CONFIG_RELOCATE_INIT=y +CONFIG_BOOTMENU=y +CONFIG_BOOTSPLASH=y +CONFIG_BOOTORDER=y +CONFIG_ENTRY_EXTRASTACK=y +CONFIG_MALLOC_UPPERMEMORY=y +CONFIG_ROM_SIZE=0 + +# +# Hardware support +# +CONFIG_ATA=y +CONFIG_ATA_DMA=y +CONFIG_ATA_PIO32=y +CONFIG_AHCI=y +CONFIG_SDCARD=y +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_SCSI=y +CONFIG_PVSCSI=y +CONFIG_ESP_SCSI=y +CONFIG_LSI_SCSI=y +CONFIG_MEGASAS=y +CONFIG_MPT_SCSI=y +CONFIG_FLOPPY=y +CONFIG_FLASH_FLOPPY=y +CONFIG_PS2PORT=y +CONFIG_USB=y +CONFIG_USB_UHCI=y +CONFIG_USB_OHCI=y +CONFIG_USB_EHCI=y +CONFIG_USB_XHCI=y +CONFIG_USB_MSC=y +CONFIG_USB_UAS=y +CONFIG_USB_HUB=y +CONFIG_USB_KEYBOARD=y +CONFIG_USB_MOUSE=y +CONFIG_SERIAL=y +CONFIG_LPT=y +CONFIG_RTC_TIMER=y +CONFIG_HARDWARE_IRQ=y +CONFIG_USE_SMM=y +CONFIG_CALL32_SMM=y +CONFIG_MTRR_INIT=y +CONFIG_PMTIMER=y +CONFIG_TSC_TIMER=y + +# +# BIOS interfaces +# +CONFIG_DRIVES=y +CONFIG_CDROM_BOOT=y +CONFIG_CDROM_EMU=y +CONFIG_PCIBIOS=y +CONFIG_APMBIOS=y +CONFIG_PNPBIOS=y +CONFIG_OPTIONROMS=y +CONFIG_PMM=y +CONFIG_BOOT=y +CONFIG_KEYBOARD=y +CONFIG_KBD_CALL_INT15_4F=y +CONFIG_MOUSE=y +CONFIG_S3_RESUME=y +CONFIG_VGAHOOKS=y +# CONFIG_DISABLE_A20 is not set +# CONFIG_WRITABLE_UPPERMEMORY is not set +CONFIG_TCGBIOS=y + +# +# BIOS Tables +# +CONFIG_PIRTABLE=y +CONFIG_MPTABLE=y +CONFIG_SMBIOS=y +CONFIG_ACPI=y +CONFIG_ACPI_DSDT=y +CONFIG_FW_ROMFILE_LOAD=y + +# +# VGA ROM +# +CONFIG_NO_VGABIOS=y +# CONFIG_VGA_STANDARD_VGA is not set +# CONFIG_VGA_CIRRUS is not set +# CONFIG_VGA_BOCHS is not set +# CONFIG_VGA_GEODEGX2 is not set +# CONFIG_VGA_GEODELX is not set +# CONFIG_BUILD_VGABIOS is not set +CONFIG_VGA_EXTRA_STACK_SIZE=512 + +# +# Debugging +# +CONFIG_DEBUG_LEVEL=1 +# CONFIG_DEBUG_SERIAL is not set +CONFIG_DEBUG_IO=y