090507

|



菜園状況。トマトはこの一週間でモリモリ成長した。とはいえ本当はこのあた
りで植えつけなのだけど、そこまでは育っていない。種蒔きの時期は重要だ。



x86続き。ブートローダーはdelayの実装でもやもやしていたのだけど、問題な い範囲で実装して終了に。A20を有効にした際にある程度時間を待たないと有効 にならないので、そのためのdelayだけだから。
工人舎SA5には、マイOSもインストールしました。これでMSRのテスト。
/*
	rdmsr (%eax, %edx, %ecx) __attribute ((regparm (3)))
*/
FUNC (rdmsr)
	ENTER_32
	movl	%eax,	%esi
	movl	%edx,	%edi
	rdmsr
	movl	%eax,	(%esi)
	movl	%edx,	(%edi)
	LEAVE_32
	ret


uint32_t
msr (int32_t argc, const char *argv[])
{
  uint32_t c,a,d;
  a = d = 0;

  if (argc < 2)
    {
      printf ("Specify MSR address.\n");
      return 0;
    }
  c = atoi(argv[1]);

  rdmsr (&a, &d, c);

  printf ("MSR 0x%x: 0x%x:%x\n", c, d, a);

  return 0;
}
狙った値だ。これをデバイスファイル越しにもっていこう。なんとなく安さに ひかれて買ったマシンだったけれど、Geode LX、なかなか面白い。

NetBSD 5.99.11ではまったのは、COMPAT_LINUXをスタティックに入れたカーネ ルでローダブルモジュールも存在していると、ハングする。
=> Automatic manual page handling
=> Running POST-INSTALL script actions
suse_base-10.0nb5: rebuilding run-time library search paths database
ここでふっとんでしまう。たぶんldconfigでlinuxのsystem callを呼んだ時では。