From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexandre Courbot Subject: [PATCH v3 10/15] secboot: split reset function Date: Wed, 2 Nov 2016 15:02:51 +0900 Message-ID: <20161102060256.14341-11-acourbot@nvidia.com> References: <20161102060256.14341-1-acourbot@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20161102060256.14341-1-acourbot-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Ben Skeggs Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: nouveau.vger.kernel.org U3BsaXQgdGhlIHJlc2V0IGZ1bmN0aW9uIGludG8gbW9yZSBtZWFuaW5nZnVsIGFuZCByZXVzYWJs ZSBvbmVzLgoKU2lnbmVkLW9mZi1ieTogQWxleGFuZHJlIENvdXJib3QgPGFjb3VyYm90QG52aWRp YS5jb20+Ci0tLQogZHJtL25vdXZlYXUvaW5jbHVkZS9udmttL3N1YmRldi9zZWNib290LmggIHwg IDMgKysKIGRybS9ub3V2ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvYWNyX3IzNTIuYyB8IDc4ICsr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA1NiBpbnNlcnRp b25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcm0vbm91dmVhdS9pbmNsdWRl L252a20vc3ViZGV2L3NlY2Jvb3QuaCBiL2RybS9ub3V2ZWF1L2luY2x1ZGUvbnZrbS9zdWJkZXYv c2VjYm9vdC5oCmluZGV4IDI0ZDk4ODc4YmI5My4uNzg1ZTJjNTUzMzkyIDEwMDY0NAotLS0gYS9k cm0vbm91dmVhdS9pbmNsdWRlL252a20vc3ViZGV2L3NlY2Jvb3QuaAorKysgYi9kcm0vbm91dmVh dS9pbmNsdWRlL252a20vc3ViZGV2L3NlY2Jvb3QuaApAQCAtMzAsNiArMzAsNyBAQAogICogQGJh c2U6IGJhc2UgSU8gYWRkcmVzcyBvZiB0aGUgZmFsY29uIHBlcmZvcm1pbmcgc2VjdXJlIGJvb3QK ICAqIEBtYW5hZ2VkX2ZhbGNvbnM6IGJpdGZpZWxkIG9mIGZhbGNvbnMgbWFuYWdlZCBieSB0aGlz IEFDUgogICogQGRlYnVnX21vZGU6IHdoZXRoZXIgdGhlIGRlYnVnIG9yIHByb2R1Y3Rpb24gc2ln bmF0dXJlcyBzaG91bGQgYmUgdXNlZAorICogQHdwcl9zZXQ6IHdoZXRoZXIgdGhlIFdQUiByZWdp b24gaXMgY3VycmVudGx5IHNldAogKi8KIHN0cnVjdCBudmttX3NlY2Jvb3QgewogCWNvbnN0IHN0 cnVjdCBudmttX3NlY2Jvb3RfZnVuYyAqZnVuYzsKQEAgLTQ0LDYgKzQ1LDggQEAgc3RydWN0IG52 a21fc2VjYm9vdCB7CiAJdTMyIHdwcl9zaXplOwogCiAJYm9vbCBkZWJ1Z19tb2RlOworCisJYm9v bCB3cHJfc2V0OwogfTsKICNkZWZpbmUgbnZrbV9zZWNib290KHApIGNvbnRhaW5lcl9vZigocCks IHN0cnVjdCBudmttX3NlY2Jvb3QsIHN1YmRldikKIApkaWZmIC0tZ2l0IGEvZHJtL25vdXZlYXUv bnZrbS9zdWJkZXYvc2VjYm9vdC9hY3JfcjM1Mi5jIGIvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYv c2VjYm9vdC9hY3JfcjM1Mi5jCmluZGV4IDA1ODM4NjcyMGExNC4uYjM1MGUxMDdlZmYwIDEwMDY0 NAotLS0gYS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9zZWNib290L2Fjcl9yMzUyLmMKKysrIGIv ZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvc2VjYm9vdC9hY3JfcjM1Mi5jCkBAIC03NDYsNiArNzQ2 LDU0IEBAIGFjcl9yMzUyX2xvYWQoc3RydWN0IG52a21fYWNyICpfYWNyLCBzdHJ1Y3QgbnZrbV9z ZWNib290ICpzYiwKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludAorYWNyX3IzNTJfc2h1dGRv d24oc3RydWN0IGFjcl9yMzUyICphY3IsIHN0cnVjdCBudmttX3NlY2Jvb3QgKnNiKQoreworCWlu dCBpOworCisJLyogUnVuIHRoZSB1bmxvYWQgYmxvYiB0byB1bnByb3RlY3QgdGhlIFdQUiByZWdp b24gKi8KKwlpZiAoYWNyLT51bmxvYWRfYmxvYiAmJiBzYi0+d3ByX3NldCkgeworCQlpbnQgcmV0 OworCisJCW52a21fZGVidWcoJnNiLT5zdWJkZXYsICJydW5uaW5nIEhTIHVubG9hZCBibG9iXG4i KTsKKwkJcmV0ID0gc2ItPmZ1bmMtPnJ1bl9ibG9iKHNiLCBhY3ItPnVubG9hZF9ibG9iKTsKKwkJ aWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJCW52a21fZGVidWcoJnNiLT5zdWJkZXYsICJIUyB1 bmxvYWQgYmxvYiBjb21wbGV0ZWRcbiIpOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBOVktNX0ZB TENPTl9FTkQ7IGkrKykKKwkJYWNyLT5mYWxjb25fc3RhdGVbaV0gPSBOT05fU0VDVVJFOworCisJ c2ItPndwcl9zZXQgPSBmYWxzZTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50CithY3Jf cjM1Ml9ib290c3RyYXAoc3RydWN0IGFjcl9yMzUyICphY3IsIHN0cnVjdCBudmttX3NlY2Jvb3Qg KnNiKQoreworCWludCByZXQ7CisKKwlpZiAoc2ItPndwcl9zZXQpCisJCXJldHVybiAwOworCisJ LyogTWFrZSBzdXJlIGFsbCBibG9icyBhcmUgcmVhZHkgKi8KKwlyZXQgPSBhY3JfcjM1Ml9sb2Fk X2Jsb2JzKGFjciwgc2IpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwludmttX2RlYnVn KCZzYi0+c3ViZGV2LCAicnVubmluZyBIUyBsb2FkIGJsb2JcbiIpOworCXJldCA9IHNiLT5mdW5j LT5ydW5fYmxvYihzYiwgYWNyLT5sb2FkX2Jsb2IpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7 CisJbnZrbV9kZWJ1Zygmc2ItPnN1YmRldiwgIkhTIGxvYWQgYmxvYiBjb21wbGV0ZWRcbiIpOwor CisJc2ItPndwcl9zZXQgPSB0cnVlOworCisJcmV0dXJuIDA7Cit9CisKIC8qCiAgKiBhY3JfcjM1 Ml9yZXNldCgpIC0gZXhlY3V0ZSBzZWN1cmUgYm9vdCBmcm9tIHRoZSBwcmVwYXJlZCBzdGF0ZQog ICoKQEAgLTc2MCwxMSArODA4LDYgQEAgYWNyX3IzNTJfcmVzZXQoc3RydWN0IG52a21fYWNyICpf YWNyLCBzdHJ1Y3QgbnZrbV9zZWNib290ICpzYiwKIAlzdHJ1Y3QgYWNyX3IzNTIgKmFjciA9IGFj cl9yMzUyKF9hY3IpOwogCWludCByZXQ7CiAKLQkvKiBNYWtlIHN1cmUgYWxsIGJsb2JzIGFyZSBy ZWFkeSAqLwotCXJldCA9IGFjcl9yMzUyX2xvYWRfYmxvYnMoYWNyLCBzYik7Ci0JaWYgKHJldCkK LQkJcmV0dXJuIHJldDsKLQogCS8qCiAJICogRHVtbXkgR00yMDAgaW1wbGVtZW50YXRpb246IHBl cmZvcm0gc2VjdXJlIGJvb3QgZWFjaCB0aW1lIHdlIGFyZQogCSAqIGNhbGxlZCBvbiBGRUNTLiBT aW5jZSBvbmx5IEZFQ1MgYW5kIEdQQ0NTIGFyZSBtYW5hZ2VkIGFuZCBzdGFydGVkCkBAIC03NzYs MTYgKzgxOSwxMSBAQCBhY3JfcjM1Ml9yZXNldChzdHJ1Y3QgbnZrbV9hY3IgKl9hY3IsIHN0cnVj dCBudmttX3NlY2Jvb3QgKnNiLAogCWlmIChmYWxjb24gIT0gTlZLTV9GQUxDT05fRkVDUykKIAkJ Z290byBlbmQ7CiAKLQkvKiBJZiBXUFIgaXMgc2V0IGFuZCB3ZSBoYXZlIGFuIHVubG9hZCBibG9i LCBydW4gaXQgdG8gdW5sb2NrIFdQUiAqLwotCWlmIChhY3ItPnVubG9hZF9ibG9iICYmCi0JICAg IGFjci0+ZmFsY29uX3N0YXRlW05WS01fRkFMQ09OX0ZFQ1NdICE9IE5PTl9TRUNVUkUpIHsKLQkJ cmV0ID0gc2ItPmZ1bmMtPnJ1bl9ibG9iKHNiLCBhY3ItPnVubG9hZF9ibG9iKTsKLQkJaWYgKHJl dCkKLQkJCXJldHVybiByZXQ7Ci0JfQorCXJldCA9IGFjcl9yMzUyX3NodXRkb3duKGFjciwgc2Ip OworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CiAKLQkvKiBSZWxvYWQgYWxsIG1hbmFnZWQgZmFs Y29ucyAqLwotCXJldCA9IHNiLT5mdW5jLT5ydW5fYmxvYihzYiwgYWNyLT5sb2FkX2Jsb2IpOwor CWFjcl9yMzUyX2Jvb3RzdHJhcChhY3IsIHNiKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0Owog CkBAIC04MjQsMTggKzg2Miw4IEBAIHN0YXRpYyBpbnQKIGFjcl9yMzUyX2Zpbmkoc3RydWN0IG52 a21fYWNyICpfYWNyLCBzdHJ1Y3QgbnZrbV9zZWNib290ICpzYiwgYm9vbCBzdXNwZW5kKQogewog CXN0cnVjdCBhY3JfcjM1MiAqYWNyID0gYWNyX3IzNTIoX2Fjcik7Ci0JaW50IHJldCA9IDA7Ci0J aW50IGk7CiAKLQkvKiBSdW4gdGhlIHVubG9hZCBibG9iIHRvIHVucHJvdGVjdCB0aGUgV1BSIHJl Z2lvbiAqLwotCWlmIChhY3ItPnVubG9hZF9ibG9iICYmCi0JICAgIGFjci0+ZmFsY29uX3N0YXRl W05WS01fRkFMQ09OX0ZFQ1NdICE9IE5PTl9TRUNVUkUpCi0JCXJldCA9IHNiLT5mdW5jLT5ydW5f YmxvYihzYiwgYWNyLT51bmxvYWRfYmxvYik7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgTlZLTV9GQUxD T05fRU5EOyBpKyspCi0JCWFjci0+ZmFsY29uX3N0YXRlW2ldID0gTk9OX1NFQ1VSRTsKLQotCXJl dHVybiByZXQ7CisJcmV0dXJuIGFjcl9yMzUyX3NodXRkb3duKGFjciwgc2IpOwogfQogCiBzdGF0 aWMgdm9pZAotLSAKMi4xMC4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpOb3V2ZWF1IG1haWxpbmcgbGlzdApOb3V2ZWF1QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25vdXZl YXUK