All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jean-Michel SCHRAMM <Jean.Michel.Schramm@genavir.fr>
To: Artyom Tarasenko <atar4qemu@gmail.com>
Cc: "mark.cave-ayland" <mark.cave-ayland@ilande.co.uk>,
	breuerr <breuerr@mc.net>, 'qemu-devel' <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] adding ports to the ss5.
Date: Mon, 18 Mar 2013 15:29:58 +0100	[thread overview]
Message-ID: <514724E6.6090406@genavir.fr> (raw)
In-Reply-To: <CACXAS8DUiuNobt+ehTN6EskdBryVioWuNydMBPXkrcSrA1WCCg@mail.gmail.com>


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 <atar4qemu@gmail.com> 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
>>>
>>>
>
>

      parent reply	other threads:[~2013-03-18 14:30 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4753946136051117405@unknownmsgid>
     [not found] ` <20130317135145.561050yhiy36057l@vdmz1mail.ifremer.fr>
     [not found]   ` <CACXAS8Dv4Dcnt4+OuhAg3YewD_aXwyP_-5FnUjM0qKkS5pnPMg@mail.gmail.com>
2013-03-18 14:29     ` [Qemu-devel] Fwd: Re: AW: adding ports to the ss5 Jean-Michel SCHRAMM
     [not found]     ` <20130317160151.13356qa2i2zxwtlr@vdmz1mail.ifremer.fr>
2013-03-18 14:29       ` Jean-Michel SCHRAMM
     [not found]       ` <CACXAS8DUiuNobt+ehTN6EskdBryVioWuNydMBPXkrcSrA1WCCg@mail.gmail.com>
2013-03-18 14:29         ` Jean-Michel SCHRAMM [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=514724E6.6090406@genavir.fr \
    --to=jean.michel.schramm@genavir.fr \
    --cc=atar4qemu@gmail.com \
    --cc=breuerr@mc.net \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.