6. 6
2000年8月: はじめは他⼒本願
• LUNA-88K2を廃棄物置場から保護
• 絶対にNetBSDが移植されると思っていた
ので、しばらく様⼦⾒する
※:NetBSD/luna68kは2000/01/05に登場
http://wiki.netbsd.org/ports/luna68k/luna68k_info/#futurework
Future work
LUNA-88K support would be a fun project; CMU Mach3 MK84 release
contains code for the LUNA-88K hardware, and its peripheral devices
are nearly identical to those of the LUNA.
NetBSD/luna68kの
Webページより
(現在もこのまま)
7. 7
2001年5月: port-m88k にアピール
Subject: LUNA-88K2
To: None <port-m88k@netbsd.org>
From: Kenji Aoyama <aoyama@nk-home.net>
Date: 05/14/2001 22:56:57
Hi,
I have an OMRON LUNA-88K2 (DT9581), which is driven by four
33MHz 88100 processors. I think it is the final model of OMRON
LUNA-88K series.
I'm not sure about the difference between LUNA-88K and LUNA-88K2,
but when NetBSD/luna88k binaries are ready, I will be able to test if
they are running on LUNA-88K2.
And I have the hardware manuals of LUNA-88K and LUNA-88K2 written in
Japanese, so if someone interested, please let me know.
(But I think they are not so much informative...)
NetBSD/luna88kができたら、
LUNA-88K2でテストしまっせ!
20. 20
(C) Copyright Omron Corporation 1989, 1990, 1991, 1992
ROM Version 1.37, 48 Megabytes RAM, 4 CPUs
Memory Check: 3Port passed, main skipped.
ROM Monitor
0>b sd(0,0,0) bsd
Booting sd(0,0,0) bsd
LUNA-88K: 4 CPUs 8 CMMUs
CPU0 is attached with 2 MC88200 CMMUs
CPU1 is attached with 2 MC88200 CMMUs
CPU2 is attached with 2 MC88200 CMMUs
CPU3 is attached with 2 MC88200 CMMUs
panic: m8820x_cmmu_cpu_number: could not determine mypanic: m8820x_cmmu_cpu_number: could not determine mypanic: m8820x_cmmu_cpu_number: could not determine mypanic: m8820x_cmmu_cpu_number: could not determine my cpucpucpucpu numbernumbernumbernumber
Stopped at 0x1a6d10: tb0 0x0, r0 ,0x84
RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC!
DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION!
ddb> trace
stack base = 0x1b6b50
(0) 0x1a6d10(stackless) ← _Debugger()
(1) 0x5f0d8(?, 4, 0, 0xf6cb1400, 0, 1, 1cfc84, 0) ← panic()
(2) 0x19586c ← m8820x_cmmu_cpu_number()
(3) 0x19e6d8 ← luna88k_bootstrap()
(4) 0x200ec ← start_text()
ddb>
「生意気にもpanic」
((c)つついさん)
リンク形式をOMAGICに変えて再トライ
ROMルーチンの
コンソール動く!
21. 21
ILLADDRESSの謎
• CMMU識別のため、faultになるアドレス
(=ILLADDRESS)にアクセスしている
/* access faulting address */
badaddr((vaddr_t)ILLADDRESSILLADDRESSILLADDRESSILLADDRESS, 4);
/* check which CMMU is reporting the fault */
for (cmmu = 0; cmmu < max_cmmus; cmmu++) {
:
• CMU Machではこのようになってる
• でも自分の環境ではfaultが起きないぞ!?
#define ILLADDRESS 0x0F0000000x0F0000000x0F0000000x0F000000 /* any faulty address */
22. 22
2002年3月: ILLADDRESSの謎(解決)
• いろいろと試したが分からない
• ふとUniOS Machを⽴ち上げてヘッダファ
イルを⾒てみると…
• 実はLUNA-88K2ではILLADDRESSの値が
変更になっていた!
:
* HISTORY
* $Log: board.h,v $
* Revision 1.5 92/09/24 10:51:14 moti
* Change ILLADDRESS for LUNA88K2.Change ILLADDRESS for LUNA88K2.Change ILLADDRESS for LUNA88K2.Change ILLADDRESS for LUNA88K2.
:
#define ILLADDRESS 0x3FFFFFF00x3FFFFFF00x3FFFFFF00x3FFFFFF0 /* any faulty address */
1ヶ月悩みました…
26. 26
2002年6月5日: NFS boot動き始める
0>b sd(0,0,0) bsd
Booting sd(0,0,0) bsd
: (中略)
OpenBSD 3.0-current (SMALL) #42: Wed Jun 5 20:58:15 JST 2002
aoyama@solaria:/sys/arch/luna88k/compile/SMALL
OMRON LUNA-88K 33Mhz
real mem = 50331648
avail mem = 40632320 (9920 pages)
using 640 buffers containing 2621440 bytes of memory
machdep.c: setupiackvectors() is not implemented.
mainbus0 (root)
clock0 at mainbus0: ds1397
le0 at mainbus0: address 00:00:0a:03:49:0900:00:0a:03:49:0900:00:0a:03:49:0900:00:0a:03:49:09 ←←←← 決め打ち決め打ち決め打ち決め打ち
le0: 32 receive buffers, 8 transmit buffers
boot device: <unknown>
root device: le0
nfs_bootnfs_bootnfs_bootnfs_boot: using network interface 'le0': using network interface 'le0': using network interface 'le0': using network interface 'le0'
nfs_bootnfs_bootnfs_bootnfs_boot:::: client_addrclient_addrclient_addrclient_addr=192.168.2.4=192.168.2.4=192.168.2.4=192.168.2.4
nfs_bootnfs_bootnfs_bootnfs_boot:::: server_addrserver_addrserver_addrserver_addr=192.168.2.1 hostname==192.168.2.1 hostname==192.168.2.1 hostname==192.168.2.1 hostname=aurora.nk.mcu.or.jpaurora.nk.mcu.or.jpaurora.nk.mcu.or.jpaurora.nk.mcu.or.jp
root on xroad2:/usr/export/aurora/rootroot on xroad2:/usr/export/aurora/rootroot on xroad2:/usr/export/aurora/rootroot on xroad2:/usr/export/aurora/root
27. 27
2002年6月5日: NFS boot動き始める
WARNING: clock lost 2227 days -- CHECK AND RESET THE DATE!
swap on xroad2:/usr/export/aurora/root/swapswap on xroad2:/usr/export/aurora/root/swapswap on xroad2:/usr/export/aurora/root/swapswap on xroad2:/usr/export/aurora/root/swap
Data access fault (Bus Error) v = 1ed868, frame eee07bd0
R00-05: 0x00000000 0x001fbafc 0x0059cff0 0x005a0ff0 0x00001000 0x00000000
R06-11: 0x00000000 0x00000000 0x005a0000 0x00000998 0x00000998 0x00000004
R12-17: 0x001ed850 0x00000004 0x00002e00 0x00000001 0x0000c400 0x04001000
R18-23: 0x00000000 0x40000000 0x00000000 0x00080000 0x00000000 0x026b3000
R24-29: 0x00229930 0x00254938 0x02000100 0x00000100 0x00000000 0x00000000
R30-31: 0xeee07cf0 0xeee07cd0
: (中略)
panic: Data Access Exception
Stopped at 0x203608: tb0 0x0, r0 ,0x84
RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC!
DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION!
ddb>
29. 29
2003年8月: コンパイラきたー!
• 実際に動くかどうか分からないマシンで、
コンパイラのバグを1つずつ追っていくの
は難しい
• 半年ほど進めてきたが、公式treeに入って
いるOpenBSD/mvme88kの進捗を待つこ
とにする
Changes by: miod@cvs.openbsd.org 2003/08/01 01:40:19
Modified files:
gnu/egcs/gcc : config.gcc
gnu/egcs/gcc/config/m88k: m88k.c m88k.h m88k.md openbsd.h
gnu/usr.bin/binutils/gas: configure configure.in
gnu/usr.bin/gas/config: tc-m88k.h
Added files:
gnu/egcs/gcc/config/m88k: t-openbsd
Log message:
A workingA workingA workingA working gccgccgccgcc 2.95/m88k compiler,2.95/m88k compiler,2.95/m88k compiler,2.95/m88k compiler, for some low standard value of working.
Configuration settings mostly borrowed from the former gcc 2.8 configuration.
A few typos and fixes backported from gcc 3.3, and a hell lot of fixes from
my fingertips.
This is enough to yield a compiler which will produce correct coThis is enough to yield a compiler which will produce correct coThis is enough to yield a compiler which will produce correct coThis is enough to yield a compiler which will produce correct code atde atde atde at ----O0.O0.O0.O0.
Optimization is slightly broken for some constructs, and more fixes are in
the pipeline.
ok deraadt@
これで、最適化なしなら
きちんとバイナリができ
るようになりました
35. 35
2004年4月21日: 本家にマージ
Changes by: aoyama@cvs.openbsd.orgaoyama@cvs.openbsd.orgaoyama@cvs.openbsd.orgaoyama@cvs.openbsd.org 2004/04/21 09:24:15
Log message:
Initial commit for OpenBSD/luna88k, based on OpenBSD/mvme88k, NeInitial commit for OpenBSD/luna88k, based on OpenBSD/mvme88k, NeInitial commit for OpenBSD/luna88k, based on OpenBSD/mvme88k, NeInitial commit for OpenBSD/luna88k, based on OpenBSD/mvme88k, NetBSD/luna68k and CMU MachtBSD/luna68k and CMU MachtBSD/luna68k and CMU MachtBSD/luna68k and CMU Mach.
Status:
Vendor Tag: AOYAMA
Release Tags: LUNA88K_INIT
N src/sys/arch/luna88k/conf/GENERIC
N src/sys/arch/luna88k/conf/Makefile.luna88k
N src/sys/arch/luna88k/conf/files.luna88k
N src/sys/arch/luna88k/ddb/db_disasm.c
N src/sys/arch/luna88k/ddb/db_interface.c
N src/sys/arch/luna88k/ddb/db_sstep.c
N src/sys/arch/luna88k/ddb/db_trace.c
N src/sys/arch/luna88k/dev/if_le.c
N src/sys/arch/luna88k/dev/lcd.c
N src/sys/arch/luna88k/dev/lunafb.c
N src/sys/arch/luna88k/dev/lunaws.c
:
: