From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HrMoG-0001Ee-NM for qemu-devel@nongnu.org; Thu, 24 May 2007 19:33:32 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HrMoD-0001EE-GW for qemu-devel@nongnu.org; Thu, 24 May 2007 19:33:31 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HrMoD-0001EB-Dd for qemu-devel@nongnu.org; Thu, 24 May 2007 19:33:29 -0400 Received: from an-out-0708.google.com ([209.85.132.247]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1HrMoC-0006hm-Ie for qemu-devel@nongnu.org; Thu, 24 May 2007 19:33:29 -0400 Received: by an-out-0708.google.com with SMTP id d11so171569and for ; Thu, 24 May 2007 16:33:26 -0700 (PDT) Message-ID: Date: Thu, 24 May 2007 16:33:26 -0700 From: "Jonathan Kalbfeld" Subject: Re: [Qemu-devel] Porting QEMU to PalmOS In-Reply-To: <865259.82695.qm@web54601.mail.re2.yahoo.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_160302_25135403.1180049606626" References: <865259.82695.qm@web54601.mail.re2.yahoo.com> 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 ------=_Part_160302_25135403.1180049606626 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Still sounds fantistically fun. Maybe you can point me in the right direction to write PalmOS programs (.prc's right?). I have some goofy ideas for things to write for my Treo. jonathan On 5/24/07, sinisa marovic wrote: > > I'm afraid I will have to dissapoint you: it will be only isapc with no > networking or other fancy devices. Main goal is the ability to run dos > games. > I do not know how familiar are you with PalmOS developer support. It > is poor, gcc lack many important functions that have to be written from > scratch. When I ported dosbox (which is written in c++) I realized that > there is no support for vectors, iterators, namespaces etc, so I had to > write many operators myself. The biggest problem with QEMU is that > it uses signals a lot, and, guess what, PalmOS has no support for signals > _at_ _all_. I found a way to get things going without them for now, but > this has it's drawbacks. I will have to think about something better later > on. > > ----- Original Message ---- > From: Jonathan Kalbfeld > To: qemu-devel@nongnu.org > Sent: Thursday, May 24, 2007 11:18:48 PM > Subject: Re: [Qemu-devel] Porting QEMU to PalmOS > > One definite plus with having QEMU for PalmOS is the ability to run things > like OpenVPN (even if slow) and connect to a VPN back-end. > > As is, I use OpenVPN tunnels to link up my QEMU machines on Solaris. > > jonathan > > On 5/23/07, Wolfgang Schildbach < > Wolfgang.Schildbach@codingtechnologies.com> wrote: > > > > Try compiling as position-dependent (i.e. not PIC) code. GOT is a > > typical > > feature of position independent code. > > > > - Wolfgang > > > > qemu-devel-bounces+wolfgang.schildbach=codingtechnologies.com@nongnu.org > > wrote on 23.05.2007 13:20:22: > > > > > Hi Johannes, > > > > > > thanks for your quick response. > > > I thought QEMU was already compiled and run on an ARM machine? > > > If so, how come that noone else had such problem (I searched for it > > > on google), > > > and PXA255 is a standard ARM CPU with a few additional instructions. > > > And how to make them not come from GOT, those vars are declared as > > extern, > > > so they are globals? > > > > > > BR, > > > Voda. > > > > > ----- Original Message ---- > > > From: Johannes Schindelin < Johannes.Schindelin@gmx.de> > > > To: sinisa marovic > > > Cc: qemu-devel@nongnu.org > > > Sent: Wednesday, May 23, 2007 12:48:59 PM > > > Subject: Re: [Qemu-devel] Porting QEMU to PalmOS > > > > > Hi, > > > > > > On Wed, 23 May 2007, sinisa marovic wrote: > > > > > > > Relocation types that fail are 25 and 26, which are R_ARM_GOTPC and > > > > R_ARM_GOT32 respectively. Their names are: > > > > > > > > _GLOBAL_OFFSET_TABLE_ > > > > cc_table > > > > __op_param1 > > > > __op_param2 > > > > __op_param3 > > > > > > > > Is there a way to fix this? > > > > > > The GOT is an offset table. Many CPUs have fixed-size instruction > > sets, > > > which means that you cannot easily jump to an absolute address, since > > the > > > address alone would already fill up the size. > > > > > > Of course, this is a no-no for QEmu, since the _same_ function snippet > > > will be reused _multiple_ times. So, the address must not come from a > > GOT, > > > but be inserted directly into the code. > > > > > > I do not remember off-hand how I managed to do this a couple of years > > ago, > > > when I worked on a MIPS host, but there _are_ gcc options to avoid a > > GOT. > > > > > > Hth, > > > Dscho > > > > > > > > > Food fight? Enjoy some healthy debate > > > in the Yahoo! Answers Food & Drink Q&A. > > > > > > > > > > > -- > -- > Jonathan Kalbfeld > +1 323 620 6682 > > > ------------------------------ > Get the free Yahoo! toolbarand rest assured with the added security of spyware protection. > -- -- Jonathan Kalbfeld +1 323 620 6682 ------=_Part_160302_25135403.1180049606626 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Still sounds fantistically fun.

Maybe you can point me in the right direction to write PalmOS programs (.prc's right?).

I have some goofy ideas for things to write for my Treo.

jonathan

On 5/24/07, sinisa marovic <sinisamarovic@yahoo.com> wrote:
I'm afraid I will have to dissapoint you: it will be only isapc with no
networking or other fancy devices. Main goal is the ability to run dos games.
I do not know how familiar are you with PalmOS developer support. It
is poor, gcc lack many important functions that have to be written from
scratch. When I ported dosbox (which is written in c++) I realized that
there is no support for vectors, iterators, namespaces etc, so I had to
write many operators myself. The biggest problem with QEMU is that
it uses signals a lot, and, guess what, PalmOS has no support for signals
_at_ _all_. I found a way to get things going without them for now, but
this has it's drawbacks. I will have to think about something better later on.
 
----- Original Message ----
From: Jonathan Kalbfeld < jonathan.kalbfeld@gmail.com>
To: qemu-devel@nongnu.org
Sent: Thursday, May 24, 2007 11:18:48 PM
Subject: Re: [Qemu-devel] Porting QEMU to PalmOS

One definite plus with having QEMU for PalmOS is the ability to run things like OpenVPN (even if slow) and connect to a VPN back-end.

As is, I use OpenVPN tunnels to link up my QEMU machines on Solaris.

jonathan

On 5/23/07, Wolfgang Schildbach < Wolfgang.Schildbach@codingtechnologies.com> wrote:
Try compiling as position-dependent (i.e. not PIC) code. GOT is a typical
feature of position independent code.

- Wolfgang

qemu-devel-bounces+wolfgang.schildbach=codingtechnologies.com@nongnu.org
wrote on 23.05.2007 13:20:22:

> Hi Johannes,
>
>    thanks for your quick response.
> I thought QEMU was already compiled and run on an ARM machine?
> If so, how come that noone else had such problem (I searched for it
> on google),
> and PXA255 is a standard ARM CPU with a few additional instructions.
> And how to make them not come from GOT, those vars are declared as
extern,
> so they are globals?
>
> BR,
>    Voda.

> ----- Original Message ----
> From: Johannes Schindelin < Johannes.Schindelin@gmx.de >
> To: sinisa marovic <sinisamarovic@yahoo.com>
> Cc: qemu-devel@nongnu.org
> Sent: Wednesday, May 23, 2007 12:48:59 PM
> Subject: Re: [Qemu-devel] Porting QEMU to PalmOS

> Hi,
>
> On Wed, 23 May 2007, sinisa marovic wrote:
>
> > Relocation types that fail are 25 and 26, which are R_ARM_GOTPC and
> > R_ARM_GOT32 respectively. Their names are:
> >
> > _GLOBAL_OFFSET_TABLE_
> > cc_table
> > __op_param1
> > __op_param2
> > __op_param3
> >
> > Is there a way to fix this?
>
> The GOT is an offset table. Many CPUs have fixed-size instruction sets,
> which means that you cannot easily jump to an absolute address, since
the
> address alone would already fill up the size.
>
> Of course, this is a no-no for QEmu, since the _same_ function snippet
> will be reused _multiple_ times. So, the address must not come from a
GOT,
> but be inserted directly into the code.
>
> I do not remember off-hand how I managed to do this a couple of years
ago,
> when I worked on a MIPS host, but there _are_ gcc options to avoid a
GOT.
>
> Hth,
> Dscho
>
>
> Food fight? Enjoy some healthy debate
> in the Yahoo! Answers Food & Drink Q&A.






--
--
Jonathan Kalbfeld
+1 323 620 6682



Get the free Yahoo! toolbar and rest assured with the added security of spyware protection.



--
--
Jonathan Kalbfeld
+1 323 620 6682 ------=_Part_160302_25135403.1180049606626--