On 2014-12-01 09:33Z, Max wrote:
> But I think, we (the list) should at least collect every shortcoming one of
> us is aware of.
Isn't it the role of the wiki?
I mean, I guess it is more useful to document those "shortcoming" in the
wiki which is supposed to be the place where one checks (early) about
hardware requisites, than to ask people to search this list (which
furthermore would show a number of obsolete and false warnings.)
> He prepared already the script to create an image, but its running into the
> same error as virtualbox. The chipset used on alix is a "AMD Geode CS5536".
The problem is with the disk PCI device not being recognized.
IIUC, the at_disk driver raises that message when there are no device of
class 1 (mass storage) subclass 1 (IDE), and similarly the ahci driver
complains when there are no device of class 1 subclass 6 (AHCI)
I guess you need to dump the PCI identifiers and classes for the disk
interface (using whatever other OS you can boot), and the messages you
get if you add
pci_debug=1
at the end of the boot command (enter "edit" mode.)
> I think making Minix run on more recent x86 platforms would be a huge step
> towards trying Minix out.
I was understanding the trend was moved and MINIX now aims at the
embedded market and particularly the ARM platforms. Also the rate of
evolution of the "x86 platforms" might easily overcome the resources.
On 2014-12-02 11:08Z, Max wrote:
> Unfortunately, the pci_debug is not helpful at all:
>
> PCI: do_first_dev: no acl for caller 65551
> PCI: do_acl: setting ACL for 65553 ('at_wini_0') at entry 0
>
> I assume the problem starts before looking for mass storage device?
I left it to the knowledgeable people, but I believe there is enough
information to know where the problem is.
BTW, David, I guess the io and irq
sections are now unnecessary, ain't they?
I notice that the previous version had more classes:
1/80 # Mass storage / Other (80 hex)
1/4 # Mass storage / RAID
and I feel the change (to only deal with IDE) is correct, but perhaps
there are some glitch here?
I left it to the knowledgeable people, but I believe there is enough
information to know where the problem is.
I guess the call to PCI_first_dev is issued by the at_wini driver (in
w_probe) when it initializes; and it found no ACL set up, which ought to
have been done earlier (by RS, in manager.c:init_slot()) when it reads
and maps the authorization.
More debugging can be further done adding rs_verbose=1, but you will
likely be flooded by the amount of data, unless you can set up a serial
line and a terminal to grab the output.
Sorry to not be able to help more, I have no idea of that part of MINIX.
By the way, which build are you using?
Pretty printed output but it leaves the important data which are the
numbers :-( Anyway I can guess the class is indeed 0101 which should be
OK for the at_wini driver, at least according to system.conf(5)
service at_wini
{
io 1f0:8 # Controller 0
3f6 # Also controller 0
170:8 # Controller 1
376 # Also controller 1
;
irq
14 # Controller 0
15 # Controller 1
;
system
UMAP # 14
IRQCTL # 19
DEVIO # 21
SDEVIO # 22
VDEVIO # 23
;
pci class # Match these PCI classes:
1/1 # Mass storage / IDE
;
pci device # In addition, match these devices:
1106:3149 # VIA VT6420 RAID (1/4)
1095:3512/1095:6512 # Silicon Image SATA RAID (1/4)
1095:3114/1095:3114 # Silicon Image SATA RAID (1/80)
;
};
vid= PCII_RREG16_(bus, dev, func, PCI_VID);
did= PCII_RREG16_(bus, dev, func, PCI_DID);
if (OK != (s=sys_outl(PCII_CONFADD, PCII_UNSEL)))
printf("PCI: warning, sys_outl failed: %d\n", s);
if (vid == 0xffff && did == 0xffff)
return; /* Nothing here */