--- On Thu, 12/30/10, Darmawan Salihun <darmawan_sali...@yahoo.com> wrote:

> From: Darmawan Salihun <darmawan_sali...@yahoo.com>
> Subject: Re: PCI IDE Controller Base Address Register setting
> To: "John Baldwin" <j...@freebsd.org>
> Cc: freebsd-hackers@freebsd.org
> Date: Thursday, December 30, 2010, 3:28 PM
> --- On Tue, 12/28/10, John Baldwin
> <j...@freebsd.org>
> wrote:
> 
> > From: John Baldwin <j...@freebsd.org>
> > Subject: Re: PCI IDE Controller Base Address Register
> setting
> > To: "Darmawan Salihun" <darmawan_sali...@yahoo.com>
> > Cc: freebsd-hackers@freebsd.org
> > Date: Tuesday, December 28, 2010, 2:22 PM
> > On Tuesday, December 28, 2010 2:10:59
> > pm Darmawan Salihun wrote:
> > > Hi, 
> > > 
> > > --- On Tue, 12/28/10, John Baldwin <j...@freebsd.org>
> > wrote:
> > > 
> > > > From: John Baldwin <j...@freebsd.org>
> > > > Subject: Re: PCI IDE Controller Base
> Address
> > Register setting
> > > > To: "Darmawan Salihun" <darmawan_sali...@yahoo.com>
> > > > Cc: freebsd-hackers@freebsd.org
> > > > Date: Tuesday, December 28, 2010, 1:52 PM
> > > > On Tuesday, December 28, 2010 1:38:05
> > > > pm Darmawan Salihun wrote:
> > > > > Hi,
> > > > > 
> > > > > --- On Tue, 12/28/10, John Baldwin
> <j...@freebsd.org>
> > > > wrote:
> > > > > 
> > > > > > From: John Baldwin <j...@freebsd.org>
> > > > > > Subject: Re: PCI IDE Controller
> Base
> > Address
> > > > Register setting
> > > > > > To: freebsd-hackers@freebsd.org
> > > > > > Cc: "Darmawan Salihun" <darmawan_sali...@yahoo.com>
> > > > > > Date: Tuesday, December 28, 2010,
> 10:20
> > AM
> > > > > > On Monday, December 27, 2010
> 6:07:35
> > > > > > am Darmawan Salihun wrote:
> > > > > > > Hi, 
> > > > > > > 
> > > > > > > I'm trying to install FreeBSD
> 8.0
> > on AMD
> > > > Geode LX800
> > > > > > (CS5536 "southbridge"). 
> > > > > > However, it cannot detect the IDE
> > controller (in
> > > > the
> > > > > > CS5536) correctly. It 
> > > > > > says something similar to this: 
> > > > > > > "IDE controller not present"
> > > > > > 
> > > > > > Hmm, I can't find a message like
> that
> > > > anywhere.  Can
> > > > > > you get the exact message 
> > > > > > you are seeing?
> > > > > > 
> > > > > 
> > > > > It says: 
> > > > > 
> > > > > "No disks found! Please verify that
> your
> > disk
> > > > controller is being properly
> > > > > probed at boot time."
> > > > 
> > > > Oh, so this is a message from the
> > installer.  Can you
> > > > capture a verbose dmesg
> > > > via a serial console perhaps?  
> > > 
> > > I'm not sure if I can do this because I've tried
> a
> > couple of times 
> > > but nothing comes out of the serial console.
> Perhaps a
> > wrong baud rate setting? 
> > > I set it to 96bps and 8-N-1 back then. Is that
> > correct? 
> > 
> > Yes, that should be correct.  You have to turn the
> > console on however (it is
> > not enabled by default).  The simplest way to do
> this
> > is probably to hit the
> > key option to break into the loader prompt when you
> see the
> > boot menu (I think
> > it is option '6').  Then enter 'boot -D' at the 'OK'
> > prompt.  This should boot
> > with both the video and serial consoles enabled with
> the
> > video console as the
> > primary console.  For a verbose boot, use 'boot -Dv'
> > 
> 
> Thanks, I tested this option and it worked. 
> I could see the debugging messages. 
> 
> FreeBSD cannot detect the disk in all of the IDE
> interfaces.  
> (The AMDCS5536 only implemented the primary channel)
> 
> Anyway, I manage to change the mapping in BAR4 of the IDE
> controller. 
> However, I'm confused as to how to "force" FreeBSD to
> recognize the 
> IDE controller to work only in compatibility mode. 
> Because, I'm not sure if the physical IDE controller chip
> supports 
> Native-PCI mode correctly at all. 
> If I set BAR4 to "disabled"(i.e. not decoding any I/O
> addresses at all), 
> would FreeBSD use compatibility mode? or would it consider
> the 
> IDE controller not present?
> 
> Here's some notes about the IDE controller PCI
> configuration registers:
> 1. The Programming Interface register contains 80h (which
> means _only_ 
> compatibility mode supported). I have yet to be able to
> write new values 
> into this register. That's the state of the register right
> now. 
> I noticed in your previous reply that for FreeBSD to be
> forced to use 
> compatibility mode, the programming interface register bits
> in the PCI configuration register must be set accordingly 
> (I suppose the bits in the lower nibble).
> 
> 2. BAR0-BAR3 cannot be changed and contains 00h. 
> I have yet to experiment with BAR5.The default value is
> 00h
> 

Silly me that I didn't know about the SFF-8038i standard 
(PCI IDE Bus mastering). So, I found out that it seems the 
allocation of I/O ports for the IDE controller is just fine. 
However, the primary IDE channel is shared between 
an IDE interface  and a CF card. Moreover, Linux detects 
DMA bug, because all drives connected to the interface would be 
in PIO mode :-/
If all drives on the primary channel are "forced" to PIO mode, then 
shouldn't the "IDE PCI bus master register" (offset 20h per SFF-8038i)
along with the command register (offset 4h), are set to indicate the 
controller doesn't support bus mastering? 

TIA, 

Darmawan



_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to