Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Dec 2006 23:06:43 +0100
From:      usleepless@gmail.com
To:        "Derrick Ryalls" <ryallsd@gmail.com>
Cc:        freebsd-multimedia@freebsd.org
Subject:   Re: MythTV port - status report
Message-ID:  <c39ec84c0612291406v60c6c8edgda86a19c3f4c5806@mail.gmail.com>
In-Reply-To: <d5eb95fc0612281453n7cd2de31t92ca7a88ed67599b@mail.gmail.com>
References:  <20061224230155.fc0a6c6a.torfinn.ingolfsen@broadpark.no> <c39ec84c0612241431n6f3e66e7n9a1a38f4258097e3@mail.gmail.com> <20061225001321.5dfb2975.torfinn.ingolfsen@broadpark.no> <d5eb95fc0612280230u66b81742od4f4435490b1bf5c@mail.gmail.com> <20061228145909.bbb6d193.torfinn.ingolfsen@broadpark.no> <d5eb95fc0612281435k1357d907p99adad9912313368@mail.gmail.com> <c39ec84c0612281449q6e62ac56pb54d42cd790fadd5@mail.gmail.com> <d5eb95fc0612281453n7cd2de31t92ca7a88ed67599b@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
------=_Part_87805_31472580.1167430002999
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Torfinn, Derrick, List,

> > i will try to package my latest version of the pvrxxx asap.
> >  - it downloads the firmware images from ivtv
> >  - it supports the v4l2 interface you need ( or you'll need to tweak
> > mythtv to support the bsdstyle of accessing the device )
> >
> > i hope to have it ready tomorrow.
> >
> > regards,
> >
> > usleep
> >
>
> Thanks!
>
> I look forward to trying it out.

well, here is the first try. files:

pvrxxx.tgz:
  the port, extract in /usr/ports/multimedia
pvrxxx_gpl.tgz:
  some gpl-ivtv-files, put it in /usr/ports/distfiles
sys/kern/subr_taskqueue.c(.diff):
  this is how my subr_taskqueue.c looks like. it was taken from 7.0?,
and it is the code that supports the new if_em and now pvrxxx too. it
is needed to implement fast interrupts.
sys/sys/taskqueue.h(.diff)
  idem dito.

i can imagine very well that there might be problems. please let me know.

regards,

usleep

------=_Part_87805_31472580.1167430002999
Content-Type: text/x-diff; name=subr_taskqueue.c.diff; charset=ANSI_X3.4-1968
Content-Transfer-Encoding: base64
X-Attachment-Id: file4
Content-Disposition: attachment; filename="subr_taskqueue.c.diff"

