Exceptionはハンドル出来てるぽ
hw_cpu_hatch()で割り込み有効にしてbreakかけてddbが上がるかどうか確かめればExceptionをハンドルしてtrap出来てるか分かるという単純極まりない事実に気づいて早速試してみる。
/* * Build proper TLB refill handler trampolines. */ extern void xtlb_miss; xtlb_handler = (vaddr_t)&xtlb_miss; build_trampoline(TLB_MISS_EXC_VEC, xtlb_handler); build_trampoline(XTLB_MISS_EXC_VEC, xtlb_handler); /* * Turn off bootstrap exception vectors. */ setsr(getsr() & ~SR_BOOT_EXC_VEC); /* * Clear out the I and D caches. */ Mips10k_ConfigCache(ci); Mips_SyncCache(ci); // cpu_startclock(ci); // ncpus++; // cpuset_add(&cpus_running, ci); // mips64_ipi_init(); /* XXX: setintrmask(0) here */ spl0(); (void)updateimask(0); Debugger();
vscsi0 at root scsibus2 at vscsi0: 256 targets softraid0 at root boot device: sd0 root on sd0a swap on sd0b dump on sd0b clock_int5 Stopped at 0xa800000000439064: jr ra 0xa800000000439068: nop ddb{1}>
おk。ちゃんと動いとる。