From nobody Sat May 10 07:39:50 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.zohomail.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; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from mail.coreboot.org (mail.coreboot.org [80.81.252.135]) by mx.zohomail.com with SMTPS id 1528097401000694.1188400790278; Mon, 4 Jun 2018 00:30:01 -0700 (PDT) Received: from [127.0.0.1] (helo=ra.coreboot.org) by mail.coreboot.org with esmtp (Exim 4.86_2) (envelope-from ) id 1fPjzR-0001Pl-06; Mon, 04 Jun 2018 09:33:17 +0200 Received: from mx3-rdu2.redhat.com ([66.187.233.73] helo=mx1.redhat.com) by mail.coreboot.org with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.86_2) (envelope-from ) id 1fPjzA-0001O0-26 for seabios@seabios.org; Mon, 04 Jun 2018 09:33:15 +0200 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 85BDF402242D for ; Mon, 4 Jun 2018 07:29:22 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-24.ams2.redhat.com [10.36.116.24]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5414A208C6CE; Mon, 4 Jun 2018 07:29:22 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id C8FCE31E9C; Mon, 4 Jun 2018 09:29:20 +0200 (CEST) From: Gerd Hoffmann To: seabios@seabios.org Date: Mon, 4 Jun 2018 09:29:17 +0200 Message-Id: <20180604072917.19316-7-kraxel@redhat.com> In-Reply-To: <20180604072917.19316-1-kraxel@redhat.com> References: <20180604072917.19316-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.6]); Mon, 04 Jun 2018 07:29:22 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.6]); Mon, 04 Jun 2018 07:29:22 +0000 (UTC) for IP:'10.11.54.6' DOMAIN:'int-mx06.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'kraxel@redhat.com' RCPT:'' X-Spam-Score: -6.5 (------) Subject: [SeaBIOS] [PATCH v2 6/6] cbvga_set_mode: disable clearmem in windows x86 emulator. X-BeenThere: seabios@seabios.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: SeaBIOS mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Gerd Hoffmann 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" Signed-off-by: Gerd Hoffmann --- vgasrc/cbvga.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/vgasrc/cbvga.c b/vgasrc/cbvga.c index 3f16bee10c..f6ebe71242 100644 --- a/vgasrc/cbvga.c +++ b/vgasrc/cbvga.c @@ -192,8 +192,16 @@ int cbvga_set_mode(struct vgamode_s *vmode_g, int flags) { u8 emul =3D vmode_g =3D=3D &CBemulinfo || GET_GLOBAL(CBmode) =3D=3D 0x= 03; + /* + * The extra_stack flag is false when running in windows x86 + * emulator, to avoid stack switching triggering bugs. Using the + * same flag here to skip screen clearing, because the windows + * emulator seems to have problems to handle the int 1587 call + * too, and GO_MEMSET uses that. + */ + u8 extra_stack =3D GET_BDA_EXT(flags) & BF_EXTRA_STACK; MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); - if (!(flags & MF_NOCLEARMEM)) { + if (!(flags & MF_NOCLEARMEM) && extra_stack) { if (GET_GLOBAL(CBmodeinfo.memmodel) =3D=3D MM_TEXT) { memset16_far(SEG_CTEXT, (void*)0, 0x0720, 80*25*2); return 0; --=20 2.9.3 _______________________________________________ SeaBIOS mailing list SeaBIOS@seabios.org https://mail.coreboot.org/mailman/listinfo/seabios