From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8AF89C25B74 for ; Thu, 16 May 2024 21:40:15 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s7ipb-0006VL-1Q; Thu, 16 May 2024 17:40:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s7ipV-0006SW-HT for grub-devel@gnu.org; Thu, 16 May 2024 17:40:01 -0400 Received: from mail-lf1-x136.google.com ([2a00:1450:4864:20::136]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s7ipT-0002RV-RV for grub-devel@gnu.org; Thu, 16 May 2024 17:40:01 -0400 Received: by mail-lf1-x136.google.com with SMTP id 2adb3069b0e04-51f0b6b682fso1410701e87.1 for ; Thu, 16 May 2024 14:39:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715895597; x=1716500397; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=ioLtTqBoWZndYp+0IxyQc6zGki5O/cX2j+UCHzKbLbg=; b=cZLb8T0e6pEEGAqmvagmB/i0z7HgYcdihsOLKVEACJBlqd/V1mIggjI3fuBlQKviV5 Qrlp2YWTtznNaFYq7kg0hwl9HaTURZfSavj3BGLZ5Vg5OQS7Cmws3Gm5rEwkUQpr4p9u nvrWMeuL44SqvWeEcSlKD4jtGfL2++bevQSdHXSZ2G3B1EM8MFQkCwl/TKmkQpACFjMv hFZB/WDUP1dhcSsW/+pQ8hX3UzsRXF7rBuwXOH0EllGyVZ9ACYPfykE+cjxPHadBoCUm 6zWvxY78OArUTYaCDwkM8IID9Cl9LtEQhgtt3cbmd4Vtw5cPgY5XV3NShWZkrmbSUaLq pamw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715895597; x=1716500397; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ioLtTqBoWZndYp+0IxyQc6zGki5O/cX2j+UCHzKbLbg=; b=FfQP5j1cfaMx/z3F9A2pNIl2xVe8QEtB7vUejvBUNOtZJ8SQiJnp16S0CtuPfEiMlB CadNzawskBBLaN2WOUpgbZgj7y1Xl25EM1CTWZNGy1eFBwe8X+njgxd6huYWhp5tnlSq Tt/a3PmZp0m9zvuUy1sXDKDZprq6RiysItewRNU3HIxtXrOEdZdgv4eK/l9gU0ZQa1JX Lsq+ToBjt0NMN5oVf4lhdmxt6XgZhLaI7TlaW21L6OHdtIP+4u+HZln7Bpt7gI/MP4eM Rn+Jun+LI4xrroDBW3615arugiAEBhOXeAcCy1jFoWC7WNJlWpiv7nwFCuywhpMv6UCC FVxw== X-Gm-Message-State: AOJu0Yzqv0ZrQVXdLoqh8wgKWBusEYrQKAWz9kmqOmXOTCCkTY6nuEkl nPidFnMwbqAjRZbtfGtkWzxAQwRqDBIfpV6xr+KhTaesEcMYoE/xpIKTdne0RZQ= X-Google-Smtp-Source: AGHT+IEhIwsDt5fgjOxwcTnfpI53uNRq+tDIN0cqak73rEUU8kMbcK12Y89W+k86Y46o5hrfcJNZOw== X-Received: by 2002:a05:6512:3f08:b0:51a:d9a3:dbf5 with SMTP id 2adb3069b0e04-5221016b4a2mr21475353e87.47.1715895596480; Thu, 16 May 2024 14:39:56 -0700 (PDT) Received: from localhost ([5.165.219.191]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-521f35ad407sm3089978e87.29.2024.05.16.14.39.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 May 2024 14:39:56 -0700 (PDT) From: Vladimir Serbinenko To: grub-devel@gnu.org Cc: Vladimir Serbinenko Subject: [PATCH] Add commands for reading and writing raw bytes to CMOS Date: Fri, 17 May 2024 00:39:49 +0300 Message-Id: <20240516213949.978-1-phcoder@gmail.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::136; envelope-from=phcoder@gmail.com; helo=mail-lf1-x136.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: The development of GNU GRUB Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org Sender: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org V2l0aCBzb21lIGNvcmVib290IGNvbmZpZ3Mgc2V0dGluZyBhIGJ5dGUgdG8gYSBtYWdpYyB2YWx1 ZQpjaGFuZ2VzIGJlaGF2aW91ciBvbiBuZXh0IGJvb3QuIFNldHRpbmcgYml0LWJ5LWJpdCBpcwpw b3NzaWJsZSBidXQgbm90IGNvbnZlbmllbnQuIEFkZCBjbW9zcmVhZCBhbmQgY21vc3dyaXRlIGZv cgpjb252ZW5pZW5jZS4KClNpZ25lZC1vZmYtYnk6IFZsYWRpbWlyIFNlcmJpbmVua28gPHBoY29k ZXJAZ21haWwuY29tPgotLS0KIGdydWItY29yZS9jb21tYW5kcy9pMzg2L2Ntb3N0ZXN0LmMgfCA3 MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA3MSBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL2NvbW1hbmRz L2kzODYvY21vc3Rlc3QuYyBiL2dydWItY29yZS9jb21tYW5kcy9pMzg2L2Ntb3N0ZXN0LmMKaW5k ZXggMWYwYzUzNDFkLi44MTRkZjBmNDMgMTAwNjQ0Ci0tLSBhL2dydWItY29yZS9jb21tYW5kcy9p Mzg2L2Ntb3N0ZXN0LmMKKysrIGIvZ3J1Yi1jb3JlL2NvbW1hbmRzL2kzODYvY21vc3Rlc3QuYwpA QCAtMTgsOSArMTgsMTIgQEAKIAogI2luY2x1ZGUgPGdydWIvZGwuaD4KICNpbmNsdWRlIDxncnVi L2NvbW1hbmQuaD4KKyNpbmNsdWRlIDxncnViL2V4dGNtZC5oPgogI2luY2x1ZGUgPGdydWIvbWlz Yy5oPgogI2luY2x1ZGUgPGdydWIvY21vcy5oPgogI2luY2x1ZGUgPGdydWIvaTE4bi5oPgorI2lu Y2x1ZGUgPGdydWIvbW0uaD4KKyNpbmNsdWRlIDxncnViL2Vudi5oPgogCiBHUlVCX01PRF9MSUNF TlNFICgiR1BMdjMrIik7CiAKQEAgLTk5LDcgKzEwMiw2NiBAQCBncnViX2NtZF9jbW9zc2V0IChz dHJ1Y3QgZ3J1Yl9jb21tYW5kICpjbWQgX19hdHRyaWJ1dGVfXyAoKHVudXNlZCkpLAogICByZXR1 cm4gZ3J1Yl9jbW9zX3dyaXRlIChieXRlLCB2YWx1ZSB8ICgxIDw8IGJpdCkpOwogfQogCi1zdGF0 aWMgZ3J1Yl9jb21tYW5kX3QgY21kLCBjbWRfY2xlYW4sIGNtZF9zZXQ7CitzdGF0aWMgZ3J1Yl9l cnJfdAorZ3J1Yl9jbWRfY21vc3dyaXRlIChzdHJ1Y3QgZ3J1Yl9jb21tYW5kICpjbWQgX19hdHRy aWJ1dGVfXyAoKHVudXNlZCkpLAorCQkgICAgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKyAg dW5zaWduZWQgbG9uZyBieXRlLCB2YWx1ZTsKKyAgY29uc3QgY2hhciAqZW5kOworCisgIGlmIChh cmdjICE9IDIpCisgICAgcmV0dXJuIGdydWJfZXJyb3IgKEdSVUJfRVJSX0JBRF9BUkdVTUVOVCwg Tl8oInR3byBhcmd1bWVudHMgZXhwZWN0ZWQiKSk7CisKKyAgYnl0ZSA9IGdydWJfc3RydG91bCAo YXJndlswXSwgJmVuZCwgMCk7CisgIGlmIChieXRlID49IDB4MTAwIHx8IGFyZ3ZbMF1bMF0gPT0g J1wwJyB8fCAqZW5kICE9ICdcMCcpCisgICAgcmV0dXJuIGdydWJfZXJyb3IgKEdSVUJfRVJSX0JB RF9BUkdVTUVOVCwgTl8oImludmFsaWQgYWRkcmVzcyIpKTsKKworICB2YWx1ZSA9IGdydWJfc3Ry dG91bCAoYXJndlsxXSwgJmVuZCwgMCk7CisgIGlmICh2YWx1ZSA+PSAweDEwMCB8fCBhcmd2WzFd WzBdID09ICdcMCcgfHwgKmVuZCAhPSAnXDAnKQorICAgIHJldHVybiBncnViX2Vycm9yIChHUlVC X0VSUl9CQURfQVJHVU1FTlQsIE5fKCJpbnZhbGlkIHZhbHVlIikpOworCisgIHJldHVybiBncnVi X2Ntb3Nfd3JpdGUgKGJ5dGUsIHZhbHVlKTsKK30KKworc3RhdGljIGdydWJfZXJyX3QKK2dydWJf Y21kX2Ntb3NyZWFkIChncnViX2V4dGNtZF9jb250ZXh0X3QgY3R4dCwgaW50IGFyZ2MsIGNoYXIg Kiphcmd2KQoreworICB1bnNpZ25lZCBsb25nIGJ5dGU7CisgIGdydWJfdWludDhfdCB2YWx1ZSA9 IDA7CisgIGdydWJfZXJyX3QgZXJyOworICBjb25zdCBjaGFyICplbmQ7CisKKyAgaWYgKGFyZ2Mg IT0gMSkKKyAgICByZXR1cm4gZ3J1Yl9lcnJvciAoR1JVQl9FUlJfQkFEX0FSR1VNRU5ULCBOXygi b25lIGFyZ3VtZW50IGV4cGVjdGVkIikpOworCisgIGJ5dGUgPSBncnViX3N0cnRvdWwgKGFyZ3Zb MF0sICZlbmQsIDApOworICBpZiAoYnl0ZSA+PSAweDEwMCB8fCBhcmd2WzBdWzBdID09ICdcMCcg fHwgKmVuZCAhPSAnXDAnKQorICAgIHJldHVybiBncnViX2Vycm9yIChHUlVCX0VSUl9CQURfQVJH VU1FTlQsIE5fKCJpbnZhbGlkIGFkZHJlc3MiKSk7CisKKyAgZXJyID0gZ3J1Yl9jbW9zX3JlYWQg KGJ5dGUsICZ2YWx1ZSk7CisgIGlmIChlcnIpCisgICAgcmV0dXJuIGVycjsKKworICBpZiAoY3R4 dC0+c3RhdGVbMF0uc2V0KQorICAgIHsKKyAgICAgIGNoYXIgYnVmW3NpemVvZiAoIlhYIildOwor ICAgICAgZ3J1Yl9zbnByaW50ZiAoYnVmLCBzaXplb2YgKGJ1ZiksICIleCIsIHZhbHVlKTsKKyAg ICAgIGdydWJfZW52X3NldChjdHh0LT5zdGF0ZVswXS5hcmcsIGJ1Zik7CisgICAgfQorICBlbHNl CisgICAgZ3J1Yl9wcmludGZfKCJDTU9TIHZhbHVlIGF0IDB4JWx4IGlzIDB4JXhcbiIsIGJ5dGUs IHZhbHVlKTsKKyAgcmV0dXJuIEdSVUJfRVJSX05PTkU7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgZ3J1Yl9hcmdfb3B0aW9uIHJlYWRfb3B0aW9uc1tdID0KKyAgeworICAgIHswLCAncycsIDAs IE5fKCJTYXZlIHJlYWQgdmFsdWUgaW50byB2YXJpYWJsZSBWQVJOQU1FLiIpLAorICAgICBOXygi VkFSTkFNRSIpLCBBUkdfVFlQRV9TVFJJTkd9LAorICAgIHswLCAwLCAwLCAwLCAwLCAwfQorICB9 OworCitzdGF0aWMgZ3J1Yl9jb21tYW5kX3QgY21kLCBjbWRfY2xlYW4sIGNtZF9zZXQsIGNtZF93 cml0ZTsKK3N0YXRpYyBncnViX2V4dGNtZF90IGNtZF9yZWFkOwogCiAMCiBHUlVCX01PRF9JTklU KGNtb3N0ZXN0KQpAQCAtMTE0LDYgKzE3NiwxMiBAQCBHUlVCX01PRF9JTklUKGNtb3N0ZXN0KQog CQkJCSAgIE5fKCJCWVRFOkJJVCIpLAogCQkJCSAgIC8qIFRSQU5TTEFUT1JTOiBBIGJpdCBtYXkg YmUgZWl0aGVyIHNldCAoMSkgb3IgY2xlYXIgKDApLiAgKi8KIAkJCQkgICBOXygiU2V0IGJpdCBh dCBCWVRFOkJJVCBpbiBDTU9TLiIpKTsKKyAgY21kX3JlYWQgPSBncnViX3JlZ2lzdGVyX2V4dGNt ZF9sb2NrZG93biAoImNtb3NyZWFkIiwgZ3J1Yl9jbWRfY21vc3JlYWQsIDAsCisJCQkJICAgICAg IE5fKCJbLXMgVkFSXSBBRERSIiksCisJCQkJICAgICAgIE5fKCJSZWFkIENNT1MgYnl0ZSBhdCBB RERSLiIpLCByZWFkX29wdGlvbnMpOworICBjbWRfd3JpdGUgPSBncnViX3JlZ2lzdGVyX2NvbW1h bmRfbG9ja2Rvd24gKCJjbW9zd3JpdGUiLCBncnViX2NtZF9jbW9zd3JpdGUsCisJCQkJCSAgICAg IE5fKCJBRERSIFZBTFVFIiksCisJCQkJCSAgICAgIE5fKCJTZXQgQ01PUyBieXRlIGF0IEFERFIg dG8gVkFMVUUuIikpOwogfQogCiBHUlVCX01PRF9GSU5JKGNtb3N0ZXN0KQpAQCAtMTIxLDQgKzE4 OSw2IEBAIEdSVUJfTU9EX0ZJTkkoY21vc3Rlc3QpCiAgIGdydWJfdW5yZWdpc3Rlcl9jb21tYW5k IChjbWQpOwogICBncnViX3VucmVnaXN0ZXJfY29tbWFuZCAoY21kX2NsZWFuKTsKICAgZ3J1Yl91 bnJlZ2lzdGVyX2NvbW1hbmQgKGNtZF9zZXQpOworICBncnViX3VucmVnaXN0ZXJfZXh0Y21kIChj bWRfcmVhZCk7CisgIGdydWJfdW5yZWdpc3Rlcl9jb21tYW5kIChjbWRfd3JpdGUpOwogfQotLSAK Mi4zOS4yCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K R3J1Yi1kZXZlbCBtYWlsaW5nIGxpc3QKR3J1Yi1kZXZlbEBnbnUub3JnCmh0dHBzOi8vbGlzdHMu Z251Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2dydWItZGV2ZWwK