From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KBYf6-0001Xk-Vy for qemu-devel@nongnu.org; Wed, 25 Jun 2008 13:20:05 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KBYf6-0001XQ-5T for qemu-devel@nongnu.org; Wed, 25 Jun 2008 13:20:04 -0400 Received: from [199.232.76.173] (port=56269 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KBYf5-0001XL-UR for qemu-devel@nongnu.org; Wed, 25 Jun 2008 13:20:03 -0400 Received: from damascus.uab.es ([158.109.168.135]:23584) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KBYf5-0007dX-7x for qemu-devel@nongnu.org; Wed, 25 Jun 2008 13:20:03 -0400 Received: from damascus.uab.es ([127.0.0.1]) by damascus.uab.es (Sun Java System Messaging Server 6.1 HotFix 0.10 (built Jan 6 2005)) with ESMTP id <0K3100D6D45570A0@damascus.uab.es> for qemu-devel@nongnu.org; Wed, 25 Jun 2008 19:19:53 +0200 (CEST) Received: from [158.109.70.47] by damascus.uab.es (Sun Java System Messaging Server 6.1 HotFix 0.10 (built Jan 6 2005)) with ESMTP id <0K3100J8A455BUB0@damascus.uab.es> for qemu-devel@nongnu.org; Wed, 25 Jun 2008 19:19:53 +0200 (CEST) Date: Wed, 25 Jun 2008 19:23:51 +0200 From: =?UTF-8?B?TcOgcml1cyBNb250w7Nu?= Subject: Re: [Qemu-devel] Split vga module In-reply-to: Message-id: <48627F27.8050708@uab.cat> MIME-version: 1.0 Content-type: multipart/alternative; boundary="Boundary_(ID_JVLI6n/TwQG/APHTD8QYhQ)" References: <486273BD.2020702@uab.cat> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org This is a multi-part message in MIME format. --Boundary_(ID_JVLI6n/TwQG/APHTD8QYhQ) Content-type: text/plain; charset=UTF-8; format=flowed Content-transfer-encoding: QUOTED-PRINTABLE Hello, and thank you for your quick answer, the problem I see is not with the register access (this is done for= =20 other devices) but with the graphics side. I don't understand how VGA device draws the screen, (I guess is done= =20 using SDL), and I think this part is too merged with QEMU itself. Is = it=20 true? M=C3=A0rius Blue Swirl wrote: > On 6/25/08, M=C3=A0rius Mont=C3=B3n wrote: > =20 >> Hello all, >> >> My question is how I can split VGA module in a different process = =66rom QEMU. >> >> I need it in order to simulate a VGA module described in SystemC = into QEMU (http://www.greensocs.com/en/projects/QEMUSystemC) where al= l SystemC stuff runs in other process than QEMU. >> >> I look at the code, and vga code seems to be too merged with QEMU= itself to be splitted.. but, there's any solution? >> =20 > > Interesting. You could try to catch all IO and MMIO towards VGA and > redirect those to the other process with some kind of IPC. You must > change the MMIO area registration, because now the VGA MMIO accesse= s > are optimised so that no callbacks are involved. > =20 --=20 M=C3=A0rius Mont=C3=B3n i Maci=C3=A1n marius.monton@uab.cat=20 http://cephis.uab.es=20 Hardware Engineer CEPHIS Centre de Prototips i Solucions Hardware-Software Dep. Microelectr=C3=B2nica i Sistemes Electr=C3=B2nics ETSE - Universitat Aut=C3=B2noma de Barcelona (UAB) =09Phone: +34 935= 813 534 Fax: +34 935 813 033 QC-2090D. ETSE. Campus UAB. 080193 Bellaterra --Boundary_(ID_JVLI6n/TwQG/APHTD8QYhQ) Content-type: text/html; charset=UTF-8 Content-transfer-encoding: QUOTED-PRINTABLE Hello, and thank you for your quick answer,

the problem I see is not with the register access (this is done for other devices) but with the graphics side.
I don't understand how VGA device draws the screen, (I guess is done using SDL), and I think this part is too merged with QEMU itself. Is = it true?

M=C3=A0rius

Blue Swirl wrote:
On 6/25/08, M=C3=A0rius Mont=C3=B3n <marius.m=
onton@uab.cat> wrote:
  
 Hello all,

 My question is how I can split VGA module in a different process fro=
m QEMU.

 I need it in order to simulate a VGA module described in SystemC int=
o QEMU (http://www.greensocs.com/en/projects/=
QEMUSystemC) where all SystemC stuff runs in other process than Q=
EMU.

 I look at the code, and vga code seems to be too merged with QEMU it=
self to be splitted.. but, there's any solution?
    

Interesting. You could try to catch all IO and MMIO towards VGA and
redirect those to the other process with some kind of IPC. You must
change the MMIO area registration, because now the VGA MMIO accesses
are optimised so that no callbacks are involved.
  

--
M=C3=A0rius Mont=C3=B3n i Maci=C3=A1n=C2=A0=C2=A0 marius.monton@uab.cat =C2=A0=C2=A0http://cephis.uab.es
Hardware Engine= er
Centre de Proto= tips i Solucions Hardware-Software
Dep. Microelectr=C3=B2nica i Sistemes Electr=C3=B2nics
ETSE - Universitat Aut=C3=B2noma de Barcelona (UAB)
Phone: +34 = 935 813 534
Fax: +3= 4 935 813 033
QC-2090= D. ETSE. Campus UAB.
080193 Bellaterra
--Boundary_(ID_JVLI6n/TwQG/APHTD8QYhQ)--