At 02:04 AM 10/4/2007, Poul-Henning Kamp wrote:
>In message <[EMAIL PROTECTED]>, 
>Andreas Wrede writes:
>
> >Under NetBSD -current, the controller reports Ultra-DMA mode 4
> >capability, the drive I have is Ultra-DMA mode 5 and they end up
> >communicating at Ultra 4. Looks OK, if Ultra-DMA mode 4 (Ultra/66) is
> >actually the top speed of the controller.
>
>Check the device driver.  I've seen it do UDMA5 under FreeBSD with
>this patch (currently in the release-engineers queue):

I tried this patch on RELENG_6 and it doesnt work for all flash 
cards. It seems it has something to do with whether or not the flash 
is detected as ad0 or ad1.  If I use a lexar flash, it always comes 
up as ad1 on RELENG_6.  The same flash on CURRENT however, comes up 
as ad0.  But it does not work.  If I use a SANDISK which comes up as 
ad0 on RELENG_6 and ad0 on CURRENT, your patch works on CURRENT and I can boot.

Also the box still hangs if I type "reboot" from the loader 
prompt.  Actually, if I type a bit (e.g. pause it, do an ls) and then 
wait a few seconds, the box will hang.

         ---Mike



Trying to type in boot -v from the loader prompt gets hung up at
OK boot -v
SMAP type=01 base=0000000000000000 len=000000000009fc00
SMAP type=02 base=000000000009fc00 len=0000000000000400
SMAP type=02 base=00000000000f0000 len=0000000000010000
SMAP type=01 base=000000000010000

but putting it in /boot/loader.conf lets it boot ?!?!

SMAP type=01 base=0000000000000000 len=000000000009fc00
SMAP type=02 base=000000000009fc00 len=0000000000000400
SMAP type=02 base=00000000000f0000 len=0000000000010000
SMAP type=01 base=0000000000100000 len=000000000ff00000
SMAP type=02 base=00000000fff00000 len=0000000000100000
Copyright (c) 1992-2007 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 6.2-STABLE #1: Thu Oct  4 12:17:57 EDT 2007
     [EMAIL PROTECTED]:/usr/obj/nanobsd.bulloch-soekris5501/usr/src/sys/nano5501
Preloaded elf kernel "/boot/kernel/kernel" at 0xc0718000.
Calibrating clock(s) ... i8254 clock: 1193204 Hz
CLK_USE_I8254_CALIBRATION not specified - using default frequency
Timecounter "i8254" frequency 1193182 Hz quality 0
Calibrating TSC clock ... TSC clock: 433251412 Hz
CPU: Geode(TM) Integrated Processor by AMD PCS (433.25-MHz 586-class CPU)
   Origin = "AuthenticAMD"  Id = 0x5a2  Stepping = 2
   Features=0x88a93d<FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CLFLUSH,MMX>
   AMD Features=0xc0400000<MMX+,3DNow!+,3DNow!>