LS0tIHN1YnJfdGFza3F1ZXVlLmMuYmtwCU1vbiBPY3QgMjMgMjA6MDE6NDIgMjAwNgorKysgc3Vi
cl90YXNrcXVldWUuYwlUaHUgT2N0IDI2IDEyOjQ0OjM1IDIwMDYKQEAgLTI1LDcgKzI1LDcgQEAK
ICAqLwogCiAjaW5jbHVkZSA8c3lzL2NkZWZzLmg+Ci1fX0ZCU0RJRCgiJEZyZWVCU0Q6IHNyYy9z
eXMva2Vybi9zdWJyX3Rhc2txdWV1ZS5jLHYgMS4yNy4yLjMgMjAwNi8wNC8wMiAwMDoxNDo1NyBz
YW0gRXhwICQiKTsKK19fRkJTRElEKCIkRnJlZUJTRDogL3JlcG9tYW4vci9uY3ZzL3NyYy9zeXMv
a2Vybi9zdWJyX3Rhc2txdWV1ZS5jLHYgMS4yNy4yLjUgMjAwNi8wOS8wMiAxNToyODowOSBzYW0g
RXhwICQiKTsKIAogI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgogI2luY2x1ZGUgPHN5cy9zeXN0bS5o
PgpAQCAtMzcsOCArMzcsMTAgQEAKICNpbmNsdWRlIDxzeXMvbWFsbG9jLmg+CiAjaW5jbHVkZSA8
c3lzL211dGV4Lmg+CiAjaW5jbHVkZSA8c3lzL3Byb2MuaD4KKyNpbmNsdWRlIDxzeXMvc2NoZWQu
aD4KICNpbmNsdWRlIDxzeXMvdGFza3F1ZXVlLmg+CiAjaW5jbHVkZSA8c3lzL3VuaXN0ZC5oPgor
I2luY2x1ZGUgPG1hY2hpbmUvc3RkYXJnLmg+CiAKIHN0YXRpYyBNQUxMT0NfREVGSU5FKE1fVEFT
S1FVRVVFLCAidGFza3F1ZXVlIiwgIlRhc2sgUXVldWVzIik7CiBzdGF0aWMgdm9pZAkqdGFza3F1
ZXVlX2dpYW50X2loOwpAQCAtNTUsMTAgKzU3LDQyIEBACiAJc3RydWN0IHRhc2sJCSp0cV9ydW5u
aW5nOwogCXN0cnVjdCBtdHgJCXRxX211dGV4OwogCXN0cnVjdCBwcm9jCQkqKnRxX3Bwcm9jOwor
CWludAkJCXRxX3Bjb3VudDsKKwlpbnQJCQl0cV9zcGluOworCWludAkJCXRxX2ZsYWdzOwogfTsK
IAorI2RlZmluZQlUUV9GTEFHU19BQ1RJVkUJCSgxIDw8IDApCisKK3N0YXRpYyBfX2lubGluZSB2
b2lkCitUUV9MT0NLKHN0cnVjdCB0YXNrcXVldWUgKnRxKQoreworCWlmICh0cS0+dHFfc3BpbikK
KwkJbXR4X2xvY2tfc3BpbigmdHEtPnRxX211dGV4KTsKKwllbHNlCisJCW10eF9sb2NrKCZ0cS0+
dHFfbXV0ZXgpOworfQorCitzdGF0aWMgX19pbmxpbmUgdm9pZAorVFFfVU5MT0NLKHN0cnVjdCB0
YXNrcXVldWUgKnRxKQoreworCWlmICh0cS0+dHFfc3BpbikKKwkJbXR4X3VubG9ja19zcGluKCZ0
cS0+dHFfbXV0ZXgpOworCWVsc2UKKwkJbXR4X3VubG9jaygmdHEtPnRxX211dGV4KTsKK30KKwog
c3RhdGljIHZvaWQJaW5pdF90YXNrcXVldWVfbGlzdCh2b2lkICpkYXRhKTsKIAorc3RhdGljIF9f
aW5saW5lIGludAorVFFfU0xFRVAoc3RydWN0IHRhc2txdWV1ZSAqdHEsIHZvaWQgKnAsIHN0cnVj
dCBtdHggKm0sIGludCBwcmksIGNvbnN0IGNoYXIgKndtLAorICAgIGludCB0KQoreworCWlmICh0
cS0+dHFfc3BpbikKKwkJcmV0dXJuIChtc2xlZXBfc3BpbihwLCBtLCB3bSwgdCkpOworCXJldHVy
biAobXNsZWVwKHAsIG0sIHByaSwgd20sIHQpKTsKK30KKwogc3RhdGljIHZvaWQKIGluaXRfdGFz
a3F1ZXVlX2xpc3Qodm9pZCAqZGF0YSBfX3VudXNlZCkKIHsKQEAgLTY5LDEwICsxMDMsMTAgQEAK
IFNZU0lOSVQodGFza3F1ZXVlX2xpc3QsIFNJX1NVQl9JTlRSSU5TSUMsIFNJX09SREVSX0FOWSwg
aW5pdF90YXNrcXVldWVfbGlzdCwKICAgICBOVUxMKTsKIAotc3RydWN0IHRhc2txdWV1ZSAqCi10
YXNrcXVldWVfY3JlYXRlKGNvbnN0IGNoYXIgKm5hbWUsIGludCBtZmxhZ3MsCitzdGF0aWMgc3Ry
dWN0IHRhc2txdWV1ZSAqCitfdGFza3F1ZXVlX2NyZWF0ZShjb25zdCBjaGFyICpuYW1lLCBpbnQg
bWZsYWdzLAogCQkgdGFza3F1ZXVlX2VucXVldWVfZm4gZW5xdWV1ZSwgdm9pZCAqY29udGV4dCwK
LQkJIHN0cnVjdCBwcm9jICoqcHApCisJCSBpbnQgbXR4ZmxhZ3MsIGNvbnN0IGNoYXIgKm10eG5h
bWUpCiB7CiAJc3RydWN0IHRhc2txdWV1ZSAqcXVldWU7CiAKQEAgLTg0LDggKzExOCw5IEBACiAJ
cXVldWUtPnRxX25hbWUgPSBuYW1lOwogCXF1ZXVlLT50cV9lbnF1ZXVlID0gZW5xdWV1ZTsKIAlx
dWV1ZS0+dHFfY29udGV4dCA9IGNvbnRleHQ7Ci0JcXVldWUtPnRxX3Bwcm9jID0gcHA7Ci0JbXR4
X2luaXQoJnF1ZXVlLT50cV9tdXRleCwgInRhc2txdWV1ZSIsIE5VTEwsIE1UWF9ERUYpOworCXF1
ZXVlLT50cV9zcGluID0gKG10eGZsYWdzICYgTVRYX1NQSU4pICE9IDA7CisJcXVldWUtPnRxX2Zs
YWdzIHw9IFRRX0ZMQUdTX0FDVElWRTsKKwltdHhfaW5pdCgmcXVldWUtPnRxX211dGV4LCBtdHhu
YW1lLCBOVUxMLCBtdHhmbGFncyk7CiAKIAltdHhfbG9jaygmdGFza3F1ZXVlX3F1ZXVlc19tdXRl
eCk7CiAJU1RBSUxRX0lOU0VSVF9UQUlMKCZ0YXNrcXVldWVfcXVldWVzLCBxdWV1ZSwgdHFfbGlu
ayk7CkBAIC05NCwyMyArMTI5LDI2IEBACiAJcmV0dXJuIHF1ZXVlOwogfQogCitzdHJ1Y3QgdGFz
a3F1ZXVlICoKK3Rhc2txdWV1ZV9jcmVhdGUoY29uc3QgY2hhciAqbmFtZSwgaW50IG1mbGFncywK
KwkJIHRhc2txdWV1ZV9lbnF1ZXVlX2ZuIGVucXVldWUsIHZvaWQgKmNvbnRleHQsCisJCSBzdHJ1
Y3QgcHJvYyAqKnBwKQoreworCSh2b2lkKSBwcDsKKwlyZXR1cm4gX3Rhc2txdWV1ZV9jcmVhdGUo
bmFtZSwgbWZsYWdzLCBlbnF1ZXVlLCBjb250ZXh0LAorCQkJTVRYX0RFRiwgInRhc2txdWV1ZSIp
OworfQorCiAvKgogICogU2lnbmFsIGEgdGFza3F1ZXVlIHRocmVhZCB0byB0ZXJtaW5hdGUuCiAg
Ki8KIHN0YXRpYyB2b2lkCiB0YXNrcXVldWVfdGVybWluYXRlKHN0cnVjdCBwcm9jICoqcHAsIHN0
cnVjdCB0YXNrcXVldWUgKnRxKQogewotCXN0cnVjdCBwcm9jICpwOwogCi0JcCA9ICpwcDsKLQkq
cHAgPSBOVUxMOwotCWlmIChwKSB7Ci0JCXdha2V1cF9vbmUodHEpOwotCQlQUk9DX0xPQ0socCk7
CQkgICAvKiBOQjogaW5zdXJlIHdlIGRvbid0IG1pc3Mgd2FrZXVwICovCi0JCW10eF91bmxvY2so
JnRxLT50cV9tdXRleCk7IC8qIGxldCB0YXNrcXVldWUgdGhyZWFkIHJ1biAqLwotCQltc2xlZXAo
cCwgJnAtPnBfbXR4LCBQV0FJVCwgInRhc2txdWV1ZV9kZXN0cm95IiwgMCk7Ci0JCVBST0NfVU5M
T0NLKHApOwotCQltdHhfbG9jaygmdHEtPnRxX211dGV4KTsKKwl3aGlsZSAodHEtPnRxX3Bjb3Vu
dCA+IDApIHsKKwkJd2FrZXVwKHRxKTsKKwkJVFFfU0xFRVAodHEsIHBwLCAmdHEtPnRxX211dGV4
LCBQV0FJVCwgInRhc2txdWV1ZV9kZXN0cm95IiwgMCk7CiAJfQogfQogCkBAIC0xMjIsMTAgKzE2
MCwxMiBAQAogCVNUQUlMUV9SRU1PVkUoJnRhc2txdWV1ZV9xdWV1ZXMsIHF1ZXVlLCB0YXNrcXVl
dWUsIHRxX2xpbmspOwogCW10eF91bmxvY2soJnRhc2txdWV1ZV9xdWV1ZXNfbXV0ZXgpOwogCi0J
bXR4X2xvY2soJnF1ZXVlLT50cV9tdXRleCk7CisJVFFfTE9DSyhxdWV1ZSk7CisJcXVldWUtPnRx
X2ZsYWdzICY9IH5UUV9GTEFHU19BQ1RJVkU7CiAJdGFza3F1ZXVlX3J1bihxdWV1ZSk7CiAJdGFz
a3F1ZXVlX3Rlcm1pbmF0ZShxdWV1ZS0+dHFfcHByb2MsIHF1ZXVlKTsKIAltdHhfZGVzdHJveSgm
cXVldWUtPnRxX211dGV4KTsKKwlmcmVlKHF1ZXVlLT50cV9wcHJvYywgTV9UQVNLUVVFVUUpOwog
CWZyZWUocXVldWUsIE1fVEFTS1FVRVVFKTsKIH0KIApAQCAtMTQwLDcgKzE4MCw3IEBACiAJbXR4
X2xvY2soJnRhc2txdWV1ZV9xdWV1ZXNfbXV0ZXgpOwogCVNUQUlMUV9GT1JFQUNIKHF1ZXVlLCAm
dGFza3F1ZXVlX3F1ZXVlcywgdHFfbGluaykgewogCQlpZiAoc3RyY21wKHF1ZXVlLT50cV9uYW1l
LCBuYW1lKSA9PSAwKSB7Ci0JCQltdHhfbG9jaygmcXVldWUtPnRxX211dGV4KTsKKwkJCVRRX0xP
Q0socXVldWUpOwogCQkJbXR4X3VubG9jaygmdGFza3F1ZXVlX3F1ZXVlc19tdXRleCk7CiAJCQly
ZXR1cm4gcXVldWU7CiAJCX0KQEAgLTE1NSwxNCArMTk1LDE0IEBACiAJc3RydWN0IHRhc2sgKmlu
czsKIAlzdHJ1Y3QgdGFzayAqcHJldjsKIAotCW10eF9sb2NrKCZxdWV1ZS0+dHFfbXV0ZXgpOwor
CVRRX0xPQ0socXVldWUpOwogCiAJLyoKIAkgKiBDb3VudCBtdWx0aXBsZSBlbnF1ZXVlcy4KIAkg
Ki8KIAlpZiAodGFzay0+dGFfcGVuZGluZykgewogCQl0YXNrLT50YV9wZW5kaW5nKys7Ci0JCW10
eF91bmxvY2soJnF1ZXVlLT50cV9tdXRleCk7CisJCVRRX1VOTE9DSyhxdWV1ZSk7CiAJCXJldHVy
biAwOwogCX0KIApAQCAtMTg4LDcgKzIyOCw3IEBACiAJdGFzay0+dGFfcGVuZGluZyA9IDE7CiAJ
cXVldWUtPnRxX2VucXVldWUocXVldWUtPnRxX2NvbnRleHQpOwogCi0JbXR4X3VubG9jaygmcXVl
dWUtPnRxX211dGV4KTsKKwlUUV9VTkxPQ0socXVldWUpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0y
MDEsNyArMjQxLDcgQEAKIAogCW93bmVkID0gbXR4X293bmVkKCZxdWV1ZS0+dHFfbXV0ZXgpOwog
CWlmICghb3duZWQpCi0JCW10eF9sb2NrKCZxdWV1ZS0+dHFfbXV0ZXgpOworCQlUUV9MT0NLKHF1
ZXVlKTsKIAl3aGlsZSAoU1RBSUxRX0ZJUlNUKCZxdWV1ZS0+dHFfcXVldWUpKSB7CiAJCS8qCiAJ
CSAqIENhcmVmdWxseSByZW1vdmUgdGhlIGZpcnN0IHRhc2sgZnJvbSB0aGUgcXVldWUgYW5kCkBA
IC0yMTIsMTEgKzI1MiwxMSBAQAogCQlwZW5kaW5nID0gdGFzay0+dGFfcGVuZGluZzsKIAkJdGFz
ay0+dGFfcGVuZGluZyA9IDA7CiAJCXF1ZXVlLT50cV9ydW5uaW5nID0gdGFzazsKLQkJbXR4X3Vu
bG9jaygmcXVldWUtPnRxX211dGV4KTsKKwkJVFFfVU5MT0NLKHF1ZXVlKTsKIAogCQl0YXNrLT50
YV9mdW5jKHRhc2stPnRhX2NvbnRleHQsIHBlbmRpbmcpOwogCi0JCW10eF9sb2NrKCZxdWV1ZS0+
dHFfbXV0ZXgpOworCQlUUV9MT0NLKHF1ZXVlKTsKIAkJcXVldWUtPnRxX3J1bm5pbmcgPSBOVUxM
OwogCQl3YWtldXAodGFzayk7CiAJfQpAQCAtMjI2LDE4ICsyNjYsMzAgQEAKIAkgKiBvbiBlbnRy
eSwgYWx0aG91Z2ggdGhpcyBvcGVucyBhIHJhY2Ugd2luZG93LgogCSAqLwogCWlmICghb3duZWQp
Ci0JCW10eF91bmxvY2soJnF1ZXVlLT50cV9tdXRleCk7CisJCVRRX1VOTE9DSyhxdWV1ZSk7CiB9
CiAKIHZvaWQKIHRhc2txdWV1ZV9kcmFpbihzdHJ1Y3QgdGFza3F1ZXVlICpxdWV1ZSwgc3RydWN0
IHRhc2sgKnRhc2spCiB7Ci0JV0lUTkVTU19XQVJOKFdBUk5fR0lBTlRPSyB8IFdBUk5fU0xFRVBP
SywgTlVMTCwgInRhc2txdWV1ZV9kcmFpbiIpOworCWlmIChxdWV1ZS0+dHFfc3BpbikgewkJLyog
WFhYICovCisJCW10eF9sb2NrX3NwaW4oJnF1ZXVlLT50cV9tdXRleCk7CisJCWlmKHRhc2spCisJ
CXdoaWxlICh0YXNrLT50YV9wZW5kaW5nICE9IDAgfHwgdGFzayA9PSBxdWV1ZS0+dHFfcnVubmlu
ZykKKwkJCW1zbGVlcF9zcGluKHRhc2ssICZxdWV1ZS0+dHFfbXV0ZXgsICItIiwgMCk7CisJCWVs
c2UKKwkJd2hpbGUoIVNUQUlMUV9FTVBUWSgmcXVldWUtPnRxX3F1ZXVlKSkKKwkJCW1zbGVlcF9z
cGluKFNUQUlMUV9GSVJTVCgmcXVldWUtPnRxX3F1ZXVlKSwgJnF1ZXVlLT50cV9tdXRleCwgIi0i
LCAwKTsKKworCQltdHhfdW5sb2NrX3NwaW4oJnF1ZXVlLT50cV9tdXRleCk7CisJfSBlbHNlIHsK
KwkJV0lUTkVTU19XQVJOKFdBUk5fR0lBTlRPSyB8IFdBUk5fU0xFRVBPSywgTlVMTCwgX19mdW5j
X18pOwogCi0JbXR4X2xvY2soJnF1ZXVlLT50cV9tdXRleCk7Ci0Jd2hpbGUgKHRhc2stPnRhX3Bl
bmRpbmcgIT0gMCB8fCB0YXNrID09IHF1ZXVlLT50cV9ydW5uaW5nKQotCQltc2xlZXAodGFzaywg
JnF1ZXVlLT50cV9tdXRleCwgUFdBSVQsICItIiwgMCk7Ci0JbXR4X3VubG9jaygmcXVldWUtPnRx
X211dGV4KTsKKwkJbXR4X2xvY2soJnF1ZXVlLT50cV9tdXRleCk7CisJCXdoaWxlICh0YXNrLT50
YV9wZW5kaW5nICE9IDAgfHwgdGFzayA9PSBxdWV1ZS0+dHFfcnVubmluZykKKwkJCW1zbGVlcCh0
YXNrLCAmcXVldWUtPnRxX211dGV4LCBQV0FJVCwgIi0iLCAwKTsKKwkJbXR4X3VubG9jaygmcXVl
dWUtPnRxX211dGV4KTsKKwl9CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0yNjQsNiArMzE2LDU5IEBA
CiAJdGFza3F1ZXVlX3J1bih0YXNrcXVldWVfc3dpX2dpYW50KTsKIH0KIAoraW50Cit0YXNrcXVl
dWVfc3RhcnRfdGhyZWFkcyhzdHJ1Y3QgdGFza3F1ZXVlICoqdHFwLCBpbnQgY291bnQsIGludCBw
cmksCisJCQljb25zdCBjaGFyICpuYW1lLCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwlzdHJ1Y3Qg
dGFza3F1ZXVlICp0cTsKKwlzdHJ1Y3QgdGhyZWFkICp0ZDsKKwljaGFyIGt0bmFtZVtNQVhDT01M
RU5dOworCWludCBpLCBlcnJvcjsKKworCWlmIChjb3VudCA8PSAwKQorCQlyZXR1cm4gKEVJTlZB
TCk7CisJdHEgPSAqdHFwOworCisJdmFfc3RhcnQoYXAsIG5hbWUpOworCXZzbnByaW50ZihrdG5h
bWUsIE1BWENPTUxFTiwgbmFtZSwgYXApOworCXZhX2VuZChhcCk7CisKKwl0cS0+dHFfcHByb2Mg
PSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCBwcm9jICopICogY291bnQsIE1fVEFTS1FVRVVFLAorCSAg
ICBNX05PV0FJVCB8IE1fWkVSTyk7CisJaWYgKHRxLT50cV9wcHJvYyA9PSBOVUxMKSB7CisJCXBy
aW50ZigiJXM6IG5vIG1lbW9yeSBmb3IgJXMgdGhyZWFkc1xuIiwgX19mdW5jX18sIGt0bmFtZSk7
CisJCXJldHVybiAoRU5PTUVNKTsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykg
eworCQlpZiAoY291bnQgPT0gMSkKKwkJCWVycm9yID0ga3RocmVhZF9jcmVhdGUodGFza3F1ZXVl
X3RocmVhZF9sb29wLCB0cXAsCisJCQkgICAgJnRxLT50cV9wcHJvY1tpXSwgUkZTVE9QUEVELCAw
LCBrdG5hbWUpOworCQllbHNlCisJCQllcnJvciA9IGt0aHJlYWRfY3JlYXRlKHRhc2txdWV1ZV90
aHJlYWRfbG9vcCwgdHFwLAorCQkJICAgICZ0cS0+dHFfcHByb2NbaV0sIFJGU1RPUFBFRCwgMCwg
IiVzXyVkIiwga3RuYW1lLCBpKTsKKwkJaWYgKGVycm9yKSB7CisJCQkvKiBzaG91bGQgYmUgb2sg
dG8gY29udGludWUsIHRhc2txdWV1ZV9mcmVlIHdpbGwgZHRydCAqLworCQkJcHJpbnRmKCIlczog
a3RocmVhZF9jcmVhdGUoJXMpOiBlcnJvciAlZCIsCisJCQkJX19mdW5jX18sIGt0bmFtZSwgZXJy
b3IpOworCQkJdHEtPnRxX3Bwcm9jW2ldID0gTlVMTDsJCS8qIHBhcmFub2lkICovCisJCX0gZWxz
ZQorCQkJdHEtPnRxX3Bjb3VudCsrOworCX0KKwltdHhfbG9ja19zcGluKCZzY2hlZF9sb2NrKTsK
Kwlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworCQlpZiAodHEtPnRxX3Bwcm9jW2ldID09
IE5VTEwpCisJCQljb250aW51ZTsKKwkJdGQgPSBGSVJTVF9USFJFQURfSU5fUFJPQyh0cS0+dHFf
cHByb2NbaV0pOworCQlzY2hlZF9wcmlvKHRkLCBwcmkpOworCQlzZXRydW5xdWV1ZSh0ZCwgU1JR
X0JPUklORyk7CisJfQorCW10eF91bmxvY2tfc3Bpbigmc2NoZWRfbG9jayk7CisKKwlyZXR1cm4g
KDApOworfQorCiB2b2lkCiB0YXNrcXVldWVfdGhyZWFkX2xvb3Aodm9pZCAqYXJnKQogewpAQCAt
MjcxLDE1ICszNzYsMTYgQEAKIAogCXRxcCA9IGFyZzsKIAl0cSA9ICp0cXA7Ci0JbXR4X2xvY2so
JnRxLT50cV9tdXRleCk7CisJVFFfTE9DSyh0cSk7CiAJZG8gewogCQl0YXNrcXVldWVfcnVuKHRx
KTsKLQkJbXNsZWVwKHRxLCAmdHEtPnRxX211dGV4LCBQV0FJVCwgIi0iLCAwKTsgCi0JfSB3aGls
ZSAoKnRxLT50cV9wcHJvYyAhPSBOVUxMKTsKKwkJVFFfU0xFRVAodHEsIHRxLCAmdHEtPnRxX211
dGV4LCAwLCAiLSIsIDApOworCX0gd2hpbGUgKCh0cS0+dHFfZmxhZ3MgJiBUUV9GTEFHU19BQ1RJ
VkUpICE9IDApOwogCiAJLyogcmVuZGV6dm91cyB3aXRoIHRocmVhZCB0aGF0IGFza2VkIHVzIHRv
IHRlcm1pbmF0ZSAqLwotCXdha2V1cF9vbmUodHEpOwotCW10eF91bmxvY2soJnRxLT50cV9tdXRl
eCk7CisJdHEtPnRxX3Bjb3VudC0tOworCXdha2V1cF9vbmUodHEtPnRxX3Bwcm9jKTsKKwlUUV9V
TkxPQ0sodHEpOwogCWt0aHJlYWRfZXhpdCgwKTsKIH0KIApAQCAtMzAwLDg1ICs0MDYsMzAgQEAK
IAkJICAgICBJTlRSX01QU0FGRSwgJnRhc2txdWV1ZV9paCkpOyAKIAogVEFTS1FVRVVFX0RFRklO
RShzd2lfZ2lhbnQsIHRhc2txdWV1ZV9zd2lfZ2lhbnRfZW5xdWV1ZSwgMCwKLQkJIHN3aV9hZGQo
TlVMTCwgIkdpYW50IHRhc2sgcXVldWUiLCB0YXNrcXVldWVfc3dpX2dpYW50X3J1biwKKwkJIHN3
aV9hZGQoTlVMTCwgIkdpYW50IHRhc2txIiwgdGFza3F1ZXVlX3N3aV9naWFudF9ydW4sCiAJCSAg
ICAgTlVMTCwgU1dJX1RRX0dJQU5ULCAwLCAmdGFza3F1ZXVlX2dpYW50X2loKSk7IAogCiBUQVNL
UVVFVUVfREVGSU5FX1RIUkVBRCh0aHJlYWQpOwogCi1pbnQKLXRhc2txdWV1ZV9lbnF1ZXVlX2Zh
c3Qoc3RydWN0IHRhc2txdWV1ZSAqcXVldWUsIHN0cnVjdCB0YXNrICp0YXNrKQorc3RydWN0IHRh
c2txdWV1ZSAqCit0YXNrcXVldWVfY3JlYXRlX2Zhc3QoY29uc3QgY2hhciAqbmFtZSwgaW50IG1m
bGFncywKKwkJIHRhc2txdWV1ZV9lbnF1ZXVlX2ZuIGVucXVldWUsIHZvaWQgKmNvbnRleHQpCiB7
Ci0Jc3RydWN0IHRhc2sgKmluczsKLQlzdHJ1Y3QgdGFzayAqcHJldjsKLQotCW10eF9sb2NrX3Nw
aW4oJnF1ZXVlLT50cV9tdXRleCk7Ci0KLQkvKgotCSAqIENvdW50IG11bHRpcGxlIGVucXVldWVz
LgotCSAqLwotCWlmICh0YXNrLT50YV9wZW5kaW5nKSB7Ci0JCXRhc2stPnRhX3BlbmRpbmcrKzsK
LQkJbXR4X3VubG9ja19zcGluKCZxdWV1ZS0+dHFfbXV0ZXgpOwotCQlyZXR1cm4gMDsKLQl9Ci0K
LQkvKgotCSAqIE9wdGltaXNlIHRoZSBjYXNlIHdoZW4gYWxsIHRhc2tzIGhhdmUgdGhlIHNhbWUg
cHJpb3JpdHkuCi0JICovCi0JcHJldiA9IFNUQUlMUV9MQVNUKCZxdWV1ZS0+dHFfcXVldWUsIHRh
c2ssIHRhX2xpbmspOwotCWlmICghcHJldiB8fCBwcmV2LT50YV9wcmlvcml0eSA+PSB0YXNrLT50
YV9wcmlvcml0eSkgewotCQlTVEFJTFFfSU5TRVJUX1RBSUwoJnF1ZXVlLT50cV9xdWV1ZSwgdGFz
aywgdGFfbGluayk7Ci0JfSBlbHNlIHsKLQkJcHJldiA9IDA7Ci0JCWZvciAoaW5zID0gU1RBSUxR
X0ZJUlNUKCZxdWV1ZS0+dHFfcXVldWUpOyBpbnM7Ci0JCSAgICAgcHJldiA9IGlucywgaW5zID0g
U1RBSUxRX05FWFQoaW5zLCB0YV9saW5rKSkKLQkJCWlmIChpbnMtPnRhX3ByaW9yaXR5IDwgdGFz
ay0+dGFfcHJpb3JpdHkpCi0JCQkJYnJlYWs7Ci0KLQkJaWYgKHByZXYpCi0JCQlTVEFJTFFfSU5T
RVJUX0FGVEVSKCZxdWV1ZS0+dHFfcXVldWUsIHByZXYsIHRhc2ssIHRhX2xpbmspOwotCQllbHNl
Ci0JCQlTVEFJTFFfSU5TRVJUX0hFQUQoJnF1ZXVlLT50cV9xdWV1ZSwgdGFzaywgdGFfbGluayk7
Ci0JfQotCi0JdGFzay0+dGFfcGVuZGluZyA9IDE7Ci0JcXVldWUtPnRxX2VucXVldWUocXVldWUt
PnRxX2NvbnRleHQpOwotCi0JbXR4X3VubG9ja19zcGluKCZxdWV1ZS0+dHFfbXV0ZXgpOwotCi0J
cmV0dXJuIDA7CisJcmV0dXJuIF90YXNrcXVldWVfY3JlYXRlKG5hbWUsIG1mbGFncywgZW5xdWV1
ZSwgY29udGV4dCwKKwkJCU1UWF9TUElOLCAiZmFzdF90YXNrcXVldWUiKTsKIH0KIAotc3RhdGlj
IHZvaWQKLXRhc2txdWV1ZV9ydW5fZmFzdChzdHJ1Y3QgdGFza3F1ZXVlICpxdWV1ZSkKKy8qIE5C
OiBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKi8KK2ludAordGFza3F1ZXVlX2VucXVldWVf
ZmFzdChzdHJ1Y3QgdGFza3F1ZXVlICpxdWV1ZSwgc3RydWN0IHRhc2sgKnRhc2spCiB7Ci0Jc3Ry
dWN0IHRhc2sgKnRhc2s7Ci0JaW50IHBlbmRpbmc7Ci0KLQltdHhfbG9ja19zcGluKCZxdWV1ZS0+
dHFfbXV0ZXgpOwotCXdoaWxlIChTVEFJTFFfRklSU1QoJnF1ZXVlLT50cV9xdWV1ZSkpIHsKLQkJ
LyoKLQkJICogQ2FyZWZ1bGx5IHJlbW92ZSB0aGUgZmlyc3QgdGFzayBmcm9tIHRoZSBxdWV1ZSBh
bmQKLQkJICogemVybyBpdHMgcGVuZGluZyBjb3VudC4KLQkJICovCi0JCXRhc2sgPSBTVEFJTFFf
RklSU1QoJnF1ZXVlLT50cV9xdWV1ZSk7Ci0JCVNUQUlMUV9SRU1PVkVfSEVBRCgmcXVldWUtPnRx
X3F1ZXVlLCB0YV9saW5rKTsKLQkJcGVuZGluZyA9IHRhc2stPnRhX3BlbmRpbmc7Ci0JCXRhc2st
PnRhX3BlbmRpbmcgPSAwOwotCQltdHhfdW5sb2NrX3NwaW4oJnF1ZXVlLT50cV9tdXRleCk7Ci0K
LQkJdGFzay0+dGFfZnVuYyh0YXNrLT50YV9jb250ZXh0LCBwZW5kaW5nKTsKLQotCQltdHhfbG9j
a19zcGluKCZxdWV1ZS0+dHFfbXV0ZXgpOwotCX0KLQltdHhfdW5sb2NrX3NwaW4oJnF1ZXVlLT50
cV9tdXRleCk7CisJcmV0dXJuIHRhc2txdWV1ZV9lbnF1ZXVlKHF1ZXVlLCB0YXNrKTsKIH0KIAot
c3RydWN0IHRhc2txdWV1ZSAqdGFza3F1ZXVlX2Zhc3Q7CiBzdGF0aWMgdm9pZAkqdGFza3F1ZXVl
X2Zhc3RfaWg7CiAKIHN0YXRpYyB2b2lkCi10YXNrcXVldWVfZmFzdF9zY2hlZHVsZSh2b2lkICpj
b250ZXh0KQordGFza3F1ZXVlX2Zhc3RfZW5xdWV1ZSh2b2lkICpjb250ZXh0KQogewogCXN3aV9z
Y2hlZCh0YXNrcXVldWVfZmFzdF9paCwgMCk7CiB9CkBAIC0zODYsMzEgKzQzNyw5IEBACiBzdGF0
aWMgdm9pZAogdGFza3F1ZXVlX2Zhc3RfcnVuKHZvaWQgKmR1bW15KQogewotCXRhc2txdWV1ZV9y
dW5fZmFzdCh0YXNrcXVldWVfZmFzdCk7CisJdGFza3F1ZXVlX3J1bih0YXNrcXVldWVfZmFzdCk7
CiB9CiAKLXN0YXRpYyB2b2lkCi10YXNrcXVldWVfZGVmaW5lX2Zhc3Qodm9pZCAqYXJnKQotewot
Ci0JdGFza3F1ZXVlX2Zhc3QgPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCB0YXNrcXVldWUpLCBNX1RB
U0tRVUVVRSwKLQkgICAgTV9OT1dBSVQgfCBNX1pFUk8pOwotCWlmICghdGFza3F1ZXVlX2Zhc3Qp
IHsKLQkJcHJpbnRmKCIlczogVW5hYmxlIHRvIGFsbG9jYXRlIGZhc3QgdGFzayBxdWV1ZSFcbiIs
IF9fZnVuY19fKTsKLQkJcmV0dXJuOwotCX0KLQotCVNUQUlMUV9JTklUKCZ0YXNrcXVldWVfZmFz
dC0+dHFfcXVldWUpOwotCXRhc2txdWV1ZV9mYXN0LT50cV9uYW1lID0gImZhc3QiOwotCXRhc2tx
dWV1ZV9mYXN0LT50cV9lbnF1ZXVlID0gdGFza3F1ZXVlX2Zhc3Rfc2NoZWR1bGU7Ci0JbXR4X2lu
aXQoJnRhc2txdWV1ZV9mYXN0LT50cV9tdXRleCwgInRhc2txdWV1ZV9mYXN0IiwgTlVMTCwgTVRY
X1NQSU4pOwotCi0JbXR4X2xvY2soJnRhc2txdWV1ZV9xdWV1ZXNfbXV0ZXgpOwotCVNUQUlMUV9J
TlNFUlRfVEFJTCgmdGFza3F1ZXVlX3F1ZXVlcywgdGFza3F1ZXVlX2Zhc3QsIHRxX2xpbmspOwot
CW10eF91bmxvY2soJnRhc2txdWV1ZV9xdWV1ZXNfbXV0ZXgpOwotCi0Jc3dpX2FkZChOVUxMLCAi
RmFzdCB0YXNrIHF1ZXVlIiwgdGFza3F1ZXVlX2Zhc3RfcnVuLAotCQlOVUxMLCBTV0lfVFFfRkFT
VCwgSU5UUl9NUFNBRkUsICZ0YXNrcXVldWVfZmFzdF9paCk7Ci19Ci1TWVNJTklUKHRhc2txdWV1
ZV9mYXN0LCBTSV9TVUJfQ09ORklHVVJFLCBTSV9PUkRFUl9TRUNPTkQsCi0gICAgdGFza3F1ZXVl
X2RlZmluZV9mYXN0LCBOVUxMKTsKK1RBU0tRVUVVRV9GQVNUX0RFRklORShmYXN0LCB0YXNrcXVl
dWVfZmFzdF9lbnF1ZXVlLCAwLAorCXN3aV9hZGQoTlVMTCwgIkZhc3QgdGFzayBxdWV1ZSIsIHRh
c2txdWV1ZV9mYXN0X3J1biwgTlVMTCwKKwlTV0lfVFFfRkFTVCwgSU5UUl9NUFNBRkUsICZ0YXNr
cXVldWVfZmFzdF9paCkpOwo=
------=_Part_87805_31472580.1167430002999
Content-Type: text/x-diff; name=taskqueue.h.diff; charset=ANSI_X3.4-1968
Content-Transfer-Encoding: base64
X-Attachment-Id: file6
Content-Disposition: attachment; filename="taskqueue.h.diff"

