Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Aug 2006 11:51:08 -0700
From:      Jo Rhett <jrhett@svcolo.com>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        freebsd-i386@freebsd.org
Subject:   Re: i386/100831: sio ignores BIOS information about serial ports - bounty offered
Message-ID:  <3FB8BF25-F047-427C-9062-07ADF85D5169@svcolo.com>
In-Reply-To: <5F770D91-34A1-4406-AEF8-719E29AFFA87@svcolo.com>
References:  <200608022150.k72LoQtn098666@freefall.freebsd.org> <20060804223000.P97440@delplex.bde.org> <5F770D91-34A1-4406-AEF8-719E29AFFA87@svcolo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Aug 4, 2006, at 11:40 AM, Jo Rhett wrote:
>>> I think I have to agree with Marcel on this -- device hints  
>>> aren't used
>>> consistently, and having two different processes read it with two
>>> completely different interpretations of it is nonsense.  I can't  
>>> fix one
>>> without breaking the other.
>>
>> Just avoid inconsistencies by making all the hints match the unit  
>> number
>> assignments that you get although these are not the unit number  
>> assignments
>> that you want.
>
> I haven't the foggiest idea what you mean by this.  Exact  
> instructions please?   I'm not kidding, this statement doesn't make  
> sense to me.  Everything is fine right now except where the console  
> is directed.
>
> I have no problem with the console being sio1, as long as sio1 is  
> the console for all parts of the boot/run/shutdown process.   
> Therefore the console flags are the only thing I know to change.

Maybe I was being dense when I wrote this.  Rethinking "making all  
the hints match" comment I swapped the io port and irq assignments in  
device.hints to match what is actually happening, rebooted, and it  
seems to work:

hint.sio.0.at="isa"
hint.sio.0.port="0x2F8"
#hint.sio.0.flags="0x10"
hint.sio.0.irq="3"
hint.sio.1.at="isa"
hint.sio.1.port="0x3F8"
hint.sio.1.irq="4"
hint.sio.1.flags="0x90"

Okay, so if this works then I'm guessing that boot0 or boot2 or both  
were determining console based on the IO address from device.hints?   
Can we use what we know now to improve the documentation?

boot0 determines console how?  Compiled in...?  Can device.hints  
influence that?  Since we don't yet have sio numbers assigned, how  
does it know which port to use?  IO address?

boot2 determines console how?  (repeat all questions above)

loader determines console how?  (repeat all questions above)

If I didn't name a process in the boot, add it to the list.

-- 
Jo Rhett
senior geek
Silicon Valley Colocation




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3FB8BF25-F047-427C-9062-07ADF85D5169>