From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0726.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe46::726]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 7DF4C21D49C8B for ; Wed, 2 Aug 2017 05:55:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=HP.onmicrosoft.com; s=selector1-hp-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=x13prX6dMZQr/7GfnFJ2vSn1aErnETxFAy1/WuT7bJc=; b=JJg1quSE36DG+CjSczjauxDkRUUiGSN6fyo0piqRYYSqSmEmZF2nqtN91NMlUZkjtCDxIMd0pdvlHVAhYLj5Z4G8PfRlck17GWHehp1iI8CY3H5s1y3+slF/QV8mQ/rwW9l5r/li6izPgAPQEnV1v7rRfOfzsWw841rc5jfJ7zU= Received: from AT5PR84MB0291.NAMPRD84.PROD.OUTLOOK.COM (10.162.138.25) by AT5PR84MB0244.NAMPRD84.PROD.OUTLOOK.COM (10.162.138.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1304.22; Wed, 2 Aug 2017 12:58:01 +0000 Received: from AT5PR84MB0291.NAMPRD84.PROD.OUTLOOK.COM ([fe80::2525:445c:4cf7:b81d]) by AT5PR84MB0291.NAMPRD84.PROD.OUTLOOK.COM ([fe80::2525:445c:4cf7:b81d%13]) with mapi id 15.01.1304.023; Wed, 2 Aug 2017 12:58:00 +0000 From: "Cohen, Eugene" To: "edk2-devel@lists.01.org" , "ruiyu.ni@intel.com" CC: "Dellaquila, Katie" Thread-Topic: Terminal Binding to Serial IO Protocol Thread-Index: AdMLi+bXySKQNmrWTTiBG91s3P0LDA== Date: Wed, 2 Aug 2017 12:58:00 +0000 Message-ID: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=eugene@hp.com; x-originating-ip: [15.65.252.12] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AT5PR84MB0244; 7:bBMa4KUFBm9F5hhMgS7ncXGvuKARi9mWp3WhEANBeWmaI2gIMqLqAd8GW1/EORcL6OLPArfaVhpnXRlysrNluFIghlOezWScvFNXjnIQ36XetQTn3FU8fda8XSQ6TS5zTcZHolPjxweQ3Kuxirsmv9fdxa6szJuNaEOAZzqeFUoThQbJVqy90CiT9Njjc0A7AcbPKqO6z3u6lWLNJ6TYuTQ2ElrPpaouxAZdQ7VeUFBFjoBoXGHvpiBeKO5FubV6Vs2ge6a3jXhWQt3cRgLS4pT2e1Ge+dxKMUGQXOoCKkdtoVHNTTMbwjVJjglr+XCwgMAozDt254QJ5sqbs/CKKSM2U5IA0C9OaEojfQsL5uvsqNuP3FH78gXy5PnJESqUxFYiTrCG6/PLKj+Bz5r9ONiTYvfn+N8DLgLqpxz0wBPgEEX/ClzFc2ZNzElNW4MhSYZO9mIavOlYsN1IoeMWlFFYzGQi/Hc7Jl0EQ3ulunF9ijFPFuZ9nr5Lw0timiPobn2sv9IzK2l8v16vXen56F5Ihn1MyLH+WKf3/JRapFuwXa4CaxAgxaw50fPVx5ptljMdfD9HJ/GFOPQYB8syy4JQNHRRpkr7wXzhxF6dbDaBgwN6UVkx6VRDcx68Krzuf0Zt3S4I/vexSiNsk4cB2qOYy32HmwZz5UKEF/ZXNuL5B3XDZPsKD4hlCQcdq9vn/2KjCsJMUfgtwmFsLW3qHFTcv/SxdeWD1ngkkWCV6PNSIpciLqH1hr5AKrqS2cJLBpnYo6x3TSdlaPRf0jrtpV3PnAP9e9WGOW9ZYhgIZe4= x-forefront-antispam-report: SFV:SKI; SCL:-1; SFV:NSPM; SFS:(10019020)(6009001)(39840400002)(39450400003)(39400400002)(39850400002)(39860400002)(39410400002)(6602003)(199003)(189002)(4326008)(25786009)(53936002)(6506006)(2501003)(5250100002)(102836003)(14454004)(74316002)(6116002)(3846002)(66066001)(38730400002)(9686003)(305945005)(55016002)(7736002)(86362001)(6436002)(81166006)(81156014)(478600001)(8676002)(54356999)(50986999)(8936002)(5660300001)(3280700002)(68736007)(2906002)(7696004)(3660700001)(101416001)(97736004)(2900100001)(106356001)(33656002)(105586002)(189998001)(491001); DIR:OUT; SFP:1102; SCL:1; SRVR:AT5PR84MB0244; H:AT5PR84MB0291.NAMPRD84.PROD.OUTLOOK.COM; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; x-ms-office365-filtering-correlation-id: 27f0c61d-2a94-403e-cda3-08d4d9a61b29 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603031)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:AT5PR84MB0244; x-ms-traffictypediagnostic: AT5PR84MB0244: x-exchange-antispam-report-test: UriScan:(278428928389397)(21532816269658); x-microsoft-antispam-prvs: x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123564025)(20161123562025)(20161123555025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AT5PR84MB0244; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AT5PR84MB0244; x-forefront-prvs: 0387D64A71 received-spf: None (protection.outlook.com: hp.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: hp.com X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Aug 2017 12:58:00.8199 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: ca7981a2-785a-463d-b82a-3db87dfc3ce6 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AT5PR84MB0244 Subject: Terminal Binding to Serial IO Protocol 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: Wed, 02 Aug 2017 12:55:53 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi edk2 community, it's been a while. We have a situation where we need to use instances of the SERIAL_IO_PROTOCO= L to talk to hardware devices that are not part of a console. As written t= oday TerminalDxe's driver binding will consume any handle that implements t= he SERIAL_IO_PROTOCOL (like in a BDS connect-all case). Clearly this is pr= oblematic when the device on the other side is not a terminal. =20 The UEFI Specification does not limit the Serial IO protocol to console/ter= minal only applications yet the edk2 implementation of TerminalDxe effectiv= ely does this. I'm looking for some advice on how to resolve this. I think it's important for the BDS connect-all case to keep working so I do= n't think customizing the driver connect process at a BDS level is a good s= olution. The UEFI Driver Binding architecture has a capable precedence system for de= termining which drivers get to control which devices (binding versioning, b= us overrides, platform overrides) but I don't think this a proper use of th= e system since I understand that this system was intended for choosing the = better of two possible drivers for the hardware (like a motherboard versus = option rom for the same PCI network adapter). In this case having Terminal= Dxe trying to connect to a non-terminal device isn't slightly worse, it's b= roken. =20 We need a way to differentiate serial port types in the connect process. S= ince the Serial IO protocol can't be used to detect what's on the other sid= e we need to get the information from the platform with it having a list li= ke: Serial 0: console Serial 1: fax Serial 2: keyboard Serial 3: mouse Serial 4: console so we would only want TerminalDxe to connect to instance 0 and 4 and leave = the others alone. Any ideas on how to best do this? Thanks, Eugene