qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] adding ports to the ss5.


From: Jean-Michel SCHRAMM
Subject: Re: [Qemu-devel] adding ports to the ss5.
Date: Mon, 18 Mar 2013 15:29:58 +0100
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20130107 Thunderbird/17.0.2


Le 18/03/2013 14:27, Artyom Tarasenko a écrit :
Back to Europe from the Great Baikal lake.
Nice... :-)
None that I know of. If you have to use the proprietary firmware
(ss5.bin, ss20.bin and so on), I think extending qemu that it persists
nvram is the way to go. I think the initialization of the nvram
happens in sun4m.c. At least it used to be there. You'd have to add
some option like -nvram=file.bin which would disable -prom-env
options.

OK, great info. I might try this when I will succeed getting new serial port
to the prom.
Please publish the code to the qemu-devel list, if you make it.

Arg! Unfortunately I think it is beyond my competences but I will give a try. Another way would be to push Bob's upgrades, among them cg3.c to the update qemu. So we could use openbios as Mark said and pass the command in the script.


Well, I thought I had to had fields to the escc_init function because I was
understanding qemu_irq & CharDriverState fields as ttya and ttyb
description. But I understand from your answser that I was confused by the a
& b channel for an escc port?
But then where are the two intitialisation of ttya and ttyb?
Well the channels a and be are the ttya and ttyb (except that I'm not
sure whether the channel a is ttya or ttyb at the end).
OK so it's like one Zylog port with two channels..?
I think I lack understanting of this:

  slavio_serial_ms_kbd_init(hwdef->ms_kb_base, slavio_irq[14],
                               display_type == DT_NOGRAPHIC, ESCC_CLOCK, 1);
     // Slavio TTYA (base+4, Linux ttyS0) is the first Qemu serial device
     // Slavio TTYB (base+0, Linux ttyS1) is the second Qemu serial device
     escc_init(hwdef->serial_base, slavio_irq[15], slavio_irq[15],
               serial_hds[0], serial_hds[1], ESCC_CLOCK, 1);

Especially the coment (no much comment in there :-) ) base+4 and base+0. I
can't see where this is defined.
hwdef->serial_base is the physical address of the serial port ttyb.
And hwdef->serial_base+4 is the address of ttya.

OK, I got the comment but I cannot see where this is done. I mean where is it define in the code that base+4 address. The only parameter which is passed to escc_init is base.


I guess you just need a couple of more calls to escc_init with the
different base address and irq, incrementing serial_hds[] all the
time. Don't know how many ports can share the same irq line - there
may be limitations both on qemu and SunOS sides.

Now that I had got the network working through a bridge, I have started work on this issue this afternoon.


Alternatively, you can use the PC rs232 ports. If SunOS 4.x does
support them. I've never saw them in the real sun4m machines. In the
sun4u device tree they are called "su". (The escc ports are called
"zs" - which I believe is the short form of "Zilog Serial").
? I'll have a look at sun4u.c


Thanks again,
Cheers,
Jean Michel




Artyom

Artyom Tarasenko <address@hidden> a écrit&nbsp;:

ss5.bin doesn't auto detect the ports. You'll have to execute some
Forth commands at the OBP "ok" prompt to make them visible in the
device tree. Can't tell the exact commands right now. There is a free
book "writing device drivers" (the name might be not exact) from
Sun/Oracle. You can try looking up the example there.

Artyom

Sent from a mobile phone. Please excuse my brevity and autocorrected
typos.

----- Ursprüngliche Nachricht -----
Von: Jean-Michel SCHRAMM
Gesendet: 15.03.2013 19:02
An: Artyom Tarasenko
Betreff: adding ports to the ss5.






--
Regards,
Artyom Tarasenko

solaris/sparc under qemu blog: http://tyom.blogspot.com/search/label/qemu








reply via email to

[Prev in Thread] Current Thread [Next in Thread]