"disable ata" in kernel configuration not working?

Andy Farkas andyf at speednet.com.au
Tue Jun 3 16:35:58 PDT 2003


On Tue, 3 Jun 2003, Gerhard Sittig wrote:

> Your kernel config has ata entries for ISA controllers.  Remove
> them and your PCI adapter should become ata0 and the disk should
> become ad0.  (If this is what you wanted, I couldn't get it from
> your last message and did not follow the thread too closely.)

How would I remove ISA ata controllers? I am running FreeBSD-5.1 so my
config looks like this:

$ grep -i ata /sys/i386/conf/TEAM2
# ATA and ATAPI devices
device          ata
device          atadisk                 # ATA disk drives
device          atapicd                 # ATAPI CDROM drives
#device         atapifd                 # ATAPI floppy drives
#device         atapist                 # ATAPI tape drives
options         ATA_STATIC_ID           #Static device numbering

> > ...
> > atapci0: <Promise PDC20246 UDMA33 controller>
> >  port 0xd400-0xd41f,0xd804-0xd807,0xe000-0xe007,0xe404-0xe407,0xe800-0xe807
> >  irq 14 at device 5.0 on pci0
> > ata2: at 0xe800 on atapci0
> > ata3: at 0xe000 on atapci0
> > [ snip ]
> > ...
> > ata0 at port 0x3f6,0x1f0-0x1f7 irq 14 on isa0
> > ata1 at port 0x376,0x170-0x177 irq 15 on isa0
> > ...
> > ad4: 8223MB <ST38410A> [16708/16/63] at ata2-master UDMA33
>
> Do you see the "ata0 ... on isa0" connection/binding?

No. Like I said, I only editted out irrelevent stuff:

$ grep -i ata /var/run/dmesg.boot
atapci0: <Promise PDC20246 UDMA33 controller> port 0xd400-0xd41f,0xd804-0xd807,0xe000-0xe007,0xe404-0xe407,0xe800-0xe807 irq 14 at device 5.0 on pci0
ata2: at 0xe800 on atapci0
ata3: at 0xe000 on atapci0
ata0 at port 0x3f6,0x1f0-0x1f7 irq 14 on isa0
ata1 at port 0x376,0x170-0x177 irq 15 on isa0
ad4: 8223MB <ST38410A> [16708/16/63] at ata2-master UDMA33

> Even if
> there is no hardware to handle, the logical number is allocated.
> So the first auto recognised (i.e. additional) controller cannot
> live there, too.  This is very similar to the "Why does my (one
> and only) NE2K PCMCIA clone show up as ed1?" question, while
> people have ed0 bound to an (absent) ISA card in their config
> as it is in GENERIC.

Well, comming up as ed1 makes sense for a removable device, and especially
seeing as how (fbsd-4.x) GENERIC specifically allocates ed0.

Reserving ata0 and ata1 for hardware that is there makes sense. Reserving
them when there is no hardware, and no specific allocation, doesn't.

But the main problem is that the kernel thinks that there are devices on
ata0 and ata1 when there are clearly not:

$ vmstat -i
interrupt                     total       rate
stray irq7                        1          0
ahc0 irq11                       14          0
dc0 irq10                     31456          0
ata0 irq14                   215722          0  <-- should be ata2
ata1 irq15                     9656          0  <-- should be ahc1
atkbd0 irq1                       2          0
fdc0 irq6                         4          0
clk irq0                   60125688         99
rtc irq8                   76964395        128


At least my devices work at irqs 14 & 15.  I feel sorry for Vladislav.


--

 :{ andyf at speednet.com.au

        Andy Farkas
    System Administrator
   Speednet Communications
 http://www.speednet.com.au/







More information about the freebsd-stable mailing list