Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Jun 2010 22:03:02 +0900
From:      Norikatsu Shigemura <nork@FreeBSD.org>
To:        Rafal Jaworowski <raj@FreeBSD.org>, Warner Losh <imp@FreeBSD.org>, Alexander Motin <mav@FreeBSD.org>
Cc:        freebsd-arm@FreeBSD.org, Norikatsu, Shigemura <nork@FreeBSD.org>
Subject:   OpenRD-Client/Ultimate support
Message-ID:  <20100620220302.8eb84547.nork@FreeBSD.org>

next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.

--Multipart=_Sun__20_Jun_2010_22_03_02_+0900_vgXKlSxC7UaEVq/+
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Hi raj, imp and mav.

	I made some patches for OpenRD Client and Ultimate.  By my patches,
	I confirmed that I can use OpenRD Ultimate (Sorry, I don't have
	OpenRD Client).  If you OKed, I'll commit attached patches.

	My modifications:

	mge(4):
	1. Change how to get PHY numbers if not defined `phy-handle'
	   on a dts file.  OpenRD already set it on FreeBSD booting.
	   Suggested by: hrs@

	2. Change how to set PHY numbers.
	   Suggested by: Kristof Provost

	3. Remove waiting link-up codes.
	   Reported by: nyan@

	4. Don't count-up watchdog timer if link downed.
	   Pointed out by: yongari@

	mvs(4):
	5. FDT-ish

	Kernel Configuration:
	6. Generated by DB-88F6XXX, and added some my flavour, mvs(4).

	Device Tree Source:
	7. Generated by db88f6281.dts.
	8. Add second NIC.
	9. Setup MPP for OpenRD Client/Ultimate.
	   Obtained from: u-boot-1.1.4_2010.5.5.tar.bz2 on http://code.google.com/p/openrd/downloads/list
	10. Change PCI address range.

	TODO:
	a. OpenRD base support (some different MPP)
	b. uart(4) is storange, maybe s/1066/115200/:
	   uart0: console (1066,n,8,1)
	c. PCI mem address range 0xf4000000 to 0xe8000000 (max 128MB)
	   In this time, I can get following results, so I set following
	   parameter to openrd-cl.dts.
	   If PCIe device require 128MB, maybe, can't allocate.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	map[10]: type Prefetchable Memory, range 32, base 0xf4000000, size 26, enabled
	map[14]: type Memory, range 32, base 0xf8000000, size 18, enabled
	map[18]: type I/O Port, range 32, base 0xf1100000, size  7, enabled
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	   But I can't understand how to describe pci0: related
	   parameters.  So I don't have any idea to change address
	   window.
	d. Fix MII PHY initialization issue:
	    88E1116R, 88E1121 (88E1249)

Result of /var/run/dmesg.boot
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2010 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 9.0-CURRENT #61: Thu Jan  1 09:00:00 JST 1970
    nork@dummy:/usr/obj/arm/usr/src/sys/OPENRD-CL arm
Preloaded elf kernel "elf kernel" at 0xc0c07e84.
CPU: Feroceon 88FR131 rev 1 (Marvell core)
  DC enabled IC enabled WB enabled EABT branch prediction enabled
  16KB/32B 4-way Instruction cache
  16KB/32B 4-way write-back-locking-C Data cache
real memory  = 536870912 (512 MB)
Physical memory chunk(s):
00000000 - 0x8fffff, 9437184 bytes (2304 pages)
0xcfb000 - 0x1f64bfff, 513085440 bytes (125265 pages)
avail memory = 520273920 (496 MB)
SOC: (0x6281:0x03) Marvell 88F6281 rev A1, TClock 200MHz
random: <entropy source, Software, Yarrow>
null: <null device, zero device>
mem: <memory>
openfirm: <Open Firmware control device>
nfslock: pseudo-device
fdtbus0: <FDT main bus> on motherboard
simplebus0: <Flattened device tree simple bus> on fdtbus0
ic0: <Marvell Integrated Interrupt Controller> mem 0xf1020200-0xf102023b on simplebus0
timer0: <Marvell CPU Timer> mem 0xf1020300-0xf102032f irq 1 on simplebus0
timer0: [FILTER]
gpio0: <Marvell Integrated GPIO Controller> mem 0xf1010100-0xf101011f irq 35,36,37,38,39,40,41 on simplebus0
gpio0: [FILTER]
gpio0: [FILTER]
gpio0: [FILTER]
gpio0: [FILTER]
gpio0: [FILTER]
gpio0: [FILTER]
gpio0: [FILTER]
rtc0: <Marvell Integrated RTC> mem 0xf1010300-0xf1010307 on simplebus0
rtc0: registered as a time-of-day clock (resolution 1000000us)
twsi0: <Marvell Integrated I2C Bus Controller> mem 0xf1011000-0xf101101f irq 43 on simplebus0
iicbus0: <Philips I2C bus> on twsi0
iic0: <I2C generic I/O> on iicbus0
mge0: <Marvell Gigabit Ethernet controller> mem 0xf1072000-0xf1073fff irq 12,13,14,11,46 on simplebus0
mge0: bpf attached
mge0: Ethernet address: 00:50:43:01:55:18
miibus0: <MII bus> on mge0
e1000phy0: <Marvell 88E1149 Gigabit PHY> PHY 0 on miibus0
e1000phy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
mge0: [MPSAFE]
mge0: [ITHREAD]
mge0: [MPSAFE]
mge0: [ITHREAD]
mge1: <Marvell Gigabit Ethernet controller> mem 0xf1076000-0xf1077fff irq 16,17,18,15,47 on simplebus0
mge1: bpf attached
mge1: Ethernet address: 00:50:43:01:55:19
miibus1: <MII bus> on mge1
e1000phy1: <Marvell 88E1149 Gigabit PHY> PHY 1 on miibus1
e1000phy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
mge1: [MPSAFE]
mge1: [ITHREAD]
mge1: [MPSAFE]
mge1: [ITHREAD]
uart0: <16550 or compatible> mem 0xf1012000-0xf101201f irq 33 on simplebus0
uart0: [FILTER]
uart0: fast interrupt
uart0: console (1066,n,8,1)
uart1: <16550 or compatible> mem 0xf1012100-0xf101211f irq 34 on simplebus0
uart1: [FILTER]
uart1: fast interrupt
ehci0: <Marvell Integrated USB 2.0 controller> mem 0xf1050000-0xf1050fff irq 48,19 on simplebus0
ehci0: [FILTER]
ehci0: [MPSAFE]
ehci0: [ITHREAD]
ehci0: 5.24 GL USB-2 workaround enabled
usbus0: EHCI version 1.0
usbus0: set host controller mode
usbus0: <Marvell Integrated USB 2.0 controller> on ehci0
sata0: <Marvell 88F6281 SATA controller> mem 0xf1080000-0xf1085fff irq 21 on simplebus0
sata0: Gen-IIe, 2 3Gbps ports, Port Multiplier supported with FBS
sata0: [MPSAFE]
sata0: [ITHREAD]
mvsch0: <Marvell SATA channel> at channel 0 on sata0
mvsch0: [MPSAFE]
mvsch0: [ITHREAD]
mvsch1: <Marvell SATA channel> at channel 1 on sata0
mvsch1: [MPSAFE]
mvsch1: [ITHREAD]
pcib0: <Marvell Integrated PCI/PCI-E Controller> mem 0xf1040000-0xf1041fff irq 44 on fdtbus0
PCI 0:1:0: reg 10: size=04000000: addr=f4000000
PCI 0:1:0: reg 14: size=00040000: addr=f8000000
PCI 0:1:0: reg 18: size=00000080: addr=f1100000
pci0: <PCI bus> on pcib0
pci0: domain=0, physical bus=0
found->	vendor=0x18ca, dev=0x0027, revid=0x00
	domain=0, bus=0, slot=1, func=0
	class=03-00-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0007, statreg=0x0010, cachelnsz=8 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	powerspec 2  supports D0 D1 D2 D3  current D0
	MSI supports 1 message
	map[10]: type Prefetchable Memory, range 32, base 0xf4000000, size 26, enabled
	map[14]: type Memory, range 32, base 0xf8000000, size 18, enabled
	map[18]: type I/O Port, range 32, base 0xf1100000, size  7, enabled
vgapci0: <VGA-compatible display> port 0xf1100000-0xf110007f mem 0xf4000000-0xf7ffffff,0xf8000000-0xf803ffff at device 1.0 on pci0
Timecounter "CPU Timer" frequency 200000000 Hz quality 1000
Timecounters tick every 1.000 msec
vlan: initialized, using hash tables with chaining
lo0: bpf attached
usbus0: 480Mbps High Speed USB v2.0
mvsch0: MVS reset...
mvsch0: SATA connect timeout status=00000000
mvsch0: MVS reset done: phy reset found no device
mvsch1: MVS reset...
mvsch1: SATA connect timeout status=00000000
mvsch1: MVS reset done: phy reset found no device
ugen0.1: <Marvell> at usbus0
uhub0: <Marvell EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
bootpc_init: wired to interface 'mge0'
Sending DHCP Discover packet from interface mge0 (00:50:43:01:55:18)
uhub0: 1 port with 1 removable, self powered
ugen0.2: <vendor 0x05e3> at usbus0
uhub1: <vendor 0x05e3 USB2.0 Hub, class 9/0, rev 2.00/77.32, addr 2> on usbus0
uhub1: 4 ports with 4 removable, self powered
ugen0.3: <vendor 0x05e3> at usbus0
uhub2: <vendor 0x05e3 USB2.0 Hub, class 9/0, rev 2.00/77.32, addr 3> on usbus0
Received DHCP Offer packet on mge0 from 192.168.36.249 (accepted) (no root path)
Received DHCP Offer packet on mge0 from 192.168.36.249 (ignored) (no root path)
Received DHCP Offer packet on mge0 from 192.168.36.249 (ignored) (no root path)
uhub2: 4 ports with 4 removable, self powered
Sending DHCP Request packet from interface mge0 (00:50:43:01:55:18)
Received DHCP Ack packet on mge0 from 192.168.36.249 (accepted) (got root path)
mge0 at 192.168.36.32 server 192.168.36.249 boot file kernel.bin
subnet mask 255.255.255.0 router 192.168.36.1 rootfs 192.168.36.249:/sandbox/mv88f6281 rootopts nolockd 
Adjusted interface mge0
Trying to mount root from nfs:. Press CTRL+C to abort.
NFS ROOT: 192.168.36.249:/sandbox/mv88f6281
ct_to_ts([2010-06-20 12:26:32]) = 1277036792.000000000
ct_to_ts([2010-06-20 12:26:32]) = 1277036792.000000000
start_init: trying /sbin/init
bridge0: bpf attached
bridge0: Ethernet address: ea:f1:41:17:54:1b
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Result of devinfo -rv
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
nexus0
  fdtbus0
    unknown
    unknown
    simplebus0
      ic0
          I/O memory:
              0xf1020200-0xf102023b
      timer0
          Interrupt request lines:
              1
          I/O memory:
              0xf1020300-0xf102032f
      unknown
      gpio0
          Interrupt request lines:
              35
              36
              37
              38
              39
              40
              41
          I/O memory:
              0xf1010100-0xf101011f
      rtc0
          I/O memory:
              0xf1010300-0xf1010307
      twsi0
          I/O memory:
              0xf1011000-0xf101101f
        iicbus0
          iic0 at addr=0
      mge0
          Interrupt request lines:
              11
              12
              13
              14
              46
          I/O memory:
              0xf1072000-0xf1073fff
        miibus0
          e1000phy0 pnpinfo oui=0x5043 model=0xb rev=0x3 at phyno=0
      mge1
          Interrupt request lines:
              15
              16
              17
              18
              47
          I/O memory:
              0xf1076000-0xf1077fff
        miibus1
          e1000phy1 pnpinfo oui=0x5043 model=0xb rev=0x3 at phyno=1
      uart0
          Interrupt request lines:
              33
          I/O memory:
              0xf1012000-0xf101201f
      uart1
          Interrupt request lines:
              34
          I/O memory:
              0xf1012100-0xf101211f
      unknown
      ehci0
          Interrupt request lines:
              19
              48
          I/O memory:
              0xf1050000-0xf1050fff
        usbus0
          uhub0
            uhub1 pnpinfo vendor=0x05e3 product=0x0610 devclass=0x09 devsubclass=0x00 sernum="" release=0x7732 intclass=0x09 intsubclass=0x00 at bus=1 hubaddr=1 port=0 devaddr=2 interface=0
              uhub2 pnpinfo vendor=0x05e3 product=0x0610 devclass=0x09 devsubclass=0x00 sernum="" release=0x7732 intclass=0x09 intsubclass=0x00 at bus=2 hubaddr=1 port=0 devaddr=3 interface=0
      unknown
      sata0
          Interrupt request lines:
              21
          I/O memory:
              0xf1080000-0xf1085fff
        mvsch0 at channel=0
            I/O memory addresses:
                0xf1082000-0xf1083fff
        mvsch1 at channel=1
            I/O memory addresses:
                0xf1084000-0xf1085fff
    unknown
    pcib0
        I/O memory:
            0xf1040000-0xf1041fff
      pci0
        vgapci0 pnpinfo vendor=0x18ca device=0x0027 subvendor=0x0000 subdevice=0x0000 class=0x030000 at slot=1 function=0
            :
                4093640704-4160749567
                4160749568-4161011711
            :
                4044357632-4044357759
          drm0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-- 
Norikatsu Shigemura <nork@FreeBSD.org>

--Multipart=_Sun__20_Jun_2010_22_03_02_+0900_vgXKlSxC7UaEVq/+
Content-Type: text/plain;
 name="if_mge.c.diff"
Content-Disposition: attachment;
 filename="if_mge.c.diff"
Content-Transfer-Encoding: 7bit

--- sys/dev/mge/if_mge.c.orig	2010-06-13 22:28:53.000000000 +0900
+++ sys/dev/mge/if_mge.c	2010-06-19 15:34:22.787728912 +0900
@@ -626,7 +626,6 @@
 mge_attach(device_t dev)
 {
 	struct mge_softc *sc;
-	struct mii_softc *miisc;
 	struct ifnet *ifp;
 	uint8_t hwaddr[ETHER_ADDR_LEN];
 	int i, error ;
@@ -643,7 +642,7 @@
 
 	/* Get phy address from fdt */
 	if (fdt_get_phyaddr(sc->node, &sc->phyaddr) != 0)
-		return (ENXIO);
+		sc->phyaddr = -1;
 
 	/* Initialize mutexes */
 	mtx_init(&sc->transmit_lock, device_get_nameunit(dev), "mge TX lock", MTX_DEF);
@@ -674,6 +673,9 @@
 	sc->tx_ic_time = 768;
 	mge_add_sysctls(sc);
 
+	if (sc->phyaddr == -1)
+		sc->phyaddr = MGE_READ(sc, MGE_REG_PHYDEV);
+
 	/* Allocate network interface */
 	ifp = sc->ifp = if_alloc(IFT_ETHER);
 	if (ifp == NULL) {
@@ -716,8 +718,7 @@
 	sc->mii = device_get_softc(sc->miibus);
 
 	/* Tell the MAC where to find the PHY so autoneg works */
-	miisc = LIST_FIRST(&sc->mii->mii_phys);
-	MGE_WRITE(sc, MGE_REG_PHYDEV, miisc->mii_phy);
+	MGE_WRITE(sc, MGE_REG_PHYDEV, sc->phyaddr);
 
 	/* Attach interrupt handlers */
 	for (i = 0; i < 2; ++i) {
@@ -867,8 +868,7 @@
 	struct mge_softc *sc = arg;
 	struct mge_desc_wrapper *dw;
 	volatile uint32_t reg_val;
-	int i, count;
-
+	int i;
 
 	MGE_GLOBAL_LOCK_ASSERT(sc);
 
@@ -948,17 +948,6 @@
 	reg_val = MGE_READ(sc, MGE_PORT_SERIAL_CTRL);
 	reg_val |= PORT_SERIAL_ENABLE;
 	MGE_WRITE(sc, MGE_PORT_SERIAL_CTRL, reg_val);
-	count = 0x100000;
-	for (;;) {
-		reg_val = MGE_READ(sc, MGE_PORT_STATUS);
-		if (reg_val & MGE_STATUS_LINKUP)
-			break;
-		DELAY(100);
-		if (--count == 0) {
-			if_printf(sc->ifp, "Timeout on link-up\n");
-			break;
-		}
-	}
 
 	/* Setup interrupts coalescing */
 	mge_set_rxic(sc);
@@ -1489,8 +1478,8 @@
 
 	MGE_TRANSMIT_LOCK_ASSERT(sc);
 
-	if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) !=
-	    IFF_DRV_RUNNING)
+	if (IFM_SUBTYPE(sc->mii->mii_media_active) == IFM_NONE ||
+	    (ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING)
 		return;
 
 	for (;;) {

--Multipart=_Sun__20_Jun_2010_22_03_02_+0900_vgXKlSxC7UaEVq/+
Content-Type: text/plain;
 name="mvs_soc.c.diff"
Content-Disposition: attachment;
 filename="mvs_soc.c.diff"
Content-Transfer-Encoding: 7bit

--- sys/dev/mvs/mvs_soc.c.orig	2010-05-22 23:16:43.239261000 +0900
+++ sys/dev/mvs/mvs_soc.c	2010-06-19 16:15:28.024566573 +0900
@@ -43,6 +43,8 @@
 #include <sys/rman.h>
 #include <arm/mv/mvreg.h>
 #include <arm/mv/mvvar.h>
+#include <dev/ofw/ofw_bus.h>
+#include <dev/ofw/ofw_bus_subr.h>
 #include "mvs.h"
 
 /* local prototypes */
@@ -73,6 +75,9 @@
 	int i;
 	uint32_t devid, revid;
 
+	if (!ofw_bus_is_compatible(dev, "mrvl,sata"))
+		return (ENXIO);
+
 	soc_id(&devid, &revid);
 	for (i = 0; mvs_ids[i].id != 0; i++) {
 		if (mvs_ids[i].id == devid &&
@@ -445,6 +450,6 @@
         mvs_methods,
         sizeof(struct mvs_controller)
 };
-DRIVER_MODULE(sata, mbus, mvs_driver, mvs_devclass, 0, 0);
+DRIVER_MODULE(sata, simplebus, mvs_driver, mvs_devclass, 0, 0);
 MODULE_VERSION(sata, 1);
 

--Multipart=_Sun__20_Jun_2010_22_03_02_+0900_vgXKlSxC7UaEVq/+
Content-Type: text/plain;
 name="OPENRD-CL"
Content-Disposition: attachment;
 filename="OPENRD-CL"
Content-Transfer-Encoding: base64

Iw0KIyBDdXN0b20ga2VybmVsIGZvciBPcGVuUkQgQ2xpZW50L1VsdGltYXRlIGRldmljZXMuDQoj
DQojICRGcmVlQlNEJA0KIw0KDQppZGVudAkJT1BFTlJELUNMDQppbmNsdWRlCQkiLi4vbXYva2ly
a3dvb2Qvc3RkLmRiODhmNnh4eCINCg0Kb3B0aW9ucyAJU09DX01WX0tJUktXT09EDQptYWtlb3B0
aW9ucwlNT0RVTEVTX09WRVJSSURFPSIiDQoNCm1ha2VvcHRpb25zCURFQlVHPS1nCQkjQnVpbGQg
a2VybmVsIHdpdGggZ2RiKDEpIGRlYnVnIHN5bWJvbHMNCm1ha2VvcHRpb25zCVdFUlJPUj0iLVdl
cnJvciINCg0Kb3B0aW9ucyAJU0NIRURfNEJTRAkJIzRCU0Qgc2NoZWR1bGVyDQpvcHRpb25zIAlJ
TkVUCQkJI0ludGVyTkVUd29ya2luZw0Kb3B0aW9ucyAJSU5FVDYJCQkjSVB2NiBjb21tdW5pY2F0
aW9ucyBwcm90b2NvbHMNCm9wdGlvbnMgCUZGUwkJCSNCZXJrZWxleSBGYXN0IEZpbGVzeXN0ZW0N
Cm9wdGlvbnMgCU5GU0NMSUVOVAkJI05ldHdvcmsgRmlsZXN5c3RlbSBDbGllbnQNCm9wdGlvbnMg
CU5GU0xPQ0tECQkjTmV0d29yayBMb2NrIE1hbmFnZXINCm9wdGlvbnMgCU5GU19ST09UCQkjTkZT
IHVzYWJsZSBhcyAvLCByZXF1aXJlcyBORlNDTElFTlQNCm9wdGlvbnMgCUJPT1RQDQpvcHRpb25z
IAlCT09UUF9ORlNST09UDQpvcHRpb25zIAlCT09UUF9ORlNWMw0Kb3B0aW9ucyAJQk9PVFBfV0lS
RURfVE89bWdlMA0KDQojIFJvb3QgZnMgb24gVVNCIGRldmljZQ0KI29wdGlvbnMgCVJPT1RERVZO
QU1FPVwidWZzOi9kZXYvZGEwYVwiDQoNCm9wdGlvbnMgCVNZU1ZTSE0JCQkjU1lTVi1zdHlsZSBz
aGFyZWQgbWVtb3J5DQpvcHRpb25zIAlTWVNWTVNHCQkJI1NZU1Ytc3R5bGUgbWVzc2FnZSBxdWV1
ZXMNCm9wdGlvbnMgCVNZU1ZTRU0JCQkjU1lTVi1zdHlsZSBzZW1hcGhvcmVzDQpvcHRpb25zIAlf
S1BPU0lYX1BSSU9SSVRZX1NDSEVEVUxJTkcgI1Bvc2l4IFAxMDAzXzFCIHJlYWwtdGltZSBleHRl
bnNpb25zDQpvcHRpb25zIAlNVVRFWF9OT0lOTElORQ0Kb3B0aW9ucyAJUldMT0NLX05PSU5MSU5F
DQpvcHRpb25zIAlOT19GRlNfU05BUFNIT1QNCm9wdGlvbnMgCU5PX1NXQVBQSU5HDQoNCiMgRGVi
dWdnaW5nDQpvcHRpb25zIAlBTFRfQlJFQUtfVE9fREVCVUdHRVINCm9wdGlvbnMgCUREQg0Kb3B0
aW9ucyAJS0RCDQoNCiMgUHNldWRvIGRldmljZXMNCmRldmljZQkJbG9vcA0KZGV2aWNlCQltZA0K
ZGV2aWNlCQlwdHkNCmRldmljZQkJcmFuZG9tDQoNCiMgUENJIEV4cHJlc3MNCmRldmljZQkJcGNp
DQoNCiMgU2VyaWFsIHBvcnRzDQpkZXZpY2UJCXVhcnQNCg0KIyBOZXR3b3JraW5nDQpkZXZpY2UJ
CWV0aGVyDQpkZXZpY2UJCW1nZQkJCSMgTWFydmVsbCBHaWdhYml0IEV0aGVybmV0IGNvbnRyb2xs
ZXINCmRldmljZQkJbWlpDQpkZXZpY2UJCWUxMDAwcGh5DQpkZXZpY2UJCWJwZg0KDQojIFVTQg0K
b3B0aW9ucyAJVVNCX0RFQlVHCQkjIGVuYWJsZSBkZWJ1ZyBtc2dzDQpkZXZpY2UJCXVzYg0KZGV2
aWNlCQllaGNpDQpkZXZpY2UJCXVtYXNzDQoNCiMgU0FUQQ0KZGV2aWNlCQltdnMNCg0KIyBDQU0N
CmRldmljZQkJc2NidXMNCmRldmljZQkJZGENCmRldmljZQkJY2QNCmRldmljZQkJcGFzcw0KDQoj
IEkyQyAoVFdTSSkNCmRldmljZQkJaWljDQpkZXZpY2UJCWlpY2J1cw0KDQojIEVuYWJsZSBGbGF0
dGVuZWQgRGV2aWNlIFRyZWUgc3VwcG9ydA0Kb3B0aW9ucyAJRkRUDQpvcHRpb25zCQlGRFRfRFRC
X1NUQVRJQw0KbWFrZW9wdGlvbnMJRkRUX0RUU19GSUxFPW9wZW5yZC1jbC5kdHMNCg==

--Multipart=_Sun__20_Jun_2010_22_03_02_+0900_vgXKlSxC7UaEVq/+
Content-Type: text/plain;
 name="openrd-cl.dts"
Content-Disposition: attachment;
 filename="openrd-cl.dts"
Content-Transfer-Encoding: base64

LyoNCiAqIENvcHlyaWdodCAoYykgMjAwOS0yMDEwIFRoZSBGcmVlQlNEIEZvdW5kYXRpb24NCiAq
IEFsbCByaWdodHMgcmVzZXJ2ZWQuDQogKg0KICogVGhpcyBzb2Z0d2FyZSB3YXMgZGV2ZWxvcGVk
IGJ5IFNlbWloYWxmIHVuZGVyIHNwb25zb3JzaGlwIGZyb20NCiAqIHRoZSBGcmVlQlNEIEZvdW5k
YXRpb24uDQogKg0KICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0DQogKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMNCiAqIGFyZSBtZXQ6DQogKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodA0KICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLg0KICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQNCiAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUNCiAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uDQogKg0KICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
QVVUSE9SIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORA0KICogQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFDQog
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRQ0KICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBBVVRIT1IgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KICogRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwNCiAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTDQogKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikNCiAqIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUDQogKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZDQogKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GDQogKiBTVUNIIERBTUFH
RS4NCiAqDQogKiBPcGVuUkQtQ2xpZW50L1VsdGltYXRlIERldmljZSBUcmVlIFNvdXJjZS4NCiAq
DQogKiAkRnJlZUJTRCQNCiAqLw0KDQovZHRzLXYxLzsNCg0KLyB7DQoJbW9kZWwgPSAibXJ2bCxP
cGVuUkQtQ0wiOw0KCWNvbXBhdGlibGUgPSAiT3BlblJELUNMIjsNCgkjYWRkcmVzcy1jZWxscyA9
IDwxPjsNCgkjc2l6ZS1jZWxscyA9IDwxPjsNCg0KCWFsaWFzZXMgew0KCQlldGhlcm5ldDAgPSAm
ZW5ldDA7DQoJCWV0aGVybmV0MSA9ICZlbmV0MTsNCgkJbXBwID0gJk1QUDsNCgkJcGNpMCA9ICZw
Y2kwOw0KCQlzZXJpYWwwID0gJnNlcmlhbDA7DQoJCXNlcmlhbDEgPSAmc2VyaWFsMTsNCgkJc29j
ID0gJlNPQzsNCgkJc3JhbSA9ICZTUkFNOw0KCX07DQoNCgljcHVzIHsNCgkJI2FkZHJlc3MtY2Vs
bHMgPSA8MT47DQoJCSNzaXplLWNlbGxzID0gPDA+Ow0KDQoJCWNwdUAwIHsNCgkJCWRldmljZV90
eXBlID0gImNwdSI7DQoJCQljb21wYXRpYmxlID0gIkFSTSw4OEZSMTMxIjsNCgkJCXJlZyA9IDww
eDA+Ow0KCQkJZC1jYWNoZS1saW5lLXNpemUgPSA8MzI+OwkvLyAzMiBieXRlcw0KCQkJaS1jYWNo
ZS1saW5lLXNpemUgPSA8MzI+OwkvLyAzMiBieXRlcw0KCQkJZC1jYWNoZS1zaXplID0gPDB4NDAw
MD47CS8vIEwxLCAxNksNCgkJCWktY2FjaGUtc2l6ZSA9IDwweDQwMDA+OwkvLyBMMSwgMTZLDQoJ
CQl0aW1lYmFzZS1mcmVxdWVuY3kgPSA8MD47DQoJCQlidXMtZnJlcXVlbmN5ID0gPDA+Ow0KCQkJ
Y2xvY2stZnJlcXVlbmN5ID0gPDA+Ow0KCQl9Ow0KCX07DQoNCgltZW1vcnkgew0KCQlkZXZpY2Vf
dHlwZSA9ICJtZW1vcnkiOw0KCQlyZWcgPSA8MHgwIDB4MjAwMDAwMDA+OwkJLy8gNTEyTSBhdCAw
eDANCgl9Ow0KDQoJbG9jYWxidXNAZjEwMDAwMDAgew0KCQkjYWRkcmVzcy1jZWxscyA9IDwyPjsN
CgkJI3NpemUtY2VsbHMgPSA8MT47DQoJCWNvbXBhdGlibGUgPSAibXJ2bCxsYmMiOw0KDQoJCS8q
IFRoaXMgcmVmbGVjdHMgQ1BVIGRlY29kZSB3aW5kb3dzIHNldHVwLiAqLw0KCQlyYW5nZXMgPSA8
MHgwIDB4MGYgMHhmOTMwMDAwMCAweDAwMTAwMDAwDQoJCQkgIDB4MSAweDFlIDB4ZmEwMDAwMDAg
MHgwMDEwMDAwMA0KCQkJICAweDIgMHgxZCAweGZhMTAwMDAwIDB4MDIwMDAwMDANCgkJCSAgMHgz
IDB4MWIgMHhmYzEwMDAwMCAweDAwMDAwNDAwPjsNCg0KCQlub3JAMCwwIHsNCgkJCSNhZGRyZXNz
LWNlbGxzID0gPDE+Ow0KCQkJI3NpemUtY2VsbHMgPSA8MT47DQoJCQljb21wYXRpYmxlID0gImNm
aS1mbGFzaCI7DQoJCQlyZWcgPSA8MHgwIDB4MCAweDAwMTAwMDAwPjsNCgkJCWJhbmstd2lkdGgg
PSA8Mj47DQoJCQlkZXZpY2Utd2lkdGggPSA8MT47DQoJCX07DQoNCgkJbGVkQDEsMCB7DQoJCQkj
YWRkcmVzcy1jZWxscyA9IDwxPjsNCgkJCSNzaXplLWNlbGxzID0gPDE+Ow0KCQkJY29tcGF0aWJs
ZSA9ICJsZWQiOw0KCQkJcmVnID0gPDB4MSAweDAgMHgwMDEwMDAwMD47DQoJCX07DQoNCgkJbm9y
QDIsMCB7DQoJCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsNCgkJCSNzaXplLWNlbGxzID0gPDE+Ow0K
CQkJY29tcGF0aWJsZSA9ICJjZmktZmxhc2giOw0KCQkJcmVnID0gPDB4MiAweDAgMHgwMjAwMDAw
MD47DQoJCQliYW5rLXdpZHRoID0gPDI+Ow0KCQkJZGV2aWNlLXdpZHRoID0gPDE+Ow0KCQl9Ow0K
DQoJCW5hbmRAMywwIHsNCgkJCSNhZGRyZXNzLWNlbGxzID0gPDE+Ow0KCQkJI3NpemUtY2VsbHMg
PSA8MT47DQoJCQlyZWcgPSA8MHgzIDB4MCAweDAwMTAwMDAwPjsNCgkJCWJhbmstd2lkdGggPSA8
Mj47DQoJCQlkZXZpY2Utd2lkdGggPSA8MT47DQoJCX07DQoJfTsNCg0KCVNPQzogc29jODhmNjI4
MUBmMTAwMDAwMCB7DQoJCSNhZGRyZXNzLWNlbGxzID0gPDE+Ow0KCQkjc2l6ZS1jZWxscyA9IDwx
PjsNCgkJY29tcGF0aWJsZSA9ICJzaW1wbGUtYnVzIjsNCgkJcmFuZ2VzID0gPDB4MCAweGYxMDAw
MDAwIDB4MDAxMDAwMDA+Ow0KCQlidXMtZnJlcXVlbmN5ID0gPDA+Ow0KDQoJCVBJQzogcGljQDIw
MjAwIHsNCgkJCWludGVycnVwdC1jb250cm9sbGVyOw0KCQkJI2FkZHJlc3MtY2VsbHMgPSA8MD47
DQoJCQkjaW50ZXJydXB0LWNlbGxzID0gPDE+Ow0KCQkJcmVnID0gPDB4MjAyMDAgMHgzYz47DQoJ
CQljb21wYXRpYmxlID0gIm1ydmwscGljIjsNCgkJfTsNCg0KCQl0aW1lckAyMDMwMCB7DQoJCQlj
b21wYXRpYmxlID0gIm1ydmwsdGltZXIiOw0KCQkJcmVnID0gPDB4MjAzMDAgMHgzMD47DQoJCQlp
bnRlcnJ1cHRzID0gPDE+Ow0KCQkJaW50ZXJydXB0LXBhcmVudCA9IDwmUElDPjsNCgkJCW1ydmws
aGFzLXdkdDsNCgkJfTsNCg0KCQlNUFA6IG1wcEAxMDAwMCB7DQoJCQkjcGluLWNlbGxzID0gPDI+
Ow0KCQkJY29tcGF0aWJsZSA9ICJtcnZsLG1wcCI7DQoJCQlyZWcgPSA8MHgxMDAwMCAweDM0PjsN
CgkJCXBpbi1jb3VudCA9IDw1MD47DQoJCQlwaW4tbWFwID0gPA0KCQkJCTAgIDEJCS8qIE1QUFsw
XTogIE5GX0lPWzJdICovDQoJCQkJMSAgMQkJLyogTVBQWzFdOiAgTkZfSU9bM10gKi8NCgkJCQky
ICAxCQkvKiBNUFBbMl06ICBORl9JT1s0XSAqLw0KCQkJCTMgIDEJCS8qIE1QUFszXTogIE5GX0lP
WzVdICovDQoJCQkJNCAgMQkJLyogTVBQWzRdOiAgTkZfSU9bNl0gKi8NCgkJCQk1ICAxCQkvKiBN
UFBbNV06ICBORl9JT1s3XSAqLw0KCQkJCTYgIDEJCS8qIE1QUFs2XTogIFNZU1JTVF9PVVRuICov
DQoJCQkJNyAgMAkJLyogTVBQWzddOiAgR1BPWzddICovDQoJCQkJOCAgMQkJLyogTVBQWzhdOiAg
VFdfU0RBICovDQoJCQkJOSAgMQkJLyogTVBQWzldOiAgVFdfU0NLICovDQoJCQkJMTAgMwkJLyog
TVBQWzEwXTogVUEwX1RYRCAqLw0KCQkJCTExIDMJCS8qIE1QUFsxMV06IFVBMF9SWEQgKi8NCgkJ
CQkxMiAxCQkvKiBNUFBbMTJdOiBTRF9DTEsgKi8NCgkJCQkxMyAxCQkvKiBNUFBbMTNdOiBTRF9D
TUQgKi8NCgkJCQkxNCAxCQkvKiBNUFBbMTRdOiBTRF9EWzBdICovDQoJCQkJMTUgMQkJLyogTVBQ
WzE1XTogU0RfRFsxXSAqLw0KCQkJCTE2IDEJCS8qIE1QUFsxNl06IFNEX0RbMl0gKi8NCgkJCQkx
NyAxCQkvKiBNUFBbMTddOiBTRF9EWzNdICovDQoJCQkJMTggMQkJLyogTVBQWzE4XTogTkZfSU9b
MF0gKi8NCgkJCQkxOSAxCQkvKiBNUFBbMTldOiBORl9JT1sxXSAqLw0KCQkJCTIwIDMJCS8qIE1Q
UFsyMF06IEdFMVswXSAqLw0KCQkJCTIxIDMJCS8qIE1QUFsyMV06IEdFMVsxXSAqLw0KCQkJCTIy
IDMJCS8qIE1QUFsyMl06IEdFMVsyXSAqLw0KCQkJCTIzIDMJCS8qIE1QUFsyM106IEdFMVszXSAq
Lw0KCQkJCTI0IDMJCS8qIE1QUFsyNF06IEdFMVs0XSAqLw0KCQkJCTI1IDMJCS8qIE1QUFsyNV06
IEdFMVs1XSAqLw0KCQkJCTI2IDMJCS8qIE1QUFsyNl06IEdFMVs2XSAqLw0KCQkJCTI3IDMJCS8q
IE1QUFsyN106IEdFMVs3XSAqLw0KCQkJCTI4IDAJCS8qIE1QUFsyOF06IEdQSU9bMjhdICovDQoJ
CQkJMjkgMQkJLyogTVBQWzI5XTogVFNNUFs5XSAqLw0KCQkJCTMwIDMJCS8qIE1QUFszMF06IEdF
MVsxMF0gKi8NCgkJCQkzMSAzCQkvKiBNUFBbMzFdOiBHRTFbMTFdICovDQoJCQkJMzIgMwkJLyog
TVBQWzMyXTogR0UxWzEyXSAqLw0KCQkJCTMzIDMJCS8qIE1QUFszM106IEdFMVsxM10gKi8NCgkJ
CQkzNCAwCQkvKiBNUFBbMzRdOiBHUElPWzM0XSAqLw0KCQkJCTM1IDIJCS8qIE1QUFszNV06IFRE
TV9DSDBfVFhfUUwgKi8NCgkJCQkzNiAyCQkvKiBNUFBbMzZdOiBURE1fU1BJX0NTMSAqLw0KCQkJ
CTM3IDIJCS8qIE1QUFszN106IFRETV9DSDJfVFhfUUwgKi8NCgkJCQkzOCAyCQkvKiBNUFBbMzhd
OiBURE1fQ0gyX1JYX1FMICovDQoJCQkJMzkgNAkJLyogTVBQWzM5XTogQVVfSTJTQkNMSyAqLw0K
CQkJCTQwIDQJCS8qIE1QUFs0MF06IEFVX0kyU0RPICovDQoJCQkJNDEgNAkJLyogTVBQWzQxXTog
QVVfSTJTTFJDTEsgKi8NCgkJCQk0MiA0CQkvKiBNUFBbNDJdOiBBVV9JMlNNQ0xLICovDQoJCQkJ
NDMgNAkJLyogTVBQWzQzXTogQVVfSTJTREkgKi8NCgkJCQk0NCA0CQkvKiBNUFBbNDRdOiBBVV9F
WFRDTEsgKi8NCgkJCQk0NSAyCQkvKiBNUFBbNDVdOiBURE1fUENMSyAqLw0KCQkJCTQ2IDIJCS8q
IE1QUFs0Nl06IFRETV9GUyAqLw0KCQkJCTQ3IDIJCS8qIE1QUFs0N106IFRETV9EUlggKi8NCgkJ
CQk0OCAyCQkvKiBNUFBbNDhdOiBURE1fRFRYICovDQoJCQkJNDkgMj47CQkvKiBNUFBbNDldOiBU
RE1fQ0gwX1RYX1FMICovDQoJCX07DQoNCgkJR1BJTzogZ3Bpb0AxMDEwMCB7DQoJCQkjZ3Bpby1j
ZWxscyA9IDwzPjsNCgkJCWNvbXBhdGlibGUgPSAibXJ2bCxncGlvIjsNCgkJCXJlZyA9IDwweDEw
MTAwIDB4MjA+Ow0KCQkJZ3Bpby1jb250cm9sbGVyOw0KCQkJaW50ZXJydXB0cyA9IDwzNSAzNiAz
NyAzOCAzOSA0MCA0MT47DQoJCQlpbnRlcnJ1cHQtcGFyZW50ID0gPCZQSUM+Ow0KCQl9Ow0KDQoJ
CXJ0Y0AxMDMwMCB7DQoJCQljb21wYXRpYmxlID0gIm1ydmwscnRjIjsNCgkJCXJlZyA9IDwweDEw
MzAwIDB4MDg+Ow0KCQl9Ow0KDQoJCXR3c2lAMTEwMDAgew0KCQkJI2FkZHJlc3MtY2VsbHMgPSA8
MT47DQoJCQkjc2l6ZS1jZWxscyA9IDwwPjsNCgkJCWNvbXBhdGlibGUgPSAibXJ2bCx0d3NpIjsN
CgkJCXJlZyA9IDwweDExMDAwIDB4MjA+Ow0KCQkJaW50ZXJydXB0cyA9IDw0Mz47DQoJCQlpbnRl
cnJ1cHQtcGFyZW50ID0gPCZQSUM+Ow0KCQl9Ow0KDQoJCWVuZXQwOiBldGhlcm5ldEA3MjAwMCB7
DQoJCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsNCgkJCSNzaXplLWNlbGxzID0gPDE+Ow0KCQkJbW9k
ZWwgPSAiVjIiOw0KCQkJY29tcGF0aWJsZSA9ICJtcnZsLGdlIjsNCgkJCXJlZyA9IDwweDcyMDAw
IDB4MjAwMD47DQoJCQlyYW5nZXMgPSA8MHgwIDB4NzIwMDAgMHgyMDAwPjsNCgkJCWxvY2FsLW1h
Yy1hZGRyZXNzID0gWyAwMCAwMCAwMCAwMCAwMCAwMCBdOw0KCQkJaW50ZXJydXB0cyA9IDwxMiAx
MyAxNCAxMSA0Nj47DQoJCQlpbnRlcnJ1cHQtcGFyZW50ID0gPCZQSUM+Ow0KDQoJCQltZGlvQDAg
ew0KCQkJCSNhZGRyZXNzLWNlbGxzID0gPDE+Ow0KCQkJCSNzaXplLWNlbGxzID0gPDA+Ow0KCQkJ
CWNvbXBhdGlibGUgPSAibXJ2bCxtZGlvIjsNCgkJCX07DQoJCX07DQoNCgkJZW5ldDE6IGV0aGVy
bmV0QDc2MDAwIHsNCgkJCSNhZGRyZXNzLWNlbGxzID0gPDE+Ow0KCQkJI3NpemUtY2VsbHMgPSA8
MT47DQoJCQltb2RlbCA9ICJWMiI7DQoJCQljb21wYXRpYmxlID0gIm1ydmwsZ2UiOw0KCQkJcmVn
ID0gPDB4NzYwMDAgMHgyMDAwPjsNCgkJCXJhbmdlcyA9IDwweDAgMHg3NjAwMCAweDIwMDA+Ow0K
CQkJbG9jYWwtbWFjLWFkZHJlc3MgPSBbIDAwIDAwIDAwIDAwIDAwIDAwIF07DQoJCQlpbnRlcnJ1
cHRzID0gPDE2IDE3IDE4IDE1IDQ3PjsNCgkJCWludGVycnVwdC1wYXJlbnQgPSA8JlBJQz47DQoN
CgkJCW1kaW9AMSB7DQoJCQkJI2FkZHJlc3MtY2VsbHMgPSA8MT47DQoJCQkJI3NpemUtY2VsbHMg
PSA8MD47DQoJCQkJY29tcGF0aWJsZSA9ICJtcnZsLG1kaW8iOw0KCQkJfTsNCgkJfTsNCg0KCQlz
ZXJpYWwwOiBzZXJpYWxAMTIwMDAgew0KCQkJY29tcGF0aWJsZSA9ICJuczE2NTUwIjsNCgkJCXJl
ZyA9IDwweDEyMDAwIDB4MjA+Ow0KCQkJcmVnLXNoaWZ0ID0gPDI+Ow0KCQkJY2xvY2stZnJlcXVl
bmN5ID0gPDA+Ow0KCQkJaW50ZXJydXB0cyA9IDwzMz47DQoJCQlpbnRlcnJ1cHQtcGFyZW50ID0g
PCZQSUM+Ow0KCQl9Ow0KDQoJCXNlcmlhbDE6IHNlcmlhbEAxMjEwMCB7DQoJCQljb21wYXRpYmxl
ID0gIm5zMTY1NTAiOw0KCQkJcmVnID0gPDB4MTIxMDAgMHgyMD47DQoJCQlyZWctc2hpZnQgPSA8
Mj47DQoJCQljbG9jay1mcmVxdWVuY3kgPSA8MD47DQoJCQlpbnRlcnJ1cHRzID0gPDM0PjsNCgkJ
CWludGVycnVwdC1wYXJlbnQgPSA8JlBJQz47DQoJCX07DQoNCgkJY3J5cHRvQDMwMDAwIHsNCgkJ
CWNvbXBhdGlibGUgPSAibXJ2bCxjZXNhIjsNCgkJCXJlZyA9IDwweDMwMDAwIDB4MTAwMDA+Ow0K
CQkJaW50ZXJydXB0cyA9IDwyMj47DQoJCQlpbnRlcnJ1cHQtcGFyZW50ID0gPCZQSUM+Ow0KCQl9
Ow0KDQoJCXVzYkA1MDAwMCB7DQoJCQljb21wYXRpYmxlID0gIm1ydmwsdXNiLWVoY2kiLCAidXNi
LWVoY2kiOw0KCQkJcmVnID0gPDB4NTAwMDAgMHgxMDAwPjsNCgkJCWludGVycnVwdHMgPSA8NDgg
MTk+Ow0KCQkJaW50ZXJydXB0LXBhcmVudCA9IDwmUElDPjsNCgkJfTsNCg0KCQl4b3JANjAwMDAg
ew0KCQkJY29tcGF0aWJsZSA9ICJtcnZsLHhvciI7DQoJCQlyZWcgPSA8MHg2MDAwMCAweDEwMDA+
Ow0KCQkJaW50ZXJydXB0cyA9IDw1IDYgNyA4PjsNCgkJCWludGVycnVwdC1wYXJlbnQgPSA8JlBJ
Qz47DQoJCX07DQoNCgkJc2F0YUA4MDAwMCB7DQoJCQljb21wYXRpYmxlID0gIm1ydmwsc2F0YSI7
DQoJCQlyZWcgPSA8MHg4MDAwMCAweDYwMDA+Ow0KCQkJaW50ZXJydXB0cyA9IDwyMT47DQoJCQlp
bnRlcnJ1cHQtcGFyZW50ID0gPCZQSUM+Ow0KCQl9Ow0KCX07DQoNCglTUkFNOiBzcmFtQGZkMDAw
MDAwIHsNCgkJY29tcGF0aWJsZSA9ICJtcnZsLGNlc2Etc3JhbSI7DQoJCXJlZyA9IDwweGZkMDAw
MDAwIDB4MDAxMDAwMDA+Ow0KCX07DQoNCgljaG9zZW4gew0KCQlzdGRpbiAgPSAic2VyaWFsMCI7
DQoJCXN0ZG91dCA9ICJzZXJpYWwwIjsNCgl9Ow0KDQoJcGNpMDogcGNpZUBmMTA0MDAwMCB7DQoJ
CWNvbXBhdGlibGUgPSAibXJ2bCxwY2llIjsNCgkJZGV2aWNlX3R5cGUgPSAicGNpIjsNCgkJI2lu
dGVycnVwdC1jZWxscyA9IDwxPjsNCgkJI3NpemUtY2VsbHMgPSA8Mj47DQoJCSNhZGRyZXNzLWNl
bGxzID0gPDM+Ow0KCQlyZWcgPSA8MHhmMTA0MDAwMCAweDIwMDA+Ow0KCQlidXMtcmFuZ2UgPSA8
MCAyNTU+Ow0KCQlyYW5nZXMgPSA8MHgwMjAwMDAwMCAweDAgMHhmNDAwMDAwMCAweGY0MDAwMDAw
IDB4MCAweDA0MDAwMDAwDQoJCQkgIDB4MDEwMDAwMDAgMHgwIDB4MDAwMDAwMDAgMHhmMTEwMDAw
MCAweDAgMHgwMDEwMDAwMD47DQoJCWNsb2NrLWZyZXF1ZW5jeSA9IDwzMzMzMzMzMz47DQoJCWlu
dGVycnVwdC1wYXJlbnQgPSA8JlBJQz47DQoJCWludGVycnVwdHMgPSA8NDQ+Ow0KCQlpbnRlcnJ1
cHQtbWFwLW1hc2sgPSA8MHhmODAwIDB4MCAweDAgMHg3PjsNCgkJaW50ZXJydXB0LW1hcCA9IDwN
CgkJCS8qIElEU0VMIDB4MSAqLw0KCQkJMHgwODAwIDB4MCAweDAgMHgxICZQSUMgMHg5DQoJCQkw
eDA4MDAgMHgwIDB4MCAweDIgJlBJQyAweDkNCgkJCTB4MDgwMCAweDAgMHgwIDB4MyAmUElDIDB4
OQ0KCQkJMHgwODAwIDB4MCAweDAgMHg0ICZQSUMgMHg5DQoJCQk+Ow0KCQlwY2llQDAgew0KCQkJ
cmVnID0gPDB4MCAweDAgMHgwIDB4MCAweDA+Ow0KCQkJI3NpemUtY2VsbHMgPSA8Mj47DQoJCQkj
YWRkcmVzcy1jZWxscyA9IDwzPjsNCgkJCWRldmljZV90eXBlID0gInBjaSI7DQoJCQlyYW5nZXMg
PSA8MHgwMjAwMDAwMCAweDAgMHhmNDAwMDAwMA0KCQkJCSAgMHgwMjAwMDAwMCAweDAgMHhmNDAw
MDAwMA0KCQkJCSAgMHgwIDB4MDQwNDAwMDANCg0KCQkJCSAgMHgwMTAwMDAwMCAweDAgMHgwDQoJ
CQkJICAweDAxMDAwMDAwIDB4MCAweDANCgkJCQkgIDB4MCAweDAwMTAwMDAwPjsNCgkJfTsNCgl9
Ow0KfTsNCg==

--Multipart=_Sun__20_Jun_2010_22_03_02_+0900_vgXKlSxC7UaEVq/+--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100620220302.8eb84547.nork>