From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gary Thomas To: Grant Edwards Cc: ecos-discuss@sources.redhat.com Subject: RE: [ECOS] Main loop user callback mechanism patch attached. Date: Wed, 31 Jan 2001 12:04:00 -0000 Message-id: References: <20010122170445.A27137@visi.com> X-SW-Source: 2001-01/msg00504.html Content-type: multipart/mixed; boundary="----------=_1583532882-474-4" This is a multi-part message in MIME format... ------------=_1583532882-474-4 Content-length: 568 Applied - again with a little massaging and generalization. Patch attached. On 22-Jan-2001 Grant Edwards wrote: > > Attached is a patch that uses the HAL_TABLE mechanism to allow > the user to register a main-loop callback routine via the macro > RedBoot_loop() much the same why you can register an > initialization routine using RedBoot_init(). > > NB: This patch also changes the main-loop gets() timeout from > 250ms to 10ms. I was thinking about making that value > adjustable via cdl, but haven't done it. > > -- > Grant Edwards > grante@visi.com ------------=_1583532882-474-4 Content-Type: text/x-diff; charset=us-ascii; name="diffs" Content-Disposition: inline; filename="diffs" Content-Transfer-Encoding: base64 Content-Length: 10631 SW5kZXg6IHJlZGJvb3QvL2N1cnJlbnQvY2RsL3JlZGJvb3QuY2RsCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2N2cy9lY2MvZWNj L3JlZGJvb3QvY3VycmVudC9jZGwvcmVkYm9vdC5jZGwsdgpyZXRyaWV2aW5n IHJldmlzaW9uIDEuMzIKZGlmZiAtdSAtNSAtcCAtcjEuMzIgcmVkYm9vdC5j ZGwKLS0tIHJlZGJvb3QvL2N1cnJlbnQvY2RsL3JlZGJvb3QuY2RsCTIwMDEv MDEvMzAgMTk6MDQ6MDcJMS4zMgorKysgcmVkYm9vdC8vY3VycmVudC9jZGwv cmVkYm9vdC5jZGwJMjAwMS8wMS8zMSAxOTo0ODozNgpAQCAtMTQ3LDEwICsx NDcsMjIgQEAgY2RsX3BhY2thZ2UgQ1lHUEtHX1JFREJPT1QgewogICAgICAg ICAgIFRoaXMgb3B0aW9uIGFsbG93cyBjb250cm9sIG92ZXIgaG93IGxvbmcg dGhlIENMSSBjb21tYW5kIGxpbmUKICAgICAgICAgICBzaG91bGQgYmUuICBU aGlzIHNwYWNlIHdpbGwgYmUgYWxsb2NhdGVkIHN0YXRpY2FsbHkKICAgICAg ICAgICByYXRoZXIgdGhhbiBmcm9tIFJlZEJvb3QncyBzdGFjay4iCiAgICAg fQogCisgICAgY2RsX29wdGlvbiBDWUdOVU1fUkVEQk9PVF9DTElfSURMRV9U SU1FT1VUIHsKKyAgICAgICAgZGlzcGxheSAgICAgICAiQ29tbWFuZCBwcm9j ZXNzaW5nIGlkbGUgdGltZW91dCAobXMpIgorICAgICAgICBmbGF2b3IgICAg ICAgIGRhdGEKKyAgICAgICAgZGVmYXVsdF92YWx1ZSAxMAorICAgICAgICBk ZXNjcmlwdGlvbiAgICIKKyAgICAgICAgICBUaGlzIG9wdGlvbiBjb250cm9s cyB0aGUgdGltZW91dCBwZXJpb2QgYmVmb3JlIHRoZQorICAgICAgICAgIGNv bW1hbmQgcHJvY2Vzc2luZyBpcyBjb25zaWRlcmVkICdpZGxlJy4gIE1ha2lu ZyB0aGlzCisgICAgICAgICAgbnVtYmVyIHNtYWxsZXIgd2lsbCBjYXVzZSBp ZGxlIHByb2Nlc3NpbmcgdG8gdGFrZSBwbGFjZQorICAgICAgICAgIG1vcmUg b2Z0ZW4sIGV0Yy4gIFRoZSBkZWZhdWx0IHZhbHVlIG9mIDEwbXMgaXMgYSBy ZWFzb25hYmxlCisgICAgICAgICAgdHJhZGVvZmYgYmV0d2VlbiByZXNwb25z aXZlbmVzcyBhbmQgb3ZlcmhlYWQuIgorICAgIH0KKwogICAgIGNkbF9jb21w b25lbnQgQ1lHUEtHX1JFREJPT1RfRkxBU0ggewogICAgICAgICBkaXNwbGF5 ICAgICAgICJBbGxvdyBSZWRCb290IHRvIHN1cHBvcnQgRkxBU0ggcHJvZ3Jh bW1pbmciCiAgICAgICAgIGZsYXZvciAgICAgICAgYm9vbAogICAgICAgICBk ZWZhdWx0X3ZhbHVlIDEKICAgICAgICAgYWN0aXZlX2lmICAgICBDWUdQS0df SU9fRkxBU0gKSW5kZXg6IHJlZGJvb3QvL2N1cnJlbnQvaW5jbHVkZS9yZWRi b290LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUv Y3ZzL2VjYy9lY2MvcmVkYm9vdC9jdXJyZW50L2luY2x1ZGUvcmVkYm9vdC5o LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE2CmRpZmYgLXUgLTUgLXAgLXIx LjE2IHJlZGJvb3QuaAotLS0gcmVkYm9vdC8vY3VycmVudC9pbmNsdWRlL3Jl ZGJvb3QuaAkyMDAxLzAxLzMxIDE4OjMwOjIzCTEuMTYKKysrIHJlZGJvb3Qv L2N1cnJlbnQvaW5jbHVkZS9yZWRib290LmgJMjAwMS8wMS8zMSAxODozNTo0 MgpAQCAtMTUzLDExICsxNTMsMjMgQEAgc3RydWN0IGluaXRfdGFiX2VudHJ5 IHsKIH0gQ1lHX0hBTF9UQUJMRV9UWVBFOwogI2RlZmluZSBfUmVkQm9vdF9p bml0KF9mXyxfcF8pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAogc3RydWN0IGluaXRfdGFiX2VudHJ5IF9pbml0X3RhYl8j I19wXyMjX2ZfIENZR19IQUxfVEFCTEVfUVVBTElGSUVEX0VOVFJZKFJlZEJv b3RfaW5pdHMsX2ZfKSA9IHsgX2ZfIH07IAogI2RlZmluZSBSZWRCb290X2lu aXQoX2ZfLF9wXykgX1JlZEJvb3RfaW5pdChfZl8sX3BfKQogCi0KKy8vIE1h aW4gbG9vcCBbaWRsZV0gY2FsbC1iYWNrIGZ1bmN0aW9ucworI2RlZmluZSBS ZWRCb290X0lETEVfRklSU1QgICAgICAgICAgMDAwMAorI2RlZmluZSBSZWRC b290X0lETEVfQkVGT1JFX05FVElPICAgMzAwMAorI2RlZmluZSBSZWRCb290 X0lETEVfTkVUSU8gICAgICAgICAgNTAwMAorI2RlZmluZSBSZWRCb290X0lE TEVfQUZURVJfTkVUSU8gICAgNzAwMAorI2RlZmluZSBSZWRCb290X0lETEVf TEFTVCAgICAgICAgICAgOTk5OQorc3RydWN0IGlkbGVfdGFiX2VudHJ5IHsK KyAgICB2b2lkX2Z1bl9wdHIgZnVuOworfSBDWUdfSEFMX1RBQkxFX1RZUEU7 CisjZGVmaW5lIF9SZWRCb290X2lkbGUoX2ZfLF9wXykgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCitzdHJ1Y3QgaWRsZV90 YWJfZW50cnkgX2lkbGVfdGFiXyMjX3BfIyNfZl8gQ1lHX0hBTF9UQUJMRV9R VUFMSUZJRURfRU5UUlkoUmVkQm9vdF9pZGxlLF9mXykgPSB7IF9mXyB9OyAK KyNkZWZpbmUgUmVkQm9vdF9pZGxlKF9mXyxfcF8pIF9SZWRCb290X2lkbGUo X2ZfLF9wXykKKyAKIC8vIE9wdGlvbiBwcm9jZXNzaW5nIHN1cHBvcnQKIAog c3RydWN0IG9wdGlvbl9pbmZvIHsKICAgICBjaGFyIGZsYWc7CiAgICAgYm9v bCB0YWtlc19hcmc7CgpJbmRleDogcmVkYm9vdC8vY3VycmVudC9zcmMvbWFp bi5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2N2 cy9lY2MvZWNjL3JlZGJvb3QvY3VycmVudC9zcmMvbWFpbi5jLHYKcmV0cmll dmluZyByZXZpc2lvbiAxLjM3CmRpZmYgLXUgLTUgLXAgLXIxLjM3IG1haW4u YwotLS0gcmVkYm9vdC8vY3VycmVudC9zcmMvbWFpbi5jCTIwMDEvMDEvMzEg MTg6MzA6MjMJMS4zNworKysgcmVkYm9vdC8vY3VycmVudC9zcmMvbWFpbi5j CTIwMDEvMDEvMzEgMTk6NDg6MzUKQEAgLTk5LDE0ICs5OSwxOSBAQCBSZWRC b290X2NtZCgicmVzZXQiLCAKIAogLy8gRGVmaW5lIHRhYmxlIGJvdW5kYXJp ZXMKIENZR19IQUxfVEFCTEVfQkVHSU4oIF9fUmVkQm9vdF9JTklUX1RBQl9f LCBSZWRCb290X2luaXRzICk7CiBDWUdfSEFMX1RBQkxFX0VORCggX19SZWRC b290X0lOSVRfVEFCX0VORF9fLCBSZWRCb290X2luaXRzICk7CiBleHRlcm4g c3RydWN0IGluaXRfdGFiX2VudHJ5IF9fUmVkQm9vdF9JTklUX1RBQl9fW10s IF9fUmVkQm9vdF9JTklUX1RBQl9FTkRfXzsKKwogQ1lHX0hBTF9UQUJMRV9C RUdJTiggX19SZWRCb290X0NNRF9UQUJfXywgUmVkQm9vdF9jb21tYW5kcyAp OwogQ1lHX0hBTF9UQUJMRV9FTkQoIF9fUmVkQm9vdF9DTURfVEFCX0VORF9f LCBSZWRCb290X2NvbW1hbmRzICk7CiBleHRlcm4gc3RydWN0IGNtZCBfX1Jl ZEJvb3RfQ01EX1RBQl9fW10sIF9fUmVkQm9vdF9DTURfVEFCX0VORF9fOwog CitDWUdfSEFMX1RBQkxFX0JFR0lOKCBfX1JlZEJvb3RfSURMRV9UQUJfXywg UmVkQm9vdF9pZGxlICk7CitDWUdfSEFMX1RBQkxFX0VORCggX19SZWRCb290 X0lETEVfVEFCX0VORF9fLCBSZWRCb290X2lkbGUgKTsKK2V4dGVybiBzdHJ1 Y3QgaWRsZV90YWJfZW50cnkgX19SZWRCb290X0lETEVfVEFCX19bXSwgX19S ZWRCb290X0lETEVfVEFCX0VORF9fOworCiAjaWZkZWYgSEFMX0FSQ0hfUFJP R1JBTV9ORVdfU1RBQ0sKIGV4dGVybiB2b2lkIEhBTF9BUkNIX1BST0dSQU1f TkVXX1NUQUNLKHZvaWQgKmZ1bik7CiAjZW5kaWYKIAogdm9pZApAQCAtMTMx LDEwICsxMzYsMTEgQEAgY3lnX3N0YXJ0KHZvaWQpCiAgICAgYm9vbCBwcm9t cHQgPSB0cnVlOwogICAgIHN0YXRpYyBjaGFyIGxpbmVbQ1lHUEtHX1JFREJP T1RfTUFYX0NNRF9MSU5FXTsKICAgICBzdHJ1Y3QgY21kICpjbWQ7CiAgICAg aW50IGN1ciA9IENZR0FDQ19DQUxMX0lGX1NFVF9DT05TT0xFX0NPTU0oQ1lH TlVNX0NBTExfSUZfU0VUX0NPTU1fSURfUVVFUllfQ1VSUkVOVCk7CiAgICAg c3RydWN0IGluaXRfdGFiX2VudHJ5ICppbml0X2VudHJ5OworICAgIHN0cnVj dCBpZGxlX3RhYl9lbnRyeSAqaWRsZV9lbnRyeTsKIAogICAgIENZR0FDQ19D QUxMX0lGX1NFVF9DT05TT0xFX0NPTU0oQ1lHTlVNX0hBTF9WSVJUVUFMX1ZF Q1RPUl9DT05TT0xFX0NIQU5ORUwpOwogI2lmZGVmIENZR1BLR19SRURCT09U X0FOWV9DT05TT0xFCiAgICAgY29uc29sZV9zZWxlY3RlZCA9IGZhbHNlOwog I2VuZGlmCkBAIC0xNjQsMjUgKzE3MCwyMyBAQCBjeWdfc3RhcnQodm9pZCkK ICAgICAgICAgdW5zaWduZWQgY2hhciAqaG9sZF9zY3JpcHQgPSBzY3JpcHQ7 CiAgICAgICAgIGludCBzY3JpcHRfdGltZW91dF9tcyA9IHNjcmlwdF90aW1l b3V0ICogQ1lHTlVNX1JFREJPT1RfRkxBU0hfU0NSSVBUX1RJTUVPVVRfUkVT T0xVVElPTjsKICAgICAgICAgcHJpbnRmKCI9PSBFeGVjdXRpbmcgYm9vdCBz Y3JpcHQgaW4gJWQuJTAzZCBzZWNvbmRzIC0gZW50ZXIgXkMgdG8gYWJvcnRc biIsIAogICAgICAgICAgICAgICAgc2NyaXB0X3RpbWVvdXRfbXMvMTAwMCwg c2NyaXB0X3RpbWVvdXRfbXMlMTAwMCk7CiAgICAgICAgIHNjcmlwdCA9ICh1 bnNpZ25lZCBjaGFyICopMDsKLSAgICAgICAgd2hpbGUgKHNjcmlwdF90aW1l b3V0X21zID49IDEwKSB7Ci0gICAgICAgICAgICByZXMgPSBnZXRzKGxpbmUs IHNpemVvZihsaW5lKSwgMTApOworICAgICAgICB3aGlsZSAoc2NyaXB0X3Rp bWVvdXRfbXMgPj0gQ1lHTlVNX1JFREJPT1RfQ0xJX0lETEVfVElNRU9VVCkg eworICAgICAgICAgICAgcmVzID0gZ2V0cyhsaW5lLCBzaXplb2YobGluZSks IENZR05VTV9SRURCT09UX0NMSV9JRExFX1RJTUVPVVQpOwogICAgICAgICAg ICAgaWYgKHJlcyA9PSBfR0VUU19PSykgewogICAgICAgICAgICAgICAgIHBy aW50ZigiPT0gRXhlY3V0aW5nIGJvb3Qgc2NyaXB0IGluICVkLiUwM2Qgc2Vj b25kcyAtIGVudGVyIF5DIHRvIGFib3J0XG4iLCAKICAgICAgICAgICAgICAg ICAgICAgICAgc2NyaXB0X3RpbWVvdXRfbXMvMTAwMCwgc2NyaXB0X3RpbWVv dXRfbXMlMTAwMCk7CiAgICAgICAgICAgICAgICAgY29udGludWU7ICAvLyBJ Z25vcmUgYW55dGhpbmcgYnV0IF5DCiAgICAgICAgICAgICB9CiAgICAgICAg ICAgICBpZiAocmVzICE9IF9HRVRTX1RJTUVPVVQpIGJyZWFrOwotI2lmZGVm IENZR1BLR19SRURCT09UX05FVFdPUktJTkcKLSAgICAgICAgICAgIGlmICho YXZlX25ldCkgewotICAgICAgICAgICAgICAgIC8vIENoZWNrIGZvciBpbmNv bWluZyBUQ1AgZGVidWcgY29ubmVjdGlvbgotICAgICAgICAgICAgICAgIG5l dF9pb190ZXN0KCk7CisgICAgICAgICAgICBmb3IgKGlkbGVfZW50cnkgPSBf X1JlZEJvb3RfSURMRV9UQUJfXzsgCisgICAgICAgICAgICAgICAgIGlkbGVf ZW50cnkgIT0gJl9fUmVkQm9vdF9JRExFX1RBQl9FTkRfXzsgIGlkbGVfZW50 cnkrKykgeworICAgICAgICAgICAgICAgICgqaWRsZV9lbnRyeS0+ZnVuKSgp OwogICAgICAgICAgICAgfQotI2VuZGlmCi0gICAgICAgICAgICBzY3JpcHRf dGltZW91dF9tcyAtPSAxMDsKKyAgICAgICAgICAgIHNjcmlwdF90aW1lb3V0 X21zIC09IENZR05VTV9SRURCT09UX0NMSV9JRExFX1RJTUVPVVQ7CiAgICAg ICAgIH0KICAgICAgICAgaWYgKHJlcyA9PSBfR0VUU19DVFJMQykgewogICAg ICAgICAgICAgc2NyaXB0ID0gKHVuc2lnbmVkIGNoYXIgKikwOyAgLy8gRGlz YWJsZSBzY3JpcHQKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHNj cmlwdCA9IGhvbGRfc2NyaXB0OyAgLy8gUmUtZW5hYmxlIHNjcmlwdApAQCAt MTkzLDE5ICsxOTcsMTcgQEAgY3lnX3N0YXJ0KHZvaWQpCiAgICAgd2hpbGUg KHRydWUpIHsKICAgICAgICAgaWYgKHByb21wdCkgewogICAgICAgICAgICAg cHJpbnRmKCJSZWRCb290PiAiKTsKICAgICAgICAgICAgIHByb21wdCA9IGZh bHNlOwogICAgICAgICB9Ci0gICAgICAgIHJlcyA9IGdldHMobGluZSwgc2l6 ZW9mKGxpbmUpLCAyNTApOworICAgICAgICByZXMgPSBnZXRzKGxpbmUsIHNp emVvZihsaW5lKSwgQ1lHTlVNX1JFREJPT1RfQ0xJX0lETEVfVElNRU9VVCk7 CiAgICAgICAgIGlmIChyZXMgPT0gX0dFVFNfVElNRU9VVCkgewogICAgICAg ICAgICAgLy8gTm8gaW5wdXQgYXJyaXZlZAotI2lmZGVmIENZR1BLR19SRURC T09UX05FVFdPUktJTkcKLSAgICAgICAgICAgIGlmIChoYXZlX25ldCkgewot ICAgICAgICAgICAgICAgIC8vIENoZWNrIGZvciBpbmNvbWluZyBUQ1AgZGVi dWcgY29ubmVjdGlvbgotICAgICAgICAgICAgICAgIG5ldF9pb190ZXN0KCk7 CisgICAgICAgICAgICBmb3IgKGlkbGVfZW50cnkgPSBfX1JlZEJvb3RfSURM RV9UQUJfXzsgCisgICAgICAgICAgICAgICAgIGlkbGVfZW50cnkgIT0gJl9f UmVkQm9vdF9JRExFX1RBQl9FTkRfXzsgIGlkbGVfZW50cnkrKykgeworICAg ICAgICAgICAgICAgICgqaWRsZV9lbnRyeS0+ZnVuKSgpOwogICAgICAgICAg ICAgfQotI2VuZGlmCiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBp ZiAocmVzID09IF9HRVRTX0dEQikgewogICAgICAgICAgICAgICAgIC8vIFNw ZWNpYWwgY2FzZSBvZiAnJCcgLSBuZWVkIHRvIHN0YXJ0IEdEQiBwcm90b2Nv bAogICAgICAgICAgICAgICAgIGdkYl9hY3RpdmUgPSB0cnVlOwogICAgICAg ICAgICAgICAgIENZR0FDQ19DQUxMX0lGX1NFVF9DT05TT0xFX0NPTU0oY3Vy KTsKCkluZGV4OiByZWRib290Ly9jdXJyZW50L3NyYy9uZXQvbmV0X2lvLmMK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUvY3ZzL2Vj Yy9lY2MvcmVkYm9vdC9jdXJyZW50L3NyYy9uZXQvbmV0X2lvLmMsdgpyZXRy aWV2aW5nIHJldmlzaW9uIDEuMTkKZGlmZiAtdSAtNSAtcCAtcjEuMTkgbmV0 X2lvLmMKLS0tIHJlZGJvb3QvL2N1cnJlbnQvc3JjL25ldC9uZXRfaW8uYwky MDAxLzAxLzMxIDE4OjMwOjIzCTEuMTkKKysrIHJlZGJvb3QvL2N1cnJlbnQv c3JjL25ldC9uZXRfaW8uYwkyMDAxLzAxLzMxIDE4OjM2OjI3CkBAIC00NzQs MTMgKzQ3NCwxNSBAQCBuZXRfaW9faW5pdCh2b2lkKQogI2lmZGVmIERFQlVH X1RDUAogICAgIHByaW50Zigic2hvdyB0Y3AgPSAlcFxuIiwgKHZvaWQgKikm c2hvd190Y3ApOwogI2VuZGlmCiB9CiAKKy8vIENoZWNrIGZvciBpbmNvbWlu ZyBUQ1AgZGVidWcgY29ubmVjdGlvbgogdm9pZAogbmV0X2lvX3Rlc3Qodm9p ZCkKIHsKKyAgICBpZiAoIWhhdmVfbmV0KSByZXR1cm47CiAgICAgX190Y3Bf cG9sbCgpOwogICAgIGlmIChzdGF0ZSAhPSB0Y3Bfc29jay5zdGF0ZSkgewog ICAgICAgICAvLyBTb21ldGhpbmcgaGFzIGNoYW5nZWQKICAgICAgICAgaWYg KHRjcF9zb2NrLnN0YXRlID09IF9FU1RBQkxJU0hFRCkgewogICAgICAgICAg ICAgLy8gQSBuZXcgY29ubmVjdGlvbiBoYXMgYXJyaXZlZApAQCAtNDkyLDEw ICs0OTQsMTUgQEAgbmV0X2lvX3Rlc3Qodm9pZCkKICAgICAgICAgICAgIG5l dF9pb19pbml0KCk7ICAvLyBHZXQgcmVhZHkgZm9yIGFub3RoZXIgY29ubmVj dGlvbgogICAgICAgICB9CiAgICAgfQogICAgIHN0YXRlID0gdGNwX3NvY2su c3RhdGU7CiB9CisKKy8vIFRoaXMgc2NoZWR1bGVzIHRoZSAnbmV0X2lvX3Rl c3QoKScgZnVuY3Rpb24gdG8gYmUgcnVuIGJ5IFJlZEJvb3QncworLy8gbWFp biBjb21tYW5kIGxvb3Agd2hlbiBpZGxlIChpLmUuIHdoZW4gbm8gaW5wdXQg YXJyaXZlcyBhZnRlciBzb21lCisvLyBwZXJpb2Qgb2YgdGltZSkuCitSZWRC b290X2lkbGUobmV0X2lvX3Rlc3QsIFJlZEJvb3RfSURMRV9ORVRJTyk7CiAK IC8vCiAvLyBOZXR3b3JrIGluaXRpYWxpemF0aW9uCiAvLwogI2luY2x1ZGUg PGV0aF9kcnYuaD4K ------------=_1583532882-474-4--