qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Problem running Sparc on OS X
@ 2005-10-24  0:03 Bob Nestor
  2005-10-24 20:52 ` Martin Bochnig
  0 siblings, 1 reply; 2+ messages in thread
From: Bob Nestor @ 2005-10-24  0:03 UTC (permalink / raw)
  To: qemu-devel

Last month Jose Renau posted a patch titled " SPARC patch for OS X  
(big endian machines)". Without his patch there is no output to the  
screen when booting Sparc on OS X.  With his patch I get the console  
output from PROLL.  I was actually able to boot the first stage  
bootstrap of the Debian Sarge distribution.  Unfortunately the patch  
doesn't solve the problem of booting a Solaris installation CD, but I  
think this may be due to a disk block size problem.  (Sun and MacPPC  
assume a 2048 byte disk block size on the CD.)

Here's Jose's original message with his patch:


Without the following patch, I was unable to "start" the Linux boot  
process
on OS X (powerPC bigendian). I tried on ia64 (Linux) and works fine too.

--- target-sparc/op_helper.c    23 Jul 2005 14:27:54 -0000      1.15
+++ target-sparc/op_helper.c    27 Sep 2005 23:54:52 -0000
@@ -225,4 +225,5 @@
  void helper_ld_asi(int asi, int size, int sign)
  {
+
      uint32_t ret = 0;

@@ -258,8 +259,12 @@
      case 0x20 ... 0x2f: /* MMU passthrough */
         cpu_physical_memory_read(T0, (void *) &ret, size);
-       if (size == 4)
-           tswap32s(&ret);
-        else if (size == 2)
-           tswap16s((uint16_t *)&ret);
+
+       tswap32s(&ret);
+       if (size == 2) {
+           ret = ret >> 16;
+       }else if (size == 1) {
+           ret = ret >> 24;
+       }
+
         break;
      default:

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Qemu-devel] Problem running Sparc on OS X
  2005-10-24  0:03 [Qemu-devel] Problem running Sparc on OS X Bob Nestor
@ 2005-10-24 20:52 ` Martin Bochnig
  0 siblings, 0 replies; 2+ messages in thread
From: Martin Bochnig @ 2005-10-24 20:52 UTC (permalink / raw)
  To: qemu-devel

Bob Nestor wrote:

> With his patch I get the console  output from PROLL.  I was actually 
> able to boot the first stage  bootstrap of the Debian Sarge 
> distribution.  Unfortunately the patch  doesn't solve the problem of 
> booting a Solaris installation CD, but I  think this may be due to a 
> disk block size problem.


Very unlikely, it would definitely show further progress (at least is 
this the case if you experience such an issue on a real sparc box).
The unique Solaris(2.)6++ install media (CD/DVD) layout is a ways more 
suspicious candidate here.
Especially that those media contain ufs slices among others (strange 
enough that they got more than one slice at all).
BUT, unfortunately is is either NOT the reasons, OR it is one of at 
least two reasons.
I got exactly the same behaviour when trying to boot Solaris(2.)8_hw2004 
from the raw "/" slice of my physical hdd   :(

> (Sun and MacPPC  assume a 2048 byte disk block size on the CD.)


I mean the opposite.
The world uses 2048 byte disk block size on the CD.
You mean 512 byte block size.

>
> Here's Jose's original message with his patch: 


--->> It also makes the SPARConSPARC case usable, finally.
(though there is still a freeze when the scsi driver tries to load 
during SPARC_LinUX guest boot / wasted a day, modified *latest* proll 
sources and rebuilt proll several times, also diff. files in  
[QEMU-root]/hw and [QEMU-root]/target-sparc, but didn't find a solution 
that late-summer day in September)


Martin Bochnig

>
>
> --- target-sparc/op_helper.c    23 Jul 2005 14:27:54 -0000      1.15
> +++ target-sparc/op_helper.c    27 Sep 2005 23:54:52 -0000
> @@ -225,4 +225,5 @@
>
> -       if (size == 4)
> -           tswap32s(&ret);
> -        else if (size == 2)
> -           tswap16s((uint16_t *)&ret);
> +
> +       tswap32s(&ret);
> +       if (size == 2) {
> +           ret = ret >> 16;
> +       }else if (size == 1) {
> +           ret = ret >> 24;
> +       }
> +
>         break;
>      default:
>
>
>
> _______________________________________________
> Qemu-devel mailing list
> Qemu-devel@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/qemu-devel
>
>
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2005-10-24 20:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-10-24  0:03 [Qemu-devel] Problem running Sparc on OS X Bob Nestor
2005-10-24 20:52 ` Martin Bochnig

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).