Data TLB: 16 entries, fully associative
Instruction TLB: 16 entries, fully associative
L1 data cache: 64 kbytes, 32 bytes/line, 1 lines/tag, 16-way associative
L1 instruction cache: 64 kbytes, 32 bytes/line, 1 lines/tag, 16-way associative
L2 internal cache: 128 kbytes, 32 bytes/line, 1 lines/tag, 4-way associative
Write Allocate Disable
real memory  = 268435456 (256 MB)
Physical memory chunk(s):
0x0000000000001000 - 0x000000000009efff, 647168 bytes (158 pages)
0x0000000000100000 - 0x00000000003fffff, 3145728 bytes (768 pages)
0x0000000000825000 - 0x000000000fb3dfff, 254906368 bytes (62233 pages)
avail memory = 257462272 (245 MB)
bios32: Found BIOS32 Service Directory header at 0xc00fac00
bios32: Entry = 0xfac40 (c00fac40)  Rev = 0  Len = 1
pcibios: PCI BIOS entry at 0xf0000+0xac61
Other BIOS signatures found:
null: <null device, zero device>
mem: <memory>
K6-family MTRR support enabled (2 registers)
nfslock: pseudo-device
random: <entropy source, Software, Yarrow>
io: <I/O>
npx0: INT 16 interface
cpu0 on motherboard
pci_open(1):    mode 1 addr port (0x0cf8) is 0x00000000
pci_open(1a):   mode1res=0x80000000 (0x80000000)
pci_cfgcheck:   device 0 1 [class=060000] [hdr=80] is there (id=20801022)
pcibios: BIOS version 2.01
pcib0: <Host to PCI bridge> pcibus 0 on motherboard
pci0: <PCI bus> on pcib0
pci0: physical bus=0
found-> vendor=0x1022, dev=0x2080, revid=0x30
         bus=0, slot=1, func=0
         class=06-00-00, hdrtype=0x00, mfdev=1
         cmdreg=0x0005, statreg=0x0220, cachelnsz=8 (dwords)
         lattimer=0xf8 (7440 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
found-> vendor=0x1022, dev=0x2082, revid=0x00
         bus=0, slot=1, func=2
         class=10-10-00, hdrtype=0x00, mfdev=0
         cmdreg=0x0006, statreg=0x0220, cachelnsz=8 (dwords)
         lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
         intpin=a, irq=10
         map[10]: type 1, range 32, base a0000000, size 14, enabled
found-> vendor=0x1106, dev=0x3053, revid=0x96
         bus=0, slot=6, func=0
         class=02-00-00, hdrtype=0x00, mfdev=0
         cmdreg=0x0117, statreg=0x0210, cachelnsz=8 (dwords)
         lattimer=0x40 (1920 ns), mingnt=0x03 (750 ns), maxlat=0x08 (2000 ns)
         intpin=a, irq=11
         powerspec 2  supports D0 D1 D2 D3  current D0
         map[10]: type 4, range 32, base 0000e100, size  8, enabled
         map[14]: type 1, range 32, base a0004000, size  8, enabled
found-> vendor=0x1106, dev=0x3053, revid=0x96
         bus=0, slot=7, func=0
         class=02-00-00, hdrtype=0x00, mfdev=0
         cmdreg=0x0117, statreg=0x0210, cachelnsz=8 (dwords)
         lattimer=0x40 (1920 ns), mingnt=0x03 (750 ns), maxlat=0x08 (2000 ns)
         intpin=a, irq=5
         powerspec 2  supports D0 D1 D2 D3  current D0
         map[10]: type 4, range 32, base 0000e200, size  8, enabled
         map[14]: type 1, range 32, base a0004100, size  8, enabled
found-> vendor=0x1106, dev=0x3053, revid=0x96
         bus=0, slot=8, func=0
         class=02-00-00, hdrtype=0x00, mfdev=0
         cmdreg=0x0117, statreg=0x0210, cachelnsz=8 (dwords)
         lattimer=0x40 (1920 ns), mingnt=0x03 (750 ns), maxlat=0x08 (2000 ns)
         intpin=a, irq=9
         powerspec 2  supports D0 D1 D2 D3  current D0
         map[10]: type 4, range 32, base 0000e300, size  8, enabled
         map[14]: type 1, range 32, base a0004200, size  8, enabled
found-> vendor=0x1106, dev=0x3053, revid=0x96
         bus=0, slot=9, func=0
         class=02-00-00, hdrtype=0x00, mfdev=0
         cmdreg=0x0117, statreg=0x0210, cachelnsz=8 (dwords)
         lattimer=0x40 (1920 ns), mingnt=0x03 (750 ns), maxlat=0x08 (2000 ns)
         intpin=a, irq=12
         powerspec 2  supports D0 D1 D2 D3  current D0
         map[10]: type 4, range 32, base 0000e400, size  8, enabled
         map[14]: type 1, range 32, base a0004300, size  8, enabled
found-> vendor=0x12b9, dev=0x1008, revid=0x01
         bus=0, slot=14, func=0
         class=07-00-02, hdrtype=0x00, mfdev=0
         cmdreg=0x0101, statreg=0x0210, cachelnsz=0 (dwords)
         lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
         intpin=a, irq=10
         powerspec 2  supports D0 D2 D3  current D0
         map[10]: type 4, range 32, base 0000e500, size  3, enabled
found-> vendor=0x1415, dev=0x9501, revid=0x00
         bus=0, slot=17, func=0
         class=07-00-06, hdrtype=0x00, mfdev=1
         cmdreg=0x0103, statreg=0x0290, cachelnsz=0 (dwords)
         lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
         intpin=a, irq=15
         powerspec 1  supports D0 D2 D3  current D0
         map[10]: type 4, range 32, base 0000e520, size  5, enabled
         map[14]: type 1, range 32, base a0005000, size 12, enabled
         map[18]: type 4, range 32, base 0000e540, size  5, enabled
         map[1c]: type 1, range 32, base a0006000, size 12, enabled
found-> vendor=0x1415, dev=0x9510, revid=0x00
         bus=0, slot=17, func=1
         class=06-80-00, hdrtype=0x00, mfdev=1
         cmdreg=0x0103, statreg=0x0290, cachelnsz=0 (dwords)
         lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
         intpin=b, irq=15
         powerspec 1  supports D0 D2 D3  current D0
         map[10]: type 4, range 32, base 0000e560, size  5, enabled
         map[14]: type 1, range 32, base a0007000, size 12, enabled
         map[18]: type 4, range 32, base 0000e580, size  5, enabled
         map[1c]: type 1, range 32, base a0008000, size 12, enabled
found-> vendor=0x1022, dev=0x2090, revid=0x03
         bus=0, slot=20, func=0
         class=06-01-00, hdrtype=0x00, mfdev=1
         cmdreg=0x0009, statreg=0x02a0, cachelnsz=8 (dwords)
         lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
         map[10]: type 4, range 32, base 00006000, size 13, enabled
         map[14]: type 4, range 32, base 00006100, size  8, enabled
         map[18]: type 4, range 32, base 00006200, size  9, enabled
found-> vendor=0x1022, dev=0x209a, revid=0x01
         bus=0, slot=20, func=2
         class=01-01-80, hdrtype=0x00, mfdev=0
         cmdreg=0x0005, statreg=0x02a0, cachelnsz=8 (dwords)
         lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
         map[20]: type 4, range 32, base 0000e000, size  4, enabled
found-> vendor=0x1022, dev=0x2094, revid=0x02
         bus=0, slot=21, func=0
         class=0c-03-10, hdrtype=0x00, mfdev=1
         cmdreg=0x0006, statreg=0x0230, cachelnsz=8 (dwords)
         lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
         intpin=a, irq=7
         map[10]: type 1, range 32, base a0009000, size 12, enabled
found-> vendor=0x1022, dev=0x2095, revid=0x02
         bus=0, slot=21, func=1
         class=0c-03-20, hdrtype=0x00, mfdev=0
         cmdreg=0x0006, statreg=0x0230, cachelnsz=8 (dwords)
         lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
         intpin=a, irq=7
         map[10]: type 1, range 32, base a000a000, size 12, enabled
Geode LX: Soekris net5501 comBIOS ver. 1.32h 20071004 Copyright (C) 2000-2007
MFGPT bar: f00100006200
pci0: <encrypt/decrypt, entertainment crypto> at device 1.2 (no 
driver attached)
vr0: <VIA VT6105M Rhine III 10/100BaseTX> port 0xe100-0xe1ff mem 
0xa0004000-0xa00040ff irq 11 at device 6.0 on pci0
vr0: Reserved 0x100 bytes for rid 0x10 type 4 at 0xe100
miibus0: <MII bus> on vr0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: OUI 0x004063, model 0x0034, rev. 3
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
vr0: bpf attached
vr0: Ethernet address: 00:00:24:c8:e6:50
vr0: [MPSAFE]
vr1: <VIA VT6105M Rhine III 10/100BaseTX> port 0xe200-0xe2ff mem 
0xa0004100-0xa00041ff irq 5 at device 7.0 on pci0
vr1: Reserved 0x100 bytes for rid 0x10 type 4 at 0xe200
miibus1: <MII bus> on vr1
ukphy1: <Generic IEEE 802.3u media interface> on miibus1
ukphy1: OUI 0x004063, model 0x0034, rev. 3
ukphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
vr1: bpf attached
vr1: Ethernet address: 00:00:24:c8:e6:51
vr1: [MPSAFE]
vr2: <VIA VT6105M Rhine III 10/100BaseTX> port 0xe300-0xe3ff mem 
0xa0004200-0xa00042ff irq 9 at device 8.0 on pci0
vr2: Reserved 0x100 bytes for rid 0x10 type 4 at 0xe300
miibus2: <MII bus> on vr2
ukphy2: <Generic IEEE 802.3u media interface> on miibus2
ukphy2: OUI 0x004063, model 0x0034, rev. 3
ukphy2:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
vr2: bpf attached
vr2: Ethernet address: 00:00:24:c8:e6:52
vr2: [MPSAFE]
vr3: <VIA VT6105M Rhine III 10/100BaseTX> port 0xe400-0xe4ff mem 
0xa0004300-0xa00043ff irq 12 at device 9.0 on pci0
vr3: Reserved 0x100 bytes for rid 0x10 type 4 at 0xe400
miibus3: <MII bus> on vr3
ukphy3: <Generic IEEE 802.3u media interface> on miibus3
ukphy3: OUI 0x004063, model 0x0034, rev. 3
ukphy3:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
vr3: bpf attached
vr3: Ethernet address: 00:00:24:c8:e6:53
vr3: [MPSAFE]
puc0: <US Robotics (3Com) 3CP5609 PCI 16550 Modem> port 0xe500-0xe507 
irq 10 at device 14.0 on pci0
puc0: Reserved 0x8 bytes for rid 0x10 type 4 at 0xe500
sio4: <US Robotics (3Com) 3CP5609 PCI 16550 Modem> on puc0
sio4: type 16550A
sio4: unable to activate interrupt in fast mode - using normal mode
puc1: <Oxford Semiconductor OX16PCI954 UARTs> port 
0xe520-0xe53f,0xe540-0xe55f mem 
0xa0005000-0xa0005fff,0xa0006000-0xa0006fff irq 15 at device 17.0 on pci0
puc1: Reserved 0x20 bytes for rid 0x10 type 4 at 0xe520
sio5: <Oxford Semiconductor OX16PCI954 UARTs> on puc1
sio5: type 16550A
sio5: unable to activate interrupt in fast mode - using normal mode
sio6: <Oxford Semiconductor OX16PCI954 UARTs> on puc1
sio6: type 16550A
sio6: unable to activate interrupt in fast mode - using normal mode
sio7: <Oxford Semiconductor OX16PCI954 UARTs> on puc1
sio7: type 16550A
sio7: unable to activate interrupt in fast mode - using normal mode
sio8: <Oxford Semiconductor OX16PCI954 UARTs> on puc1
sio8: type 16550A
sio8: unable to activate interrupt in fast mode - using normal mode
pci0: <bridge> at device 17.1 (no driver attached)
isab0: <PCI-ISA bridge> at device 20.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <AMD CS5536 UDMA100 controller> port 
0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xe000-0xe00f at device 20.2 on pci0
atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0xe000
ata0: <ATA channel 0> on atapci0
atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0x1f0
atapci0: Reserved 0x1 bytes for rid 0x14 type 4 at 0x3f6
ata0: reset tp1 mask=03 ostat0=60 ostat1=50
ata0: stat0=0x20 err=0x20 lsb=0x20 msb=0x20
ata0: stat1=0x50 err=0x01 lsb=0x00 msb=0x00
ata0: reset tp2 stat0=20 stat1=50 devices=0x2<ATA_SLAVE>
ata0: [MPSAFE]
ata1: <ATA channel 1> on atapci0
atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0x170
atapci0: Reserved 0x1 bytes for rid 0x1c type 4 at 0x376
ata1: reset tp1 mask=00 ostat0=ff ostat1=ff
ata1: [MPSAFE]
ohci0: <OHCI (generic) USB controller> mem 0xa0009000-0xa0009fff irq 
7 at device 21.0 on pci0
ohci0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xa0009000
ohci0: [GIANT-LOCKED]
usb0: OHCI version 1.0, legacy support
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: AMD OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 4 ports with 4 removable, self powered
pci0: <serial bus, USB> at device 21.1 (no driver attached)
pnp_identify: Trying Read_Port at 203
pnp_identify: Trying Read_Port at 243
pnp_identify: Trying Read_Port at 283
pnp_identify: Trying Read_Port at 2c3
pnp_identify: Trying Read_Port at 303
pnp_identify: Trying Read_Port at 343
pnp_identify: Trying Read_Port at 383
pnp_identify: Trying Read_Port at 3c3
PNP Identify complete
ata: ata0 already exists; skipping it
ata: ata1 already exists; skipping it
isa_probe_children: disabling PnP devices
isa_probe_children: probing non-PnP devices
orm0: <ISA Option ROM> at iomem 0xc8000-0xd27ff on isa0
adv0: not probed (disabled)
aha0: not probed (disabled)
aic0: not probed (disabled)
atkbdc0 failed to probe at port 0x60 on isa0
bt0: not probed (disabled)
cs0: not probed (disabled)
ed0: not probed (disabled)
fdc0 failed to probe at port 0x3f0 irq 6 drq 2 on isa0
fe0: not probed (disabled)
ie0: not probed (disabled)
lnc0: not probed (disabled)
ppc0 failed to probe at irq 7 on isa0
sc0 failed to probe on isa0
sio0: irq maps: 0x81 0x91 0x81 0x81
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A, console
sio1: irq maps: 0x81 0x89 0x81 0x81
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
sio2: not probed (disabled)
sio3: not probed (disabled)
sn0: not probed (disabled)
vga0 failed to probe on isa0
vt0: not probed (disabled)
isa_probe_children: probing PnP devices
Device configuration finished.
procfs registered
Timecounter "TSC" frequency 433251412 Hz quality 800
Timecounters tick every 1.000 msec
lo0: bpf attached
pflog0: bpf attached
ata0-slave: pio=PIO4 wdma=UNSUPPORTED udma=UNSUPPORTED cable=40 wire
ad1: setting PIO4 on CS5536 chip
ad1: 489MB <LEXAR ATA FLASH V1.02> at ata0-slave PIO4
ad1: 1001952 sectors [994C/16H/63S] 1 sectors/interrupt 1 depth queue
GEOM: new disk ad1
Trying to mount root from ufs:/dev/ad1s1a

Manual root filesystem specification:
   <fstype>:<device>  Mount <device> using filesystem <fstype>
                        eg. ufs:da0s1a
   ?                  List valid disk boot devices
   <empty line>       Abort manual input

mountroot> ?

List of GEOM managed disk devices:
   ad1s4 ad1s3 ad1s2 ad1s1 ad1

Manual root filesystem specification:
   <fstype>:<device>  Mount <device> using filesystem <fstype>
                        eg. ufs:da0s1a
   ?                  List valid disk boot devices
   <empty line>       Abort manual input

mountroot> ufs:ad1s1a
Trying to mount root from ufs:ad1s1a

Manual root filesystem specification:
   <fstype>:<device>  Mount <device> using filesystem <fstype>
                        eg. ufs:da0s1a
   ?                  List valid disk boot devices
   <empty line>       Abort manual input

mountroot>


         ---Mike



>Index: ata-chipset.c
>===================================================================
>RCS file: /home/ncvs/src/sys/dev/ata/ata-chipset.c,v
>retrieving revision 1.199
>diff -u -r1.199 ata-chipset.c
>--- ata-chipset.c       10 Sep 2007 19:16:39 -0000      1.199
>+++ ata-chipset.c       3 Oct 2007 13:30:10 -0000
>@@ -1216,6 +1216,7 @@
>       { ATA_AMD766,  0x00, AMDNVIDIA, AMDCABLE|AMDBUG, ATA_UDMA5, "766" },
>       { ATA_AMD768,  0x00, AMDNVIDIA, AMDCABLE,        ATA_UDMA5, "768" },
>       { ATA_AMD8111, 0x00, AMDNVIDIA, AMDCABLE,        ATA_UDMA6, "8111" },
>+     { ATA_AMD5536, 0x00, AMDNVIDIA, 0x00,            ATA_UDMA5, "CS5536" },
>       { 0, 0, 0, 0, 0, 0}};
>      char buffer[64];
>
>Index: ata-pci.h
>===================================================================
>RCS file: /home/ncvs/src/sys/dev/ata/ata-pci.h,v
>retrieving revision 1.78
>diff -u -r1.78 ata-pci.h
>--- ata-pci.h   10 Sep 2007 19:16:39 -0000      1.78
>+++ ata-pci.h   3 Oct 2007 13:31:01 -0000
>@@ -86,6 +86,7 @@
>  #define ATA_AMD766              0x74111022
>  #define ATA_AMD768              0x74411022
>  #define ATA_AMD8111             0x74691022
>+#define ATA_AMD5536             0x209a1022
>
>  #define ATA_ACER_LABS_ID        0x10b9
>  #define ATA_ALI_1533            0x153310b9
>
>--
>Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
>[EMAIL PROTECTED]         | TCP/IP since RFC 956
>FreeBSD committer       | BSD since 4.3-tahoe
>Never attribute to malice what can adequately be explained by incompetence.
>_______________________________________________
>Soekris-tech mailing list
>Soekris-tech@lists.soekris.com
>http://lists.soekris.com/mailman/listinfo/soekris-tech

_______________________________________________
Soekris-tech mailing list
Soekris-tech@lists.soekris.com
http://lists.soekris.com/mailman/listinfo/soekris-tech

Reply via email to