Patch: 2.1.92pre2: slram_device (fwd)

Adam Heath (adam.heath@usa.net)
Tue, 31 Mar 1998 01:42:32 -0500 (EST)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

---1463811328-1054730204-891325938=:8441
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.LNX.3.96.980331013739.8441R@usa.net>

This allows for upper memory to be turned into a device. Then, during boot
up, the init scripts can run mkswap /dev/slram or mkfs /dev/slram or whatever.
It is particularly useful on chipsets that don't cache all available ram, as
slow ram will always be faster than a fast disk.

Command line options: fastmem=64M mem=96M
This makes all memory between 64M and 96M a device(32M).

You must 'mknod /dev/slram b 123 0'

Adam

---1463811328-1054730204-891325938=:8441
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="slram_patch-2.1.92"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.96.980331014232.8441S@usa.net>
Content-Description:

ZGlmZiAtcnVOIGxpbnV4L2FyY2gvaTM4Ni9jb25maWcuaW4gMi4xLjkyL2Fy
Y2gvaTM4Ni9jb25maWcuaW4NCi0tLSBsaW51eC9hcmNoL2kzODYvY29uZmln
LmluCU1vbiBNYXIgMzAgMTU6Mjk6MDQgMTk5OA0KKysrIDIuMS45Mi9hcmNo
L2kzODYvY29uZmlnLmluCU1vbiBNYXIgMzAgMTU6NDM6NDUgMTk5OA0KQEAg
LTE4LDYgKzE4LDcgQEANCiAJIFBQcm8vSzYvNng4Nk1YCQlDT05GSUdfTTY4
NiIgUGVudGl1bQ0KIGJvb2wgJ01hdGggZW11bGF0aW9uJyBDT05GSUdfTUFU
SF9FTVVMQVRJT04NCiBpbnQgJyBNYXggcGh5c2ljYWwgbWVtb3J5IGluIE1C
JyBDT05GSUdfTUFYX01FTVNJWkUgMTAyNA0KK2Jvb2wgJ1VzZSBzbG93IG1l
bW9yeSBhcyBhIHJhbWRpc2snIENPTkZJR19CTEtfREVWX1NMUkFNDQogZW5k
bWVudQ0KIA0KIG1haW5tZW51X29wdGlvbiBuZXh0X2NvbW1lbnQNCmRpZmYg
LXJ1TiBsaW51eC9hcmNoL2kzODYva2VybmVsL3NldHVwLmMgMi4xLjkyL2Fy
Y2gvaTM4Ni9rZXJuZWwvc2V0dXAuYw0KLS0tIGxpbnV4L2FyY2gvaTM4Ni9r
ZXJuZWwvc2V0dXAuYwlNb24gTWFyIDMwIDE1OjI4OjQ3IDE5OTgNCisrKyAy
LjEuOTIvYXJjaC9pMzg2L2tlcm5lbC9zZXR1cC5jCVN1biBNYXIgMjkgMDA6
NDY6NDQgMTk5OA0KQEAgLTI5LDcgKzI5LDcgQEANCiAjaWZkZWYgQ09ORklH
X0FQTQ0KICNpbmNsdWRlIDxsaW51eC9hcG1fYmlvcy5oPg0KICNlbmRpZg0K
LSNpZmRlZiBDT05GSUdfQkxLX0RFVl9SQU0NCisjaWYgZGVmaW5lZChDT05G
SUdfQkxLX0RFVl9SQU0pIHx8IGRlZmluZWQoQ09ORklHX0JMS19ERVZfU0xS
QU0pDQogI2luY2x1ZGUgPGxpbnV4L2Jsay5oPg0KICNlbmRpZg0KICNpbmNs
dWRlIDxhc20vdWFjY2Vzcy5oPg0KQEAgLTQyLDYgKzQyLDEwIEBADQogDQog
Y2hhciBpZ25vcmVfaXJxMTMgPSAwOwkJLyogc2V0IGlmIGV4Y2VwdGlvbiAx
NiB3b3JrcyAqLw0KIHN0cnVjdCBjcHVpbmZvX3g4NiBib290X2NwdV9kYXRh
ID0geyAwLCAwLCAwLCAwLCAtMSwgMSwgMCwgMCwgLTEgfTsNCisjaWZkZWYg
Q09ORklHX0JMS19ERVZfU0xSQU0NCitpbnQgZW5kX2Zhc3RfbWVtID0gMDsg
ICAgICAgICAgIC8qIGVuZCBvZiBmYXN0IG1lbW9yeSAtIGluIGNhc2Ugc29t
ZXRoaW5nDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
cyBub3QgY2FjaGVkIHRoaXMgaXMgaW50ZXJlc3RpbmcgICAgKi8NCisjZW5k
aWYNCiANCiAvKg0KICAqIEJ1cyB0eXBlcyAuLg0KQEAgLTc1LDYgKzc5LDEy
IEBADQogZXh0ZXJuIGludCByZF9pbWFnZV9zdGFydDsJLyogc3RhcnRpbmcg
YmxvY2sgIyBvZiBpbWFnZSAqLw0KICNlbmRpZg0KIA0KKyNpZmRlZiBDT05G
SUdfQkxLX0RFVl9TTFJBTQ0KKy8qDQordW5zaWduZWQgbG9uZyBzbHJhbV9z
aXplID0gMCwgc2xyYW1fcGh5cywgc2xyYW1fdmlydDsNCisqLw0KKyNlbmRp
Zg0KKw0KIGV4dGVybiBpbnQgcm9vdF9tb3VudGZsYWdzOw0KIGV4dGVybiBp
bnQgX2V0ZXh0LCBfZWRhdGEsIF9lbmQ7DQogDQpAQCAtMTg0LDYgKzE5NCwy
MSBAQA0KIAkJCQl9DQogCQkJfQ0KIAkJfQ0KKyNpZmRlZiBDT05GSUdfQkxL
X0RFVl9TTFJBTQ0KKwkJaWYgKGMgPT0gJyAnICYmICooY29uc3QgdW5zaWdu
ZWQgbG9uZyAqKWZyb20gPT0gKihjb25zdCB1bnNpZ25lZCBsb25nICopImZh
c3RtZW09Iikgew0KKwkJCWlmICh0byAhPSBjb21tYW5kX2xpbmUpIHRvLS07
DQorCQkJew0KKwkJCQllbmRfZmFzdF9tZW0gPSBzaW1wbGVfc3RydG91bChm
cm9tKzgsICZmcm9tLCAwKTsNCisJCQkJaWYgKCAqZnJvbSA9PSAnSycgfHwg
KmZyb20gPT0gJ2snICkgew0KKwkJCQkJZW5kX2Zhc3RfbWVtID0gZW5kX2Zh
c3RfbWVtIDw8IDEwOw0KKwkJCQkJZnJvbSsrOw0KKwkJCQl9IGVsc2UgaWYg
KCAqZnJvbSA9PSAnTScgfHwgKmZyb20gPT0gJ20nICkgew0KKwkJCQkJZW5k
X2Zhc3RfbWVtID0gZW5kX2Zhc3RfbWVtIDw8IDIwOw0KKwkJCQkJZnJvbSsr
Ow0KKwkJCQl9DQorCQkJfQ0KKwkJfQ0KKyNlbmRpZg0KIAkJYyA9ICooZnJv
bSsrKTsNCiAJCWlmICghYykNCiAJCQlicmVhazsNCkBAIC0xOTMsNiArMjE4
LDE4IEBADQogCX0NCiAJKnRvID0gJ1wwJzsNCiAJKmNtZGxpbmVfcCA9IGNv
bW1hbmRfbGluZTsNCisjaWZkZWYgQ09ORklHX0JMS19ERVZfU0xSQU0NCisJ
aWYgKCFlbmRfZmFzdF9tZW0pIA0KKwkJZW5kX2Zhc3RfbWVtID0gbWVtb3J5
X2VuZDsNCisJaWYgKCFzbHJhbV9zaXplICYmIChtZW1vcnlfZW5kID4gZW5k
X2Zhc3RfbWVtKSkgew0KKwkJc2xyYW1fc2l6ZSA9IG1lbW9yeV9lbmQgLSBl
bmRfZmFzdF9tZW07DQorCQlwcmludGsoIlJBTSBhYm92ZSAlbHVrIGRlY2xh
cmVkIHNsb3csIHJlc2VydmluZyAlbHVrIGZvciBzbHJhbVxuIiwgZW5kX2Zh
c3RfbWVtID4+MTAsIHNscmFtX3NpemUgPj4xMCApOw0KKwkJc2xyYW1fcGh5
cyA9IGVuZF9mYXN0X21lbTsNCisJfSBlbHNlIHsNCisJCXNscmFtX3BoeXMg
PSAwOw0KKwl9DQorCXNscmFtX3ZpcnQgPSAwOw0KKyNlbmRpZg0KIAltZW1v
cnlfZW5kICs9IFBBR0VfT0ZGU0VUOw0KIAkqbWVtb3J5X3N0YXJ0X3AgPSBt
ZW1vcnlfc3RhcnQ7DQogCSptZW1vcnlfZW5kX3AgPSBtZW1vcnlfZW5kOw0K
ZGlmZiAtcnVOIGxpbnV4L2FyY2gvaTM4Ni9tbS9pbml0LmMgMi4xLjkyL2Fy
Y2gvaTM4Ni9tbS9pbml0LmMNCi0tLSBsaW51eC9hcmNoL2kzODYvbW0vaW5p
dC5jCU1vbiBNYXIgMzAgMTU6Mjk6MDUgMTk5OA0KKysrIDIuMS45Mi9hcmNo
L2kzODYvbW0vaW5pdC5jCVNhdCBNYXIgMjggMjM6NTU6NTcgMTk5OA0KQEAg
LTMxLDYgKzMxLDkgQEANCiANCiBleHRlcm4gdm9pZCBkaWVfaWZfa2VybmVs
KGNoYXIgKixzdHJ1Y3QgcHRfcmVncyAqLGxvbmcpOw0KIGV4dGVybiB2b2lk
IHNob3dfbmV0X2J1ZmZlcnModm9pZCk7DQorI2lmZGVmIENPTkZJR19CTEtf
REVWX1NMUkFNDQorZXh0ZXJuIGludCBlbmRfZmFzdF9tZW07DQorI2VuZGlm
DQogDQogLyoNCiAgKiBCQURfUEFHRSBpcyB0aGUgcGFnZSB0aGF0IGlzIHVz
ZWQgZm9yIHBhZ2UgZmF1bHRzIHdoZW4gbGludXgNCkBAIC0zMzcsMTEgKzM0
MCwxNyBAQA0KIAkJc3RhcnRfbG93X21lbSArPSBQQUdFX1NJWkU7DQogCX0N
CiANCi0Jd2hpbGUgKHN0YXJ0X21lbSA8IGVuZF9tZW0pIHsNCisJd2hpbGUg
KHN0YXJ0X21lbSA8IA0KKyNpZmRlZiBDT05GSUdfQkxLX0RFVl9TTFJBTQ0K
KwkgICAgICAgKChlbmRfZmFzdF9tZW0rUEFHRV9PRkZTRVQpICYgUEFHRV9N
QVNLKQ0KKyNlbHNlDQorCSAgICAgICBlbmRfbWVtDQorI2VuZGlmDQorCQkp
IHsNCiAJCWNsZWFyX2JpdChQR19yZXNlcnZlZCwgJm1lbV9tYXBbTUFQX05S
KHN0YXJ0X21lbSldLmZsYWdzKTsNCiAJCXN0YXJ0X21lbSArPSBQQUdFX1NJ
WkU7DQogCX0NCi0JZm9yICh0bXAgPSBQQUdFX09GRlNFVCA7IHRtcCA8IGVu
ZF9tZW0gOyB0bXAgKz0gUEFHRV9TSVpFKSB7DQorCWZvciAodG1wID0gZW5k
X21lbSAtIFBBR0VfU0laRTsgdG1wID49IFBBR0VfT0ZGU0VUIDsgdG1wIC09
IFBBR0VfU0laRSkgew0KIAkJaWYgKHRtcCA+PSBNQVhfRE1BX0FERFJFU1Mp
DQogCQkJY2xlYXJfYml0KFBHX0RNQSwgJm1lbV9tYXBbTUFQX05SKHRtcCld
LmZsYWdzKTsNCiAJCWlmIChQYWdlUmVzZXJ2ZWQobWVtX21hcCtNQVBfTlIo
dG1wKSkpIHsNCmRpZmYgLXJ1TiBsaW51eC9kcml2ZXJzL2Jsb2NrL01ha2Vm
aWxlIDIuMS45Mi9kcml2ZXJzL2Jsb2NrL01ha2VmaWxlDQotLS0gbGludXgv
ZHJpdmVycy9ibG9jay9NYWtlZmlsZQlNb24gTWFyIDMwIDE1OjI4OjQ3IDE5
OTgNCisrKyAyLjEuOTIvZHJpdmVycy9ibG9jay9NYWtlZmlsZQlTdW4gTWFy
IDI5IDAwOjQ1OjAwIDE5OTgNCkBAIC03MCw2ICs3MCwxNCBAQA0KICAgZW5k
aWYNCiBlbmRpZg0KIA0KK2lmZXEgKCQoQ09ORklHX0JMS19ERVZfU0xSQU0p
LHkpDQorTF9PQkpTICs9IHNscmFtLm8NCitlbHNlDQorICBpZmVxICgkKENP
TkZJR19CTEtfREVWX1NMUkFNKSxtKQ0KKyAgTV9PQkpTICs9IHNscmFtLm8N
CisgIGVuZGlmDQorZW5kaWYNCisNCiBpZmVxICgkKENPTkZJR19CTEtfREVW
X0xPT1ApLHkpDQogTF9PQkpTICs9IGxvb3Aubw0KIGVsc2UNCmRpZmYgLXJ1
TiBsaW51eC9kcml2ZXJzL2Jsb2NrL2xsX3J3X2Jsay5jIDIuMS45Mi9kcml2
ZXJzL2Jsb2NrL2xsX3J3X2Jsay5jDQotLS0gbGludXgvZHJpdmVycy9ibG9j
ay9sbF9yd19ibGsuYwlNb24gTWFyIDMwIDE1OjI5OjA1IDE5OTgNCisrKyAy
LjEuOTIvZHJpdmVycy9ibG9jay9sbF9yd19ibGsuYwlTdW4gTWFyIDI5IDAw
OjQxOjQ4IDE5OTgNCkBAIC03ODksNiArNzg5LDkgQEANCiAjaWZkZWYgQ09O
RklHX0REVg0KIAlkZHZfaW5pdCgpOw0KICNlbmRpZg0KKyNpZmRlZiBDT05G
SUdfQkxLX0RFVl9TTFJBTQ0KKwlzbHJhbV9pbml0KCk7DQorI2VuZGlmDQog
CXJldHVybiAwOw0KIH07DQogDQpkaWZmIC1ydU4gbGludXgvZHJpdmVycy9i
bG9jay9zbHJhbS5jIDIuMS45Mi9kcml2ZXJzL2Jsb2NrL3NscmFtLmMNCi0t
LSBsaW51eC9kcml2ZXJzL2Jsb2NrL3NscmFtLmMJV2VkIERlYyAzMSAxOTow
MDowMCAxOTY5DQorKysgMi4xLjkyL2RyaXZlcnMvYmxvY2svc2xyYW0uYwlT
dW4gTWFyIDI5IDAwOjM5OjA4IDE5OTgNCkBAIC0wLDAgKzEsMTkwIEBADQor
LyoNCisgKiBzbHJhbSAoc2xvdyBSQU0pOiBhIHdheSB0byB1c2UgbGFyZ2Ug
YW1vdW50cyBvZiBSQU0gb24gNDg2IGFuZCBQZW50aXVtDQorICogc3lzdGVt
cyB3aXRob3V0IHNsb3dpbmcgdGhlIHN5c3RlbSBkb3duLiBSZXNlcnZlcyBh
bGwgUkFNIGFib3ZlIGEgc3BlY2lmaWVkDQorICogYW1vdW50IGZvciBhIHNw
ZWNpYWwgcmFtZGlzay4gVGFrZXMgYWR2YW50YWdlIG9mIExhcnJ5IEF1Z3Vz
dGluJ3MgUkFNDQorICogZGV0ZWN0aW9uIHBhdGNoIChCSU9TIGludCAxNWgs
IGFoPWM3aCByZXR1cm5zIGFtb3VudCBvZiBjYWNoZWQgUkFNOyBzdXBwb3J0
DQorICogZm9yIHRoaXMgaW4gc2xyYW0gaXMgdW50ZXN0ZWQsIGhvd2V2ZXIp
DQorICoNCisgKiB3cml0dGVuIGJ5IEJyYWQgS2VyeWFuIDxrZXJ5YW5AYW5k
cmV3LmNtdS5lZHU+DQorICoNCisgKiBIZWF2aWx5IGJhc2VkIG9uIHoycmFt
IGJ5IEluZ28gV2lsa2VuDQorICogKEluZ28uV2lsa2VuQGluZm9ybWF0aWsu
dW5pLW9sZGVuYnVyZy5kZSkgYW5kIG9uDQorICogZHJpdmVycy9ibG9jay9y
ZC5jLiBBbHNvIGRyaXZlcnMvYmxvY2svaWRlLmMuDQorICovDQorDQorLyog
dGhlIG9yaWdpbmFsIHoycmFtIGNvcHlyaWdodCBpcyBhcyBmb2xsb3dzOiAq
Lw0KKy8qIENvcHlyaWdodCAoQykgMTk5NCBieSBJbmdvIFdpbGtlbiAoSW5n
by5XaWxrZW5AaW5mb3JtYXRpay51bmktb2xkZW5idXJnLmRlKQ0KKyoqDQor
KiogUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kIGRpc3Ry
aWJ1dGUgdGhpcyBzb2Z0d2FyZSBhbmQgaXRzDQorKiogZG9jdW1lbnRhdGlv
biBmb3IgYW55IHB1cnBvc2UgYW5kIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBn
cmFudGVkLCBwcm92aWRlZA0KKyoqIHRoYXQgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMgYW5kIHRoYXQgYm90aCB0
aGF0DQorKiogY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u
IG5vdGljZSBhcHBlYXIgaW4gc3VwcG9ydGluZw0KKyoqIGRvY3VtZW50YXRp
b24uICBUaGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkICJhcyBpcyIgd2l0aG91
dCBleHByZXNzIG9yDQorKiogaW1wbGllZCB3YXJyYW50eS4NCisqLw0KKw0K
Kw0KKyNpbmNsdWRlIDxsaW51eC9jb25maWcuaD4NCisjaW5jbHVkZSA8bGlu
dXgvZnMuaD4NCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+DQorI2luY2x1
ZGUgPGxpbnV4L3N0cmluZy5oPg0KKyNpbmNsdWRlIDxsaW51eC9tbS5oPg0K
KyNpbmNsdWRlIDxsaW51eC9tbWFuLmg+DQorI2luY2x1ZGUgPGxpbnV4L21h
bGxvYy5oPg0KKyNpbmNsdWRlIDxsaW51eC9pb2N0bC5oPg0KKyNpbmNsdWRl
IDxsaW51eC9mZC5oPg0KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4NCisN
CisjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPg0KKyNpbmNsdWRlIDxhc20vc2Vn
bWVudC5oPg0KKyNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPg0KKyNpbmNsdWRl
IDxhc20vaW8uaD4NCisNCisvKiBub3RlOiB0aGlzIGlzIGEgdmVyeSB1bm9m
ZmljaWFsIG1ham9yIG51bWJlci4gTWF5YmUgd291bGQgc2hhcmluZw0KK3oy
cmFtJ3MgbWFqb3IgbnVtYmVyIGJlIGEgZ29vZCBpZGVhPyBBZnRlciBhbGws
IHRoaXMgZHJpdmVyIGlzDQoraTM4Ni1vbmx5IGFuZCB6MnJhbSBpcyBtNjhr
LW9ubHkgLiAuIC4gKi8NCisjaWZuZGVmIFNMUkFNX01BSk9SDQorI2RlZmlu
ZSBTTFJBTV9NQUpPUiAxMjMNCisjZW5kaWYNCisNCisjZGVmaW5lIE1BSk9S
X05SIFNMUkFNX01BSk9SDQorI2RlZmluZSBNSU5PUl9OUiAwDQorI2RlZmlu
ZSBERVZJQ0VfTkFNRSAic2xyYW0iDQorI2RlZmluZSBERVZJQ0VfUkVRVUVT
VCBkb19zbHJhbV9yZXF1ZXN0DQorI2RlZmluZSBERVZJQ0VfTlIoZGV2aWNl
KSAoTUlOT1IoZGV2aWNlKSkNCisjZGVmaW5lIERFVklDRV9PTihkZXZpY2Up
DQorI2RlZmluZSBERVZJQ0VfT0ZGKGRldmljZSkNCisjZGVmaW5lIERFVklD
RV9OT19SQU5ET00NCisNCisjaW5jbHVkZSA8bGludXgvYmxrLmg+DQorDQor
I2RlZmluZSBCTEtTSVpFIDEwMjQNCisNCit1bnNpZ25lZCBsb25nIHNscmFt
X3NpemUgPSAwLCBzbHJhbV9waHlzLCBzbHJhbV92aXJ0Ow0KKw0KK3N0YXRp
YyBpbnQgc2xyYW1fYmxrc2l6ZXNbMV07IC8qIG9ubHkgb25lIGRldmljZSBp
cyBwb3NzaWJsZSByaWdodCBub3cgKi8NCisNCitzdGF0aWMgdm9pZCBkb19z
bHJhbV9yZXF1ZXN0ICh2b2lkKQ0KK3sNCisJdW5zaWduZWQgaW50IG1pbm9y
Ow0KKwl1bnNpZ25lZCBpbnQgb2Zmc2V0LCBsZW47DQorDQorIHJlcGVhdDoN
CisJSU5JVF9SRVFVRVNUOw0KKw0KKwltaW5vciA9IE1JTk9SKENVUlJFTlQt
PnJxX2Rldik7DQorCWlmIChtaW5vciAhPSBNSU5PUl9OUikgew0KKwkJZW5k
X3JlcXVlc3QoMCk7DQorCQlnb3RvIHJlcGVhdDsNCisJfQ0KKw0KKwlvZmZz
ZXQgPSBDVVJSRU5ULT5zZWN0b3IgPDwgOTsNCisJbGVuID0gQ1VSUkVOVC0+
Y3VycmVudF9ucl9zZWN0b3JzIDw8IDk7DQorDQorCWlmICgob2Zmc2V0ICsg
bGVuKSA+IHNscmFtX3NpemUpIHsNCisJCWVuZF9yZXF1ZXN0KDApOw0KKwkJ
Z290byByZXBlYXQ7DQorCX0NCisNCisJc3dpdGNoKENVUlJFTlQtPmNtZCkg
ew0KKwljYXNlIFJFQUQgOg0KKwkJbWVtY3B5KENVUlJFTlQtPmJ1ZmZlciwg
KGNoYXIgKikgc2xyYW1fdmlydCArIG9mZnNldCwgbGVuKTsNCisJCWJyZWFr
Ow0KKwljYXNlIFdSSVRFIDoNCisJCW1lbWNweSgoY2hhciAqKSBzbHJhbV92
aXJ0ICsgb2Zmc2V0LCBDVVJSRU5ULT5idWZmZXIsIGxlbik7DQorCQlicmVh
azsNCisJZGVmYXVsdCA6DQorCSAgICAgICAgcHJpbnRrKCJkb19zbHJhbV9y
ZXF1ZXN0OiB1bmtub3duIGNvbW1hbmRcbiIpOw0KKwl9DQorCWVuZF9yZXF1
ZXN0KDEpOw0KKwlnb3RvIHJlcGVhdDsNCit9DQorDQorc3RhdGljIGludCBz
bHJhbV9pb2N0bChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAq
ZmlsZSwNCisJCQkgICAgICB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBs
b25nIGFyZykNCit7DQorCS8qIG1vcmUgb3IgbGVzcyBjb3BpZWQgZnJvbSBy
ZC5jICovDQorICAgICAgICBpbnQgZXJyOw0KKw0KKwkvKiBwcmludGsoS0VS
Tl9OT1RJQ0UgInNscmFtIGlvY3RsKDB4JXgsIDB4JXgpXG4iLCBjbWQsDQor
CSAgIGFyZyk7ICovDQorICAgICAgICANCisgICAgICAgIGlmICghaW5vZGUg
fHwgIWlub2RlLT5pX3JkZXYpICAgDQorICAgICAgICAgICAgICAgIHJldHVy
biAtRUlOVkFMOw0KKw0KKyAgICAgICAgc3dpdGNoIChjbWQpIHsNCisJY2Fz
ZSBCTEtGTFNCVUY6DQorCQlpZiAoIXN1c2VyKCkpIHJldHVybiAtRUFDQ0VT
Ow0KKwkJaW52YWxpZGF0ZV9idWZmZXJzKGlub2RlLT5pX3JkZXYpOw0KKwkJ
YnJlYWs7DQorCWNhc2UgQkxLR0VUU0laRTogICAvKiBSZXR1cm4gZGV2aWNl
IHNpemUgKi8NCisJCWlmICghYXJnKSAgcmV0dXJuIC1FSU5WQUw7DQorCQll
cnIgPSB2ZXJpZnlfYXJlYShWRVJJRllfV1JJVEUsIChsb25nICopIGFyZywN
CisJCQkJICBzaXplb2YobG9uZykpOw0KKwkJaWYgKGVycikNCisJCQlyZXR1
cm4gZXJyOw0KKwkJcHV0X3VzZXIoc2xyYW1fc2l6ZSAvIDUxMiwgKGxvbmcg
KikgYXJnKTsNCisJCXJldHVybiAwOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7
DQorICAgICAgICB9Ow0KKwkNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRp
YyBpbnQgc2xyYW1fb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3Qg
ZmlsZSAqZmlsZSkNCit7DQorCWlmIChNSU5PUihpbm9kZS0+aV9yZGV2KSAh
PSBNSU5PUl9OUikNCisJCXJldHVybiAtRU5YSU87DQorDQorCS8qIHBlcmhh
cHMgdGhpcyBkcml2ZXIgY291bGQgYmUgbW9kdWxhcml6ZWQgKi8NCisJLyog
bWF5YmUgdXNlIG1lbT02NE0gYW5kIHRoZW4gc3BlY2lmeSB0aGUgbWVtb3J5
IHJhbmdlIGZvciB0aGUgbW9kdWxlDQorCSAgIHRvIHVzZSAqLw0KKwkvKiBN
T0RfSU5DX1VTRV9DT1VOVD8gKi8NCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0
YXRpYyBpbnQgc2xyYW1fcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBz
dHJ1Y3QgZmlsZSAqZmlsZSkNCit7DQorCS8qIE1PRF9ERUNfVVNFX0NPVU5U
PyAqLw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIHN0cnVjdCBmaWxl
X29wZXJhdGlvbnMgc2xyYW1fZm9wcyA9IHsNCisgICAgICAgIE5VTEwsICAg
ICAgICAgICAgICAgICAgIC8qIGxzZWVrIC0gZGVmYXVsdCAqLw0KKyAgICAg
ICAgYmxvY2tfcmVhZCwgICAgICAgICAgICAgLyogcmVhZCAtIGdlbmVyYWwg
YmxvY2stZGV2IHJlYWQgKi8NCisgICAgICAgIGJsb2NrX3dyaXRlLCAgICAg
ICAgICAgIC8qIHdyaXRlIC0gZ2VuZXJhbCBibG9jay1kZXYgd3JpdGUgKi8N
CisgICAgICAgIE5VTEwsICAgICAgICAgICAgICAgICAgIC8qIHJlYWRkaXIg
LSBiYWQgKi8NCisgICAgICAgIE5VTEwsICAgICAgICAgICAgICAgICAgIC8q
IHNlbGVjdCAqLw0KKyAgICAgICAgc2xyYW1faW9jdGwsICAgICAvKiBpb2N0
bCAqLw0KKyAgICAgICAgTlVMTCwgICAgICAgICAgICAgICAgICAgLyogbW1h
cCAqLw0KKyAgICAgICAgc2xyYW1fb3BlbiwgICAgICAvKiBvcGVuICovDQor
ICAgICAgICBzbHJhbV9yZWxlYXNlLCAgIC8qIHJlbGVhc2UgKi8NCisgICAg
ICAgIGJsb2NrX2ZzeW5jLCAgICAgICAgICAgIC8qIGZzeW5jICovDQorfTsN
CisNCit2b2lkIHNscmFtX2luaXQodm9pZCkNCit7DQorCWlmIChyZWdpc3Rl
cl9ibGtkZXYoTUFKT1JfTlIsIERFVklDRV9OQU1FLCAmc2xyYW1fZm9wcykp
IHsNCisJCXByaW50aygiVW5hYmxlIHRvIGFsbG9jYXRlIG1ham9yICVkIGZv
ciBzbHJhbVxuIiwNCisJCSAgICAgICBNQUpPUl9OUik7DQorCQlyZXR1cm47
DQorCX0NCisJYmxrX2RldltNQUpPUl9OUl0ucmVxdWVzdF9mbiA9IGRvX3Ns
cmFtX3JlcXVlc3Q7DQorCXNscmFtX2Jsa3NpemVzW01JTk9SX05SXSA9IEJM
S1NJWkU7DQorCWJsa3NpemVfc2l6ZVtNQUpPUl9OUl0gPSBzbHJhbV9ibGtz
aXplczsNCisJc2xyYW1fdmlydCA9ICh1bnNpZ25lZCBsb25nKSBfX3ZhKHNs
cmFtX3BoeXMpOw0KKwlwcmludGsoIlNsb3cgUkFNICVsdWstJWx1ayBtYXBw
ZWQgdG8gJWx4IGZvciBzbHJhbSBkaXNrXG4iLA0KKwkgICAgICAgKHNscmFt
X3BoeXMpPj4xMCwNCisJICAgICAgIChzbHJhbV9waHlzICsgc2xyYW1fc2l6
ZSk+PjEwLA0KKwkgICAgICAgc2xyYW1fdmlydCApOw0KK30NCisJDQordm9p
ZCBzbHJhbV91bnJlZ2lzdGVyKHZvaWQpDQorew0KKyAgICAgICAgdW5yZWdp
c3Rlcl9ibGtkZXYoTUFKT1JfTlIsIERFVklDRV9OQU1FKTsNCisNCisJYmxr
X2RldltNQUpPUl9OUl0ucmVxdWVzdF9mbiA9IE5VTEw7DQorCWJsa3NpemVf
c2l6ZVtNQUpPUl9OUl0gPSBOVUxMOw0KK30NCisNCmRpZmYgLXJ1TiBsaW51
eC9pbmNsdWRlL2xpbnV4L2Jsay5oIDIuMS45Mi9pbmNsdWRlL2xpbnV4L2Js
ay5oDQotLS0gbGludXgvaW5jbHVkZS9saW51eC9ibGsuaAlNb24gTWFyIDMw
IDE1OjI4OjM5IDE5OTgNCisrKyAyLjEuOTIvaW5jbHVkZS9saW51eC9ibGsu
aAlNb24gTWFyIDMwIDE1OjUzOjU4IDE5OTgNCkBAIC03Miw2ICs3Miw3IEBA
DQogZXh0ZXJuIGludCB6Ml9pbml0KHZvaWQpOw0KIGV4dGVybiBpbnQgc3dp
bTNfaW5pdCh2b2lkKTsNCiBleHRlcm4gaW50IHBzMmVzZGlfaW5pdCh2b2lk
KTsNCitleHRlcm4gdm9pZCBzbHJhbV9pbml0KHZvaWQpOw0KIA0KIGV4dGVy
biB2b2lkIHNldF9kZXZpY2Vfcm8oa2Rldl90IGRldixpbnQgZmxhZyk7DQog
dm9pZCBhZGRfYmxrZGV2X3JhbmRvbW5lc3MoaW50IG1ham9yKTsNCkBAIC05
Miw2ICs5MywxMiBAQA0KIGV4dGVybiBpbnQgaW5pdHJkX2JlbG93X3N0YXJ0
X29rOyAvKiAxIGlmIGl0IGlzIG5vdCBhbiBlcnJvciBpZiBpbml0cmRfc3Rh
cnQgPCBtZW1vcnlfc3RhcnQgKi8NCiB2b2lkIGluaXRyZF9pbml0KHZvaWQp
Ow0KIA0KKyNlbmRpZg0KKw0KKyNpZmRlZiBDT05GSUdfQkxLX0RFVl9TTFJB
TQ0KK2V4dGVybiB1bnNpZ25lZCBsb25nIHNscmFtX3NpemUsIHNscmFtX3Bo
eXMsIHNscmFtX3ZpcnQ7DQordm9pZCBzbHJhbV9pbml0KHZvaWQpOw0KK3Zv
aWQgc2xyYW1fdW5yZWdpc3Rlcih2b2lkKTsNCiAjZW5kaWYNCiANCiAjZGVm
aW5lIFJPX0lPQ1RMUyhkZXYsd2hlcmUpIFwNCg==
---1463811328-1054730204-891325938=:8441--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu