::log.2010

[ TOP | Recently ]

OpenBSD/Macbook Air / [Windows] 環境構築ネタ / getrusage / WAPBL / print contents of HTML event / MTU size detection with ICMP / NetBSD/netwalker #3.1 / NetBSD/netwalker #3 / STR9102その9 / NetBSD/netwalker #2.1 / NetBSD/netwalker #2 / NetBSD/netwalker #1 / NetBSD/evbarm IMX51NETWALKER / STR9102その8 / bpf_insn / MTU size detection / STR9105その7 - PCI

2010-12-09 OpenBSD/Macbook Air


NetBSDはkernelがboot途中で止まってしまったので、ヒヨって(ぉ)OpenBSD。(acpiまわりか?)

・BootCampでWindows領域を確保
・外付けCDROMドライブからOpenBSD/4.8-amd64をboot
・OpenBSDのインストーラから、fdiskでWindows領域をOpenBSD領域に変更して、OpenBSDのinstall開始。
(OpenBSDが内蔵WiFiを認識してくれないので、適当なUSB Etherを付けてinstallする)
・install時にMBRを上書きしてしまったらしくMacOSXが自動起動しなくなったので、Optionを押しながらbootでMacOSXを起動
・MacOSX上で、fdiskを使ってmbrを修復
・MacOSX上で rEFIt を install

というわけで、ちゃんと起動時にメニューが出るようにしてマルチブートできるようになった。



しかしメモリが3G弱しか認識されない件。あとは Broadcom の WiFi か。
Linux用のは ここにあるようだ。重要な所はバイナリしかないけど。

$ dmesg
OpenBSD 4.8 (GENERIC.MP) #335: Mon Aug 16 09:09:20 MDT 2010
deraadt@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
RTC BIOS diagnostic error df<clock_battery,ROM_cksum,memory_size,fixed_disk,invalid_time>
real mem = 2942406656 (2806MB)
avail mem = 2850263040 (2718MB)
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xe0000 (37 entries)
bios0: vendor Apple Inc. version "MBA31.88Z.0061.B00.1009101530" date 09/10/10
bios0: Apple Inc. MacBookAir3,1
acpi0 at bios0: rev 2
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP HPET APIC APIC ASF! SBST ECDT SSDT SSDT SSDT MCFG SSDT SSDT
acpi0: wakeup devices ADP1(S4) LID0(S4) EC__(S4) OHC1(S3) EHC1(S3) OHC2(S3) EHC2(S3) ARPT(S4)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpihpet0 at acpi0: 25000000 Hz
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Core(TM)2 Duo CPU U9600 @ 1.60GHz, 1597.02 MHz
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,XSAVE,NXE,LONG
cpu0: 3MB 64b/line 8-way L2 cache
cpu0: apic clock running at 199MHz
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Intel(R) Core(TM)2 Duo CPU U9600 @ 1.60GHz, 1596.78 MHz
cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,XSAVE,NXE,LONG
cpu1: 3MB 64b/line 8-way L2 cache
ioapic0 at mainbus0: apid 1 pa 0xfec00000, version 11, 24 pins
ioapic0: misconfigured as apic 0, remapped to apid 1
acpiec0 at acpi0
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 2 (IXVE)
acpicpu0 at acpi0: C3, C2, C1, PSS
acpicpu1 at acpi0: C3, C2, C1, PSS
acpiac0 at acpi0: AC unit online
acpibtn0 at acpi0: LID0
acpibtn1 at acpi0: PWRB
acpibtn2 at acpi0: SLPB
acpibat0 at acpi0: BAT0 model "3545797981023400290" type 3545797981528607052 oem "3545797981528673619"
cpu0: Enhanced SpeedStep 1596 MHz: speeds: 1600, 1400, 1200, 800 MHz
memory map conflict 0xffc00000/0x400000
pci0 at mainbus0 bus 0
mem address conflict 0xd3200000/0x80000
pchb0 at pci0 dev 0 function 0 vendor "NVIDIA", unknown product 0x0d60 rev 0xa1
vendor "NVIDIA", unknown product 0x0d68 (class memory subclass RAM, rev 0xa1) at pci0 dev 0 function 1 not configured
vendor "NVIDIA", unknown product 0x0d6d (class memory subclass RAM, rev 0xa1) at pci0 dev 1 function 0 not configured
vendor "NVIDIA", unknown product 0x0d6e (class memory subclass RAM, rev 0xa1) at pci0 dev 1 function 1 not configured
vendor "NVIDIA", unknown product 0x0d6f (class memory subclass RAM, rev 0xa1) at pci0 dev 1 function 2 not configured
vendor "NVIDIA", unknown product 0x0d70 (class memory subclass RAM, rev 0xa1) at pci0 dev 1 function 3 not configured
vendor "NVIDIA", unknown product 0x0d71 (class memory subclass RAM, rev 0xa1) at pci0 dev 2 function 0 not configured
vendor "NVIDIA", unknown product 0x0d72 (class memory subclass RAM, rev 0xa1) at pci0 dev 2 function 1 not configured
pcib0 at pci0 dev 3 function 0 vendor "NVIDIA", unknown product 0x0d80 rev 0xa2
vendor "NVIDIA", unknown product 0x0d7b (class memory subclass RAM, rev 0xa1) at pci0 dev 3 function 1 not configured
vendor "NVIDIA", unknown product 0x0d79 (class serial bus subclass SMBus, rev 0xa1) at pci0 dev 3 function 2 not configured
vendor "NVIDIA", unknown product 0x0d69 (class memory subclass RAM, rev 0xa1) at pci0 dev 3 function 3 not configured
vendor "NVIDIA", unknown product 0x0d7a (class processor subclass Co-processor, rev 0xa1) at pci0 dev 3 function 4 not configured
ohci0 at pci0 dev 4 function 0 vendor "NVIDIA", unknown product 0x0d9c rev 0xa1: apic 1 int 11 (irq 11), version 1.0, legacy support
ehci0 at pci0 dev 4 function 1 vendor "NVIDIA", unknown product 0x0d9d rev 0xa2: apic 1 int 10 (irq 10)
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "NVIDIA EHCI root hub" rev 2.00/1.00 addr 1
ohci1 at pci0 dev 6 function 0 vendor "NVIDIA", unknown product 0x0d9c rev 0xa1: apic 1 int 7 (irq 7), version 1.0, legacy support
ehci1 at pci0 dev 6 function 1 vendor "NVIDIA", unknown product 0x0d9d rev 0xa2: apic 1 int 5 (irq 5)
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 "NVIDIA EHCI root hub" rev 2.00/1.00 addr 1
azalia0 at pci0 dev 8 function 0 "NVIDIA MCP89 HD Audio" rev 0xa2: apic 1 int 15 (irq 15)
azalia0: codecs: Cirrus Logic/0x4206, NVIDIA/0x000c, NVIDIA/0x000c, NVIDIA/0x000c, using Cirrus Logic/0x4206
audio0 at azalia0
pciide0 at pci0 dev 10 function 0 "NVIDIA MCP89 AHCI" rev 0xa2: DMA (unsupported), channel 0 wired to native-PCI, channel 1 wired to native-PCI
pciide0: using apic 1 int 11 (irq 11) for native-PCI interrupt
wd0 at pciide0 channel 0 drive 0: <APPLE SSD TS128C>
wd0: 16-sector PIO, LBA48, 115712MB, 236978176 sectors
pciide0: channel 1 ignored (not responding; disabled or no drives?)
vendor "NVIDIA", unknown product 0x0d75 (class memory subclass RAM, rev 0xa1) at pci0 dev 11 function 0 not configured
ppb0 at pci0 dev 21 function 0 vendor "NVIDIA", unknown product 0x0d9b rev 0xa1: apic 1 int 16 (irq 255)
pci1 at ppb0 bus 1
vendor "Broadcom", unknown product 0x4353 (class network subclass miscellaneous, rev 0x01) at pci1 dev 0 function 0 not configured
ppb1 at pci0 dev 23 function 0 vendor "NVIDIA", unknown product 0x0d76 rev 0xa1
pci2 at ppb1 bus 2
vga1 at pci2 dev 0 function 0 vendor "NVIDIA", unknown product 0x08a2 rev 0xa2
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
isa0 at pcib0
isadma0 at isa0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
usb2 at ohci0: USB revision 1.0
uhub2 at usb2 "NVIDIA OHCI root hub" rev 1.00/1.00 addr 1
usb3 at ohci1: USB revision 1.0
uhub3 at usb3 "NVIDIA OHCI root hub" rev 1.00/1.00 addr 1
nvram: invalid checksum
mtrr: Pentium Pro MTRR support
axe0 at uhub0 port 1 configuration 1 interface 0 "ASIX Electronics AX88772" rev 2.00/0.01 addr 2
axe0: AX88772, address 00:1d:73:e6:8d:c6
ukphy0 at axe0 phy 16: Generic IEEE 802.3u media interface, rev. 1: OUI 0x000ec6, model 0x0006
uvideo0 at uhub0 port 6 configuration 1 interface 0 "Apple Inc. Built-in iSight" rev 2.00/6.25 addr 3
video0 at uvideo0
uhidev0 at uhub2 port 3 configuration 1 interface 0 "Apple Inc. Apple Internal Keyboard / Trackpad" rev 2.00/1.07 addr 2
uhidev0: iclass 3/1, 9 report ids
ukbd0 at uhidev0 reportid 1: 8 modifier keys, 6 key codes, country code 15
wskbd0 at ukbd0: console keyboard, using wsdisplay0
uhid0 at uhidev0 reportid 9: input=0, output=0, feature=3
uhidev1 at uhub2 port 3 configuration 1 interface 1 "Apple Inc. Apple Internal Keyboard / Trackpad" rev 2.00/1.07 addr 2
uhidev1: iclass 3/0, 68 report ids
uhid1 at uhidev1 reportid 68: input=511, output=0, feature=0
uhidev2 at uhub2 port 3 configuration 1 interface 2 "Apple Inc. Apple Internal Keyboard / Trackpad" rev 2.00/1.07 addr 2
uhidev2: iclass 3/1, 2 report ids
ums0 at uhidev2 reportid 2: 3 buttons
wsmouse0 at ums0 mux 0
uhub4 at uhub2 port 5 "Apple Inc. BRCM2070 Hub" rev 2.00/1.00 addr 3
uhidev3 at uhub4 port 1 configuration 1 interface 0 "Apple Computer product 0x820a" rev 2.00/1.00 addr 4
uhidev3: iclass 3/1, 1 report id
ukbd1 at uhidev3 reportid 1: 8 modifier keys, 6 key codes
wskbd1 at ukbd1 mux 1
wskbd1: connecting to wsdisplay0
uhidev4 at uhub4 port 2 configuration 1 interface 0 "Apple Computer product 0x820b" rev 2.00/1.00 addr 5
uhidev4: iclass 3/1, 2 report ids
ums1 at uhidev4 reportid 2: 3 buttons
wsmouse1 at ums1 mux 0
ugen0 at uhub4 port 3 "Apple Inc. Bluetooth USB Host Controller" rev 2.00/0.34 addr 6
softraid0 at root
root on wd0a swap on wd0b dump on wd0b
clock: unknown CMOS layout

# pcidump -v -xx
Domain /dev/pci0:
 0:0:0: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 0d60
	0x0004: Command: 0006 Status ID: 00a0
	0x0008: Class: 06 Subclass: 00 Interface: 00 Revision: a1
	0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 00
	0x0010: BAR empty (00000000)
	0x0014: BAR empty (00000000)
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
	0x0000: 0d6010de 00a00006 060000a1 00800000
	0x0010: 00000000 00000000 00000000 00000000
	0x0020: 00000000 00000000 00000000 00000000
	0x0030: 00000000 00000000 00000000 00000000
	0x0040: 00444448 15561556 00002821 00360113
	0x0050: 00000000 00000010 0000007f 7c160e52
	0x0060: 00000009 a0000078 ffffe408 ffffe400
	0x0070: 00000000 00000000 00000000 00000000
	0x0080: 00011111 13311111 8000004b 00075000
	0x0090: 00000d07 0771ffff 00449b30 000f0201
	0x00a0: 5f960181 97301e20 0007fd1f 15803000
	0x00b0: 00019083 000009e2 0000151d 00000000
	0x00c0: febfd7bf 00000000 00000000 00000000
	0x00d0: 0000fff3 00000000 00000000 00080000
	0x00e0: 00000000 00000000 00000000 00000000
	0x00f0: 00000001 00000000 00000000 00000aff
 0:0:1: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 0d68
	0x0004: Command: 0004 Status ID: 00a0
	0x0008: Class: 05 Subclass: 00 Interface: 00 Revision: a1
	0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 00
	0x0010: BAR empty (00000000)
	0x0014: BAR empty (00000000)
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
	0x0000: 0d6810de 00a00004 050000a1 00800000
	0x0010: 00000000 00000000 00000000 00000000
	0x0020: 00000000 00000000 00000000 00000000
	0x0030: 00000000 00000000 00000000 00000000
	0x0040: 01050000 00280000 00102000 00000000
	0x0050: 00000000 0001ffff 00000fff 00000000
	0x0060: 00000000 fef00000 00000000 00000000
	0x0070: 00000000 00000000 00000000 00000000
	0x0080: 00000000 00000000 00000000 00000000
	0x0090: 00000000 00000000 00000000 00000000
	0x00a0: 00000000 00000000 00000000 00000000
	0x00b0: 00000000 00000000 000000d2 00000000
	0x00c0: 00000000 00000000 00000000 00000000
	0x00d0: 00000000 00000000 00000000 00000000
	0x00e0: 00000000 00000000 00000000 00000000
	0x00f0: ffffe400 00000000 0000a3c0 00000000
 0:1:0: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 0d6d
	0x0004: Command: 0000 Status ID: 0020
	0x0008: Class: 05 Subclass: 00 Interface: 00 Revision: a1
	0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 00
	0x0010: BAR empty (00000000)
	0x0014: BAR empty (00000000)
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
	0x0000: 0d6d10de 00200000 050000a1 00800000
	0x0010: 00000000 00000000 00000000 00000000
	0x0020: 00000000 00000000 00000000 00000000
	0x0030: 00000000 00000000 00000000 00000000
	0x0040: 00000000 0004443f a9250054 0000023f
	0x0050: 00f0f87f 0c0c0c0c 0000000c 207f1b10
	0x0060: 71180081 00000000 00000000 05200041
	0x0070: 00000509 00000000 00000000 00030000
	0x0080: 234ac33f 00000005 040c0b69 77140056
	0x0090: 1400e40e 00805610 0d345e21 15691704
	0x00a0: 1b1b0000 01e01102 00270070 00000000
	0x00b0: 80008000 80008000 80008000 80008000
	0x00c0: 00000000 00000000 00000000 00000000
	0x00d0: 24612631 24612631 24612631 24612631
	0x00e0: 00000007 4f100110 000001f1 11711111
	0x00f0: 08ff1c10 98040418 00000011 00040345
 0:1:1: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 0d6e
	0x0004: Command: 0000 Status ID: 0020
	0x0008: Class: 05 Subclass: 00 Interface: 00 Revision: a1
	0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 00
	0x0010: BAR empty (00000000)
	0x0014: BAR empty (00000000)
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
	0x0000: 0d6e10de 00200000 050000a1 00800000
	0x0010: 00000000 00000000 00000000 00000000
	0x0020: 00000000 00000000 00000000 00000000
	0x0030: 00000000 00000000 00000000 00000000
	0x0040: 00000000 00000000 00000000 00000000
	0x0050: 00000000 00000000 00000000 80002a35
	0x0060: 00000000 00000000 00000001 00000001
	0x0070: 6fa01001 00000000 6fa01001 00000000
	0x0080: 43000802 03f04221 00802818 00706020
	0x0090: 18000013 08002013 08002000 08002000
	0x00a0: 08002000 80000000 01000b38 00100046
	0x00b0: 00000000 0000300c 00000000 00000000
	0x00c0: 00000000 818807e5 000000a0 00000301
	0x00d0: 00000000 00000000 00200408 00300000
	0x00e0: 56606202 566a2602 00401020 00000007
	0x00f0: 07208f00 00000000 00000000 00000000
 0:1:2: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 0d6f
	0x0004: Command: 0000 Status ID: 0020
	0x0008: Class: 05 Subclass: 00 Interface: 00 Revision: a1
	0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 00
	0x0010: BAR empty (00000000)
	0x0014: BAR empty (00000000)
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
	0x0000: 0d6f10de 00200000 050000a1 00800000
	0x0010: 00000000 00000000 00000000 00000000
	0x0020: 00000000 00000000 00000000 00000000
	0x0030: 00000000 00000000 00000000 00000000
	0x0040: 000000c8 00000000 840c0820 070000e7
	0x0050: 02010004 00080000 00032000 0200f000
	0x0060: 00000000 00000000 00000001 0000002f
	0x0070: 00000100 00000006 00000008 00000000
	0x0080: 00000000 00000000 00000000 00000000
	0x0090: 301f0008 18170008 00000000 00000000
	0x00a0: 00000020 00000000 00000000 00000000
	0x00b0: 00000000 00000000 00000000 00000000
	0x00c0: 00000000 00000000 00000000 00000000
	0x00d0: 00000000 00000000 00000000 00000000
	0x00e0: 00000000 00000000 00000000 00000000
	0x00f0: 0200ffff 000f0f0f 00000000 00000000
 0:1:3: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 0d70
	0x0004: Command: 0000 Status ID: 0020
	0x0008: Class: 05 Subclass: 00 Interface: 00 Revision: a1
	0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 00
	0x0010: BAR empty (00000000)
	0x0014: BAR empty (00000000)
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
	0x0000: 0d7010de 00200000 050000a1 00800000
	0x0010: 00000000 00000000 00000000 00000000
	0x0020: 00000000 00000000 00000000 00000000
	0x0030: 00000000 00000000 00000000 00000000
	0x0040: 98000008 00003410 00000000 00000000
	0x0050: 68000400 00000000 00004577 ff00ff00
	0x0060: ff00ff00 00000000 00000000 02020302
	0x0070: 02020201 00000000 00000000 00000000
	0x0080: 00000000 00000000 00000000 02010202
	0x0090: 02030204 00000000 00000000 00000000
	0x00a0: 00000000 00000000 00000000 0001ffff
	0x00b0: 20000004 20000004 00000000 00000000
	0x00c0: 00000000 00000000 00000000 00000000
	0x00d0: 00000000 00000000 00000000 00000000
	0x00e0: 02b306c4 02b3564c 00000000 00000000
	0x00f0: 00000000 00000000 00000000 00000000
 0:2:0: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 0d71
	0x0004: Command: 0000 Status ID: 0020
	0x0008: Class: 05 Subclass: 00 Interface: 00 Revision: a1
	0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 00
	0x0010: BAR empty (00000000)
	0x0014: BAR empty (00000000)
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
	0x0000: 0d7110de 00200000 050000a1 00800000
	0x0010: 00000000 00000000 00000000 00000000
	0x0020: 00000000 00000000 00000000 00000000
	0x0030: 00000000 00000000 00000000 00000000
	0x0040: 088001f9 00000000 00000000 00000000
	0x0050: 00000000 00000000 00000000 00000000
	0x0060: 00000000 00000000 00000000 00000000
	0x0070: 00000000 00000000 00000000 00000000
	0x0080: 00000000 00000000 00000000 00000000
	0x0090: 00000000 00000000 00000000 00000000
	0x00a0: 00000000 00000000 00000000 00000000
	0x00b0: 00000000 00000000 00000000 00000000
	0x00c0: 00000000 00000000 00000000 00000000
	0x00d0: 00000000 00000000 00000000 00000000
	0x00e0: 00000000 00000000 00000000 00000000
	0x00f0: 00000000 00000000 00000000 00000000
 0:2:1: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 0d72
	0x0004: Command: 0000 Status ID: 0020
	0x0008: Class: 05 Subclass: 00 Interface: 00 Revision: a1
	0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 00
	0x0010: BAR empty (00000000)
	0x0014: BAR empty (00000000)
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
	0x0000: 0d7210de 00200000 050000a1 00800000
	0x0010: 00000000 00000000 00000000 00000000
	0x0020: 00000000 00000000 00000000 00000000
	0x0030: 00000000 00000000 00000000 00000000
	0x0040: 00003830 0000ffff 050a3a98 00000180
	0x0050: 00000000 00001f1f 0f0f0f0f 000091a0
	0x0060: 0f0f0f0f 0f0f0f0f 0f0f0f0f 000091a0
	0x0070: 0f0f0f0f 0f0f0f0f 00000016 00000f0f
	0x0080: 00000f0f 000091a0 0f0f0f0f 0f0f0f0f
	0x0090: 0f0f0f0f 0f0f0f0f 0f0f0f0f 0f0f0f0f
	0x00a0: 0f0f0f0f 000091a0 0f0f0f0f 0f0f0f0f
	0x00b0: 800a0a0a 11444444 44444444 00444444
	0x00c0: 04000000 04000000 00000000 00000000
	0x00d0: 00000000 00000f0f 00000f0f 00000000
	0x00e0: 00000000 00000000 00000044 00000044
	0x00f0: 0200ffff 00000000 0f0f0f0f 0f0f0f0f
 0:3:0: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 0d80
	0x0004: Command: 000f Status ID: 00a0
	0x0008: Class: 06 Subclass: 01 Interface: 00 Revision: a2
	0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 00
	0x0010: BAR io addr: 0x00002100
	0x0014: BAR empty (00000000)
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 106b Product ID: cb89
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 00 Line: ff Min Gnt: 00 Max Lat: 00
	0x0000: 0d8010de 00a0000f 060100a2 00800000
	0x0010: 00002101 00000000 00000000 00000000
	0x0020: 00000000 00000000 00000000 cb89106b
	0x0030: 00000000 00000000 00000000 000000ff
	0x0040: cb89106b fed00000 00000000 00000000
	0x0050: 00000000 02625a00 05000000 013c0bff
	0x0060: 00000000 00000000 00000000 00010118
	0x0070: ffff0050 0017044d 60440400 00000000
	0x0080: ff000000 00000000 07400000 000000ff
	0x0090: 00007c00 000fffff 00000000 f6debfc5
	0x00a0: 31000003 00010000 031f0300 07ff0700
	0x00b0: 00000000 00000000 00000000 dfb33366
	0x00c0: 00000000 00000000 00000000 00000000
	0x00d0: 00000000 00000000 00000000 00000300
	0x00e0: 290b7483 5aaf39ac 5cc00009 00000000
	0x00f0: fe001600 000000fd 80800010 00000000
 0:3:1: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 0d7b
	0x0004: Command: 0400 Status ID: 00a0
	0x0008: Class: 05 Subclass: 00 Interface: 00 Revision: a1
	0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 00
	0x0010: BAR empty (00000000)
	0x0014: BAR empty (00000000)
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
	0x0000: 0d7b10de 00a00400 050000a1 00800000
	0x0010: 00000000 00000000 00000000 00000000
	0x0020: 00000000 00000000 00000000 00000000
	0x0030: 00000000 00000000 00000000 00000000
	0x0040: 00000000 00000000 00000000 00000000
	0x0050: 00000000 00000000 00000000 00000000
	0x0060: 0000000b 00000000 05070a0b 0e0f0009
	0x0070: 00000b0f 00000000 00000000 00000000
	0x0080: 00000000 00000000 00000000 00000003
	0x0090: 0000000e 00000000 00000000 00000000
	0x00a0: 00000000 00000000 00000000 00000000
	0x00b0: 00000000 00000000 00000000 00000000
	0x00c0: 00000000 00000000 00000000 00000000
	0x00d0: 00000000 00000000 00000000 00000000
	0x00e0: 00000000 00000000 00000000 00000000
	0x00f0: 00000000 00000000 0000005d 00000000
 0:3:2: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 0d79
	0x0004: Command: 0001 Status ID: 00b0
	0x0008: Class: 0c Subclass: 05 Interface: 00 Revision: a1
	0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 00
	0x0010: BAR io addr: 0x00000000
	0x0014: BAR empty (00000000)
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR io addr: 0x00002240
	0x0024: BAR io addr: 0x00002200
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 10de Product ID: cb89
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 01 Line: 0f Min Gnt: 00 Max Lat: 00
	0x0044: Capability 0x01: Power Management
	0x0000: 0d7910de 00b00001 0c0500a1 00800000
	0x0010: 00000001 00000000 00000000 00000000
	0x0020: 00002241 00002201 00000000 cb8910de
	0x0030: 00000000 00000044 00000000 0000010f
	0x0040: cb8910de c0020001 00000000 0000966a
	0x0050: 0000966a 00000000 00000000 00000000
	0x0060: 00000401 00000501 00000801 00000000
	0x0070: 00000000 00000000 00000000 00000001
	0x0080: fef00000 00000000 00000000 00000000
	0x0090: 00000000 00000000 00000000 00000000
	0x00a0: 000001a2 00000000 00000000 00000000
	0x00b0: 00000000 00000000 00000000 00000000
	0x00c0: 018030d5 00000001 0a008220 19190d0d
	0x00d0: 00c088c0 00010010 00000005 80000011
	0x00e0: 10021000 410302f0 20000480 00444423
	0x00f0: 00000002 00000000 80800090 00000000
 0:3:3: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 0d69
	0x0004: Command: 0000 Status ID: 0020
	0x0008: Class: 05 Subclass: 00 Interface: 00 Revision: a1
	0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 00
	0x0010: BAR empty (00000000)
	0x0014: BAR empty (00000000)
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
	0x0000: 0d6910de 00200000 050000a1 00800000
	0x0010: 00000000 00000000 00000000 00000000
	0x0020: 00000000 00000000 00000000 00000000
	0x0030: 00000000 00000000 00000000 00000000
	0x0040: 00000000 00000000 492880c8 00000000
	0x0050: 00000000 00000000 00000000 00000000
	0x0060: 0000ffff 00040012 0000ffff 00100006
	0x0070: c03c7103 09800002 00100000 00000000
	0x0080: 00000000 00000000 00000000 00000000
	0x0090: 00000000 00000000 00000000 00000000
	0x00a0: 00000000 00000000 00000000 00000000
	0x00b0: 00000000 72402001 00000082 00234561
	0x00c0: ffffffff ffffbfff 00000403 00000000
	0x00d0: 00000110 00000000 00000016 e8130202
	0x00e0: 00000001 00060080 03cc0080 00000265
	0x00f0: 1b1b1b1b 0001ff00 00000000 06e40000
 0:3:4: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 0d7a
	0x0004: Command: 0006 Status ID: 00a0
	0x0008: Class: 0b Subclass: 40 Interface: 00 Revision: a1
	0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 00
	0x0010: BAR empty (00000000)
	0x0014: BAR empty (00000000)
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 10de Product ID: cb89
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 02 Line: 0e Min Gnt: 03 Max Lat: 01
	0x0000: 0d7a10de 00a00006 0b4000a1 00800000
	0x0010: 00000000 00000000 00000000 00000000
	0x0020: 00000000 00000000 00000000 cb8910de
	0x0030: 00000000 00000000 00000000 0103020e
	0x0040: cb8910de 00000000 00000000 00000000
	0x0050: 00000000 00000000 00000000 00000000
	0x0060: 00000000 00000000 00000000 00000000
	0x0070: 00000000 00000000 00000000 00000000
	0x0080: 00000000 00000000 00000000 00000000
	0x0090: 00000000 00000000 00000000 00000000
	0x00a0: 00000000 00000000 00000000 00000000
	0x00b0: 00000000 00000000 00000000 00000000
	0x00c0: 00000000 00000000 00000000 00000000
	0x00d0: 00000000 00000000 00000000 00000000
	0x00e0: 00000000 00000000 00000000 00000000
	0x00f0: 00000000 00000000 00000000 00000000
 0:4:0: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 0d9c
	0x0004: Command: 0007 Status ID: 00b0
	0x0008: Class: 0c Subclass: 03 Interface: 10 Revision: a1
	0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 00
	0x0010: BAR mem 32bit addr: 0xd328a000
	0x0014: BAR empty (00000000)
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 10de Product ID: cb89
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 01 Line: 0b Min Gnt: 03 Max Lat: 01
	0x0044: Capability 0x01: Power Management
	0x0000: 0d9c10de 00b00007 0c0310a1 00800000
	0x0010: d328a000 00000000 00000000 00000000
	0x0020: 00000000 00000000 00000000 cb8910de
	0x0030: 00000000 00000044 00000000 0103010b
	0x0040: cb8910de fe020001 00008000 00000000
	0x0050: 00000014 0040471d 00000010 031f0010
	0x0060: 00000000 00000000 00000000 00000000
	0x0070: 00000000 00000000 00000000 00000000
	0x0080: 00000000 00000000 00000000 00000000
	0x0090: 00000000 00000000 00000000 00000000
	0x00a0: 00000000 00000000 00000000 00000000
	0x00b0: 00000000 00000000 00000000 00000000
	0x00c0: 00000000 00000000 00000000 00000000
	0x00d0: 00000000 00000000 35ec7fa9 00000000
	0x00e0: 00000000 00000000 00000000 00000000
	0x00f0: 596cd3eb 00000000 80c00000 00000000
 0:4:1: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 0d9d
	0x0004: Command: 0006 Status ID: 00b0
	0x0008: Class: 0c Subclass: 03 Interface: 20 Revision: a2
	0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 00
	0x0010: BAR mem 32bit addr: 0xd328b100
	0x0014: BAR empty (00000000)
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 10de Product ID: cb89
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 02 Line: 0a Min Gnt: 03 Max Lat: 01
	0x0044: Capability 0x0a: Debug Port
	0x0080: Capability 0x01: Power Management
	0x0000: 0d9d10de 00b00006 0c0320a2 00800000
	0x0010: d328b100 00000000 00000000 00000000
	0x0020: 00000000 00000000 00000000 cb8910de
	0x0030: 00000000 00000044 00000000 0103020a
	0x0040: cb8910de 20a0800a 00000000 00000000
	0x0050: 00000000 00000000 00000000 00000000
	0x0060: 00012020 85186000 01203e03 00000000
	0x0070: 00080000 80201000 22b63d89 00442577
	0x0080: fe020001 00008000 00000fc0 00001615
	0x0090: 00000100 00000000 00000000 00000000
	0x00a0: 01000001 c0000000 0000001d 00000000
	0x00b0: 3fff2ff0 0000ff1f 0000003f 00011010
	0x00c0: 0d2d1010 00000000 00000000 e659b8dd
	0x00d0: 00000000 00000000 00000000 00000000
	0x00e0: 00000000 001c0100 00000000 5d99dbd3
	0x00f0: 00000000 00000000 80c00010 00000000
 0:6:0: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 0d9c
	0x0004: Command: 0007 Status ID: 00b0
	0x0008: Class: 0c Subclass: 03 Interface: 10 Revision: a1
	0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 00
	0x0010: BAR mem 32bit addr: 0xd3289000
	0x0014: BAR empty (00000000)
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 10de Product ID: cb89
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 01 Line: 07 Min Gnt: 03 Max Lat: 01
	0x0044: Capability 0x01: Power Management
	0x0000: 0d9c10de 00b00007 0c0310a1 00800000
	0x0010: d3289000 00000000 00000000 00000000
	0x0020: 00000000 00000000 00000000 cb8910de
	0x0030: 00000000 00000044 00000000 01030107
	0x0040: cb8910de fe020001 00000000 00000000
	0x0050: 00000000 0040471d 00000010 031f0010
	0x0060: 00000000 00000000 00000000 00000000
	0x0070: 00000000 00000000 00000000 00000000
	0x0080: 00000000 00000000 00000000 00000000
	0x0090: 00000000 00000000 00000000 00000000
	0x00a0: 00000000 00000000 00000000 00000000
	0x00b0: 00000000 00000000 00000000 00000000
	0x00c0: 00000000 00000000 00000000 00000000
	0x00d0: 00000000 00000000 87fe68d7 00000000
	0x00e0: 00000000 00000000 00000000 00000000
	0x00f0: c2a09629 00000000 80c00000 00000000
 0:6:1: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 0d9d
	0x0004: Command: 0006 Status ID: 00b0
	0x0008: Class: 0c Subclass: 03 Interface: 20 Revision: a2
	0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 00
	0x0010: BAR mem 32bit addr: 0xd328b000
	0x0014: BAR empty (00000000)
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 10de Product ID: cb89
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 02 Line: 05 Min Gnt: 03 Max Lat: 01
	0x0044: Capability 0x0a: Debug Port
	0x0080: Capability 0x01: Power Management
	0x0000: 0d9d10de 00b00006 0c0320a2 00800000
	0x0010: d328b000 00000000 00000000 00000000
	0x0020: 00000000 00000000 00000000 cb8910de
	0x0030: 00000000 00000044 00000000 01030205
	0x0040: cb8910de 20a0800a 00000000 00000000
	0x0050: 00000000 00000000 00000000 00000000
	0x0060: 00012020 85186000 01203e03 00000000
	0x0070: 00080000 80201000 22b63d89 00042577
	0x0080: fe020001 00008000 00000000 00001615
	0x0090: 00000100 00000000 00000000 00000000
	0x00a0: 01000001 e0080000 0000001d 00000000
	0x00b0: 33221100 00003333 00000fc0 00011010
	0x00c0: 0d2d1010 00000000 00000000 21a3a3a8
	0x00d0: 00000000 00000000 00000000 00000000
	0x00e0: 00000000 001c0100 00000000 090d0004
	0x00f0: 00000000 00000000 80c00010 00000000
 0:8:0: NVIDIA MCP89 HD Audio
	0x0000: Vendor ID: 10de Product ID: 0d94
	0x0004: Command: 0006 Status ID: 00b0
	0x0008: Class: 04 Subclass: 03 Interface: 00 Revision: a2
	0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 00
	0x0010: BAR mem 32bit addr: 0xd3280000
	0x0014: BAR empty (00000000)
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 10de Product ID: cb89
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 01 Line: 0f Min Gnt: 02 Max Lat: 05
	0x0044: Capability 0x01: Power Management
	0x0050: Capability 0x05: Message Signaled Interrupts (MSI)
	0x006c: Capability 0x08: AMD LDT/HT
	0x0000: 0d9410de 00b00006 040300a2 00000000
	0x0010: d3280000 00000000 00000000 00000000
	0x0020: 00000000 00000000 00000000 cb8910de
	0x0030: 00000000 00000044 00000000 0502010f
	0x0040: cb8910de c0025001 00000000 010f0101
	0x0050: 01806c05 00000000 00000000 00000000
	0x0060: 00000000 00000000 0000000f a8020008
	0x0070: 00000000 00000000 00001414 00000000
	0x0080: 000a0914 00000000 00000000 00000000
	0x0090: 01010101 00000101 00000000 00000000
	0x00a0: 00000000 00000020 00000000 00000000
	0x00b0: 00000000 00000000 00000000 00000000
	0x00c0: f22fbfdf f9b6e7ef 00000000 00000000
	0x00d0: 00000000 00000000 00000000 00000000
	0x00e0: 00000000 00000000 00000000 00000000
	0x00f0: 00000000 47f40000 00c02980 00000000
 0:10:0: NVIDIA MCP89 AHCI
	0x0000: Vendor ID: 10de Product ID: 0d85
	0x0004: Command: 0007 Status ID: 00b0
	0x0008: Class: 01 Subclass: 01 Interface: 85 Revision: a2
	0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 00
	0x0010: BAR io addr: 0x00002298
	0x0014: BAR io addr: 0x000022a4
	0x0018: BAR io addr: 0x00002290
	0x001c: BAR io addr: 0x000022a0
	0x0020: BAR io addr: 0x00002280
	0x0024: BAR mem 32bit addr: 0xd3284000
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 106b Product ID: cb89
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 01 Line: 0b Min Gnt: 03 Max Lat: 01
	0x0044: Capability 0x01: Power Management
	0x008c: Capability 0x12: Reserved
	0x00b0: Capability 0x05: Message Signaled Interrupts (MSI)
	0x0000: 0d8510de 00b00007 010185a2 00000000
	0x0010: 00002299 000022a5 00002291 000022a1
	0x0020: 00002281 d3284000 00000000 cb89106b
	0x0030: 00000000 00000044 00000000 0103010b
	0x0040: cb89106b 00028c01 00000000 00000000
	0x0050: 0000000b 00000000 00000000 00000000
	0x0060: 00000000 00000000 00000000 00000000
	0x0070: 00000000 00000000 00000000 00000000
	0x0080: 00000000 00000000 00000000 0010b012
	0x0090: 0000025f 00000000 e620ff00 00000000
	0x00a0: 00000000 00000000 00000000 00000000
	0x00b0: 00860005 00000000 00000000 00000000
	0x00c0: 00000000 00000000 00000000 00000000
	0x00d0: 00000000 00000000 00000000 00000000
	0x00e0: 00000000 00000000 00000000 a8020008
	0x00f0: 00000000 00000000 509fc000 00000000
 0:11:0: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 0d75
	0x0004: Command: 0006 Status ID: 00b0
	0x0008: Class: 05 Subclass: 00 Interface: 00 Revision: a1
	0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 00
	0x0010: BAR mem 32bit addr: 0xd3288000
	0x0014: BAR empty (00000000)
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 01 Line: 00 Min Gnt: 01 Max Lat: 14
	0x0044: Capability 0x01: Power Management
	0x0050: Capability 0x05: Message Signaled Interrupts (MSI)
	0x0000: 0d7510de 00b00006 050000a1 00000000
	0x0010: d3288000 00000000 00000000 00000000
	0x0020: 00000000 00000000 00000000 00000000
	0x0030: 00000000 00000044 00000000 14010100
	0x0040: 00000000 00025001 00000000 00000000
	0x0050: 01800005 00000000 00000000 00000000
	0x0060: 00000000 00000000 00000000 a8020008
	0x0070: 00000000 00000000 00000000 00000000
	0x0080: 00000000 00000000 00000000 00000000
	0x0090: 00000000 00000000 00000000 00000000
	0x00a0: 00000000 00000000 00000000 00000000
	0x00b0: 00000000 00000000 00000000 00000000
	0x00c0: 00000000 00000000 00000000 00000000
	0x00d0: 00000000 00000000 00000000 00000000
	0x00e0: 00000000 00000000 00000000 00000000
	0x00f0: 00000000 0dcfd5e9 80c08002 00000000
 0:21:0: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 0d9b
	0x0004: Command: 0007 Status ID: 0010
	0x0008: Class: 06 Subclass: 04 Interface: 00 Revision: a1
	0x000c: BIST: 00 Header Type: 01 Latency Timer: 00 Cache Line Size: 40
	0x0010: 00000000
	0x0014: 00000000
	0x0018: Primary Bus: 0 Secondary Bus: 1 Subordinate Bus: 1 
	        Secondary Latency Timer: 00
	0x001c: I/O Base: f1 I/O Limit: 01 Secondary Status: 2000
	0x0020: Memory Base: d310 Memory Limit: d310
	0x0024: Prefetch Memory Base: fff1 Prefetch Memory Limit: 0001
	0x0028: Prefetch Memory Base Upper 32 Bits: ffffffff
	0x002c: Prefetch Memory Limit Upper 32 Bits: 00000000
	0x0030: I/O Base Upper 16 Bits: ffff I/O Limit Upper 16 Bits: 0000
	0x0038: Expansion ROM Base Address: 00000000
	0x003c: Interrupt Pin: 01 Line: ff Bridge Control: 0000
	0x0040: Capability 0x0d: PCI-PCI
	0x0048: Capability 0x01: Power Management
	0x0050: Capability 0x05: Message Signaled Interrupts (MSI)
	0x0060: Capability 0x08: AMD LDT/HT
	0x0080: Capability 0x10: PCI Express
	        Link Speed: 2.5 / 2.5 Gb/s Link Width: x1 / x1
	0x0000: 0d9b10de 00100007 060400a1 00010040
	0x0010: 00000000 00000000 00010100 200001f1
	0x0020: d310d310 0001fff1 ffffffff 00000000
	0x0030: 0000ffff 00000040 00000000 000001ff
	0x0040: 0000480d 000010de f8035001 00000000
	0x0050: 00826005 00000000 00000000 00000000
	0x0060: a8008008 fee00000 00000000 00000000
	0x0070: 00000000 00000000 00000000 00000000
	0x0080: 01410010 00008020 00002810 04313c11
	0x0090: 70110042 00000000 004011e8 00000000
	0x00a0: 00000000 00000013 00000006 00000000
	0x00b0: 00000000 00000000 00000000 00000000
	0x00c0: 00000000 00000000 00000000 00000000
	0x00d0: 00000000 00000000 00000000 00000000
	0x00e0: 00000000 00000000 00000000 00000000
	0x00f0: 00000000 00000000 00000000 00000000
 0:23:0: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 0d76
	0x0004: Command: 0007 Status ID: 0010
	0x0008: Class: 06 Subclass: 04 Interface: 00 Revision: a1
	0x000c: BIST: 00 Header Type: 01 Latency Timer: 00 Cache Line Size: 40
	0x0010: 00000000
	0x0014: 00000000
	0x0018: Primary Bus: 0 Secondary Bus: 2 Subordinate Bus: 2 
	        Secondary Latency Timer: 00
	0x001c: I/O Base: 11 I/O Limit: 11 Secondary Status: 2000
	0x0020: Memory Base: d200 Memory Limit: d300
	0x0024: Prefetch Memory Base: c001 Prefetch Memory Limit: d1f1
	0x0028: Prefetch Memory Base Upper 32 Bits: 00000000
	0x002c: Prefetch Memory Limit Upper 32 Bits: 00000000
	0x0030: I/O Base Upper 16 Bits: 0000 I/O Limit Upper 16 Bits: 0000
	0x0038: Expansion ROM Base Address: 00000000
	0x003c: Interrupt Pin: 00 Line: ff Bridge Control: 0008
	0x0040: Capability 0x0d: PCI-PCI
	0x0048: Capability 0x01: Power Management
	0x0050: Capability 0x05: Message Signaled Interrupts (MSI)
	0x0000: 0d7610de 00100007 060400a1 00010040
	0x0010: 00000000 00000000 00020200 20001111
	0x0020: d300d200 d1f1c001 00000000 00000000
	0x0030: 00000000 00000040 00000000 000800ff
	0x0040: 0000480d 000010de c8025001 00000008
	0x0050: 00800005 00000000 00000000 00000000
	0x0060: a8000008 fee00000 00000000 00000000
	0x0070: 00000000 00000000 00000000 00000000
	0x0080: 00000000 00000000 00000000 00ffffff
	0x0090: 00000000 ffff01ff 00040408 000e0104
	0x00a0: 80000070 00006270 10101010 01010101
	0x00b0: 000010de 00000000 00000000 00000000
	0x00c0: 00000000 00000000 00000000 00000000
	0x00d0: 00000000 00000000 00000000 00000000
	0x00e0: 00000000 00000000 00000000 00000000
	0x00f0: 00000000 00000000 00000000 00000000
 1:0:0: Broadcom unknown
	0x0000: Vendor ID: 14e4 Product ID: 4353
	0x0004: Command: 0006 Status ID: 0010
	0x0008: Class: 02 Subclass: 80 Interface: 00 Revision: 01
	0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 40
	0x0010: BAR mem 64bit addr: 0x00000000d3100000
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 106b Product ID: 00d1
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 01 Line: 0e Min Gnt: 00 Max Lat: 00
	0x0040: Capability 0x01: Power Management
	0x0058: Capability 0x09: Vendor Specific
	0x0048: Capability 0x05: Message Signaled Interrupts (MSI)
	0x00d0: Capability 0x10: PCI Express
	        Link Speed: 2.5 / 2.5 Gb/s Link Width: x1 / x1
	0x0000: 435314e4 00100006 02800001 00000040
	0x0010: d3100004 00000000 00000000 00000000
	0x0020: 00000000 00000000 00000000 00d1106b
	0x0030: 00000000 00000040 00000000 0000010e
	0x0040: ce035801 00004008 0080d005 00000000
	0x0050: 00000000 00000000 00784809 0000000f
	0x0060: 00000000 00000000 00000000 00000000
	0x0070: 00000000 00000000 00000000 00000000
	0x0080: 18001000 00000000 00000000 00000003
	0x0090: 00000000 00000100 00000000 00000000
	0x00a0: 00000000 00000000 00010000 00000000
	0x00b0: 00000000 00000000 00000000 00000000
	0x00c0: 00000000 00000000 00000000 00000000
	0x00d0: 00010010 00008fa0 00190000 00176c11
	0x00e0: 30110143 00000000 00000000 00000000
	0x00f0: 00000000 00000000 00000000 00000000
 2:0:0: NVIDIA unknown
	0x0000: Vendor ID: 10de Product ID: 08a2
	0x0004: Command: 0007 Status ID: 0010
	0x0008: Class: 03 Subclass: 00 Interface: 00 Revision: a2
	0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 40
	0x0010: BAR mem 32bit addr: 0xd2000000
	0x0014: BAR mem prefetchable 64bit addr: 0x00000000c0000000
	0x001c: BAR mem prefetchable 64bit addr: 0x00000000d0000000
	0x0024: BAR io addr: 0x00001000
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 106b Product ID: 00d4
	0x0030: Expansion ROM Base Address: d3000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 01 Line: 0b Min Gnt: 00 Max Lat: 00
	0x0060: Capability 0x01: Power Management
	0x0068: Capability 0x05: Message Signaled Interrupts (MSI)
	0x00e0: Capability 0x09: Vendor Specific
	0x0000: 08a210de 00100007 030000a2 00000040
	0x0010: d2000000 c000000c 00000000 d000000c
	0x0020: 00000000 00001001 00000000 00d4106b
	0x0030: d3000000 00000060 00000000 0000010b
	0x0040: 00d4106b 00000000 00000000 00000000
	0x0050: 00000001 00000001 0023d6ce 00000000
	0x0060: 00036801 00000008 0080e005 00000000
	0x0070: 00000000 00000000 00000320 00000000
	0x0080: 00000000 00000000 00000000 00000000
	0x0090: 03000007 00110003 80056b11 0000003e
	0x00a0: 00000000 00000000 00000000 00000000
	0x00b0: 00000000 00000000 00000000 00000000
	0x00c0: 00000000 00000000 00000000 00000000
	0x00d0: 00000000 00000000 00000000 00000000
	0x00e0: 01140009 00000000 00000000 00000000
	0x00f0: 00000000 000af000 00010000 00000000

