|
Namazu for hns による簡易全文検索 詳しくは 詳細指定/ヘルプを参照して下さい |
||||||||||||||||||||||||||||||||||||||||||||||||||
2002年06月20日(木) 旧暦 [n年日記]#1 [NetBSD] port-powerpc-ja
本当は Matt T* とかの人達が port-master に相談もなく、
いじり始めて、遠くに行ってしまったのが問題なのですよ。
だから i* さんが来たのが、ちょっとそんな感じなのかなと受取った人もいた。
もちろん僕はそうは思わなかったけれど。
auto-boot? true は iBook (1999) でも動くことがあるのだけれど、 僕が何か勘違いしているのだろう。 ( つっこみ )
#2 [Security] Apache 1.3.26 2.0.39 だそうで( つっこみ )
#3 [NetBSD] daily build
G4/400 AGP na 版
makoto@u 6:51:55/020620(...usr/src)# time ./build.sh -D $DESTDIR -R $RELEASEDIR >& /export/20020619-tar/log-build.sh >> NetBSD/macppc OpenFirmware Boot, Revision 1.6 >> makoto@ibook, Mon May 27 16:28:24 JST 2002 59392+219184=0x5dfa54 start=0x800000 trap type 200 at a1b924 Press a key to panic. panic: trap Stopped in pid 0 () at 0xa0f3b4: lwz r0,r1,0x14 db> _ method <`usb-kbd-ihandles> not found; ihandle=ffbc8740 phandle=ff931210 入力不可前と変った。 0021b70c <softclock>: ... 21b900: 48 0f e7 6d bl 31a06c <splraise> 21b904: 3b c0 00 00 li r30,0 21b908: 81 19 97 60 lwz r8,-26784(r25) 21b90c: 2c 08 00 00 cmpwi r8,0 21b910: 40 82 ff 0c bne 21b81c <softclock+0x110> 21b914: 80 1f 00 08 lwz r0,8(r31) 21b918: 2c 00 00 00 cmpwi r0,0 21b91c: 40 82 00 14 bne 21b930 <softclock+0x224> 21b920: 39 20 ff ff li r9,-1 21b924: 39 40 ff ff li r10,-1きのうの patch を当てたら、もう少し先に行った。 ... 3839312+218576 [189312+155988]=0x433280 start=0x100000 console keyboard type: USB [using 345952 bytes of netbsd ELF symbol table ] _ method <`usb-kbd-ihandles> not found; ihandle=ffbc8740 phandle=ff93120 method <`usb-kbd-ihandle> not found; ihandle=ffbc8740 phandle=ff93120 method <`adb-kdb-ihandle> not found; ihandle=ffbc8740 phandle=ff93120 _ 入力不可 ( つっこみ )
2002年06月19日(水) 旧暦 [n年日記]#1 [NetBSD] start=0x100000 と __syncichache
きょう試すことは、
sys/arch/macppc/macppc/machdep.c sys/lib/libkern/arch/powerpc/syncicache.c machdepc. syncicache.c (1) consinit removed x (2) cpu_probe_cache/before install_extint x (3) syncicache.c (half) reverted to 20020313 x (4) add printf-cacheinfo x (5) - no cninit x (6) - ddb init xきのうまでのその結果は (1) (2) (3) YES works YES YES works YES stops after start=0x100000 YES YES worksそれから consinit() の中の、 cninit ddb init のどちらが悪さをしているかを調べる。 +----syncicache-half-revert | | +-- add printf-cacheinfo | | | | +-- no cninit | | | (1) (2) (3) (4) (5) YES YES works (*1) YES YES YES works (*1) YES YES works (*1) (*1) but no cacheinfo printed --- to early to use printfcninit の方が問題あるということ。 更に来た。 +-------- Temporarily set up cache_info | | +----syncicache-half-revert | | | | +-- add printf-cacheinfo | | | | | | +-- no cninit | | | | (1) (2a) (3) (4) (5) YES YES works YES worksAllen Brigges がこれだよというのを送って来て、めでたく解決となった。 1.6B に当てるものも大丈夫。 ( つっこみ )
#2 [NetBSD] 1.6B ts 版cc -O2 -pipe -Werror -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wno-uninitialized -Wno-main -msoft-float -ffreestanding -I. -I../../../../arch -I../../../../arch/powerpc -I../../../.. -nostdinc -DDIAGNOSTIC -DMAXUSERS=32 -D_KERNEL -D_KERNEL_OPT -Dmacppc -c /export/20020615/syssrc/sys/arch/macppc/compile/GENERIC/../../../../arch/powerpc/powerpc/trap.c sys/kern/kern_ktrace.c:ktrsyscall(struct proc *p, register_t code, register_t args[])一か所変更。 --- sys/arch/powerpc/powerpc/trap.c-1.23 Wed Jun 5 18:15:28 2002 +++ sys/arch/powerpc/powerpc/trap.c Wed Jun 19 15:14:57 2002 @@ -234,7 +234,7 @@ #ifdef KTRACE if (KTRPOINT(p, KTR_SYSCALL)) - ktrsyscall(p, code, argsize, params); + ktrsyscall(p, code, params); #endifsegfault storm... って syncicache かなぁ。調べよう。
( つっこみ )
2002年06月18日(火) 旧暦 [n年日記]#1 [NetBSD] start=0x100000 と __syncichache
試すことを整理して見よう。
( つっこみ )
#2 [Namazu] Devel::DProf って初めて知った( つっこみ )
#3 [Security] chunked encoding vulnerability
「1.3.x は
stack overflow から (child が)
segfault されてしまう」と読めばいいのかな。
( つっこみ )
#4 [NetBSD] port-powerpc-ja のメールが何だか飛び飛びだと思ったら:0 * ^Return-Path:.*port-powerpc-ja-return { :0 * ^Content-Type: text/plain; charset=ISO-2022-JP ml/port-powerpc-ja/. :0 ml/port-powerpc-ja-junk/. }したの忘れていて、junk の方は見ていなかった。 いづれにしても、これはだめみたい。In-Reply-To: 付けておけば もう少しましかな。あと tsubai さん特例入れておけば。多分。 ( つっこみ )
2002年06月17日(月) 旧暦 [n年日記]#1 [NetBSD] start=0x100000 で止る問題@ 20020314+(libkern)0313 動く:@ 20020407 kbd/screen では動かない:@ 20020407 に逆 patch を当てる(R)と動く:
ただし
@ 20020407 に syncicache.c だけを古くして見る(R-2)と、:
serial (ttya) でも動かなくなってしまう。
0 > boot netbsd.1 OF_open bootpath=ata/ata-disk@0 read stage 2 blocks: 01234567. done! starting stage 2... >> NetBSD/macppc OpenFirmware Boot, Revision 1.6 >> (makoto@ibook, Mon May 27 12:55:46 JST 2002) no active package3753564+218516 [188096+156874]=0x41e1e0 start=0x100000しかし、良く考えて見ると、__syncicache を呼んでいるのは ofwboot (/boot) であって、上の作業ではその内容は更新されていない ? (以上で使っている ofwboot は 1.6_BETA1 のもの) というのは、あさはかであって @ __syncicache は:
kernel が読まれた後、起動する時の一番最初の、
syssrc/sys/arch/macppc/macppc/locore.S の中の
212 mr 5,6 /* args string */ 213 bl _C_LABEL(initppc) 214 bl _C_LABEL(main) 215 b _C_LABEL(OF_exit)(これはどの版でも変更無) で呼ばれる initppc で、それは syssrc/sys/arch/macppc/macppc/machdep.c の中にあって、 で 141 initppc(startkernel, endkernel, args) 313 __syncicache((void *)EXC_RST, EXC_LAST - EXC_RST + 0x100); 419 restore_ofmap(ofmap, len) 472 __syncicache((void *)&extint_call, sizeof extint_call); 473 __syncicache((void *)EXC_EXI, (int)&extsize); 684 cpu_reboot(howto, what) 724 __syncicache((void *)msgbuf_paddr, round_page(MSGBUFSIZE)); 748 /* flush cache for msgbuf */ 749 __syncicache((void *)msgbuf_paddr, round_page(MSGBUFSIZE));のように呼ばれている。 (これもどの版でも変更無) @ libkern の関係だけを戻して見ようか。:
serial でも動かなくなってしまった。
@ sys/lib/libkern/arch/powerpc/ だけの問題だ、:
しかも 20020314 の変更だけが問題だということで、確かに
rest libkern/arch/powerpc 20020314 + 20020313 boots fine even with kbd/screen 20020314 stops at start=0x100000 20020314 one line patch stops at start=0x100000そうなっている。 20020314 の kernel が出来るとは思わなかったので、試さなかった。 @ 関係ないが kbd/screen のどちらか一方では ?:
と気になったので、
まず動く kernel を使って、
input-device output-device ttya screen 問題ない kbd ttya 次のように zstty0 で止る ? .... obio0 at pci0 dev 16 function 0: addr 0xf3000000 mesh0 at obio0 offset 0x10000 irq 12: 50MHz, SCSI ID 7 scsibus0 at mesh0: 8 targets, 8 luns per target zsc0 at obio0 offset 0x13000: irq 15,16 zstty0 at zsc0 channel 0u'動かない kernel だと、どちらの組合せも start=0x100000 で止る。 @ (多分余計な) consinit() を外すと問題解決:( つっこみ )
#2 [NetBSD] ちょっと気になる ofw_stack() は( つっこみ )
#3 [NetBSD] OpenBSD の pdisk
todd ってまさか
Todd Vierling
ではないよね、あの人は tv だったか。 ( つっこみ )
2002年06月15日(土) 旧暦 [n年日記]#1 [NetBSD] Tanzania stops at start=0x10000StarMax も 4400 も条件は同じ。 どちらの機械も、(userland は 1.6_BETA1 だとして) kernel が 1.6_BETA1 等の場合 serial 動く kbd/screen 動かない。 (start=0x10000 で止る) kernel が椿井版だと、 makoto@ibook:/export/20020526-src-sys/sys/arch/macppc/compile/ serial 動く kbd/screen segmentation fault の嵐になる @ sys/arch/macppc/stand/ofwboot/boot.c から start=0x.. の部分:296 entry = marks[MARK_ENTRY]; 297 ssym = (void *)marks[MARK_SYM]; 298 esym = (void *)marks[MARK_END]; 299 300 printf(" start=0x%x\n", entry); 301 __syncicache((void *)entry, (u_int)ssym - (u_int)entry); 302 chain((void *)entry, bootline, ssym, esym); 303 304 OF_exit(); 305 } @ __syncicache か chain:
chain の方は
sys/arch/macppc/stand/ofwboot/boot.c
118 static void 119 chain(entry, args, ssym, esym) 120 void (*entry)(); 121 char *args; 122 void *ssym, *esym; ... 138 OF_chain((void *)RELOC, end - (char *)RELOC, entry, args, l);この引数の中で(今)使われているのは args, l だけ @ OF_chain:
sys/arch/macppc/stand/ofwboot/Locore.c
519 OF_chain(virt, size, entry, arg, len) 520 void *virt; 521 u_int size; 522 void (*entry)(); 523 void *arg; 524 u_int len; 525 { 526 /* 527 * This is a REALLY dirty hack till the firmware gets this going 528 */ 529 #if 0 530 OF_release(virt, size); 531 #endif 532 entry(0, 0, openfirmware, arg, len); 533 }この entry は同じ中に asm で書いてある。 最初の boot.c の中に出て来る MARK_SYM MARK_END などは、 sys/lib/libsa/loadfile.h に書いてある。 42 #define MARK_START 0 43 #define MARK_ENTRY 1 44 #define MARK_NSYM 2 45 #define MARK_SYM 3 46 #define MARK_END 4 47 #define MARK_MAX 5 @ time warp .. 20020310:/export/20020310/src/tools/obj/tools.NetBSD-1.5ZC-powerpc/bin/powerpc--netbsd-gcc -O2 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Werror -nostdinc -isystem /export/20020310/dest/usr/include -c /export/20020310/src/usr.bin/vmstat/vmstat.c @ time warp .. 20020222:/export/20020222/src/distrib/macppc/floppies/ramdisk/../../../../bin/rcp/../../usr.bin/rlogin/kcmd.c:56: kerberosIV/kparse.h: No such file or directory @ 20020314 + 20020313:( つっこみ )
2002年06月14日(金) 旧暦 [n年日記]#1 [検索機関] PageRankを上げるために
いつも美しい(日記の) URL の
馬場さん
のところから。
(最近まで なつみかんの URL が違っていたので直した)
( つっこみ )
#2 [URL] ソースコードを読むための技術( つっこみ )
#3 [NetBSD] ./build.shpax: Unable to access ./usr/bin/hesinfo <No such file or directory>何か間違えたかな。それと、少し変更して試している。 ttyp0:root@quick 17:25:29/020614(/export/src)# diff sys/arch/macppc/macppc/machdep.c{-1.113,}全く効果なし(というか何も表示されない)。 ( つっこみ )
2002年06月13日(木) 旧暦 [n年日記]#1 [Web] 広告を貼ろうかなと思ったり( つっこみ )
#2 [NetBSD] start=0x10000 とか表示しているのは
sys/arch/macppc/stand/ofwboot/boot.c の
300 printf(" start=0x%x\n", entry); 301 __syncicache((void *)entry, (u_int)ssym - (u_int)entry); 302 chain((void *)entry, bootline, ssym, esym); 303 304 OF_exit(); 305 }この __syncicache は(最近良く見る字の気がするけど) sys/lib/libkern/arch/powerpc/syncicache.c で定義されている。 ただし ts 版では、 sys/arch/powerpc/powerpc/powerpc_machdep.c の最後で定義している。 (最近 build.sh 出来なかったのと関係ありそう) その他 lib/libc/arch/powerpc/gen/syncicache.c でも定義している。 ( つっこみ )
#3 [NetBSD] PM4400
とりあえず、動いた。何が原因なのか、これから調べる。
僕の 4400の ttya の入力はこわれているのではないかという説がある。
以下は ttyb を使った。boot.fs をいろいろ試そう。
0 > boot OF_open bootpath=scsi/sd@3 read stage 2 blocks: 01234567. done! starting stage 2... >> NetBSD/macppc OpenFirmware Boot, Revision 1.6 >> (root@quick, Tue Jun 11 12:29:56 JST 2002) 3718752+128844=0x3ab7c0 start=0x800000 Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002 The NetBSD Foundation, Inc. All rights reserved. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. NetBSD 1.6_BETA1 (INSTALL) #3: Thu Jun 13 11:12:19 JST 2002 root@quick:/export/20020610/usr/src/sys/arch/macppc/compile/INSTALL ( つっこみ )
#4 [NetBSD] 意味もなく ./build.sh をもう一度。
別の機械 G4/400 AGP の負荷試験として、
makoto@u 16:58:04/020613(...usr/src)# time ./build.sh -R $RELEASEDIR -D $DESTDIR >& ../log 10621.476u 3776.501s 4:39:29.69 85.8% 0+0k 20057+421963io 16571325pf+314w makoto@u 21:37:59/020613(...usr/src)#20020610 の src から。start の gcc は egcs-1.1.2。 ( つっこみ )
#5 [INN] 最近 400k とか 500k の記事が山ほど来るが
newsfeeds なんかで制限出来たっけ ?
japan.books だけの合計で 100M くらいあった。
japan.music.heavy-metal も似たようなもの。
( つっこみ )
2002年06月12日(水) 旧暦 [n年日記]#1 [NetBSD] (gdb) print db_onpanic=0
教えてもらったので、やって見る。
ttyp1:root@quick 8:31:22/020612(/)# gdb --write netbsd.3 GNU gdb 5.0nb1 Copyright 2000 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "powerpc--netbsd"...(no debugging symbols found)... (gdb) print db_onpanic=0 $1 = 0 (gdb) q ttyp1:root@quick 8:31:57/020612(/)# ls -lt netbs* ( つっこみ )
#2 [日本語] 誤差 = Error
誤差制御演算子
確かに誤差 → error ではあるが error →誤差 ではない。
Error → エラー としているのも良くない習慣だと思う。 Error → 問題・誤り・障害・誤差・誤謬 しかし問題 → error problem issue となるので、 Error → 問題 も時として(かなり)良くないことがあるだろう。 Error → 誤謬(ごびゅう) ではちょっとなじみがなさそうだし。 とけちを付けて見たものの、言語の中で、 これだけ便利な情報が Web で見られる とは、有難いことだ。 elsif -> elseif Perl との違いで覚えておく。 制御構造に関する別の構文 → 内容を見る前に、細いことが気になって来ると、良くないが.. HTMLブロック"A = 5"は↓ HTML 部分 "A は 5 に等しい" は ![]() ... ではなさそう。 ( つっこみ )
2002年06月11日(火) 旧暦 [n年日記]#1 [NetBSD] not exclusive lock holder 1008730187 unlocking>> NetBSD/macppc OpenFirmware Boot, Revision 1.6 >> (makoto@ibook, Mon May 27 16:28:24 JST 2002) 3839052+219140 [187920+155996]=0x432e20 start=0x100000 panic: lockmgr: pid 0, not exclusive lock holder 1008730187 unlocking Stopped in pid () at 0x30f214: lwz r0,r1, 0x14 db>という表示は sys/kern/kern_lock.c の 715 行目付近かららしい 457 lockmgr(__volatile struct lock *lkp, u_int flags, 458 struct simplelock *interlkp) ..... 528 switch (flags & LK_TYPE_MASK) { ..... 707 case LK_RELEASE: 708 if (lkp->lk_exclusivecount != 0) { 709 if (WEHOLDIT(lkp, pid, cpu_id) == 0) { 710 if (lkp->lk_flags & LK_SPIN) { 711 panic("lockmgr: processor %lu, not " 712 "exclusive lock holder %lu " 713 "unlocking", cpu_id, lkp->lk_cpu); 714 } else { 715 panic("lockmgr: pid %d, not " 716 "exclusive lock holder %d " 717 "unlocking", pid, 718 lkp->lk_lockholder); 719 }sys/kern/init_main.c 192 KERNEL_LOCK_INIT(); .. 348 /* Lock the kernel on behalf of proc0. */ 349 KERNEL_PROC_LOCK(p);というのがあるが、多分 MULTIPROCESSOR 以外は何もしない(はず) 同じく 447 /* 448 * Get the vnode for '/'. Set filedesc0.fd_fd.fd_cdir to 449 * reference it. 450 */ 451 if (VFS_ROOT(mountlist.cqh_first, &rootvnode)) 452 panic("cannot find root vnode"); 453 cwdi0.cwdi_cdir = rootvnode; 454 VREF(cwdi0.cwdi_cdir); 455 VOP_UNLOCK(rootvnode, 0); 456 cwdi0.cwdi_rdir = NULL;この 455 行目かな。 でももう一度最初から見直したら Copyright を表示する前のような。 @ curcpu() が気になったので:
(ts 版) sys/arch/macppc/include/cpu.h より
77 #ifdef MULTIPROCESSOR ... 80 static struct cpu_info *curcpu(void); ... 91 static __inline struct cpu_info * 92 curcpu() 93 { 94 struct cpu_info *ci; 95 96 asm volatile ("mfsprg %0,0" : "=r"(ci)); 97 return ci; 98 } 99 ... 111 #else ... 116 #define curcpu() (&cpu_info_store) ... 119 #endif /* MULTIPROCESSOR */(na 版の時も sys/arch/powerpc/include/cpu.h に書いてあるだけで、define の内容は同じ) でもって sys/arch/macppc/macppc/cpu.c に struct cpu_info cpu_info_store;となっていて cpu_info[] にいろいろ書込んだり.. @ consinit() -> cninit() の最後の問題の気が:
(字が入力出来ないし)
一番初めの中の 709 行目の
709 if (WEHOLDIT(lkp, pid, cpu_id) == 0) {cpu_id がきっと変なのかも。 ( つっこみ )
|
最近の日記 2025年02月13日 ・dvipdfmx ICC profile format spec. version 4.3.0 2025年01月29日 ・ham/wsjtx 2025年01月27日 ・wip/wsjtx 5.4.2 2025年01月25日 ・ham/wsjtx 2025年01月15日 ・今更 advent calendar | ||