トップ 最新 追記
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|10|12|
2009|02|03|06|07|10|11|12|
2010|01|02|03|04|07|09|10|11|12|
2011|01|03|04|05|06|07|08|10|
2012|01|06|08|09|10|12|
2013|01|02|03|04|07|09|11|12|
2014|01|03|04|05|06|09|
2015|04|
2016|01|08|
ここは旧えびめもです。えびめも2に移行します(2016/12/1)

2011年06月01日

debian sarge sh4

debian sarge の pool が壊れていた。sargeは既にかなり古いのだがsargeで作ったシステムはたくさんあるし、保守のためいつでも使えるようにしておく必要がある。ここ数週間かけてdebootstrapが出来る程度には復活した。
debootstrap \
   --exclude=libstdc++3,gcc-3.0-base,gcc-3.3-base,libstdc++5  \
   --include=libstdc++6,gcc-3.4-base \
   sarge /tmp/sarge-sh4-1st http://www.si-linux.co.jp/pub/debian-sarge-sh4/
 
real    13m48.888s
user    6m0.430s
sys     1m35.010s
mount -t tmpfs tmpfs /tmp -o size=150M
で作業すると半分の時間で終わる
real    6m35.068s
user    4m49.630s
sys     1m24.470s

2011年06月06日

debian squeeze

udevを使って RATOCの外付けUSB RAID HDDを /data に自動マウントする
 # udevadm info -a -n /dev/sdd
 ATTRS{manufacturer}=="RATOC"
 ATTRS{product}=="SA-DK2-U3R"
が得られるので /etc/udev/rules.d/11-mnt-usb-ratochdd.rules ファイルを作り
ACTION=="add", ATTRS{manufacturer}=="RATOC", ATTRS{product}=="SA-DK2-U3R", RUN+="/bin/mount /dev/%k /data"
ACTION=="remove",  ATTRS{manufacturer}=="RATOC", ATTRS{product}, RUN+="/bin/umount -l /data"

linux-2.6.32カーネル割り込みコントローラの登録

 arch/sh/kernel/cpu/sh4/setup-sh7760.c
 
 void __init plat_irq_setup_pins(int mode)
 {
         switch (mode) {
         case IRQ_MODE_IRQ:
                 ctrl_outw(ctrl_inw(INTC_ICR) | INTC_ICR_IRLM, INTC_ICR);
                 register_intc_controller(&intc_desc_irq);      /* ここ */
                 break;
         default:
                 BUG();
         }
 }
 
 drivers/sh/intc.c
 
 void __init register_intc_controller(struct intc_desc *desc)
 {
   for (i = 0; i < desc->nr_vectors; i++) {
     intc_register_irq(desc, d, vect->enum_id, irq);
 
 
 static void __init intc_register_irq(struct intc_desc *desc,
                                      struct intc_desc_int *d,
                                      intc_enum enum_id,
                                      unsigned int irq)
 {
         /* set priority level
          * - this needs to be at least 2 for 5-bit priorities on 7780
          */
         intc_prio_level[irq] = 2;   /* ここでデフォルトの優先度を2にしている */
 
 
 int intc_set_priority(unsigned int irq, unsigned int prio)

linux-2.6.32 割り込みの流れ

VBR+0x600 番地から
do_IRQが無くなってしまったのかと焦ったが archの下に移ったようだ。
arch/sh/kernel/irq.c
  asmlinkage __irq_entry int do_IRQ(unsigned int irq, struct pt_regs *regs)
  {
 
ざっくり略して
 
kernel/irq/handle.c
  irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action)
  {
ブレイクポイントを置くなら handle_IRQ_event が良いだろう

2011年06月07日

skyfm

# mpg123 http://scfire-dtc-aa06.stream.aol.com:80/stream/1010
URLの選択はこちら http://www.sky.fm/configure_player.php

2011年06月08日

fork()した後に、親プロセスが子プロセスの終了を見守る方法

int check_pid(pid_t pid)
{
    int status=0;
    pid_t ret;
    ret = waitpid(pid, &status, WNOHANG);
    if(ret==0){
        /* そのプロセスは生きている */
        return 1;
    }else if(ret>0){
        /* そのプロセスの終了を確認した */
        return 0;
    }
    /* (ret<0) */
    /* そのプロセスはすでに終了している */
    return 0;
}

2011年06月27日

CAT724

SH7724-500MHzボード。nigauri.orgさんのところにSH7785の姫野ベンチ結果が載っていた
こぴぺ
gcc-4.4 でビルド。
    Loop executed for 193 times
    Gosa : 1.702956e-03 
    MFLOPS measured : 53.763735    cpu : 59.115412
    Score based on Pentium III 600MHz : 0.65565
SH7724でもやってみた
gcc-4.3 -O9 でビルド
 Loop executed for 97 times
 Gosa : 2.148829e-03
 MFLOPS measured : 25.585696    cpu : 59.954682
 Score based on Pentium III 600MHz using Fortran 77: 0.312021
SH7785比で半分しか出てない。おかしーなー

2011年06月29日

Windows版MD5チェッカー

http://aboon.s33.xrea.com/index.php?page=soft_md5checker
むちゃ便利。ファイルを右クリックしてMD5値が確認できる。そのままクリップボードにコピーできる。生活が変わるとはまさにこの事。

2011年06月30日

miniSD

正確なベンチではないが、書き込みはやっぱり遅い
某製品にて miniSD
 Read 9MByte/s 程度
 Write 0.7MByte/s 程度
比較対象 USB2.0 HDD PATA 60G
 Read 11MByte/s 程度
 Write 11MByte/s 程度

今さらだけど debian sarge

ssmtp のインストールで
hostname: Unknown host
となりインストールできない。どうやら
 # hostname --fqdn
を実行しているっぽい. /etc/hosts に自ホストのエントリを書いてあげれば通る