Subject: Fix for ksyms in multiboot
To: tech-kern <tech-kern@netbsd.org>
From: Julio M. Merino Vidal <jmmv84@gmail.com>
List: tech-kern
Date: 11/05/2006 23:40:32
------=_Part_39329_20435119.1162766432706
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hello,

/dev/ksyms currently does not work when using multiboot because it
does not initialize the ELF header passed to userland when adding the
symbol table (it does not call ksyms_hdr_init).

I've attached a fix.  Can you think of a cleaner way of addressing
this?  (I was considering keeping the code all together in
kern_ksyms.c as MI, but I don't know if that'd be possible given that
the ELF header contains details about the platform.)

Thanks.

-- 
Julio M. Merino Vidal <jmmv84@gmail.com>
The Julipedia - http://julipedia.blogspot.com/

------=_Part_39329_20435119.1162766432706
Content-Type: text/plain; name=patch.diff; charset=ANSI_X3.4-1968
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="patch.diff"

PyBhcmNoL2kzODYvaTM4Ni8ubXVsdGlib290LmMuc3dwCkluZGV4OiBzeXMva3N5bXMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09ClJDUyBmaWxlOiAvY3Zzcm9vdC9zcmMvc3lzL3N5cy9rc3ltcy5oLHYKcmV0cmlldmlu
ZyByZXZpc2lvbiAxLjEyCmRpZmYgLXUgLXAgLXIxLjEyIGtzeW1zLmgKLS0tIHN5cy9rc3ltcy5o
CTI1IE9jdCAyMDA2IDEzOjQ2OjM2IC0wMDAwCTEuMTIKKysrIHN5cy9rc3ltcy5oCTUgTm92IDIw
MDYgMjI6MzY6NDkgLTAwMDAKQEAgLTY1LDcgKzY1LDcgQEAgaW50IGtzeW1zX2FkZHN5bXRhYihj
b25zdCBjaGFyICosIHZvaWQgKgogaW50IGtzeW1zX2RlbHN5bXRhYihjb25zdCBjaGFyICopOwog
aW50IGtzeW1zX3JlbnN5bXRhYihjb25zdCBjaGFyICosIGNvbnN0IGNoYXIqKTsKIHZvaWQga3N5
bXNfaW5pdChpbnQsIHZvaWQgKiwgdm9pZCAqKTsKLXZvaWQga3N5bXNfaW5pdF9leHBsaWNpdChj
YWRkcl90LCBzaXplX3QsIGNhZGRyX3QsIHNpemVfdCk7Cit2b2lkIGtzeW1zX2luaXRfZXhwbGlj
aXQoY2FkZHJfdCwgY2FkZHJfdCwgc2l6ZV90LCBjYWRkcl90LCBzaXplX3QpOwogI2lmZGVmIERE
QgogaW50IGtzeW1zX3NpZnQoY2hhciAqLCBjaGFyICosIGludCk7CiAjZW5kaWYKSW5kZXg6IGtl
cm4va2Vybl9rc3ltcy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290L3NyYy9zeXMva2Vy
bi9rZXJuX2tzeW1zLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzAKZGlmZiAtdSAtcCAtcjEu
MzAga2Vybl9rc3ltcy5jCi0tLSBrZXJuL2tlcm5fa3N5bXMuYwkxIE5vdiAyMDA2IDEwOjE3OjU4
IC0wMDAwCTEuMzAKKysrIGtlcm4va2Vybl9rc3ltcy5jCTUgTm92IDIwMDYgMjI6MzY6NTAgLTAw
MDAKQEAgLTUxOSw5ICs1MTksMTIgQEAga3N5bXNfaW5pdChpbnQgc3ltc2l6ZSwgdm9pZCAqc3Rh
cnQsIHZvaQogICogU2V0dXAgdGhlIGtlcm5lbCBzeW1ib2wgdGFibGUgc3R1ZmYuCiAgKiBVc2Ug
dGhpcyB3aGVuIHRoZSBhZGRyZXNzIG9mIHRoZSBzeW1ib2wgYW5kIHN0cmluZyB0YWJsZXMgYXJl
IGtub3duOwogICogb3RoZXJ3aXNlIHVzZSBrc3ltc19pbml0IHdpdGggYW4gRUxGIGltYWdlLgor
ICogV2UgbmVlZCB0byBwYXNzIGEgbWluaW1hbCBFTEYgaGVhZGVyIHdoaWNoIHdpbGwgbGF0ZXIg
YmUgY29tcGxldGVkIGJ5CisgKiBrc3ltc19oZHJfaW5pdCBhbmQgaGFuZGVkIG9mZiB0byB1c2Vy
bGFuZCB0aHJvdWdoIC9kZXYva3N5bXMuICBXZSB1c2UKKyAqIGEgY2FkZHJfdCByYXRoZXIgdGhh
biBhIHBvaW50ZXIgdG8gYXZvaWQgZXhwb3NpbmcgdGhlIEVsZl9FaGRyIHR5cGUuCiAgKi8KIHZv
aWQKLWtzeW1zX2luaXRfZXhwbGljaXQoY2FkZHJfdCBzeW1zdGFydCwgc2l6ZV90IHN5bXNpemUs
Citrc3ltc19pbml0X2V4cGxpY2l0KGNhZGRyX3QgZWhkciwgY2FkZHJfdCBzeW1zdGFydCwgc2l6
ZV90IHN5bXNpemUsCiAgICAgY2FkZHJfdCBzdHJzdGFydCwgc2l6ZV90IHN0cnNpemUpCiB7CiAK
QEAgLTUyOSw2ICs1MzIsMTAgQEAga3N5bXNfaW5pdF9leHBsaWNpdChjYWRkcl90IHN5bXN0YXJ0
LCBzaQogCUtBU1NFUlQoc3Ryc3RhcnQgIT0gTlVMTCk7CiAJS0FTU0VSVChzeW1zdGFydCA8PSBz
dHJzdGFydCk7CiAKKyNpZiBOS1NZTVMKKwlrc3ltc19oZHJfaW5pdChlaGRyKTsKKyNlbmRpZgor
CiAJYWRkc3ltdGFiKCJuZXRic2QiLCBzeW1zdGFydCwgc3ltc2l6ZSwgc3Ryc3RhcnQsIHN0cnNp
emUsCiAJICAgICZrZXJuZWxfc3ltdGFiLCBOVUxMKTsKIApJbmRleDogYXJjaC9pMzg2L2kzODYv
bXVsdGlib290LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2c3Jvb3Qvc3JjL3N5cy9hcmNoL2kz
ODYvaTM4Ni9tdWx0aWJvb3QuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS44CmRpZmYgLXUgLXAg
LXIxLjggbXVsdGlib290LmMKLS0tIGFyY2gvaTM4Ni9pMzg2L211bHRpYm9vdC5jCTI1IE9jdCAy
MDA2IDEzOjU2OjE2IC0wMDAwCTEuOAorKysgYXJjaC9pMzg2L2kzODYvbXVsdGlib290LmMJNSBO
b3YgMjAwNiAyMjozNjo1MCAtMDAwMApAQCAtNjg3LDkgKzY4NywyMSBAQCBtdWx0aWJvb3Rfa3N5
bXNfaW5pdCh2b2lkKQogCXN0cnVjdCBtdWx0aWJvb3Rfc3ltYm9scyAqbXMgPSAmTXVsdGlib290
X1N5bWJvbHM7CiAKIAlpZiAobWktPm1pX2ZsYWdzICYgTVVMVElCT09UX0lORk9fSEFTX0VMRl9T
WU1TKSB7CisJCUVsZjMyX0VoZHIgZWhkcjsKKwogCQlLQVNTRVJUKGVzeW0gIT0gMCk7CiAKLQkJ
a3N5bXNfaW5pdF9leHBsaWNpdChtcy0+c19zeW1zdGFydCwgbXMtPnNfc3ltc2l6ZSwKKwkJbWVt
Y3B5KGVoZHIuZV9pZGVudCwgRUxGTUFHLCBTRUxGTUFHKTsKKwkJZWhkci5lX2lkZW50W0VJX0NM
QVNTXSA9IEVMRkNMQVNTMzI7CisJCWVoZHIuZV9pZGVudFtFSV9EQVRBXSA9IEVMRkRBVEEyTFNC
OworCQllaGRyLmVfaWRlbnRbRUlfVkVSU0lPTl0gPSBFVl9DVVJSRU5UOworCQllaGRyLmVfdHlw
ZSA9IEVUX0VYRUM7CisJCWVoZHIuZV9tYWNoaW5lID0gRU1fMzg2OworCQllaGRyLmVfdmVyc2lv
biA9IDE7CisJCWVoZHIuZV9laHNpemUgPSBzaXplb2YoZWhkcik7CisKKwkJa3N5bXNfaW5pdF9l
eHBsaWNpdCgoY2FkZHJfdCkmZWhkciwKKwkJICAgIG1zLT5zX3N5bXN0YXJ0LCBtcy0+c19zeW1z
aXplLAogCQkgICAgbXMtPnNfc3Ryc3RhcnQsIG1zLT5zX3N0cnNpemUpOwogCX0KIAo=
------=_Part_39329_20435119.1162766432706--