2010-11-21 [Windows] 環境構築ネタ


珍しくWindowsネタ。最近端末をWindows2000からWindows7に変えたのでメモっておく。

・SendToにドライブを表示させない
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDrivesInSendToMenu"=dword:00000001
これで「送る」メニューからドライブ消せる。

・ゲームコントローラの設定は「コントロールパネル」→「デバイスとプリンター」にある。(訳がわからない)

・tclock は
http://www22.atpages.jp/tclock2ch/
http://k-takata.bbs.coocan.jp/?m=listthread&t_id=56

あたりを入れる。一部機能が動かない。

・synergy
synergy+ は微妙に不安定だったので 1.3.1 で問題なかった。
http://sourceforge.net/projects/synergy2/files/


・右クリックメニューの ATI Catalyst Control Center を消す
regsvr32 /u atiacmxx.dll

・7 Taskbar Tweaker を入れる

・context viewerは問題なく動く

・target.dll はダメだった…似たようなの無いのか。

2010-10-16 getrusage


#include <stdio.h>
#include <sys/resource.h>
#include <sys/param.h>

int
main(int argc, char *argv[])
{
	struct rusage r;
	int i;

	for (i = 0; ; i++) {
#if 1
		int j;
		if ((i % 30) == 0) {
			for (j = 0; j < 1000000; j++)
				;
		}
#endif

		getrusage(RUSAGE_SELF, &r);

#ifdef __FreeBSD__
		printf("%8d.%06ld\n", r.ru_stime.tv_sec, r.ru_stime.tv_usec);
#elif defined(__NetBSD__)
#if (__NetBSD_Version__ >= 599000700)
		printf("%8llu.%06d\n", r.ru_stime.tv_sec, r.ru_stime.tv_usec);
#else
		printf("%8ld.%06ld\n", r.ru_stime.tv_sec, r.ru_stime.tv_usec);
#endif
#else
		printf("%8ld.%06ld\n", r.ru_stime.tv_sec, r.ru_stime.tv_usec);
#endif
		fflush(stdout);
	}
	return 0;
}

をNetBSDで実行したら

           :
       0.010464
       0.010465
       0.010465
       0.010465
       0.009998
       0.009998
       0.009999
       0.009999
           :

のように ru_stime が巻き戻ることがある。豪謎。

#if 1 の空ループを入れると起きやすくなるっぽい気がする。
(でも入れなくても起きた)

スケジューラまわり? 忙しいので詳細調査は後日。

2010-09-11 WAPBL


のバグを見つけたのでPRしておいた。

http://gnats.netbsd.org/43336/ http://gnats.netbsd.org/43827/
もうcloseされてしまったが、PR/43336 の方は再現手順を確立したのでメモっておく。

netbsd# cd /var/tmp
netbsd# ln -s J /etc/malloc.conf
netbsd# dd if=/dev/zero of=xxx.fs bs=1m count=128
128+0 records in
128+0 records out
134217728 bytes transferred in 2.263 secs (59309645 bytes/sec)
netbsd# newfs -F -O 2 xxx.fs
xxx.fs: 128.0MB (262144 sectors) block size 8192, fragment size 1024
using 4 cylinder groups of 32.00MB, 4096 blks, 7712 inodes.
super-block backups (for fsck_ffs -b #) at:
144, 65680, 131216, 196752,
netbsd# vnconfig vnd0 xxx.fs
netbsd# mount -o log /dev/vnd0a /mnt
netbsd# cp /netbsd /mnt
netbsd# cp xxx.fs xxx.live.fs
netbsd# fsck_ffs -ny xxx.live.fs
xxx.live.fs is not a character device
CONTINUE? yes

** xxx.live.fs
fsck_ffs: ioctl (DIOCGWEDGEINFO): Inappropriate ioctl for device
assertion "wr->wr_blkhashcnt > 0" failed: file "/home/builds/ab/netbsd-5-1-RC3/src/sys/kern/vfs_wapbl.c", line 2156, function "wapbl_blkhash_clear"
Abort

2010-08-17 print contents of HTML event


javascriptでxevみたいなのを作った

2010-08-02 MTU size detection with ICMP


JumboFrame対応とそうでないNICやHubとが混在したセグメントでは、間にルータが挟まらないのでPMTUDも効かず、色々問題が起こる。

これまでの経緯。というわけで、ICMP-echo を使ったものをちゃんと作った→adjustmtu
  • DontFragmentビットを立てた色々なサイズのICMP echo-requestを対象ホストへ送信して、ICMP echo-replyが帰ってきたらそのサイズのMTUが到達可能とみなす
  • サイズ選択は32768から開始して1500(or 1280)〜65536間でbinary search
  • ICMP echoがタイムアウトした場合は3回リトライする

以上でJumboFrameであるなしにかかわらず、MTUサイズを検出できる。

検出したら route change host -mtu mtusize 相当を行い、ルーティングテーブルにMTUサイズを設定する。

daemonモード(adjustmtu -d interface)では、ルーティングソケットを監視して、interface上でarp tableが追加された瞬間に上記のことを自動的に行う。

NetBSD, OpenBSD, FreeBSD で動作確認。

DragonFlyBSDは route change host -mtu mtusize ができないようなので非サポート。
ちなみに DragonFlyBSD で adjustmtu -o host するとカーネルごとお亡くなりになります。(DragonFlyBSDのRAW_SOCKETまわりのバグっぽい)
Linuxはよくわからないのでパス1。




pingに答えないホストは? 当然答えない奴が悪い。(daemonモードだとMTU=1500とみなす)

2010-07-06 NetBSD/netwalker #3.1


NetBSD単体でのNetWalkerのbootable SDカードの作成。とりあえず2GのSDカードで試した。

> disklabel -Ii sd1
	(Wしておく)
> disklabel -e sd1
	(以下のように書く)
> disklabel sd1
# /dev/rsd1d:
type: SCSI
disk: SD/MMCReader    
label: fictitious
flags: removable
bytes/sector: 512
sectors/track: 32
tracks/cylinder: 64
sectors/cylinder: 2048
cylinders: 1938
total sectors: 3970048
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0           # microseconds
track-to-track seek: 0  # microseconds
drivedata: 0 

6 partitions:
#        size    offset     fstype [fsize bsize cpg/sgs]
 a:   3970047         1 Linux Ext2      0     0        # (Cyl.      0*-   1938*)
 d:   3970048         0     unused      0     0        # (Cyl.      0 -   1938*)

> newfs_ext2fs -O 1 /dev/rsd1a
/dev/rsd1a: 1938.5MB (3970047 sectors) block size 4096, fragment size 4096
        using 16 block groups of 128.0MB, 32768 blks, 15520 inodes.
super-block backups (for fsck_ext2fs -b #) at:
32768, 98304, 163840, 229376, 294912,

> mount /dev/sd1a /mnt
> mkdir /mnt/boot
> echo /boot/netbsd.bin > /mnt/boot/boot.conf
> cp /usr/src/sys/arch/evbarm/compile/IMX51NETWALKER/netbsd.bin /mnt/boot/netbsd.bin
> umount /mnt

で boot するSDカードができた。(※)
大事な点は、Linux ext2fs の開始 offset を 1 にするのと、newfs_ext2fs -O 1 にしなければならない所。でないとbootしなかった。(内蔵flashから起動してしまう)

/boot/boot.conf に書くファイル名は場所さえ合ってればどこでもいいと思われ。試してないけどELF直接は無理かな

メモ。オリジナルのboot.conf
/boot/zImage quiet noinitrd root=/dev/mmcblk0p1 rw rootfstype=ext2 rootdelay=3 console=ttymxc0,115200

デバッグ用
/boot/zImage debug noinitrd root=/dev/mmcblk0p1 rw rootfstype=ext2 rootdelay=3 console=mxcuart,0x73fbc000,115200

(※)2015-04-24追記
newfsのblocksizeは4096でないとダメのようです。上では偶然4kになってますが、サイズの違うSDカードを使う場合は newfs_ext2fs -O 1 -b 4096 のようにしないといけないので注意。(参考: http://d.hatena.ne.jp/nonakap/20150424 )

2010-06-21 NetBSD/netwalker #3


割り込みキタ━━━━━━(゚∀゚)━━━━━━!!

というか cpsie(I32_bit) するだけであっさり割り込んだ件について。結局ロードアドレスは関係なかったのであった。 enable_interrupts(I32_bit) は一度試した気がするんだけど、それで割り込まなかったのはtzicや割り込みプライオリティマスクあたりの設定がまずかったのかなぁ。 まぁ動いたから無駄に過去を振り返るのはやめよう。謎なハマり方をするのはよくあることだ。

NetWalker/linuxの方もcross buildできるようにして、たっぷりprintfを入れて何度か動かしたので、ちょっとずつわかってきた。

というわけでガリガリと各種ドライバのテンプレを書く。
タイマは最初はEPIT(Enhanced Periodic Interrupt Timer)を使っていたのだが、GPT(General Porpose Timer)を使えば一つのタイマで3つのカウンタを使って割り込みかけられるので、 gptを使ってhardclockとstatclockを動かすことにする。gpt_timer_intr: が実際の割り込みルーチンのdebug printf。

wdogはとりあえずリセットしないようにするだけで中身はほとんど空。iMX51のwatchdogは起動後デフォルトがenableになっていて、CPU起動後16秒以内にレジスタを設定しないと電源が落ちてしまう。

ipuはいわゆるフレームバッファ。wsdisplayになるはず。

gpioはNetWalkerでは色々なデバイスのスイッチに使っているので、これも必須。


Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010
    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 5.99.31 (IMX51NETWALKER) #71: Mon Jun 21 20:02:50 JST 2010
        ryo@phenomena:/src/cvs/NetBSD/sys/arch/evbarm/compile/IMX51NETWALKER
total memory = 512 MB
avail memory = 499 MB
mainbus0 (root)
cpu0 at mainbus0: Cortex-A8 r2p1 (Cortex core)
cpu0: DC enabled IC enabled WB disabled EABT branch prediction enabled
cpu0: 32KB/64B 4-way Instruction cache
cpu0: 32KB/64B 4-way write-back-locking-C Data cache
cpu0: 256KB/64B 8-way L2 cache
axi0 at mainbus0: AMBA AXI interface
tzic0 at axi0 addr 0xe0000000-0xe0000fff: TrustZone Interrupt Controller
imx51gpt0 at axi0 addr 0x73fa0000-0x73fa0027 irq 39: General Purpose Timer
imx51gpio0 at axi0 addr 0x73f84000-0x73f8401f irq 42-51: General Purpose Input/Output
imx51gpio1 at axi0 addr 0x73f88000-0x73f8801f irq 52-53: General Purpose Input/Output
imx51gpio2 at axi0 addr 0x73f8c000-0x73f8c01f irq 54-55: General Purpose Input/Output
imx51gpio3 at axi0 addr 0x73f90000-0x73f9001f irq 56-57: General Purpose Input/Output
imx51wdog0 at axi0 addr 0x73f98000-0x73f98009 irq 58: Watch Dog Timer
imx51wdog1 at axi0 addr 0x73f9c000-0x73f9c009 irq 59: Watch Dog Timer
imx51ipu0 at axi0 addr 0x40000000-0x5fffffff irq 10-11: Image Processing Unit
imxuart0 at axi0 addr 0x73fbc000-0x73fbc0ff irq 31: IMX51UART
gpt_timer_intr:237: HARDCLOCK: cnt=2212495
gpt_timer_intr:246: STATCLOCK: cnt=2347191
gpt_timer_intr:237: HARDCLOCK: cnt=2452585
gpt_timer_intr:237: HARDCLOCK: cnt=2692698
gpt_timer_intr:246: STATCLOCK: cnt=2745547
boot device: <unknown>
root device: gpt_timer_intr:237: HARDCLOCK: cnt=2933043
gpt_timer_intr:246: STATCLOCK: cnt=3120642
gpt_timer_intr:237: HARDCLOCK: cnt=3173110
gpt_timer_intr:237: HARDCLOCK: cnt=3413178
gpt_timer_intr:246: STATCLOCK: cnt=3495705
gpt_timer_intr:237: HARDCLOCK: cnt=3653243
gpt_timer_intr:246: STATCLOCK: cnt=3870767
gpt_timer_intr:237: HARDCLOCK: cnt=3894077
                  :
                  :
                  :
                  :

2010-06-19 STR9102その9


PLANEX CQW-MRB が STR9104、しかも Cavium パッケージだということを知る。ジャンクで安かったら買おう。
STR9104というCPUはPCIバスが無くて他にはUSBとPCMCIAくらいしか無いのだが、無線はUSBか、まさかPCMCIA経由なのか…

AREA LAN EVOLUTION STR8132 250MHz LAN,USB
CNET CWR-635M(※) STR9105 200MHz LAN,USB,mini-pci(WiFi)
COREGA CG-BARPROG STR9102 200MHz LAN
COREGA CG-WLBARGN STR9102 250MHz LAN,mini-pci(WiFi)
PLANEX MZK-W04G STR9102 250MHz LAN,USB,mini-pci(WiFi)
NetIndex クティオ STR9104 200MHz LAN,USB,WiFi,CF
PLANEX CQW-MRB STR9104 200MHz? ?(WiFi), USB

2010-06-09 NetBSD/netwalker #2.1

どうにも( ・∀・)ワケ ( ・∀・)ワカ( ・∀・)ラン ので、linux kernelでいろいろ調べることにした。

以下自分用メモ。

ubuntuましーんを用意して、
http://www.codesourcery.com/public/gnu_toolchain/arm-none-eabi/arm-2007q3-53-arm-none-eabi-i686-pc-linux-gnu.tar.bz2のarmのcross用toolchainを入れといて
http://netbook-remix.archive.canonical.com/updates/pool/public/l/linux-fsl-imx51/から linux-fsl-imx51_2.6.28-15.50fsl1araneo19.tar.gzあたりを拾ってきて、
configのためにhttp://www.sharp.co.jp/support/ex-data/linux-2.6.28-271-gec75a15_1.000.tar.bz2ももってきて、

cp linux-2.6.28-271-gec75a15/arch/arm/configs/imx51_sharp_defconfig jaunty-arm/arch/arm/configs/

して

setenv ARCH arm
setenv CROSS_COMPILE arm-none-eabi-
set path= ( /opt/armcross/bin $path )

cd jaunty-arm
make imx51_sharp_defconfig
make zImage

ついでに余計なファイルがありすぎて迷うので、buildが終わった時点でatimeの更新されてないままのファイルを全部消して、見通しを良くした。
これで準備ok

2010-06-08 NetBSD/netwalker #2


延々やってるが割り込みが入らない。うーん。
@h_kenken氏によると kernel を 0x90000000 + 512Mb - 1Mb? (一部のファイルしか貰ってないので詳細不明…) にコピーしなおして pmap すると動くそうだが、何故そうなるか謎。 手元では確認できず。ARMv7のsecure/unsecure関係かなと思ってpdfを読むが、よくわからん…。かなり飽きてきた :P

ふと思って boot.conf から quiet を外して debug 付けて SD recovery disk の linux を boot させてみた。メモ代わりに貼っておく。 メモリが512MBじゃなくて480MBとか、いろいろ謎な所があるなぁ。Linuxはそういうものなのかもしれん。 このままハマり続けるようであればLinuxのbuild環境作ってlinux kernelでいろいろテストしたほうがいいかも。

Uncompressing Linux................................................................................................................................................. done, booting the kernel.
Linux version 2.6.28-271-gec75a15 (imx51@Sharp) (gcc version 4.1.2) #1 PREEMPT Thu Sep 10 17:37:32 JST 2009
CPU: ARMv7 Processor [412fc081] revision 1 (ARMv7), cr=10c5387f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: SHARP PC-Z1
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 122880
free_area_init_node: node 0, pgdat c0471330, node_mem_map c049f000
  DMA zone: 128 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 16256 pages, LIFO batch:3
  Normal zone: 832 pages used for memmap
  Normal zone: 105664 pages, LIFO batch:31
  Movable zone: 0 pages used for memmap
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 121920
Kernel command line: noinitrd root=/dev/mmcblk0p1 rw rootfstype=ext2 rootdelay=3 console=ttymxc0,115200 debug=1 bootsw=0x3 bootVer=1.000
MXC IRQ initialized
PID hash table entries: 2048 (order: 11, 8192 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 480MB = 480MB total
Memory: 482352KB available (4060K code, 499K data, 120K init)
SLUB: Genslabs=12, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Calibrating delay loop... 799.53 BogoMIPS (lpj=3997696)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 288 bytes
regulator: core version 0.5
NET: Registered protocol family 16
CPU is i.MX51 Revision 2.0
MXC GPIO hardware
IRAM READY
Using SDMA I.API
MXC DMA API initialized
SDIO detect port functions initialized.
SCSI subsystem initialized
CSPI: mxc_spi-0 probed
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
MXC I2C driver
MXC I2C driver
MXC HS I2C driver
PMIC Light driver loading...
mc13892 Rev 2.0 FinVer 2 detected
Initializing regulators for ERDOS.
regulator: SW1: 600 <--> 1375 mV 
regulator: SW2: 900 <--> 1850 mV 
regulator: SW3: 1100 <--> 1850 mV 
regulator: SW4: 1100 <--> 1850 mV 
regulator: SWBST: 0 mV 
regulator: VIOHI: 0 mV 
regulator: VPLL: 1050 <--> 1800 mV 
regulator: VDIG: 1050 <--> 1800 mV 
regulator: VSD: 1800 <--> 3150 mV 
regulator: VUSB2: 2400 <--> 2775 mV 
regulator: VVIDEO: 2775 mV 
regulator: VAUDIO: 2300 <--> 3000 mV 
regulator: VCAM: 2500 <--> 3000 mV fast normal 
regulator: VGEN1: 1200 <--> 3150 mV 
regulator: VGEN2: 1200 <--> 3150 mV 
regulator: VGEN3: 1800 <--> 2900 mV 
regulator: VUSB: 0 mV 
regulator: GPO1: 0 mV 
regulator: GPO2: 0 mV 
regulator: GPO3: 0 mV 
regulator: GPO4: 0 mV 
PMIC ADC start probe
PMIC Light successfully loaded
Device spi1.0 probed
MXC WatchDog Driver 2.0
clk: Unable to get requested clock: wdog_clk
MXC Watchdog # 0 Timer: initial timeout 123 sec
NET: Registered protocol family 2
Switched to high resolution mode on CPU 0
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
NET: Registered protocol family 1
LPMode driver module loaded
Static Power Management for Freescale i.MX51
PM driver module loaded
Bus freq driver module loaded
usb: Host 1 host (isp1504) registered
usb: DR host (utmi) registered
mxc_dvfs_core_probe
DVFS driver module loaded
i.MXC CPU frequency driver
JFFS2 version 2.2. (NAND) 息 2001-2006 Red Hat, Inc.
msgmni has been set to 942
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
PWM: Rate=658415 [Hz] Period=2194 [cnt]
fbcvt: 1024x768@60: CVT Name - .786M3
mxc_ipu mxc_ipu: Channel already disabled 9
mxc_ipu mxc_ipu: Channel already uninitialized 9
Console: switching to colour frame buffer device 128x48
mxc_sdc_fb mxc_sdc_fb.0: fb registered, using mode 1024x768M-16@60
fbcvt: 1024x768@60: CVT Name - .786M3
mxc_sdc_fb mxc_sdc_fb.2: fb registered, using mode 1024x768M-16@60
mxc_ipu mxc_ipu: Channel already disabled 10
mxc_ipu mxc_ipu: Channel already uninitialized 10
Serial: MXC Internal UART driver
mxcintuart.0: ttymxc0 at MMIO 0x73fbc000 (irq = 31) is a Freescale MXC
console [ttymxc0] enabled
mxcintuart.1: ttymxc1 at MMIO 0x73fc0000 (irq = 32) is a Freescale MXC
mxcintuart.2: ttymxc2 at MMIO 0x7000c000 (irq = 33) is a Freescale MXC
loop: module loaded
usbcore: registered new interface driver catc
catc: v2.8:CATC EL1210A NetMate USB Ethernet driver
usbcore: registered new interface driver kaweth
pegasus: v0.6.14 (2006/09/27), Pegasus/Pegasus II USB Ethernet driver
usbcore: registered new interface driver pegasus
rtl8150: v0.6.2 (2004/08/27):rtl8150 based usb-ethernet driver
usbcore: registered new interface driver rtl8150
usbcore: registered new interface driver asix
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver net1080
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver zaurus
Linux video capture interface: v2.00
MXC Video Output MXC Video Output.0: Registered device video0
Driver 'sd' needs updating - please use bus_type methods
MXC MTD nor Driver 2.0
mxc_spi_nor spi1.1: sst25vf016b (2048 Kbytes)
Creating 3 MTD partitions on "mxc_spi_nor":
0x00000000-0x00080000 : "Redboot"
0x00080000-0x00090000 : "Redboot fis"
0x00090000-0x00200000 : "info"
MXC MTD nand Driver 2.5
NAND device: Manufacturer ID: 0xec, Chip ID: 0xd5 (Samsung NAND 2GiB 3,3V 8-bit)
2 NAND chips detected
Bad block table[Bbt0] found at page 524032, version 0x03
Bad block table[1tbB] found at page 523904, version 0x03
nand_read_bbt: Bad block at 0x41200000
nand_read_bbt: Bad block at 0x41400000
nand_scan_bbt: res:0  bbt:dc084000
RedBoot partition parsing not available
Creating 2 MTD partitions on "NAND 2GiB 3,3V 8-bit":
0x00000000-0x00600000 : "kernel"
0x00600000-0xffb00000 : "rfs"
usbmon: debugfs is not available
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci.0: irq 14, io mem 0x73f80200
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2
fsl-ehci fsl-ehci.1: irq 18, io mem 0x73f80000
fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
usbcore: registered new interface driver libusual
mice: PS/2 mouse device common for all mice
MXC Electrostatic Touch Key driver loaded
input: mxc_etk as /class/input/input0
input: oj6sh as /class/input/input1
oj6sh_probe Device spi1.2 probed
input: cover_sw as /class/input/input2
input: power_sw as /class/input/input3
oj6sh_power_up: product:0d revision:02
mc13892 rtc probe start
pmic_rtc pmic_rtc.1: rtc core: registered pmic_rtc as rtc0
mc13892 rtc probe succeed
i2c /dev entries driver
APM Battery Driver
PMIC Character device: successfully loaded
VPU initialized
power_supply mc13892_charger: charger status: online
mxsdhci: MXC Secure Digital Host Controller Interface driver
mxsdhci: MXC SDHCI Controller Driver. 
mmc0: SDHCI detect irq 128 irq 1 INTERNAL DMA
mxsdhci: MXC SDHCI Controller Driver. 
mmc1: SDHCI detect irq 0 irq 2 INTERNAL DMA
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.18rc3.
ASoC version 0.13.2
sgtl5000-i2c 1-000a: SGTL5000 revision 17
DMA Sound Buffers Allocated:UseIram=1 buf->addr=1fff3000 buf->area=de8b8000 size=24576
DMA Sound Buffers Allocated:UseIram=1 buf->addr=ac160000 buf->area=fc2b9000 size=24576
asoc: SGTL5000 <-> imx-ssi-3 mapping ok
ALSA device list:
  #0: imx-3stack (SGTL5000)
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
ieee80211: 802.11 data/management/control stack, git-1.1.13
ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>
ieee80211_crypt: registered algorithm 'NULL'
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 2
input: mxc_ts as /class/input/input4
mxc input touchscreen loaded
pmic_rtc pmic_rtc.1: setting system clock to 1970-01-01 06:11:10 UTC (22270)
Waiting 3sec before mounting root device...
mmc0: new SD card at address e624
mmcblk0: mmc0:e624 SU02G 1.89 GiB 
 mmcblk0: p1
mmc1: new SDIO card at address 0001
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 120K
usb 1-1: new high speed USB device using fsl-ehci and address 2
exec: 7: /etc/init.d/rcS: not found
init: rcS main process (1072) terminated with status 2
usb 1-1: configuration #1 chosen from 1 choice
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
exec: 8: /etc/init.d/rc: not found
init: rc2 main process (1084) terminated with status 2
usb 2-1: new low speed USB device using fsl-ehci and address 2
usb 2-1: configuration #1 chosen from 1 choice
input: SHARP USB Keyboard as /class/input/input5
generic-usb 0003:04DD:92E7.0001: input,hidraw0: USB HID v1.10 Keyboard [SHARP USB Keyboard] on usb-fsl-ehci.1-1/input0
input: SHARP USB Keyboard as /class/input/input6
generic-usb 0003:04DD:92E7.0002: input,hidraw1: USB HID v1.10 Device [SHARP USB Keyboard] on usb-fsl-ehci.1-1/input1
init: ttyS0 main process (1090) terminated with status 1
init: ttyS0 main process ended, respawning

2010-05-26 NetBSD/netwalker #1


作業中のファイルやらはこのへんNetBSD/netwalkerに。

しょーもないバグがあって途中で止まっていたのだが、見つけて修正したら mountroot まで来た。
まだ割込みとかぜんぜんなのでtzicとかepitとかはダミーですが、そんなことよりシリアル入力ができませんよ?(ポーリングでも)

もしかしてそもそも基板のシリアル線のRXDの位置を間違えているのだろうか。
それとも抵抗か何か必要なのか。謎だ。一度Linuxで確認したほうがいいかも。

CortexA8 の cpu cache size が変だったのも修正したので、cpu0: 〜 の所が綺麗になった。 ※currentでも同じように既に修正された。L2キャッシュのサイズが間違ってるけど :P

今日のdmesg

<0x90008000>Hello,NetWalker!
NetBSD/evbarm (i.MX51) booting ...
physmemory: 131072 pages at 0x90000000 -> 0xafffffff
freestart = 0x9022e000, free_pages = 130514 (0x0001fdd2)
Allocating page tables
initarm: kernel_l1pt: 0xc0230000:0x90230000
initarm: kernel_pt_table:
        0xc022e000:0x9022e000
        0xc022f000:0x9022f000
        0xc0234000:0x90234000
        0xc0235000:0x90235000
        0xc0236000:0x90236000
        0xc0237000:0x90237000
        0xc0238000:0x90238000
        0xc0239000:0x90239000
        0xc023a000:0x9023a000
        0xc023b000:0x9023b000
FIQ stack: p0x9023d000 v0xc023d000
IRQ stack: p0x9023e000 v0xc023e000
ABT stack: p0x9023f000 v0xc023f000
UND stack: p0x90240000 v0xc0240000
SVC stack: p0x90241000 v0xc0241000
msgbuf   : p0xaffff000
Creating L1 page table at 0x90230000
Mapping kernel
pmap_map_chunk: pa=0x90000000 va=0xc0000000 size=0x1b0000 resid=0x1b0000 prot=0x7 cache=1
SLLLLLLLLLLL
pmap_map_chunk: pa=0x901b0000 va=0xc01b0000 size=0x80000 resid=0x80000 prot=0x3 cache=1
LLLLLLLL
Constructing L2 page tables
pmap_map_chunk: pa=0x9023d000 va=0xc023d000 size=0x1000 resid=0x1000 prot=0x3 cache=1
P
pmap_map_chunk: pa=0x9023e000 va=0xc023e000 size=0x1000 resid=0x1000 prot=0x3 cache=1
P
pmap_map_chunk: pa=0x9023f000 va=0xc023f000 size=0x1000 resid=0x1000 prot=0x3 cache=1
P
pmap_map_chunk: pa=0x90240000 va=0xc0240000 size=0x1000 resid=0x1000 prot=0x3 cache=1
P
pmap_map_chunk: pa=0x90241000 va=0xc0241000 size=0x2000 resid=0x2000 prot=0x3 cache=1
PP
pmap_map_chunk: pa=0x90230000 va=0xc0230000 size=0x4000 resid=0x4000 prot=0x3 cache=2
PPPP
pmap_map_chunk: pa=0x9022e000 va=0xc022e000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0x9022f000 va=0xc022f000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0x90234000 va=0xc0234000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0x90235000 va=0xc0235000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0x90236000 va=0xc0236000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0x90237000 va=0xc0237000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0x90238000 va=0xc0238000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0x90239000 va=0xc0239000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0x9023a000 va=0xc023a000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0x9023b000 va=0xc023b000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
Mapping the vector page
devmap_bootstrap
devmap: 73fbc000 -> 73fbc0ff @ f3fbc000
pmap_map_chunk: pa=0x73fbc000 va=0xf3fbc000 size=0x100 resid=0x1000 prot=0x3 cache=0
P
switching to new L1 page table  @0x90230000...done.
init subsystems: stacks vectors undefined page pmap done.
Loaded initial symtab at 0xc01b411c, strtab at 0xc01d44ec, # entries 7676
pmap_postinit: Allocated 35 static L1 descriptor tables
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010
    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 5.99.29 (IMX51NETWALKER) #201: Wed May 26 21:45:48 JST 2010
        ryo@phenomena:/src/cvs/NetBSD/sys/arch/evbarm/compile/IMX51NETWALKER
total memory = 512 MB
avail memory = 499 MB
mainbus0 (root)
cpu0 at mainbus0: Cortex-A8 r2p1 (ARM11J core)
cpu0: DC enabled IC enabled WB disabled EABT
cpu0: 32KB/64B 4-way Instruction cache
cpu0: 32KB/64B 4-way write-back-locking-C Data cache
axi0 at mainbus0: AMBA AXI interface
tzic0 at axi0 addr 0xe0000000-0xe0000fff: TrustZone Interrupt Controller
epit0 at axi0 addr 0x73fac000-0x73fac013 irq 40: Enhanced Periodic Interrupt Timer
epit1 at axi0 addr 0x73fb0000-0x73fb0013 irq 41: Enhanced Periodic Interrupt Timer
imxuart0 at axi0 addr 0x73fbc000-0x73fbc0ff irq 31: IMX51UART
boot device: <unknown>
root device: 

2010-05-21 NetBSD/evbarm IMX51NETWALKER


Cortex-A8 i.MX51 Manual Errata Chip Errata SHARP NetWalker NetBSD



ヮーィ

NetBSD/evbarm i.MX51
initarm:278
initarm:286
initarm:297
initarm:312
physmemory: 131072 pages at 0x90000000 -> 0xafffffff
freestart = 0x9022e000, free_pages = 130514 (0x0001fdd2)
Allocating page tables
initarm: kernel_l1pt: 0xc0230000:0x90230000
initarm: kernel_pt_table:
        0xc022e000:0x9022e000
        0xc022f000:0x9022f000
        0xc0234000:0x90234000
        0xc0235000:0x90235000
        0xc0236000:0x90236000
        0xc0237000:0x90237000
        0xc0238000:0x90238000
        0xc0239000:0x90239000
        0xc023a000:0x9023a000
        0xc023b000:0x9023b000
FIQ stack: p0x9023d000 v0xc023d000
IRQ stack: p0x9023e000 v0xc023e000
ABT stack: p0x9023f000 v0xc023f000
UND stack: p0x90240000 v0xc0240000
SVC stack: p0x90241000 v0xc0241000
msgbuf   : p0xaffff000
Creating L1 page table at 0x90230000
Mapping kernel
pmap_map_chunk: pa=0x90000000 va=0xc0000000 size=0x1b0000 resid=0x1b0000 prot=0x5 cache=1
SLLLLLLLLLLL
pmap_map_chunk: pa=0x901b0000 va=0xc01b0000 size=0x80000 resid=0x80000 prot=0x3 cache=1
LLLLLLLL
Constructing L2 page tables
pmap_map_chunk: pa=0x9023d000 va=0xc023d000 size=0x1000 resid=0x1000 prot=0x3 cache=1
P
pmap_map_chunk: pa=0x9023e000 va=0xc023e000 size=0x1000 resid=0x1000 prot=0x3 cache=1
P
pmap_map_chunk: pa=0x9023f000 va=0xc023f000 size=0x1000 resid=0x1000 prot=0x3 cache=1
P
pmap_map_chunk: pa=0x90240000 va=0xc0240000 size=0x1000 resid=0x1000 prot=0x3 cache=1
P
pmap_map_chunk: pa=0x90241000 va=0xc0241000 size=0x2000 resid=0x2000 prot=0x3 cache=1
PP
pmap_map_chunk: pa=0x90230000 va=0xc0230000 size=0x4000 resid=0x4000 prot=0x3 cache=2
PPPP
pmap_map_chunk: pa=0x9022e000 va=0xc022e000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0x9022f000 va=0xc022f000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0x90234000 va=0xc0234000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0x90235000 va=0xc0235000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0x90236000 va=0xc0236000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0x90237000 va=0xc0237000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0x90238000 va=0xc0238000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0x90239000 va=0xc0239000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0x9023a000 va=0xc023a000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
pmap_map_chunk: pa=0x9023b000 va=0xc023b000 size=0x1000 resid=0x1000 prot=0x3 cache=2
P
Mapping the vector page
devmap_bootstrap
devmap: 73fbc000 -> 73fbc0ff @ f3fbc000
pmap_map_chunk: pa=0x73fbc000 va=0xf3fbc000 size=0x100 resid=0x1000 prot=0x3 cache=0
P
switching to new L1 page table  @0x90230000...done.
init subsystems: stacks vectors undefined page pmap irq done.
Loaded initial symtab at 0xc01b41b8, strtab at 0xc01d4608, # entries 7684
pmap_postinit: Allocated 35 static L1 descriptor tables
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010
    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 5.99.29 (IMX51NETWALKER) #48: Fri May 21 20:18:21 JST 2010
        ryo@phenomena:/src/cvs/NetBSD/sys/arch/evbarm/compile/IMX51NETWALKER
total memory = 512 MB
avail memory = 499 MB
cpu_lwp_fork: 0xc01f8e60 0xc254fc80 0xc01f8e60 0xc01f8e60
l1: pcb=0xc0241000 pid=1 pmap=0xc0220ce8
l2: pcb=0xc2712000 pid=0 pmap=0xc0220ce8
cpu_lwp_fork: 0xc01f8e60 0xc254fa00 0xc01f8e60 0xc01f8e60
l1: pcb=0xc0241000 pid=1 pmap=0xc0220ce8
l2: pcb=0xc2716000 pid=0 pmap=0xc0220ce8
cpu_lwp_fork: 0xc01f8e60 0xc254f780 0xc01f8e60 0xc01f8e60
l1: pcb=0xc0241000 pid=1 pmap=0xc0220ce8
l2: pcb=0xc2718000 pid=0 pmap=0xc0220ce8
cpu_lwp_fork: 0xc01f8e60 0xc254f500 0xc01f8e60 0xc01f8e60
l1: pcb=0xc0241000 pid=1 pmap=0xc0220ce8
l2: pcb=0xc271a000 pid=0 pmap=0xc0220ce8
cpu_lwp_fork: 0xc01f8e60 0xc254f280 0xc01f8e60 0xc01f8e60
l1: pcb=0xc0241000 pid=1 pmap=0xc0220ce8
l2: pcb=0xc271c000 pid=0 pmap=0xc0220ce8
cpu_lwp_fork: 0xc01f8e60 0xc254f000 0xc01f8e60 0xc01f8e60
l1: pcb=0xc0241000 pid=1 pmap=0xc0220ce8
l2: pcb=0xc271e000 pid=0 pmap=0xc0220ce8
cpu_lwp_fork: 0xc01f8e60 0xc2552ca0 0xc01f8e60 0xc01f8e60
l1: pcb=0xc0241000 pid=1 pmap=0xc0220ce8
l2: pcb=0xc27b2000 pid=0 pmap=0xc0220ce8
cpu_lwp_fork: 0xc01f8e60 0xc2552a20 0xc01f8e60 0xc01f8e60
l1: pcb=0xc0241000 pid=1 pmap=0xc0220ce8
l2: pcb=0xc27b4000 pid=0 pmap=0xc0220ce8
cpu_lwp_fork: 0xc01f8e60 0xc25527a0 0xc01f8e60 0xc01f8e60
l1: pcb=0xc0241000 pid=1 pmap=0xc0220ce8
l2: pcb=0xc27f8000 pid=0 pmap=0xc0220ce8
cpu_lwp_fork: 0xc01f8e60 0xc2552520 0xc01f8e60 0xc01f8e60
l1: pcb=0xc0241000 pid=1 pmap=0xc0220ce8
l2: pcb=0xc2824000 pid=0 pmap=0xc0220ce8
cpu_lwp_fork: 0xc01f8e60 0xc25522a0 0xc01f8e60 0xc01f8e60
l1: pcb=0xc0241000 pid=1 pmap=0xc0220ce8
l2: pcb=0xc2841000 pid=0 pmap=0xc0220ce8
cpu_lwp_fork: 0xc01f8e60 0xc2552020 0xc01f8e60 0xc01f8e60
l1: pcb=0xc0241000 pid=1 pmap=0xc0220ce8
l2: pcb=0xc2843000 pid=0 pmap=0xc0220ce8
mainbus0 (root)
cpu0 at mainbus0: Cortex-A8 r2p1 (ARM11J core)
cpu0: DC disabled IC disabled WB disabled EABT
cpu0: 0KB/0B 0-way Instruction cache
cpu0: 254KB/256B 4-way write-back-locking-C Data cache
axi0 at mainbus0panic: config_devalloc: tzic

2010-05-10 STR9102その8


完全に放置気味だが COREGA CG-WLBARGN が STR9102 ということを知る。ジャンクで安かったら買おう

AREA LAN EVOLUTION STR8132 250MHz LAN,USB
CNET CWR-635M(※) STR9105 200MHz LAN,USB,mini-pci(WiFi)
COREGA CG-BARPROG STR9102 200MHz LAN
COREGA CG-WLBARGN STR9102 250MHz LAN,mini-pci(WiFi)
PLANEX MZK-W04G STR9102 250MHz LAN,USB,mini-pci(WiFi)
NetIndex クティオ STR91?? ?MHz LAN,USB,WiFi,CF

2010-05-03 bpf_insn

libpcapを組み込むほどではないが、bpfのbpf_insnは使いたい時がある。
でもbpf_insnを手で直接書くのはめんどくさいので大抵そういう場合は
tcpdump -d や tcpdump -dd の出力を元に手動でコンバートするのだが、
手動はさすがにアホらしいので変換スクリプトを作った。

2010-03-15 MTU size detection


昔treeさんが、jumbo frameなethernet intefaceのMTUを拡張arpパケットを使って知らせるということを考えているということを言っていた。
これをヒントにして、arp packetにpaddingを付けてarp queryを送り、返事が来たらそのsize分のMTUを相手が受信することができる、という実装を思いついた。
例えば9000byteのarp queryを送って返事が来たら、相手のMTUは9000、返事が来なかったらそれ以下、ということになる。
このサイズをbinary searchで調べていけば正確なMTU sizeがわかるという具合。

というわけで実装してみた。

…ら、bpfが2048byte(MCLBYTES)サイズ以上の送信に対応していなかった。

一応そこさえクリアすればどんなMTU sizeでも動くはずなので、まぁbpf直せばいいよね、と思ってる頃にasiabsdconがあったので、 TheoとClaudioにarp paddingなmtu size detectionについて話してみた。

「Hi! アンタラjumbo frame使う時同一セグメントのMTUサイズの検出どうしてる? 俺arp packetで検出する仕組み実装したんだけど、イカスだろ?」
「俺たちはアイディアだけで実装はしてないけど、icmp echoでそれをやるつもりだ。icmp echoをblockしてる場合どうするかって?
HAHAHA!そんなホストはこの世には存在しない問題にならないYO それよりオマエの実装だと L2 が arp 返す場合はどうするんだ?」

と言われた。ガーン

icmp echo云々は、いわゆるOpenBSD的な「糞実装は無視」といういつものアレだろうけども、 proxy arpされた時にちゃんとした対向のMTU sizeが検出できないというのは確かに失念していた。ダメじゃんarp
icmp echoがblockされていてもMTU1500と見なせばいいだけのことなので、確かにicmp echoを使った方が良さそうだ。

というわけで最初のpadding arp packet案は破棄してicmp echo版に作りなおすことにする。
せっかく見つけたbpfのバグを修正する意味が無くなるなぁ。

2010-02-14 STR9105その7 - PCI

どうやってもPCIデバイスがうまく動かない。

RT2561Cで試したり、本来付いてきたRT2680をNetBSD-currentで動くようにして使っても、送信終了割り込みが入らない。
PCI割込み自体が動いてないわけではなく、establish_intr はちゃんとできていて、gp_timer 等は動いている。

ちゃんとbuildできるLinux環境がありゃ色々試せるんだけど、PLANEXもソース置く気なさそうだし、どうせ出してもまともにビルドできない状態のものだろうからつつくのもアホらしい。
どうも手づまりだ。W04GといいCWR-635Mといい、信頼できるハードが無い。STR9100のPCIは放置しよう。


EOF