[ECOS] RedBoot IDE access on x86 without BIOS

Mark Salter msalter@redhat.com
Thu Sep 13 04:51:00 GMT 2001


>>>>> Adam Agnew writes:

> Greetings,
> Right now I have RedBoot running from a ram based elf image from the
> rom with the use of LinuxBIOS (www.linuxbios.org) . It's pretty swell.
> But, it's not detecting the presence of any of the hard drives. I looked
> at the code, and it doesn't seem to be using any BIOS int calls. Anyone
> have any idea as to what could be wrong? I don't think it's a matter of
> the hard drives not having time to spin up, because a reboot doesn't make
> it suddenly work either. Everything looks OK to me, except perhaps these
> defines in ecos/packages/hal/i386/pcmb/current/include/pcmb_io.h :

> #define __PCMB_IDE_PRI_CMD   0x1f0
> #define __PCMB_IDE_PRI_CTL   0x3f4
> #define __PCMB_IDE_SEC_CMD   0x170
> #define __PCMB_IDE_SEC_CTL   0x374

> Shouldn't __PCMB_IDE_PRI_CTL be 0x3f6 and __PCMB_IDE_SEC_CTL 0x376? And if
> not, could you explain why please?

I think you're right, but the odd thing is it sees the drives on my pc.
The above defines are correct for the base of the control registers.
Its the macros for HAL_IDE_READ_ALTSTATUS and HAL_IDE_WRITE_CONTROL
which need to add 2 to the base to get the status/ctl regs.

--Mark




More information about the Ecos-discuss mailing list