> Hi Nick,
>
> Thanks again for testing this. The issue with Solaris not detecting the
> disks is a known one - the following guide should point you in the right
> direction:
>
> http://virtuallyfun.blogspot.com/2010/10/formatting-disks-for-solaris.html
>
> Also don't forget the "set scsi_options" part from Artyom's SPARC/QEMU
> howto here: http://tyom.blogspot.com/2009/12/solaris-under-qemu-how-to.html
>
> I think it may actually be possible to come up with a patch for OpenBIOS
> so that the scsi_options change isn't required - let me know how you get
> on with the above links, and if it all seems to work I'll look at
> creating the patch for you.
>
>
Okay, I got passed the issue with formatting the root filesystem.
Apparently there are some limitations on the C/H/S parameters you use
for the disk that correspond with how UFS wants to format a new
filesystem. I'm not sure what exactly those limitations are at this
point, but, by adjusting a couple of the C/H/S settings when using
format to set up the disk I was able to get it to work correctly. So, I
now have Solaris 9 installed on qemu-system-sparc with OpenBIOS! I'll
probably go back to Solaris 8 as that one has a free binary license
while Solaris 9 is a commercial license, IIRC. I do own a Solaris 9
commercial license, but I like the free idea, better.
Anyway, now I'm on to an issue with networking - I've used the following
two qemu network parameter combinations:
-net nic -net tap,ifname=tap0
-net nic -net user
In the first instance, tap0 was configured on my Linux box and added to
my bridge br0. In both cases the Solaris system is unable to obtain a
DHCP address - the DHCP client times out. Not sure if I should be using
a different parameter set, or if this is another area that needs some
work either for OpenBIOS or qemu?
-Nick
--------
This e-mail may contain confidential and privileged material for the sole use of the intended recipient. If this email is not intended for you, or you are not responsible for the delivery of this message to the intended recipient, please note that this message may contain SEAKR Engineering (SEAKR) Privileged/Proprietary Information. In such a case, you are strictly prohibited from downloading, photocopying, distributing or otherwise using this message, its contents or attachments in any way. If you have received this message in error, please notify us immediately by replying to this e-mail and delete the message from your mailbox. Information contained in this message that does not relate to the business of SEAKR is neither endorsed by nor attributable to SEAKR.
I'm trying to get the sparc32 OpenBIOS to load an fcode rom, but it's
not working. After byte-load, it reports out of memory.
Here's the steps I'm using to setup a simple rom which just sets the
device name to "QEMU,test", and then trying to run it:
fd000000 1000 l!
00000020 1004 l!
12095145 1008 l!
4d552c74 100c l!
65737401 1010 l!
1412046e 1014 l!
616d6501 1018 l!
10000000 101c l!
cd /iommu/sbus
" /iommu/sbus" select-dev
new-device
1000 1 byte-load
Here, OpenBIOS will report out of memory.
Bob
Author: agraf
Date: Fri Jun 17 02:55:00 2011
New Revision: 1042
URL: http://tracker.coreboot.org/trac/openbios/changeset/1042
Log:
ppc: add POWER4 cpu description
So far, we only supported the 970fx CPU type inside guests. Unfortunately, that
CPU supports Altivec. Not all KVM capable host CPUs do have altivec though, so
they're left out in the rain when running openbios in the guest.
This patch adds POWER4 CPU description, allowing users to specify at least one
CPU type that does not require Altivec, but is still 64-bit capable.
Signed-off-by: Alexander Graf <agraf(a)suse.de>
Modified:
trunk/openbios-devel/arch/ppc/qemu/init.c
Modified: trunk/openbios-devel/arch/ppc/qemu/init.c
==============================================================================
--- trunk/openbios-devel/arch/ppc/qemu/init.c Mon May 23 00:29:33 2011 (r1041)
+++ trunk/openbios-devel/arch/ppc/qemu/init.c Fri Jun 17 02:55:00 2011 (r1042)
@@ -507,6 +507,18 @@
.clock_frequency = 0x1dcd6500,
.initfn = cpu_970_init,
},
+ {
+ .iu_version = 0x00350000,
+ .name = "PowerPC,POWER4",
+ .icache_size = 0x10000,
+ .dcache_size = 0x8000,
+ .icache_sets = 0x100,
+ .dcache_sets = 0x40,
+ .icache_block_size = 0x80,
+ .dcache_block_size = 0x80,
+ .clock_frequency = 0x629b4940,
+ .initfn = cpu_970_init,
+ },
};
static const struct cpudef *
Author: agraf
Date: Fri Jun 17 02:55:04 2011
New Revision: 1044
URL: http://tracker.coreboot.org/trac/openbios/changeset/1044
Log:
ppc: only clear MSR_SF when clearing high MSR bits
We are pretty aggressive now with how we clear the high MSR bits, clearing
all of them when we find a 64-bit CPU.
As Segher points out, this is not always a good idea though. There might
be bits set that can be crucial for operation. Hence we should only clear
MSR_SF, as that's the bit we're interested in.
Reported-by: Segher Boessenkool <segher(a)kernel.crashing.org>
Signed-off-by: Alexander Graf <agraf(a)suse.de>
Modified:
trunk/openbios-devel/arch/ppc/qemu/start.S
Modified: trunk/openbios-devel/arch/ppc/qemu/start.S
==============================================================================
--- trunk/openbios-devel/arch/ppc/qemu/start.S Fri Jun 17 02:55:02 2011 (r1043)
+++ trunk/openbios-devel/arch/ppc/qemu/start.S Fri Jun 17 02:55:04 2011 (r1044)
@@ -44,7 +44,7 @@
beq 1f; \
\
mfmsr r1 ; /* unset MSR_SF */ \
- clrlwi r1,r1,0 ; \
+ clrldi r1,r1,1 ; \
mtmsrd r1 ; \
1: \
mfsprg0 r1 ; /* exception stack in sprg0 */ \
We are pretty aggressive now with how we clear the high MSR bits, clearing
all of them when we find a 64-bit CPU.
As Segher points out, this is not always a good idea though. There might
be bits set that can be crucial for operation. Hence we should only clear
MSR_SF, as that's the bit we're interested in.
Reported-by: Segher Boessenkool <segher(a)kernel.crashing.org>
Signed-off-by: Alexander Graf <agraf(a)suse.de>
---
arch/ppc/qemu/start.S | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/ppc/qemu/start.S b/arch/ppc/qemu/start.S
index f06f6d5..aa582e2 100644
--- a/arch/ppc/qemu/start.S
+++ b/arch/ppc/qemu/start.S
@@ -44,7 +44,7 @@
beq 1f; \
\
mfmsr r1 ; /* unset MSR_SF */ \
- clrlwi r1,r1,0 ; \
+ clrldi r1,r1,1 ; \
mtmsrd r1 ; \
1: \
mfsprg0 r1 ; /* exception stack in sprg0 */ \
--
1.6.0.2