More bugs in vme

Martyn Welch martyn.welch at ge.com
Mon Feb 25 12:02:38 UTC 2013


On 25/02/13 10:44, ternaryd wrote:
> On Mon, 25 Feb 2013 10:22:28 +0000
> Martyn Welch <martyn.welch at ge.com> wrote:
> 
>>> I haven't been able to get the serial console working. This is
>>> U-Boot based, and the last line is: "console [tty0] enabled,
>>> bootconsole disabled". Then I use ssh to log in. But after the
>>> freeze, this is no longer possible. 
> 
>> Do you have a valid console statement in your bootargs?
> 
> I've got this: "console=/dev/ttyS0,115200", but I also tried without
> "/dev/".
> 

IIRC, you don't need the "/dev/", but you may need something like "n8" on the end:

"console=ttyS0,115200n8"

>> Do you have a getty set up on your serial port in inittab (or
>> wherever it's set on a systemd based system)?
> 
>         T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100
> 

That looks right based on the man page on my system, that said a lot of (quite
old) the NFS roots I have lying around on my system seem to have the baud and
port round the other way. It might depend on which getty you have.

>>> - With my version of vme_user.c, I can perform a write using an
>>>   ioctl call which yields vme_master_write(), or by lseek and
>>>   write() calls. The freeze happens anyway, but with lseek() I
>>>   say that a given offset of 8 will show up as 135168.
> 
>> Um, I think this may be your problem.
> 
> I thought so. For this reason, I added an ioctl call for writing 16
> bits at a given address, using vme_master_write(). There is no lseek
> anymore, but it freezes nevertheless.
> 

Have you got a VME analyser? I'd check to see what address is being accessed
on the bus.

Have you tried to read from anything?

>> For A16 master windows on the tsi148, the only valid vme_addr is 0x0.
> 
> As I said, I'm very sure, this is not the case, because on the same
> board, booting OS-9, the test program works.
> 

I'm looking at the datasheet, I'm fairly sure that I'm right.

>> The registers are probably set with the base address at 0x0 and so
>> you probably aren't reading and writing where you expect to be
>> reading and writing.
> 
> This is what I imagine is causing the lock-ups. Is there an easy way to
> allow for different base addresses, beside skipping the check_window
> test?
> 

It's a hardware limitation for A16 master windows.

>>> - I always thought that the card in slot 1 is the arbiter and, by
>>>   default, the bus master, until some other card is assigned bus
>>>   master. I would like to be sure, but I couldn't find any function
>>>   could inquire.
> 
>> It's automatic in terms of bus accesses.
> 
> Does this mean, the local controller will become automatically bus
> master as soon as the application tries to write to a master window?
> 

I believe so.

>>> -The cards allow to adjust a dip switch to select automatic or
>>>  manual geographic addressing, but in both cases, slot 0 is
>>> returned.
> 
>> Which cards?
> 
> MicroSys VME1022. At one point, I inserted two of them into the create
> in slot 1 and 2, using different NFS root file systems, but the same
> kernel image.
> 

Do you have a slave card you can try reading from (something that is known
"good")?

>> Are you sure the geographic address lines are wire back to the VME
>> bridge chip correctly (I know of boards where they aren't, sometimes
>> the bus address is exposed via other custom route...).
> 
> No, I am not sure.
> 
>> That looks like it's not detecting the geographical addressing.
> 
> Does this mean, I would have to add the kernel boot option
> "vme_tsi148.geoid=1" and "geoid=2"? And while at it, should I add
> "vme_tsi148.err_chk=1" in order to get bus errors rather than lock-ups?
> 

If it's not wired correctly and you want geographical addressing, yes.

The error checking may help you see what's going wrong.

Martyn

-- 
Martyn Welch (Lead Software Engineer)  | Registered in England and Wales
GE Intelligent Platforms               | (3828642) at 100 Barbirolli Square
T +44(0)1327322748                     | Manchester, M2 3AB
E martyn.welch at ge.com                  | VAT:GB 927559189



More information about the devel mailing list