From nobody Tue Dec 16 06:17:22 2025 Delivered-To: importer@patchew.org Received-SPF: none (zoho.com: 80.81.252.135 is neither permitted nor denied by domain of seabios.org) client-ip=80.81.252.135; envelope-from=seabios-bounces@seabios.org; helo=mail.coreboot.org; Authentication-Results: mx.zoho.com; spf=none (zoho.com: 80.81.252.135 is neither permitted nor denied by domain of seabios.org) smtp.mailfrom=seabios-bounces@seabios.org; Return-Path: Received: from mail.coreboot.org (mail.coreboot.org [80.81.252.135]) by mx.zohomail.com with SMTPS id 1487398980240790.913403819764; Fri, 17 Feb 2017 22:23:00 -0800 (PST) Received: from [127.0.0.1] (helo=ra.coresystems.de) by mail.coreboot.org with esmtp (Exim 4.86_2) (envelope-from ) id 1ceyPs-0004Vh-GD; Sat, 18 Feb 2017 07:22:44 +0100 Received: from mail-oi0-f47.google.com ([209.85.218.47]) by mail.coreboot.org with esmtps (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.86_2) (envelope-from ) id 1ceyPb-0004SF-Jr for seabios@seabios.org; Sat, 18 Feb 2017 07:22:42 +0100 Received: by mail-oi0-f47.google.com with SMTP id t68so13903425oie.0 for ; Fri, 17 Feb 2017 22:22:27 -0800 (PST) Received: from Arrow.corp.skyportsystems.com (76-236-31-201.lightspeed.sntcca.sbcglobal.net. [76.236.31.201]) by smtp.gmail.com with ESMTPSA id v31sm5479134ota.26.2017.02.17.22.22.24 (version=TLS1 cipher=AES128-SHA bits=128/128); Fri, 17 Feb 2017 22:22:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=skyportsystems.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=pR//kvuRWBd4eDHZ5l/73qlEG4ZV4zU8BnaNzLI8Dms=; b=vI0qLeM8b3j6ORyTUDlDc/HpbDRc+sSHHwVV+wBZOTu7SAhbJ4gm0+CJCo5L8BPqUv y2kbHVQuaSbORnE+Hg2Dgj4DZ7ZSdTjG+Ybk+auaWwKGBFocGc5VygSX7Gx5BK5M08En nzKcqOyMNsxurrvH8wGkyO4/vYPeGV8nm5mnA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=pR//kvuRWBd4eDHZ5l/73qlEG4ZV4zU8BnaNzLI8Dms=; b=VsFChg7D3wUEI2OX2ZDQib1yJP6uQbLtmcI1+h9qZcsWPcLWvTjnou7cKCLLyRECA1 2KSzfiznERjQRU97XaGT5M4GkSWyZ1mLEXeYJqCv4eyScEUffF7wn7IBj0IaMvBCSf/U Lnd2Jf7dgDV5h+LbNJj9Z3TDHPokMO8WpshFjeHjpzXBMJNtTQ1Zf2HSPabGnLvCT6+f r7/ELSEjixkLspiGa398pLefaIyNwH8VvvkZlzRxzYkoOhvwcjv8OxcgSfa/TVIZeFj+ R3ZN6bl0OMfleaPYCW/p5mQTxbrBI/eliA8n3rJjZ69UUgpOjc4QNfkmP1Q90xhkdoTi tfKQ== X-Gm-Message-State: AMke39mDHr0b4Cn2ozqhXV59Q/duqH1Yi8PukNhdEEiH9yWdseHnGyZYL/qNLFtF7ADAFc6q X-Received: by 10.202.212.70 with SMTP id l67mr6111644oig.153.1487398945379; Fri, 17 Feb 2017 22:22:25 -0800 (PST) From: ben@skyportsystems.com To: seabios@seabios.org Date: Fri, 17 Feb 2017 22:21:58 -0800 Message-Id: <4e9c3844d76bdf47c75629b0b6e954f2a03172b7.1487398715.git.ben@skyportsystems.com> X-Mailer: git-send-email 2.10.1 (Apple Git-78) In-Reply-To: References: In-Reply-To: References: X-Spam-Score: -2.9 (--) Subject: [SeaBIOS] [PATCH v5 4/5] QEMU fw_cfg: Add functions for accessing files by key X-BeenThere: seabios@seabios.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SeaBIOS mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lersek@redhat.com, mst@redhat.com MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: seabios-bounces@seabios.org Sender: "SeaBIOS" X-Duff: Orig. Duff, Duff Lite, Duff Dry, Duff Dark, Raspberry Duff, Lady Duff, Red Duff, Tartar Control Duff X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" From: Ben Warren When resuming from S3, only fw_cfg file keys are known. Signed-off-by: Ben Warren Reviewed-by: Igor Mammedov --- src/fw/paravirt.c | 23 +++++++++++++++++++++++ src/fw/paravirt.h | 2 ++ 2 files changed, 25 insertions(+) diff --git a/src/fw/paravirt.c b/src/fw/paravirt.c index 4618647..e513dd5 100644 --- a/src/fw/paravirt.c +++ b/src/fw/paravirt.c @@ -352,6 +352,17 @@ qemu_cfg_write_file(void *src, struct romfile_s *file,= u32 offset, u32 len) return len; } =20 +// Bare-bones function for writing a file knowing only its unique +// identifying key (select) +int +qemu_cfg_write_file_simple(void *src, u16 key, u32 offset, u32 len) +{ + qemu_cfg_select(key); + qemu_cfg_skip(offset); + qemu_cfg_write(src, len); + return len; +} + static void qemu_romfile_add(char *name, int select, int skip, int size) { @@ -370,6 +381,18 @@ qemu_romfile_add(char *name, int select, int skip, int= size) } =20 u16 +qemu_get_romfile_key(struct romfile_s *file) +{ + struct qemu_romfile_s *qfile; + qfile =3D container_of(file, struct qemu_romfile_s, file); + if (!qfile) { + warn_internalerror(); + return 0; + } + return qfile->select; +} + +u16 qemu_get_present_cpus_count(void) { u16 smp_count =3D 0; diff --git a/src/fw/paravirt.h b/src/fw/paravirt.h index fb220d8..16f3d9a 100644 --- a/src/fw/paravirt.h +++ b/src/fw/paravirt.h @@ -56,5 +56,7 @@ void qemu_cfg_init(void); =20 u16 qemu_get_present_cpus_count(void); int qemu_cfg_write_file(void *src, struct romfile_s *file, u32 offset, u32= len); +int qemu_cfg_write_file_simple(void *src, u16 key, u32 offset, u32 len); +u16 qemu_get_romfile_key(struct romfile_s *file); =20 #endif --=20 2.7.4 _______________________________________________ SeaBIOS mailing list SeaBIOS@seabios.org https://www.coreboot.org/mailman/listinfo/seabios