LS0tIHRhc2txdWV1ZS5oLmJrcAlNb24gT2N0IDIzIDIwOjA5OjM1IDIwMDYKKysrIHRhc2txdWV1
ZS5oCU1vbiBPY3QgMjMgMjA6MDk6NDEgMjAwNgpAQCAtMjMsNyArMjMsNyBAQAogICogT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRgogICogU1VDSCBEQU1BR0UuCiAgKgotICogJEZyZWVCU0Q6IHNyYy9zeXMvc3lzL3Rh
c2txdWV1ZS5oLHYgMS4xNC4yLjIgMjAwNi8wNC8wMiAwMDoxNDo1NyBzYW0gRXhwICQKKyAqICRG
cmVlQlNEOiAvcmVwb21hbi9yL25jdnMvc3JjL3N5cy9zeXMvdGFza3F1ZXVlLmgsdiAxLjE0LjIu
MyAyMDA2LzA3LzA2IDA4OjMyOjUwIGdsZWJpdXMgRXhwICQKICAqLwogCiAjaWZuZGVmIF9TWVNf
VEFTS1FVRVVFX0hfCkBAIC01MSw2ICs1MSw4IEBACiBzdHJ1Y3QgdGFza3F1ZXVlICp0YXNrcXVl
dWVfY3JlYXRlKGNvbnN0IGNoYXIgKm5hbWUsIGludCBtZmxhZ3MsCiAJCQkJICAgIHRhc2txdWV1
ZV9lbnF1ZXVlX2ZuIGVucXVldWUsCiAJCQkJICAgIHZvaWQgKmNvbnRleHQsIHN0cnVjdCBwcm9j
ICoqKTsKK2ludAl0YXNrcXVldWVfc3RhcnRfdGhyZWFkcyhzdHJ1Y3QgdGFza3F1ZXVlICoqdHFw
LCBpbnQgY291bnQsIGludCBwcmksCisJCQkJY29uc3QgY2hhciAqbmFtZSwgLi4uKSBfX3ByaW50
Zmxpa2UoNCwgNSk7CiBpbnQJdGFza3F1ZXVlX2VucXVldWUoc3RydWN0IHRhc2txdWV1ZSAqcXVl
dWUsIHN0cnVjdCB0YXNrICp0YXNrKTsKIHZvaWQJdGFza3F1ZXVlX2RyYWluKHN0cnVjdCB0YXNr
cXVldWUgKnF1ZXVlLCBzdHJ1Y3QgdGFzayAqdGFzayk7CiBzdHJ1Y3QgdGFza3F1ZXVlICp0YXNr
cXVldWVfZmluZChjb25zdCBjaGFyICpuYW1lKTsKQEAgLTgwLDcgKzgyLDcgQEAKIGV4dGVybiBz
dHJ1Y3QgdGFza3F1ZXVlICp0YXNrcXVldWVfIyNuYW1lCiAKIC8qCi0gKiBEZWZpbmUgYW5kIGlu
aXRpYWxpc2UgYSB0YXNrcXVldWUuCisgKiBEZWZpbmUgYW5kIGluaXRpYWxpc2UgYSBnbG9iYWwg
dGFza3F1ZXVlIHRoYXQgdXNlcyBzbGVlcCBtdXRleGVzLgogICovCiAjZGVmaW5lIFRBU0tRVUVV
RV9ERUZJTkUobmFtZSwgZW5xdWV1ZSwgY29udGV4dCwgaW5pdCkJCQlcCiAJCQkJCQkJCQlcCkBA
IC04OSwxMCArOTEsOCBAQAogc3RhdGljIHZvaWQJCQkJCQkJCVwKIHRhc2txdWV1ZV9kZWZpbmVf
IyNuYW1lKHZvaWQgKmFyZykJCQkJCVwKIHsJCQkJCQkJCQlcCi0Jc3RhdGljIHN0cnVjdCBwcm9j
ICp0YXNrcXVldWVfIyNuYW1lIyNfcHJvYzsJCQlcCiAJdGFza3F1ZXVlXyMjbmFtZSA9CQkJCQkJ
XAotCSAgICB0YXNrcXVldWVfY3JlYXRlKCNuYW1lLCBNX05PV0FJVCwgKGVucXVldWUpLCAoY29u
dGV4dCksCVwKLQkgICAgJnRhc2txdWV1ZV8jI25hbWUjI19wcm9jKTsJCQkJCVwKKwkgICAgdGFz
a3F1ZXVlX2NyZWF0ZSgjbmFtZSwgTV9OT1dBSVQsIChlbnF1ZXVlKSwgKGNvbnRleHQpLCBOVUxM
KTtcCiAJaW5pdDsJCQkJCQkJCVwKIH0JCQkJCQkJCQlcCiAJCQkJCQkJCQlcCkBAIC0xMDIsOCAr
MTAyLDMzIEBACiBzdHJ1Y3QgX19oYWNrCiAjZGVmaW5lIFRBU0tRVUVVRV9ERUZJTkVfVEhSRUFE
KG5hbWUpCQkJCQlcCiBUQVNLUVVFVUVfREVGSU5FKG5hbWUsIHRhc2txdWV1ZV90aHJlYWRfZW5x
dWV1ZSwgJnRhc2txdWV1ZV8jI25hbWUsCVwKLQlrdGhyZWFkX2NyZWF0ZSh0YXNrcXVldWVfdGhy
ZWFkX2xvb3AsICZ0YXNrcXVldWVfIyNuYW1lLAlcCi0JJnRhc2txdWV1ZV8jI25hbWUjI19wcm9j
LCAwLCAwLCAjbmFtZSAiIHRhc2txIikpCisJdGFza3F1ZXVlX3N0YXJ0X3RocmVhZHMoJnRhc2tx
dWV1ZV8jI25hbWUsIDEsIFBXQUlULAkJXAorCSIlcyB0YXNrcSIsICNuYW1lKSkKKworLyoKKyAq
IERlZmluZSBhbmQgaW5pdGlhbGlzZSBhIGdsb2JhbCB0YXNrcXVldWUgdGhhdCB1c2VzIHNwaW4g
bXV0ZXhlcy4KKyAqLworI2RlZmluZSBUQVNLUVVFVUVfRkFTVF9ERUZJTkUobmFtZSwgZW5xdWV1
ZSwgY29udGV4dCwgaW5pdCkJCVwKKwkJCQkJCQkJCVwKK3N0cnVjdCB0YXNrcXVldWUgKnRhc2tx
dWV1ZV8jI25hbWU7CQkJCQlcCisJCQkJCQkJCQlcCitzdGF0aWMgdm9pZAkJCQkJCQkJXAordGFz
a3F1ZXVlX2RlZmluZV8jI25hbWUodm9pZCAqYXJnKQkJCQkJXAorewkJCQkJCQkJCVwKKwl0YXNr
cXVldWVfIyNuYW1lID0JCQkJCQlcCisJICAgIHRhc2txdWV1ZV9jcmVhdGVfZmFzdCgjbmFtZSwg
TV9OT1dBSVQsIChlbnF1ZXVlKSwJCVwKKwkgICAgKGNvbnRleHQpKTsJCQkJCQkJXAorCWluaXQ7
CQkJCQkJCQlcCit9CQkJCQkJCQkJXAorCQkJCQkJCQkJXAorU1lTSU5JVCh0YXNrcXVldWVfIyNu
YW1lLCBTSV9TVUJfQ09ORklHVVJFLCBTSV9PUkRFUl9TRUNPTkQsCQlcCisJdGFza3F1ZXVlX2Rl
ZmluZV8jI25hbWUsIE5VTEwpCQkJCQlcCisJCQkJCQkJCQlcCitzdHJ1Y3QgX19oYWNrCisjZGVm
aW5lIFRBU0tRVUVVRV9GQVNUX0RFRklORV9USFJFQUQobmFtZSkJCQkJXAorVEFTS1FVRVVFX0ZB
U1RfREVGSU5FKG5hbWUsIHRhc2txdWV1ZV90aHJlYWRfZW5xdWV1ZSwJCQlcCisJJnRhc2txdWV1
ZV8jI25hbWUsIHRhc2txdWV1ZV9zdGFydF90aHJlYWRzKCZ0YXNrcXVldWVfIyNuYW1lCVwKKwkx
LCBQV0FJVCwgIiVzIHRhc2txIiwgI25hbWUpKQogCiAvKgogICogVGhlc2UgcXVldWVzIGFyZSBz
ZXJ2aWNlZCBieSBzb2Z0d2FyZSBpbnRlcnJ1cHQgaGFuZGxlcnMuICBUbyBlbnF1ZXVlCkBAIC0x
MjcsNSArMTUyLDggQEAKICAqLwogVEFTS1FVRVVFX0RFQ0xBUkUoZmFzdCk7CiBpbnQJdGFza3F1
ZXVlX2VucXVldWVfZmFzdChzdHJ1Y3QgdGFza3F1ZXVlICpxdWV1ZSwgc3RydWN0IHRhc2sgKnRh
c2spOworc3RydWN0IHRhc2txdWV1ZSAqdGFza3F1ZXVlX2NyZWF0ZV9mYXN0KGNvbnN0IGNoYXIg
Km5hbWUsIGludCBtZmxhZ3MsCisJCQkJICAgIHRhc2txdWV1ZV9lbnF1ZXVlX2ZuIGVucXVldWUs
CisJCQkJICAgIHZvaWQgKmNvbnRleHQpOwogCiAjZW5kaWYgLyogIV9TWVNfVEFTS1FVRVVFX0hf
ICovCg==
------=_Part_87805_31472580.1167430002999--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c39ec84c0612291406v60c6c8edgda86a19c3f4c5806>