* Re: [Qemu-devel] Porting QEMU to PalmOS
@ 2007-05-24 23:19 sinisa marovic
2007-05-24 23:33 ` Jonathan Kalbfeld
0 siblings, 1 reply; 15+ messages in thread
From: sinisa marovic @ 2007-05-24 23:19 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 3334 bytes --]
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 your own web address.
Have a HUGE year through Yahoo! Small Business.
http://smallbusiness.yahoo.com/domains/?p=BESTDEAL
[-- Attachment #2: Type: text/html, Size: 5982 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Porting QEMU to PalmOS
2007-05-24 23:19 [Qemu-devel] Porting QEMU to PalmOS sinisa marovic
@ 2007-05-24 23:33 ` Jonathan Kalbfeld
2007-05-25 5:37 ` Jason Brand
0 siblings, 1 reply; 15+ messages in thread
From: Jonathan Kalbfeld @ 2007-05-24 23:33 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 3974 bytes --]
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<http://us.rd.yahoo.com/evt=48226/*http://new.toolbar.yahoo.com/toolbar/features/norton/index.php>and rest assured with the added security of spyware protection.
>
--
--
Jonathan Kalbfeld
+1 323 620 6682
[-- Attachment #2: Type: text/html, Size: 7211 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Porting QEMU to PalmOS
2007-05-24 23:33 ` Jonathan Kalbfeld
@ 2007-05-25 5:37 ` Jason Brand
0 siblings, 0 replies; 15+ messages in thread
From: Jason Brand @ 2007-05-25 5:37 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 4887 bytes --]
Palm API reference:
http://www.access-company.com/developers/documents/docs/palmos/PalmOSReference/ReferenceTOC.html
You'll need to install (with ports, apt-get, or what have you):
m68k-palmos-gcc
m68k-palmos-gdb (not required, but very useful)
m86k-palmos-binutils
palmos sdk
pilrc
PalmOS has its own C library, which makes it painfully frustrating to
code for at times. The API reference is invaluable.
Good luck.
On Thu, May 24, 2007 at 04:33:26PM -0700, Jonathan Kalbfeld wrote:
> 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<http://us.rd.yahoo.com/evt=48226/*http://new.toolbar.yahoo.com/toolbar/features/norton/index.php>and
> > rest assured with the added security of spyware protection.
> >
>
>
>
> --
> --
> Jonathan Kalbfeld
> +1 323 620 6682
[-- Attachment #2: Type: application/pgp-signature, Size: 187 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Porting QEMU to PalmOS
@ 2007-06-04 15:33 sinisa marovic
2007-07-01 12:29 ` andrzej zaborowski
0 siblings, 1 reply; 15+ messages in thread
From: sinisa marovic @ 2007-06-04 15:33 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 3230 bytes --]
Hi,
thanks for the tip about position-independent. I did compile with -fno-pic, and the
op.h was then generated without error. Now I have a different problem that might be
related to PIC. The thing is, because of the nature of PalmOS, I had to link with -fPIC.
Now, after removing the faults, I have reached the execution loop in cpu-exec.c and
invoking of gen_func, nothing is realy happening, the loop is being executed, but after
printing the data at the address of gen_func, I could see that there are all zeroes.
Might that be because of linking with -fPIC? If so, I will have to use different way
to link it, and it might take a while.
If not, where to search for the fault? I have also debugged the host_alarm_handler,
and found out that although realtime timer expires, it is not initialized again. Where exactly
in the code is it done? I tried to find the place, but those timer functions are structure
members, and it is hard to find a place.
/Voda
----- Original Message ----
From: Wolfgang Schildbach <Wolfgang.Schildbach@codingtechnologies.com>
To: qemu-devel@nongnu.org
Sent: Wednesday, May 23, 2007 5:23:51 PM
Subject: Re: [Qemu-devel] Porting QEMU to PalmOS
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.
____________________________________________________________________________________
Need a vacation? Get great deals
to amazing places on Yahoo! Travel.
http://travel.yahoo.com/
[-- Attachment #2: Type: text/html, Size: 5618 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Porting QEMU to PalmOS
2007-06-04 15:33 sinisa marovic
@ 2007-07-01 12:29 ` andrzej zaborowski
2007-07-01 17:20 ` Luke-Jr
0 siblings, 1 reply; 15+ messages in thread
From: andrzej zaborowski @ 2007-07-01 12:29 UTC (permalink / raw)
To: qemu-devel, sinisa marovic
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++)
(Happily violating the GPL)
Will the qemu port also be binary only?
Sorry for being off-topic.
Regards
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Porting QEMU to PalmOS
2007-07-01 12:29 ` andrzej zaborowski
@ 2007-07-01 17:20 ` Luke-Jr
2007-07-01 18:08 ` Johannes Schindelin
2007-07-01 18:16 ` andrzej zaborowski
0 siblings, 2 replies; 15+ messages in thread
From: Luke-Jr @ 2007-07-01 17:20 UTC (permalink / raw)
To: qemu-devel
On Sunday 01 July 2007 07:29, andrzej zaborowski wrote:
> 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++)
>
> (Happily violating the GPL)
>
> Will the qemu port also be binary only?
What did he say that violates the GPL? Just because he is only porting the
isapc stuff? I don't know any part of the GPL saying "when you port this, you
must port all the features"... Or would such a port be inherently a violation
due to system libraries being incompatible with the [L]GPL?
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Porting QEMU to PalmOS
2007-07-01 17:20 ` Luke-Jr
@ 2007-07-01 18:08 ` Johannes Schindelin
2007-07-01 18:16 ` andrzej zaborowski
1 sibling, 0 replies; 15+ messages in thread
From: Johannes Schindelin @ 2007-07-01 18:08 UTC (permalink / raw)
To: Luke-Jr; +Cc: qemu-devel
Hi,
On Sun, 1 Jul 2007, Luke-Jr wrote:
> On Sunday 01 July 2007 07:29, andrzej zaborowski wrote:
> > On 5/24/07, sinisa marovic <sinisamarovic@yahoo.com> wrote:
> >
> > > [...] When I ported dosbox (which is written in c++)
> >
> > (Happily violating the GPL)
> >
> > Will the qemu port also be binary only?
>
> What did he say that violates the GPL?
I think he was talking about dosbox. And expressing an implicit interest
that whatever will be ported from qemu be handled differently.
Ciao,
Dscho
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Porting QEMU to PalmOS
2007-07-01 17:20 ` Luke-Jr
2007-07-01 18:08 ` Johannes Schindelin
@ 2007-07-01 18:16 ` andrzej zaborowski
1 sibling, 0 replies; 15+ messages in thread
From: andrzej zaborowski @ 2007-07-01 18:16 UTC (permalink / raw)
To: qemu-devel
On 01/07/07, Luke-Jr <luke@dashjr.org> wrote:
> On Sunday 01 July 2007 07:29, andrzej zaborowski wrote:
> > 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++)
Referring to this sentence ^
> >
> > (Happily violating the GPL)
> >
> > Will the qemu port also be binary only?
>
> What did he say that violates the GPL? Just because he is only porting the
> isapc stuff? I don't know any part of the GPL saying "when you port this, you
> must port all the features"... Or would such a port be inherently a violation
> due to system libraries being incompatible with the [L]GPL?
Releasing the dosbox PalmOS binary and not releasing the sources even
when explicitly asked to is a violation of GPL and of the policy of
sourceforge.net and a couple of other websites on which the binary
appears.
Regards
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Porting QEMU to PalmOS
@ 2007-05-24 23:47 sinisa marovic
0 siblings, 0 replies; 15+ messages in thread
From: sinisa marovic @ 2007-05-24 23:47 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 4211 bytes --]
It sure is.
I use prc-tools. It is free, and, well, it's gcc. There is also developer suite called CodeWarrior,
but that is for wimps ;) (expensive too). I can give you some guidelines off the mailing list
(I do not think others are interested in coding for palm).
----- Original Message ----
From: Jonathan Kalbfeld <jonathan.kalbfeld@gmail.com>
To: qemu-devel@nongnu.org
Sent: Friday, May 25, 2007 1:33:26 AM
Subject: Re: [Qemu-devel] Porting QEMU to PalmOS
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
____________________________________________________________________________________
Never miss an email again!
Yahoo! Toolbar alerts you the instant new Mail arrives.
http://tools.search.yahoo.com/toolbar/features/mail/
[-- Attachment #2: Type: text/html, Size: 8200 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Porting QEMU to PalmOS
@ 2007-05-23 11:20 sinisa marovic
2007-05-23 15:23 ` Wolfgang Schildbach
0 siblings, 1 reply; 15+ messages in thread
From: sinisa marovic @ 2007-05-23 11:20 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 1622 bytes --]
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
____________________________________________________________________________________
TV dinner still cooling?
Check out "Tonight's Picks" on Yahoo! TV.
http://tv.yahoo.com/
[-- Attachment #2: Type: text/html, Size: 3423 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Porting QEMU to PalmOS
2007-05-23 11:20 sinisa marovic
@ 2007-05-23 15:23 ` Wolfgang Schildbach
2007-05-23 22:02 ` Jonathan Kalbfeld
2007-05-24 21:18 ` Jonathan Kalbfeld
0 siblings, 2 replies; 15+ messages in thread
From: Wolfgang Schildbach @ 2007-05-23 15:23 UTC (permalink / raw)
To: qemu-devel
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.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Porting QEMU to PalmOS
2007-05-23 15:23 ` Wolfgang Schildbach
@ 2007-05-23 22:02 ` Jonathan Kalbfeld
2007-05-24 21:18 ` Jonathan Kalbfeld
1 sibling, 0 replies; 15+ messages in thread
From: Jonathan Kalbfeld @ 2007-05-23 22:02 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 2177 bytes --]
Wow, if you can make this work I will be thrilled. I <3 my Treo 650.
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
[-- Attachment #2: Type: text/html, Size: 3030 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Porting QEMU to PalmOS
2007-05-23 15:23 ` Wolfgang Schildbach
2007-05-23 22:02 ` Jonathan Kalbfeld
@ 2007-05-24 21:18 ` Jonathan Kalbfeld
1 sibling, 0 replies; 15+ messages in thread
From: Jonathan Kalbfeld @ 2007-05-24 21:18 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 2311 bytes --]
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
[-- Attachment #2: Type: text/html, Size: 3162 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Qemu-devel] Porting QEMU to PalmOS
@ 2007-05-23 9:07 sinisa marovic
2007-05-23 10:48 ` Johannes Schindelin
0 siblings, 1 reply; 15+ messages in thread
From: sinisa marovic @ 2007-05-23 9:07 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 1287 bytes --]
Hi,
I started porting QEMU to PalmOS. I already ported some projects successfuly (Like UAE and
dosbox) but dosbox is so slow. QEMU has less compatibility with games but it is much faster.
Now, I am having some problems with dyngen. Since QEMU supports ARM hosts I do not have
to modify the code. Detailed description of the problem follows:
Dyngen is used to create op.h, opc.h and gen-op.h during compilation. Since it is not possible to do
the actual compilation on Palm itself, I thought of creating dyngen executable on the compilation host
(PC with cygwin) and QEMU would then be built for execution host (Palm). This idea worked fine,
but when dyngen was executed to create op.h I got an error:
"Unsupported data relocation."
I did some debugging to find out what the actual problem is, and this is what I found out:
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?
Regards,
Voda.
____________________________________________________________________________________
Moody friends. Drama queens. Your life? Nope! - their life, your story. Play Sims Stories at Yahoo! Games.
http://sims.yahoo.com/
[-- Attachment #2: Type: text/html, Size: 1857 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] Porting QEMU to PalmOS
2007-05-23 9:07 sinisa marovic
@ 2007-05-23 10:48 ` Johannes Schindelin
0 siblings, 0 replies; 15+ messages in thread
From: Johannes Schindelin @ 2007-05-23 10:48 UTC (permalink / raw)
To: sinisa marovic; +Cc: qemu-devel
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
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2007-07-01 18:16 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-24 23:19 [Qemu-devel] Porting QEMU to PalmOS sinisa marovic
2007-05-24 23:33 ` Jonathan Kalbfeld
2007-05-25 5:37 ` Jason Brand
-- strict thread matches above, loose matches on Subject: below --
2007-06-04 15:33 sinisa marovic
2007-07-01 12:29 ` andrzej zaborowski
2007-07-01 17:20 ` Luke-Jr
2007-07-01 18:08 ` Johannes Schindelin
2007-07-01 18:16 ` andrzej zaborowski
2007-05-24 23:47 sinisa marovic
2007-05-23 11:20 sinisa marovic
2007-05-23 15:23 ` Wolfgang Schildbach
2007-05-23 22:02 ` Jonathan Kalbfeld
2007-05-24 21:18 ` Jonathan Kalbfeld
2007-05-23 9:07 sinisa marovic
2007-05-23 10:48 ` Johannes Schindelin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).