Bug 574616 - Solaris 10 8/07 & 10/09 (AKA update 4 / update 8) x86 guest can't boot 64 bit
Summary: Solaris 10 8/07 & 10/09 (AKA update 4 / update 8) x86 guest can't boot 64 bit
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kvm
Version: 5.4
Hardware: x86_64
OS: Linux
low
high
Target Milestone: rc
: ---
Assignee: Eduardo Habkost
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks: Rhel5KvmTier3
TreeView+ depends on / blocked
 
Reported: 2010-03-17 23:37 UTC by Seaq Servicios
Modified: 2013-01-09 22:22 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-12-02 12:31:35 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
libvirt debug log (37.30 KB, text/x-log)
2010-03-19 23:18 UTC, Seaq Servicios
no flags Details
kvm references at ubuntu`s changelog (1.80 KB, text/x-log)
2010-03-20 01:41 UTC, Seaq Servicios
no flags Details

Description Seaq Servicios 2010-03-17 23:37:49 UTC
Description of problem:

Solaris 10 x86 guests cannot boot into 64 bit mode, the vm continuosly reboots, 
the workaround is to specify kernel/unix (this boot the machine in 32 bit mode), using kvm as hypervisor
Host: Dell poweredge 2x Dual core Xeon 
arch:x86_64
mem:16 GB
kvm version: kvm-83-105.el5.x86_64
host kernel: 2.6.18-164.el5.x86_64

the upstream related bug is detailed here:

http://sourceforge.net/tracker/?func=detail&atid=893831&aid=1842160&group_id=180599 

Looking in the 

Version-Release number of selected component (if applicable):



How reproducible:


Steps to Reproduce:
1.install a solaris 10 x86 guest (virtual machine) using kvm as hypervisor with x86_64 arch on a rhel 5.4 host (x86_64)
2. boot it
3.
  
Actual results:

The solaris guest (virtual machine) turn in to endless reboot (64 bit kernel by default), to boot the vm, should edit bootloader configuration and adding kernel/unix, with this way, the machine boots correctly 

Expected results:

The machine should boot normally, without any modification on boot loader using
the 64 bits default solaris kernel

Additional info:

No any useful info in dmesg, or /var/log/messages or /var/log/libvirt/*

Reading the kernel changelog version 2.6.29.2, this vanilla kernel version includes a fix for the bug

commit e8c4851a2ad9c7ada702141e621f127cb203c41e
Author: Amit Shah 
Date: Fri Apr 17 19:40:13 2009 -0300

KVM: is_long_mode() should check for EFER.LMA

upstream commit: 41d6af119206e98764b4ae6d264d63acefcf851e

is_long_mode currently checks the LongModeEnable bit in
EFER instead of the LongModeActive bit. This is wrong, but
we survived this till now since it wasn't triggered. This
breaks guests that go from long mode to compatibility mode.

This is noticed on a solaris guest and fixes bug #1842160

Signed-off-by: Amit Shah 
Signed-off-by: Avi Kivity 
Signed-off-by: Chris Wright

Comment 1 Seaq Servicios 2010-03-18 00:08:15 UTC
Also tested with Solaris 10 5/09, with the same behaviour, same results

Comment 2 Seaq Servicios 2010-03-19 23:00:20 UTC
Hi, we`ve just checked the patches applied into redhat`s kvm package and the fore mentioned patch is already in there.

so this is caused for something else.

We`ve tested with 5.5beta packages

kvm-83-154.el5
kmod-kvm-83-154.el5
etherboot-zroms-kvm-5.4.4-13.el5
kvm-qemu-img-83-154.el5
kvm-tools-83-154.el5
kernel-2.6.18-186.el5
libvirt-0.6.3-31.el5
libvirt-0.6.3-31.el5
libvirt-python-0.6.3-31.el5

and it also fails.

testing with an Ubuntu Karmic machine which closely follows kernel 2.6.31

the kvm related commits into Ubuntu are only the ones available in upstream.

http://kernel.ubuntu.com/git?p=ubuntu%2Fubuntu-karmic.git&a=search&h=HEAD&st=commit&s=kvm

http://kernel.ubuntu.com/git?p=ubuntu%2Fubuntu-karmic.git&a=search&h=HEAD&st=commit&s=solaris

Comment 3 Seaq Servicios 2010-03-19 23:05:34 UTC
oops, i must complete the sentence..

testing with an Ubuntu Karmic machine the Solaris Guest works with 64 bits.

We're trying to collect some logs, enabling debug in libvirt but we don`t find anything that catchs our attention.

however i`m attaching them to this report.

thanks

Comment 4 Seaq Servicios 2010-03-19 23:18:31 UTC
Created attachment 401367 [details]
libvirt debug log

Comment 5 Seaq Servicios 2010-03-20 01:41:29 UTC
Created attachment 401382 [details]
kvm references at ubuntu`s changelog

Comment 6 Seaq Servicios 2010-03-20 01:42:23 UTC
Tested with jwilson`s packages at http://people.redhat.com/jwilson/el5/194.el5/  without success.

Comment 7 Seaq Servicios 2010-03-24 22:00:01 UTC
A working scenario is on 
ubuntu karmic 
kernel 2.6.31-16-generic
libvirt: 0.7.0-1ubuntu13
qemu-kvm : 0.11.0-0ubuntu6
virt-manager:0.7.0-3ubuntu1

host:sony vaio laptop x86_64 bits, with VT enabled on bios

the solaris vm boots correctly at 64 bits.

On rhel 5.4 we've have built and boot, with a 2.6.33.1 (rpm) kernel from www.kernel.org, and the problem persists.

Comment 8 Seaq Servicios 2010-03-24 22:00:28 UTC
A working scenario is on 
ubuntu karmic 
kernel 2.6.31-16-generic
libvirt: 0.7.0-1ubuntu13
qemu-kvm : 0.11.0-0ubuntu6
virt-manager:0.7.0-3ubuntu1

host:sony vaio laptop x86_64 bits, with VT enabled on bios

the solaris vm boots correctly at 64 bits.

On rhel 5.4 we've have built and boot, with a 2.6.33.1 (rpm) kernel from www.kernel.org, and the problem persists.

Comment 9 Seaq Servicios 2010-04-19 21:46:23 UTC
We've managed to solve this issue as follows:


1.- compiling from upstream sources qemu-kvm 0.12.3
2.- applying to 5.4 RHEL libvirt RPM package the patch :

Avoid broken networking with new QEMU/KVM >= 86

http://libvirt.org/git/?p=libvirt.git;a=commit;h=2afc3bfd8b779ddba974da9d66d6ea337fc91c01


With this procedure we've managed to get Solaris 64 bits working flawlessly on top of KVM.

Comment 16 Dor Laor 2010-12-02 12:31:35 UTC
Currently there are no plans to support Solaris over rhel5, closing.


Note You need to log in before you can comment on or make changes to this bug.