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
>[email protected]
>http://lists.soekris.com/mailman/listinfo/soekris-tech
_______________________________________________
Soekris-tech mailing list
[email protected]
http://lists.soekris.com/mailman/listinfo/soekris-tech