linux-parisc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Carlo Pisani <carlojpisani@gmail.com>
To: John David Anglin <dave.anglin@bell.net>
Cc: linux-parisc <linux-parisc@vger.kernel.org>
Subject: Re: C3600, sata controller
Date: Tue, 14 May 2019 14:29:07 +0200	[thread overview]
Message-ID: <CA+QBN9BqufJM+8Jm-x_zMgMo0cLHKxHCxuYPrLgbvGsbdQofvw@mail.gmail.com> (raw)
In-Reply-To: <44c01dbf-4b6c-c37d-d5cc-844e5679dea5@bell.net>

> I had listed these cards because they are PCI64 and the Adaptec site didn't say Intel
> architecture was required.

Adaptec AAR-2410SA was tested on x86, C3600, and Apple PowerMac G4
MDD. It worked only on x86.

01:10:15.0 RAID bus controller: Adaptec AAC-RAID (rev 01)
        Subsystem: Adaptec AAR-2410SA PCI SATA 4ch (Jaguar II)
        Flags: 66MHz, slow devsel, IRQ 58
        Memory at 84000000 (32-bit, prefetchable) [size=64M]
        Expansion ROM at 80088000 [disabled] [size=32K]
        Capabilities: [80] Power Management version 2

Alan Cox explained some reasons for this. His email is long, and not
public, so I summarize what I have understood.

as soon as the computer bootstraps, the firmware in its BIOS scans
every PCI-peripherical for any BIOS-extension, it finds then there is
a BIOS-extension ROM on the SATA-card, and it loads and executes it:
the flash-chip on the card contains x86 opcode! The ROM initializes
some features on the SATA-card and loads and bootstraps a firmware
there (the firmware is contained in the flash, but it somehow requires
to be launched by the PC, dunno how/what), the PC goes ahead and
bootstrap the OS-loader (Grub? Lilo? ... this stuff), the Linux kernel
is loaded and bootstrapped too, the kernel is now running, and it
probes for the SATA-controller device and it finds it, so the
kernel-driver finds the SATA-controller already configured and - it's
running its own firmware - so, when the kernel issues commands, it
responds properly!

So, if you put the Adaptec AAR-2410SA SATA-card into a non-x86
computer ... the BIOS extension is not expected, and the Linux kernel
does not find the SATA correctly configured-card, in fact, the kernel
complains the card is not even found running its own firmware running,
and this can't be fixed unless you do a full reverse-engineering of
flash-code, in order to create a new kernel-driver able to directly
initialize the card instead of waiting for the job done by the
PC-BIOS.

hardware RAID cards are usually problematic for the same reason.

  reply	other threads:[~2019-05-14 12:29 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-01 21:45 linux-next: Signed-off-by missing for commit in the parisc-hd tree Stephen Rothwell
2019-05-02  5:48 ` Helge Deller
2019-05-12 20:44   ` C3600, sata controller Carlo Pisani
2019-05-12 20:49     ` Carlo Pisani
2019-05-12 21:10     ` John David Anglin
2019-05-12 21:15       ` Carlo Pisani
2019-05-13 23:14         ` John David Anglin
2019-05-13 23:24           ` Carlo Pisani
2019-05-13 23:47             ` Carlo Pisani
2019-05-14  1:50               ` John David Anglin
2019-05-14  8:22                 ` Carlo Pisani
     [not found]                 ` <CA+QBN9CgMRFmv+isvH-Y=FCCFwKhmD5_5s5u32xg+wk-gTLK5A@mail.gmail.com>
2019-05-14 12:10                   ` John David Anglin
2019-05-14 12:29                     ` Carlo Pisani [this message]
2019-05-14 12:57                       ` C3600, optical Fibre Channel, any card? Carlo Pisani
2019-05-14 13:01                       ` C3600, sata controller Sven Schnelle
2019-05-14 14:23                         ` John David Anglin
2019-05-17 15:43                           ` Carlo Pisani
2019-05-17 17:21                             ` Helge Deller
2019-05-17 18:05                               ` John David Anglin
2019-05-17 18:25                                 ` Carlo Pisani
2019-05-13 15:10     ` Carlo Pisani
2019-05-13 21:58       ` Carlo Pisani
2019-05-17 17:31     ` Carlo Pisani
2019-05-25  8:59     ` Carlo Pisani

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CA+QBN9BqufJM+8Jm-x_zMgMo0cLHKxHCxuYPrLgbvGsbdQofvw@mail.gmail.com \
    --to=carlojpisani@gmail.com \
    --cc=dave.anglin@bell.net \
    --cc=linux-parisc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).